Arduino - měření malých proudů
Moderátor: Moderátoři
Arduino - měření malých proudů
Jako shunt rezistor bych použil 1,2 Ohm, a měřený proud by mohl být asi mezi 0,1mA až 100mA.
Díky za případné rady
Kód: Vybrat vše
https://navody.arduino-shop.cz/navody-k-produktum/proudovy-snimac-ina219.htmlAle stejně, než příjde, nedalo by se to zatím sestavit z věcí které mám doma?
- ESP32 s 12 bitovým ADC
- TL082 OZ
- nějaké rezistory
- nějaké kondenzátory
- (arduino nano, ale to asi nepožiju, má málo paměti pro ukládání a menší rozlišení)
Četl jsem, že ADC v ESP32 nerozezná hodnoty od 0 - 0.1V a pak 3.2 - 3.3V. Mně by se hodlo, aby právě ty malé hodnoty napětí rozpoznal. Nešlo by tedy ten OZ zapojit jako sumační zesilovač a posunout hladinu měřeného napětí ze shunt rezistoru např. o 0.1V?
Něco jsem zkusil nakreslit, ale nevím jestli tam nemám nesmysly, a jestli OZ nebude vadit, když bude bez záporného napájecího napětí?
- Přílohy
-
IMG_20200515_1513162.jpg- (223.59 KiB) Staženo 223 x
Neměl by někdo poblíž Prahy / Slaného na půjčení tu INA219 na pár dní?
Nebo ještě zkusím projít google, jak by to šlo měřit tím komparátorem, a jestli by to zvládalo měřit pod 100 mV s rozlišením po 1 mV a s frekvencí cca 10 Hz. Rád bych zachytil i proudové špičky při vysílání NB-IoT modulu, tak odhadem bych řekl že 10 Hz je tak akorát, nebo není?
Ale INA219 by byla asi stejně pohodlnější, kdyby někdo měl a mohl půjčit =)
v Arduinu by mělo jít nastavit referenční napětí
analogReference(INTERNAL) t.j. na 1,1V
a tak by analogový vstup měl 0 - 1023 na rozsahu 0 - 1V
https://www.arduino.cc/reference/en/lan ... reference/
chtělo by to konzultovat s někým, kdo s tím má nějakou zkušenost
meral som cez internu 1V1 referenciu aj externu 0V586.
merak som mal priamo na pinoch arduina aby som zamedzil chybam merania , vysledok arduina som si posielal na seriovy port. Prekvapila ma presnost 1V1 referencie (odporucaju si ju premerat a podla nameranej hodnoty korigovat vysledok). Tu vysledky neviem preco je to posunute raz na jednu druhykrat na druhu stranu , nechcelo sa mi stym dalej natahovat / korigovat.
kod
Kód: Vybrat vše
float napetie;
void setup() {
analogReference(EXTERNAL);
Serial.begin(9600);
}
void loop() {
napetie = (0.586/1.024)*analogRead(A0);
Serial.println(napetie);
delay(200);
}nedali mi tie 3mV a tak som skusil 12bit DA prevodnik , ako referenciu pren mam referenciu arduina 1V1. Ked poslem na prevodnik hodnotu 200 , co by malo byt 53,7mV , posle v reale 56,1mV (merane dvoma merakmi a 16bit AD pevodnikom s vlastnou referenciou) , ale ak tuto hodnotu precitam opet arduino analogin , ta to prepocita na 53,7mV
moze byt referencia pocas citania nejaka zmenena? asi to hodim este na skop, zajtra....
necham si to asi na premyslenie
dobrman: pravdu povediac neviem, hodnot je predsa 1024 aj ked prva je nula (neviem ci dobre pocitam ale to ci pouzijem 1023 alebo 1024 spravi chybu 0,001mV)
co ma vsak napadlo, urcite som nepouzil pridavny kondenzator medzi GND a pin referencie , zajtra ho tam pridam a skusim to znovu.
Ďakujem za postrehy