Měření napětí baterie pomocí mikroprocesoru.

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
scorpions-cz
Příspěvky: 2004
Registrován: 19 bře 2011, 00:00
Bydliště: Jižní Čechy Dačicko

Měření napětí baterie pomocí mikroprocesoru.

#1 Příspěvek od scorpions-cz »

Zdravím všechny zúčastněné. Mám zařízení kde je použit ATMEGA 32 a celé je to napájeno z 12V gelovky.Při zapnutí potřebuji ,aby AVR nejprve změřil napětí na baterii a pokud bude 11,5 V a větší tak potom spustil hlavní program.Řeším jak to napětí měřit. Zda použít odporový dělič a naněřené napětí porovnávat s nějakou referencí. Jde o to ,aby to bylo stabilní,neboť zařízení se bude používat v teplotách +35 až -25 st. Za každý nápad děkuji.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#2 Příspěvek od Andrea »

A/D převodník má svoji referenci, takže naměříš přímo napětí krát nějaká konstanta, která bude záležet i na tom děliči. Tak stačí jen zjistit (spočítat) tu konstantu a pak může přímo z hodnoty naměřené převodníkem spočítat napětí baterie. Netřeba v tom hledat nějaké složitosti. A ta "gelovka" bude z -25°C určitě celá na větvi.
Uživatelský avatar
scorpions-cz
Příspěvky: 2004
Registrován: 19 bře 2011, 00:00
Bydliště: Jižní Čechy Dačicko

#3 Příspěvek od scorpions-cz »

Jj díky, jde mi o to aby právě ten odporovej dělič nebyl moc teplotně závislej.
Vím že tý gelovce se to moc zamlouvat nebude,ale nevím co použít jinýho,abych se vešel rozměrem. Právě pro to tam bude to měření,když napětí nebude mít 11,5 tak to nespusí program a pro mne je to stav kdy budu muset připojit náhradní zdroj.
Uživatelský avatar
rezis
Příspěvky: 5386
Registrován: 17 lis 2005, 00:00

#4 Příspěvek od rezis »

O stabilita děliče je asi top poslední o co bych se bál.
Internet - metla lidstva
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#5 Příspěvek od Andrea »

Pokud se v děliči použijou stejné odpory (myšleno stejný typ), tak budou mít stejnou teplotní charakteristiku a dělicí poměr se s teplotou nebude měnit.
Uživatelský avatar
DRAKE
Příspěvky: 276
Registrován: 05 zář 2005, 00:00

#6 Příspěvek od DRAKE »

Pokud ty rezitory v děliči budou stejné, pak ten dělič bude teplotně nezávislý. Interní reference v procesoru asi trochu závislá bude, doporučuji použít nějakou kvalitní externí referenci. Záleží samozřejmě jak to chceš mít přesný. Koukni do datasheetu toho procesoru a spočítej si to.
Ježíš na kříži zaplatil za naše hříchy a tím nás osvobodil od věčné smrti. Platí i pro bastliře :-).
Uživatelský avatar
GeorgeB
Příspěvky: 1248
Registrován: 21 lis 2005, 00:00
Bydliště: Pardubice
Kontaktovat uživatele:

#7 Příspěvek od GeorgeB »

No mě nepřijde moc důležitý měřit v tomto případě přesně 11,50000V a více. I když by byl dělič teplotně nestabilní třeba o 100ppm, tak se uvedená hranice posune možná o milivolt. Já jsem používal dělič 1:10 složený z rezistorů: Vrchní R1=18k, spodní R2=1k+1k(sériově). Vnitřní referenci 2,56V. Takto udělaný dělič umožňuje měřit napájecí napětí do 25V s rozlišením 25mV.
Naposledy upravil(a) GeorgeB dne 16 říj 2012, 16:36, celkem upraveno 1 x.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#8 Příspěvek od Andrea »

GeorgeB píše:Takto udělaný dělič umožňuje měřit napájecí napětí do 25V s přesností 25mV.

Pleteš si přesnost a rozlišení.
Uživatelský avatar
GeorgeB
Příspěvky: 1248
Registrován: 21 lis 2005, 00:00
Bydliště: Pardubice
Kontaktovat uživatele:

#9 Příspěvek od GeorgeB »

Andreo děkuji za upozornění, v příspěvku jsem to opravil.
Uživatelský avatar
scorpions-cz
Příspěvky: 2004
Registrován: 19 bře 2011, 00:00
Bydliště: Jižní Čechy Dačicko

#10 Příspěvek od scorpions-cz »

Díky za rady. Jdu to zkusit poskládat na vývojovým kitu a uvidím.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#11 Příspěvek od ZdenekHQ »

Máte nějaký jednoduchý algoritmus na potlačení přeskakování údaje bez nutnosti další proměnné (kromě výsledku A/D převodu a proměnné, kde je údaj po korekci uložen) ?
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
GeorgeB
Příspěvky: 1248
Registrován: 21 lis 2005, 00:00
Bydliště: Pardubice
Kontaktovat uživatele:

#12 Příspěvek od GeorgeB »

Já vždy přičtu novou naměřenou hodnotu ke staré a následně vydělím dvěmi. Stačí na to jen jedna proměnná, ale musí mít alespoň o jeden bit víc než je výsledek. Což u 10ti nebo 12ti bitového převodníku není problém použít 16ti bitovou proměnnou. Je teda pravda,že konkrétně u napětí ořezávám naměřenou hodnotu na rozlišení 0,1V. Proud měřím 12ti bitovým převodníkem s rozlišením 2,5mA a měření provedu většinou 8x, postupně přičtu novou naměřenou hodnotu k předchozí a následně vydělím 8mi. Tato metoda dosahuje uspokojivých výsledků.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#13 Příspěvek od ZdenekHQ »

I průměrování vždy dosáhne stavu, kdy to přeblikává (třeba vlivem nerovnoměrné zátěže). Ale je použitelné jako mezifiltr, já používám 4 poslední měření a průměr.

Já to vidím na hysterezi - předpokládám vybíjení aku, uloženo a vypočteno mám 128 jako 12.8V, měřím a průměruju 1x za vteřinu, takže:

- když naměřím o 1 větší, než uložená, zobrazím uloženou
- když naměřím o dva a více vyšší, uložím o 1 vyšší a zobrazím
- když naměřím o 1 menší, uložím a zobrazím uloženou
- když naměřím o více než 1 menší , uložím o 1 menší (??) a zobrazím
- když naměřím stejnou, zobrazím stejnou

je to jen teorie, asi to chce optimalizaci. :)
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 00:00
Bydliště: Kadaň
Kontaktovat uživatele:

#14 Příspěvek od Jenda_KL »

Využívám rozdílu nynějšího měření a předchozího výsledku.
Je-li rozdíl větší/menší o více jak /konstanta/, výsledek se přičte/odečte o 1.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#15 Příspěvek od ZdenekHQ »

Jasně, to bude ono.

Mě to třeba nevadí, když mě údaj o aku párkrát přeblikne mezi 12.8V a 12.7V, ale některým bohužel ano. :)
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Odpovědět

Zpět na „Poradna“