Sadržaj:

ACS724 Mjerenje trenutnog senzora s Arduinom: 4 koraka
ACS724 Mjerenje trenutnog senzora s Arduinom: 4 koraka
Anonim
Image
Image
Image
Image

U ovom uputstvu ćemo eksperimentirati s povezivanjem ACS724 senzora struje na Arduino kako bismo izvršili mjerenja struje. U ovom slučaju trenutni senzor je varijacija +/- 5A koja daje 400 mv/A.

Arduino Uno ima 10 -bitni ADC, pa su dobra pitanja: Koliko je tačno očitavanje koje možemo dobiti i koliko je stabilno?

Za početak ćemo samo spojiti senzor na voltmetar i mjerač struje i izvršiti analogna očitanja da vidimo koliko dobro senzor radi, a zatim ćemo ga spojiti na Arduino ADC pin i vidjeti koliko dobro radi.

Supplies

1 - Oglasna ploča2 - Napajanja za računare2 - DVM -ovi1 - ACS724 senzor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohma, otpornici 10W1 - 1nF kapa1 - 10nF kapa1 - 0,1uF kapica

Korak 1:

Ispitni krug je prikazan na dijagramu. Veza s Arduino 5V pina na LM7805 +5V šinu nije obavezna. S ovim kratkospojnikom možete postići bolje rezultate, ali budite oprezni pri ožičenju ako ga koristite jer je Arduino spojen na vaše računalo, a drugo napajanje će premašiti 5 V kad ga uključite kako biste povećali struju kroz senzor.

Ako spojite napajanje zajedno, napajanje senzora i Arduino napajanje imat će potpuno istu referentnu točku +5V i očekivali biste dosljednije rezultate.

Učinio sam to bez ove veze i vidio sam veće očitanje nulte struje na osjetniku struje (2.530 V umjesto očekivanih 2.500 V) i niže od očekivanog očitanja ADC -a na nultoj strujnoj točki. Dobivao sam digitalno očitanje ADC -a od oko 507 do 508 bez struje kroz senzor, za 2.500V trebali biste vidjeti očitanje ADC -a od oko 512. To sam ispravio u softveru.

Korak 2: Probna mjerenja

Test Measurements
Test Measurements

Analogna mjerenja pomoću voltmetra i ampermetra pokazala su da je senzor vrlo precizan. Pri ispitnim strujama od 0,5A, 1,0A i 1,5A bilo je točno u milivoltu.

ADC mjerenja s Arduinom nisu bila ni približno točna. Ova mjerenja bila su ograničena 10 -bitnom rezolucijom Arduino ADC -a i problemima sa šumom (pogledajte video). Zbog buke, očitanje ADC -a skakalo je u najgorem slučaju do 10 ili više koraka bez struje kroz senzor. Uzimajući u obzir da svaki korak predstavlja oko 5 mv, ovo je fluktuacija od 50 mv, a sa senzorom od 400 mv/amp predstavlja fluktuaciju od 50 mv/400 mv/amp = 125 ma! Jedini način na koji sam mogao doći do smislenog čitanja bio je da uzmem 10 čitanja zaredom, a zatim ih procijenim.

Sa 10 bitnim ADC -om ili 1024 mogućih nivoa i 5 V Vcc možemo riješiti oko 5/1023 ~ 5mv po koraku. Senzorski izlaz daje 400mV/Amp. Dakle, u najboljem slučaju imamo rezoluciju od 5mv/400mv/amp ~ 12,5 ma.

Dakle, kombinacija fluktuacija zbog šuma i niske rezolucije znači da ne možemo koristiti ovu metodu za precizno i dosljedno mjerenje struje, posebno malih struja. Ovu metodu možemo upotrijebiti da bismo dobili ideju o trenutnom nivou pri većim strujama, ali jednostavno nije toliko precizan.

Korak 3: Zaključci

Zaključci
Zaključci

Zaključci:

-Analog očitanja ACS724 su vrlo tačni.

-ACS724 bi trebao dobro funkcionirati s analognim krugovima. npr. upravljanje strujom napajanja analognom petljom povratne sprege.

-Postoje problemi sa šumom i rezolucijom koristeći ACS724 sa Arduino 10 -bitnim ADC -om.

-Dovoljno dobro za samo praćenje prosječne struje za krugove veće struje, ali nije dovoljno dobro za kontrolu konstantne struje.

-Možda je za bolje rezultate potrebno koristiti vanjski 12 -bitni ili više ADC čip.

Korak 4: Arduino kod

Evo koda koji sam koristio za jednostavno mjerenje Arduino A0 pin ADC vrijednosti i kod za pretvaranje napona senzora u struju i uzimanje prosječno 10 očitanja. Kôd je sam po sebi razumljiv i komentiran za kôd za konverziju i usrednjavanje.

Preporučuje se: