Cuprins:

Măsurători ale senzorului de curent ACS724 cu Arduino: 4 pași
Măsurători ale senzorului de curent ACS724 cu Arduino: 4 pași
Anonim
Image
Image
Imagine
Imagine

În acest instructable vom experimenta conectarea unui senzor de curent ACS724 la un Arduino pentru a efectua măsurători de curent. În acest caz, senzorul de curent este o varietate de +/- 5A care produce 400 mv / A.

Arduino Uno are un ADC de 10 biți, deci întrebările bune sunt: cât de exactă este citirea curentă pe care o putem obține și cât de stabilă este?

Vom începe prin conectarea senzorului la un voltmetru și un contor de curent și vom face citiri analogice pentru a vedea cât de bine funcționează senzorul și apoi îl vom conecta la un pin Arduino ADC și vom vedea cât de bine funcționează.

Provizii

1 - Breadboard2 - Surse de alimentare de pe bancă2 - DVM's1 - senzor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, rezistențe 10W1 - capac 1nF1 - capac 10nF1 - capac 0.1uF

Pasul 1:

Circuitul de testare este așa cum se arată în diagramă. Conexiunea de la pinul Arduino 5V la șina LM7805 + 5V este opțională. S-ar putea să obțineți rezultate mai bune cu acest jumper, dar fiți atenți la cablare dacă îl utilizați, deoarece Arduino este conectat la computer și a doua sursă de alimentare va depăși 5V când îl porniți pentru a crește curentul prin senzor.

Dacă conectați sursele de alimentare împreună, sursa de alimentare a senzorului și sursa de alimentare Arduino vor avea exact același punct de referință + 5V și v-ați aștepta la rezultate mai consistente.

Am făcut asta fără această conexiune și am văzut o citire de curent zero mai mare pe senzorul de curent (2.530 V în loc de 2.500 V așteptată) și citire ADC mai scăzută la punctul curent zero. Primeam o citire digitală ADC de aproximativ 507 până la 508 fără curent prin senzor, pentru 2.500V ar trebui să vedeți o citire ADC de aproximativ 512. Am corectat acest lucru în software.

Pasul 2: Testați măsurătorile

Măsurătorile de testare
Măsurătorile de testare

Măsurătorile analogice cu un voltmetru și un ampermetru au indicat faptul că senzorul este foarte precis. La curenții de testare de 0,5A, 1,0A și 1,5A a fost exact corect la milivolți.

Măsurătorile ADC cu Arduino nu au fost la fel de exacte. Aceste măsurători au fost limitate de rezoluția de 10 biți a Arduino ADC și de problemele de zgomot (a se vedea videoclipul). Datorită zgomotului, citirea ADC sărea în jurul celui mai rău caz până la 10 sau mai mulți pași fără curent prin senzor. Având în vedere că fiecare pas reprezintă aproximativ 5 mv, aceasta este aproximativ o fluctuație de 50 mv și cu un senzor de 400mv / amp reprezintă o fluctuație de 50mv / 400mv / amp = 125ma! Singurul mod în care puteam obține o lectură semnificativă era să iau 10 lecturi la rând și apoi să le fac media.

Cu un ADC de 10 biți sau 1024 nivele posibile și 5V Vcc putem rezolva aproximativ 5/1023 ~ 5mv pe pas. Senzorul scoate 400mv / Amp. Deci, în cel mai bun caz, avem o rezoluție de 5mv / 400mv / amp ~ 12.5ma.

Deci combinația de fluctuații datorate zgomotului și rezoluției scăzute înseamnă că nu putem folosi această metodă pentru a măsura cu precizie și consecvență curentul, în special curenții mici. Putem folosi această metodă pentru a ne oferi o idee despre nivelul curent la curenți mai mari, dar nu este chiar atât de precis.

Pasul 3: Concluzii

Concluzii
Concluzii

Concluzii:

-Citirile analogice ACS724 sunt foarte precise.

-ACS724 ar trebui să funcționeze foarte bine cu circuitele analogice. de ex. controlul curentului de alimentare cu o buclă de feedback analogică.

-Există probleme cu zgomotul și rezoluția utilizând ACS724 cu Arduino 10 biți ADC.

-Destul de bun pentru a monitoriza doar curentul mediu pentru circuite de curent mai mare, dar nu suficient pentru controlul curentului constant.

-Pot fi nevoie să utilizați un cip extern ADC de 12 biți sau mai mult pentru rezultate mai bune.

Pasul 4: Cod Arduino

Iată codul pe care l-am folosit pentru a măsura pur și simplu valoarea ADC pin Arduino A0 și codul pentru a converti tensiunea senzorului în curent și pentru a lua media a 10 citiri. Codul este destul de explicativ și comentat pentru codul de conversie și mediu.

Recomandat: