close
Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!
Zjistit více

Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!

Vidlákovo elektro 78. Měření napětí baterie procesorem.

3. července 2014 v 5:31 | Petr |  Vidlákovo Elektro
Pokud vezmeme robota z hlediska spotřeby proudu - tak největší žrout proudu jsou motory, které tam prostě musí být - jinak to není robot. Takže když se s celkovou spotřebou robota dostanete pod 200 mA - už je podezřelé - jak to s těmi motory máte a jestli se váš robot vůbec bude moci pohnout. Drobný příklad - Ferdík - když stál měl spotřebu 40mA, když jel měl spotřebu 600mA a když tlačil soupeře měl spotřebu 2.2A a to prosím všechno z destičkové devítivoltové baterky, která mimochodem do zkratu dá až 7A.

Proto u robotů nějaký miliampér neřešíte, ale když děláte cokoliv jiného než roboty - je "šetření proudem" otázkou slušného vychování. Veškerá moderní elektronika je plná marketingových fráziček typu "optimised for battery operation" a tak. V praxi to většinou znamená, že třeba foťák má obrovské proudové špičky a mezitím neodebírá z baterky skoro nic, takýže v průměru je "exceptionally energy efficient" (mimořádně energeticky úsporný).

Druhá věc, která je dneska už "otázkou slušnosti" je monitorování stavu baterií - už i LED baterka z Kauflandu má často nějaký komparátor, který jí vypne dříve než vám zničí drahé "Eneloopy" - nabíjecí baterky. Takže 1 + 2 = 3 ERGO můj dosavadní způsob, jak jsem dělal měření napětí baterky procesorem se ukázalo jako nedostatečné.

Atmel totiž u mých oblíbených AVR požaduje vnitřní odpor zdroje signálu maximálně 10 kOHM a pro rychlé děje lépe jenom 1K. Takže u robotů, kde 2A je "celkem malý odběr" jsem prostě udělal dělič nejčastěji jako 15K na baterku a 1K na zem - tím jsem měl dělící poměr 1: 16 - tudíž jsem mohl měřit i napětí 24V a navíc jsem měl impedanci těsně pod 1K. Tento dělič bere z 24V baterky 1,5 mA - u robotů zanedbatelné. Pokud byste takto chteli měřit napětí něčeho co je trvale napájené - tak 2000 mAh "Eneloopy" se jenom tímto děličem vybijí za 1333 hodin - což je 55 dní - nevím jak bych třeba neteřím vysvětloval, že vypnutá hračka za měsíc nefunguje, protože se vybila, protože má měření napětí baterky.....


ERGO je třeba na to jít jinak. Pokud se budeme podrobněji zabývat tím proč AD převodníky v procesorech potřebují zdroj s tak nízkým výstupním odporem - je to proto, protože v procesoru se nabíjí "Paměťový" Sample and Hold kondenzátor, který u mých oblíbených AVR má kapacitu 14 pF a musí se nabít velice rychle. Nešel by tedy "kondenzátor nabíjet kondenzátorem" ? A samozřejmě, že ano - viz schémátko nahoře. Tam je na obrázku typické schéma měření baterie - tedy kombinace D1 C1 je "Kubáčova protiresetovací dioda" s náležitým protiresetovacím kondenzátorem. Nás zajímá dělič R1, R2, C2 - tedy dělič je z extrémně vysokých odporů (šel by i z větších) a kondenzátor slouží jako svého druhu "paměťový prvek" když se kanál ADC1 připojí při AD převodu na kondenzátor uvnitř procesoru - nízkou dynamickou impedanci a ryché nabití zajistí náboj na C2.

Jednoduchým výpočtem spočteme že dělič je o dva řády větší a tudíž vybije hypotetickou baterku za 5555 dní - 15 let je už snesitelné. Na druhé straně AD převod bude zatížen chybou o velikosti 14pF / 100 nF = 0.014% - hluboko pod chybou odporu R1 a R2. Pochopitelně že C2 musí být keramika s malým svodovým proudem.

A pak ještě další věc - impedance samotného děliče je kolem 100K to spolu s kapacitou C2 vytváří časovou konstantu 0.01 sec - tedy napětí se na děliči ustálí až za 5-10 časových konstant což je 0.1 sec - měřit častěji než 10-20x za sekundu prostě nemá smysl - ale u baterek by častější měření spíše naznačovalo, že konstruktér by měl konzultovat psychiatra.

Úplně na závěr ještě poznámka - jak takové zapojení "naroutovat" na plošný spoj - dobé mravy by velely vést napětí baterky "na nízké impedanci" až těsně k procesoru a celý dělič i s kondenzátorem udělat v jeho blízkostí - nikoliv jak by schémátko naznačovalo udělat dělič někde u svorek baterky a drát mezi C2 a MCU táhnout přes céééélou desku, aby se na signál nachytalo maximum rušení.

Tolik pro dnešek - další drobná (a možná notoricky známá) fintička. Zbývá už jenom rada paní Kubáčové novovmanželkám - pokud chcete chodit nastrojená jako novinářka Carrie ze "Sexu ve měste" - choďte tak raději jenom ve větších městech - v ďourách typu Frýdek nebo nedej bože Studénka dojde ke 2 věcem : ženské vás pomluví, že jste coura a chlapi budu za vámi slintat a ještě vás nějaký slintající šofér přejede jak bude za vámi koukat za jízdy.
 

Buď první, kdo ohodnotí tento článek.

Komentáře

1 jujik jujik | 3. července 2014 v 13:54

Tak jsem to přečet celé. Tedy celý archiv tohoto blogu bo to bylo zajímavé. Abych vysvětlil co to znamená, tak někdy v roce 2006 jsem začal číst již 9. svazek sebraných spisů Václava Beneše Třebízského (rozsahem to bude +- srovnatelné). 18.12.2006 jsem poznal svou manželku a od té doby mám tuto knihu stále rozečtenou - není čas.
Takže děkuji za mnoho podnětných informací a jen tak dál.

2 kolemjdoucí kolemjdoucí | 3. července 2014 v 20:57

Pár tipů, tedy pokud mohu: Letečtí modeláři dospěli již před mnoha lety k tomu, že mají baterie dvě - jednu pohonnou, a jednu přijímačovou. Nevím jestli je to proveditelné u malých robotů, ale u velkých by to určitě svůj význam mělo.

K měření napětí baterie - 15x za vteřinu je zbytečný luxus, obzvlášť u Ni-MH, a navíc bývá dobrým zvykem, že pokud zařízení nic jiného nedělá, tak mezitím cpu „usne” - přejde do stavu „sleep”, „deep sleep”, deeper sleep” nebo „absolutely deepest sleep as possible”, podle toho co který MCU/CPU zrovna nabízí - tam bývá vlastní spotřeba klidně i v řádu desitek nanoampér.

3 rvx rvx | 3. července 2014 v 22:19

já jsem podobnej problém kdysi řešil tak, že "nízkoimpedanční" dělič si procesor zapínal spínacím tranzistorem jenom pro samotné měření, cca 1x za minutu, takže když bylo zařízení v režimu standby,  dělič baterku nevybíjel.

4 petr-kubac petr-kubac | 4. července 2014 v 10:44

Připojení děliče tranzistorem je samozřejmě možnost jak věc řešit - za cenu spotřeby 1 pinu navíc - otázka volby pro konstruktéra

Použití více baterií v robotech - silně nedporučuju - tím že je robot autonomní - vede tento design často k nejastnostem za selhání způsobil software nebo polovybitá některá z baterií - nemluvě o tom, že použitím 2 baterií vede k nutnosti monitorovat procesorem 2 napětí

Komentáře jsou uzavřeny.


Aktuální články

Reklama