Měření proudu a napětí s Arduinem: senzor INA219
Pravidla fóra
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Měření proudu a napětí s Arduinem: senzor INA219
Dnes se podíváme na senzor INA219 a ukážeme si, jak pomocí Arduina měřit napětí, proud a výkon. Přidám i jednoduché zapojení a ukázkový program pro první pokusy.
https://www.michaluvbrloh.cz/2026/06/17 ... or-ina219/
https://www.michaluvbrloh.cz/2026/06/17 ... or-ina219/
https://www.michaluvbrloh.cz - Můj web
https://hackaday.io/projects/hacker/1326779 - Moje některé probíhající i dokončené projekty
https://hackaday.io/projects/hacker/1326779 - Moje některé probíhající i dokončené projekty
Re: Měření proudu a napětí s Arduinem: senzor INA219
Ten modul není nic jinýho než na rudé destičce naletovaný snímač INA219 od Texas Instruments. https://www.ti.com/product/INA219 . Naletovat obvod na destičku umí kdekdo. V Číně to dělají 8-letí kluci v garáži a prodávají přes Alíkárnu do Česka. Obvod INA219 je to dobrý, ale INA232 je lepší
Jinak si dávejte pozor na napětí na lince na které budete měřit proud. Viz odkaz na datasheet.
K použití nepotřebujete Arduino, stačí jakýkoliv MCU, který umí I2C. Jestli dokážete sesmolit kódy pro odeslání a čtení na I2C, nepotřebujete ani knihovny.
U Mousera stojí obvod INA219 asi Kč 30.- a obvod INA232A asi Kč 40. U Farnella je to dražší. To jen pro informaci...
Jinak si dávejte pozor na napětí na lince na které budete měřit proud. Viz odkaz na datasheet.
K použití nepotřebujete Arduino, stačí jakýkoliv MCU, který umí I2C. Jestli dokážete sesmolit kódy pro odeslání a čtení na I2C, nepotřebujete ani knihovny.
U Mousera stojí obvod INA219 asi Kč 30.- a obvod INA232A asi Kč 40. U Farnella je to dražší. To jen pro informaci...
S časem se vše zhoršuje (zákon prof. Parkinsona)

Re: Měření proudu a napětí s Arduinem: senzor INA219
Se podíváme, to je úplně nanic, to si každej může najít, daleko rozumnější, dle mého názoru by byl test přesnosti, např změřit tužkovou baterku a napsat třeba 5 výsledků stejného měření v různém čase.
Výsledek by vypadal asi takto:
1) 1,26 (V)
2) 1,80
3) 1,19
4) 2,01
5) 1,67
Z toho by plynulo, že integráč je na vyhození hned, a né až potom.
Zkus 24 bitový ADS1220, ten je už použitelný, s velmi malou přesností i 16bit ADS1115. Existuje i 32bit ADS1263, tady už s dvoujádrem ESP jsou výsledky velmi pomalé, nakonec i ta 24bit měří skoro 1sec.
Dávat "podíváme se" jako návod v dnešní době s "Arduino" modulem je časové pryč, možná tak před desítkami let...
Re: Měření proudu a napětí s Arduinem: senzor INA219
INA219 nemám, ale používám INA226, který je hodně podobný a jen o pár desetikorun dražší.
Žádné problémy se stabilitou nemám.
Samozřejmě absolutní přesnost není nic moc - závisí na skutečné hodnotě odporu osazeného bočníku, ale to už je jenom o matematické korekci a kalibraci.
Pro ukázku přikládám naměřené hodnoty v excelovské tabulce.
Jedná se o 4 úrovně napájecího napětí (2V, 4V, 1V a v závěru jsem to nechal ještě chvíli běžet při vypnutém napětí), které jsem pouštěl do odporu 10R.
Žádné problémy se stabilitou nemám.
Samozřejmě absolutní přesnost není nic moc - závisí na skutečné hodnotě odporu osazeného bočníku, ale to už je jenom o matematické korekci a kalibraci.
Pro ukázku přikládám naměřené hodnoty v excelovské tabulce.
Jedná se o 4 úrovně napájecího napětí (2V, 4V, 1V a v závěru jsem to nechal ještě chvíli běžet při vypnutém napětí), které jsem pouštěl do odporu 10R.
- Přílohy
-
- INA226_data.xls
- (50.5 KiB) Staženo 18 x
Re: Měření proudu a napětí s Arduinem: senzor INA219
INA226 je dražší, protože je přesnější. Také CMV má limit 36V.
INA 219 je jen 12 bit ale především CMV je pouze 26V.
Kdybys potřeboval na pokusy přesný snímací odpor, dej vědět. Máme jich ve firmě spoustu různých a dokážeme je vyrobit s přesností na 1 miliOhm.
Problém měření proudu pomocí těchto obvodů je ale v tom, že mají pouze dva vstupy pro připojení snímacího odporu. To znamená. že k hodnotě odporu se připočte ještě odpor pájecích míst a odpor přívodů od snímacího odporu do měřícího obvodu. Na pájecích místech vzniká přídavný šum. Na první pohled se to zdá zanedbatelné, ale jestliže je snímací odpor v jednotkách miliOhmu, pak tyto přídavky na pájecích místech a připojení hrají dost podstanou roli. Zkreslují totiž měření.
Tento problém se řeší pomocí obvodů, které mají 4 snímací vstupy. Dva proudové a dva napěťové. Mezi ně se připojí snímací odpor.
Vcelku 12 bit na měření proudu stačí. Záleží, jak velké proudy se mají měřit, zda mA nebo desítky, či stovky mA a s jakým rozlišením a jak přesně. Jestliže měřím proud do nabíječky baterie, např. okolo 2A, nepotřebuju znát údaj s rozlišením na desetinu mA.
Měření proudu proudu pomocí 24-bit převodníku je s vodpuštěním "ptákovina". V případě INA226 je ADC 16 bitů a LSB je na snímacím odporu 2.5 uVolt a při měření napětí 1.25mV. Obojí pod hranicí šumu, čili se budete potýkat s šumem a jak ho odstranit. Odstranění šumu pod 10mV je docela oříšek. Chce to mimořádnou péči při návrhu desky plošnýho spoje, připojení snímačů, odstíněnou krabičku, správné zemění a napájení celého zařízení ideálně z baterie. Dále oddělené země pro analogovou a digitální část. Ideálně umístit digitální část mimo stíněnou krabičku, kde je uvnitř analogová část. V tom případě už je lepší použít klasické operační zesilovače místo INA obvodu a výstup udělat analogový 4-drátově tzv. triaxiálním kabelem a k tomu si udělat digitální měřák třeba s Božským Arduinem v samostatné krabici.
Ten 24 bitový ADS1220 je určený pro můstková měření s termočlánkem nebo se snímači tlaku, anebo tenzometrická měření, anebo pro snímání dat z mikrofonu v akustických měřeních. V případě ADS1220 je CMV omezeno na napájení AD převodníku. Tedy pro měření proudu absolutně nevhodné. LSB při 24-bitovém převodníku ADS1220 při bipolárním vstupu je 0.14 uVoltu. Ale CMV je pouze 2.5V. Toto není použitelné ani jako picoAmpérmetr, ani jako mikroAmpérmetr.
INA 219 je jen 12 bit ale především CMV je pouze 26V.
Kdybys potřeboval na pokusy přesný snímací odpor, dej vědět. Máme jich ve firmě spoustu různých a dokážeme je vyrobit s přesností na 1 miliOhm.
Problém měření proudu pomocí těchto obvodů je ale v tom, že mají pouze dva vstupy pro připojení snímacího odporu. To znamená. že k hodnotě odporu se připočte ještě odpor pájecích míst a odpor přívodů od snímacího odporu do měřícího obvodu. Na pájecích místech vzniká přídavný šum. Na první pohled se to zdá zanedbatelné, ale jestliže je snímací odpor v jednotkách miliOhmu, pak tyto přídavky na pájecích místech a připojení hrají dost podstanou roli. Zkreslují totiž měření.
Tento problém se řeší pomocí obvodů, které mají 4 snímací vstupy. Dva proudové a dva napěťové. Mezi ně se připojí snímací odpor.
Vcelku 12 bit na měření proudu stačí. Záleží, jak velké proudy se mají měřit, zda mA nebo desítky, či stovky mA a s jakým rozlišením a jak přesně. Jestliže měřím proud do nabíječky baterie, např. okolo 2A, nepotřebuju znát údaj s rozlišením na desetinu mA.
Měření proudu proudu pomocí 24-bit převodníku je s vodpuštěním "ptákovina". V případě INA226 je ADC 16 bitů a LSB je na snímacím odporu 2.5 uVolt a při měření napětí 1.25mV. Obojí pod hranicí šumu, čili se budete potýkat s šumem a jak ho odstranit. Odstranění šumu pod 10mV je docela oříšek. Chce to mimořádnou péči při návrhu desky plošnýho spoje, připojení snímačů, odstíněnou krabičku, správné zemění a napájení celého zařízení ideálně z baterie. Dále oddělené země pro analogovou a digitální část. Ideálně umístit digitální část mimo stíněnou krabičku, kde je uvnitř analogová část. V tom případě už je lepší použít klasické operační zesilovače místo INA obvodu a výstup udělat analogový 4-drátově tzv. triaxiálním kabelem a k tomu si udělat digitální měřák třeba s Božským Arduinem v samostatné krabici.
Ten 24 bitový ADS1220 je určený pro můstková měření s termočlánkem nebo se snímači tlaku, anebo tenzometrická měření, anebo pro snímání dat z mikrofonu v akustických měřeních. V případě ADS1220 je CMV omezeno na napájení AD převodníku. Tedy pro měření proudu absolutně nevhodné. LSB při 24-bitovém převodníku ADS1220 při bipolárním vstupu je 0.14 uVoltu. Ale CMV je pouze 2.5V. Toto není použitelné ani jako picoAmpérmetr, ani jako mikroAmpérmetr.
S časem se vše zhoršuje (zákon prof. Parkinsona)

Re: Měření proudu a napětí s Arduinem: senzor INA219
... Já jsem reagoval spíš na Cmrndu, kterýmu to napětí lítá fakt až nezvykle hodně ...
Re: Měření proudu a napětí s Arduinem: senzor INA219
Teoretický žvanění výrobce. Od kdy nějaký IO měří proud?JPLABS píše: ↑26 čer 2026, 13:07Ten 24 bitový ADS1220 je určený pro můstková měření s termočlánkem nebo se snímači tlaku, anebo tenzometrická měření, anebo pro snímání dat z mikrofonu v akustických měřeních. V případě ADS1220 je CMV omezeno na napájení AD převodníku. Tedy pro měření proudu absolutně nevhodné. LSB při 24-bitovém převodníku ADS1220 při bipolárním vstupu je 0.14 uVoltu. Ale CMV je pouze 2.5V. Toto není použitelné ani jako picoAmpérmetr, ani jako mikroAmpérmetr.
Celkem slušný článek o ADS 1220 (praktický) je na odkazu níže.
https://how2electronics.com/how-to-use- ... h-arduino/
Ještě bych podtrhnul že IO ADS 1220 má dva vstupy napětí, jeden na digitál a druhý na analogovou část. Tím je ošetřen případ aby se digitální část rušení nedostávala do analog. zpracování. Může se přidat krystal, vlastní ref. napětí atd.
Osobně mám tento IO v provozu už nějaký pátek a nemůžu si ztěžovat na rušení.
Pak je ještě INA 20 bit INA 228 (229). Ten sem ještě nezkoušel, ale moduly jsou na ALi běžně.
Re: Měření proudu a napětí s Arduinem: senzor INA219
Našel jsem, že existují ještě INA228 a INA229. Oba mají 20-bitů AD převod a na vstupu už mají digitální filtry. Tak samozřejmě, když LSB je v desítkách nanoVolt. INA229 má CMV 85 Volt. Nedostatek těch obvodů je pouzdro , který doma mikropájkou nezapájíte. Vedle toho, se to musí celé stínit. Měřit tím proud lze asi jen na lince z baterie, ne ze síťovýho zdroje. Prostě problémy s rušením.
A ještě jedna poznámka,kdyby náhodou někoho napadlo s těmito obvody a s Arduinem udělat elektronickou pojistku k napájecímu zdroji, tak to pusťte z hlavy. Protože ta pojistka přes Arduino bude tak pomalá, že než Arduino vypne zdroj a odepne zátěž, tak něco shoří. Elektronické pojistky se dělají zásadně analogově s operačními zesilovači.
A ještě jedna poznámka,kdyby náhodou někoho napadlo s těmito obvody a s Arduinem udělat elektronickou pojistku k napájecímu zdroji, tak to pusťte z hlavy. Protože ta pojistka přes Arduino bude tak pomalá, že než Arduino vypne zdroj a odepne zátěž, tak něco shoří. Elektronické pojistky se dělají zásadně analogově s operačními zesilovači.
S časem se vše zhoršuje (zákon prof. Parkinsona)

Re: Měření proudu a napětí s Arduinem: senzor INA219
Já už je našel včera, viz příspěvek výše, jinak možná už vloni nebo předloni. Proto ty moduly dělají a prodávají, protože pistolkou zapájet to nepůjde, možná by to šlo v pájecí lázni, ale ...JPLABS píše: ↑27 čer 2026, 20:26Našel jsem, že existují ještě INA228 a INA229. Oba mají 20-bitů AD převod a na vstupu už mají digitální filtry. Tak samozřejmě, když LSB je v desítkách nanoVolt. INA229 má CMV 85 Volt. Nedostatek těch obvodů je pouzdro , který doma mikropájkou nezapájíte. Vedle toho, se to musí celé stínit. Měřit tím proud lze asi jen na lince z baterie, ne ze síťovýho zdroje. Prostě problémy s rušením.
Odstínit určitě, ale i oddělit měřící obvod, buďto opticky nebo magneticky. Obojí existuje. Pak taky bude hrát roli, zda propojení ovodů je symetrické nebo nesymetrické.
To ADS už na to má přípravu, INA né.
Na ochranu polovodičů je nejrychlejší plynovka. Je to levný a rychlejší než polovodič.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti