ACS724 Virta -anturin mittaukset Arduinolla: 4 vaihetta
ACS724 Virta -anturin mittaukset Arduinolla: 4 vaihetta
Anonim
Image
Image
Kuva
Kuva

Tässä ohjeessa kokeillaan ACS724 -virtatunnistimen liittämistä Arduinoon virtamittausten tekemiseksi. Tässä tapauksessa virta-anturi on +/- 5A-sarja, joka tuottaa 400 mv/A.

Arduino Unossa on 10 -bittinen ADC, joten hyviä kysymyksiä ovat: Kuinka tarkka on nykyinen lukema ja kuinka vakaa se on?

Aloitamme vain yhdistämällä anturi voltimetriin ja virtamittariin ja teemme analogisia lukemia nähdäksemme, kuinka hyvin anturi toimii, ja sitten liitämme sen Arduino ADC -tappiin ja katsomme, kuinka hyvin se toimii.

Tarvikkeet

1 - Leipälauta2 - Pöytätason virtalähteet2 - DVM: t1 - ACS724 -anturi +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohmia, 10 W vastukset1 - 1nF korkki1 - 10nF korkki1 - 0,1uF korkki

Vaihe 1:

Testipiiri on kaavion mukainen. Liitäntä Arduino 5V -nastasta LM7805 +5V -kiskoon on valinnainen. Saatat saada parempia tuloksia käyttämällä tätä hyppyjohdinta paikallaan, mutta ole varovainen johdotuksessa, jos käytät sitä, koska Arduino on kytketty tietokoneeseesi ja toinen virtalähde ylittää 5 V, kun käännät sen ylös virran lisäämiseksi anturin kautta.

Jos liität virtalähteet yhteen, anturin virtalähteellä ja Arduinon virtalähteellä on täsmälleen sama +5 V: n vertailupiste ja odotat johdonmukaisempia tuloksia.

Tein tämän ilman tätä yhteyttä ja näin nykyisellä anturilla suuremman nollavirran lukeman (2,530 V odotetun 2,500 V: n sijasta) ja odotettua alhaisemman ADC -lukeman nollapisteessä. Sain digitaalisen ADC -lukeman noin 507-508 ilman virtaa anturin läpi, 2.500V: n pitäisi nähdä ADC -lukema noin 512. Korjasin tämän ohjelmistossa.

Vaihe 2: Testaa mittaukset

Testimittaukset
Testimittaukset

Analogiset mittaukset volttimittarilla ja ampeerimittarilla osoittivat, että anturi on erittäin tarkka. Testivirtoilla 0,5A, 1,0A ja 1,5A se oli täsmälleen oikea millivoltin suhteen.

ADC -mittaukset Arduinolla eivät olleet läheskään yhtä tarkkoja. Näitä mittauksia rajoitti Arduino ADC: n 10 -bittinen resoluutio ja meluongelmat (katso video). Kohinan vuoksi ADC -lukema hyppäsi pahimmassa tapauksessa jopa 10 tai useamman askeleen verran ilman virtaa anturin läpi. Ottaen huomioon, että jokainen vaihe edustaa noin 5 mv, tämä on noin 50 mv vaihtelua ja 400 mv/amp anturi edustaa 50 mv/400 mv/amp = 125 mA vaihtelua! Ainoa tapa saada mielekästä lukua oli ottaa 10 lukemaa peräkkäin ja laskea ne sitten keskiarvoon.

10 -bittisellä ADC: llä tai 1024 mahdollisella tasolla ja 5 V Vcc: llä voimme ratkaista noin 5/1023 ~ 5mv askelta kohden. Anturin lähtö antaa 400mv/Amp. Joten parhaimmillaan resoluutio on 5mv/400mv/amp ~ 12.5ma.

Joten meluun ja alhaiseen resoluutioon liittyvien vaihtelujen yhdistelmä tarkoittaa, että emme voi käyttää tätä menetelmää tarkasti ja johdonmukaisesti mittaamaan virtaa, erityisesti pieniä virtauksia. Voimme käyttää tätä menetelmää antaaksemme meille käsityksen nykyisestä tasosta korkeammilla virroilla, mutta se ei vain ole niin tarkka.

Vaihe 3: Johtopäätökset

Päätelmät
Päätelmät

Johtopäätökset:

-ACS724 analogiset lukemat ovat erittäin tarkkoja.

-ACS724: n pitäisi toimia erittäin hyvin analogisten piirien kanssa. esim. virtalähteen virran ohjaaminen analogisella takaisinkytkentäsilmukalla.

-ACS724: n ja Arduinon 10 -bittisen ADC: n kanssa on ongelmia melun ja resoluution kanssa.

-Riittävästi vain keskimääräisen virran seurantaan korkeammille virtapiireille, mutta ei tarpeeksi hyvä jatkuvaan virranhallintaan.

-Saattaa joutua käyttämään ulkoista 12 -bittistä tai enemmän ADC -sirua parempien tulosten saavuttamiseksi.

Vaihe 4: Arduino -koodi

Tässä on koodi, jota käytin yksinkertaisesti Arduino A0 -nastaisen ADC -arvon mittaamiseen ja koodi, jolla anturin jännite muutettiin nykyiseksi ja otettiin keskimäärin 10 lukemaa. Koodi on melko itsestään selvä ja kommentoi muunnos- ja keskiarvokoodia.

Suositeltava: