Sisukord:

ACS724 vooluanduri mõõtmised Arduino abil: 4 sammu
ACS724 vooluanduri mõõtmised Arduino abil: 4 sammu

Video: ACS724 vooluanduri mõõtmised Arduino abil: 4 sammu

Video: ACS724 vooluanduri mõõtmised Arduino abil: 4 sammu
Video: ACS724 Current Sensor Measurements with Arduino 2024, Juuli
Anonim
Image
Image
Pilt
Pilt

Selles juhendis katsetame voolu mõõtmise tegemiseks ACS724 vooluanduri ühendamist Arduinoga. Sellisel juhul on vooluandur +/- 5A sort, mis väljastab 400 mv/A.

Arduino Unol on 10 -bitine ADC, seega on head küsimused järgmised: kui täpne on praegune näit ja kui stabiilne see on?

Alustuseks ühendame lihtsalt sensori voltmeetriga ja voolumõõturiga ning teeme analoognäidud, et näha, kui hästi andur töötab, ja seejärel ühendame selle Arduino ADC tihvtiga ja vaatame, kui hästi see töötab.

Tarvikud

1 - leivaplaat2 - lauapealsed toiteallikad2 - DVM -id1 - ACS724 andur +/- 5A1 - Arduino Uno1 - LM78053 - 10 oomi, 10W takistid1 - 1nF kork1 - 10nF kork1 - 0,1uF kork

Samm 1:

Testiahel on skeemil näidatud. Ühendus Arduino 5V tihvtist LM7805 +5V rööpaga on valikuline. Selle hüppaja abil saate paremaid tulemusi, kuid olge selle kasutamisel ettevaatlik oma juhtmestiku suhtes, kuna Arduino on teie arvutiga ühendatud ja teine toiteallikas ületab 5 V, kui lülitate selle üles, et suurendada voolu anduri kaudu.

Kui ühendate toiteallikad kokku, on anduri toiteallikal ja Arduino toiteplokil täpselt sama +5 V võrdluspunkt ja te ootate järjepidevamaid tulemusi.

Tegin seda ilma selle ühenduseta ja nägin praegusel anduril suuremat nullvoolu näitu (2,530 V oodatud 2,500 V asemel) ja oodatust madalamat ADC näitu nullvoolu punktis. Sain digitaalse ADC näidu umbes 507 kuni 508 ilma vooluta läbi anduri, 2.500V korral peaksite nägema umbes 512. ADC näitu. Parandasin selle tarkvaras.

2. samm: testige mõõtmisi

Testi mõõtmised
Testi mõõtmised

Analoogmõõtmised voltmeetri ja ampermeetriga näitasid, et andur on väga täpne. Testvooludel 0,5A, 1,0A ja 1,5A oli see millivoltide suhtes täpselt õige.

ADC mõõtmised Arduinoga polnud kaugeltki nii täpsed. Neid mõõtmisi piirasid Arduino ADC 10 -bitine eraldusvõime ja müraprobleemid (vt videot). Müra tõttu hüppas ADC näit halvimal juhul kuni 10 või enama sammu võrra ilma andurita voolu. Arvestades, et iga samm tähistab umbes 5 mv, on see umbes 50 mv kõikumine ja 400 mv/amp anduriga 50 mv/400 mv/amp = 125 ma kõikumist! Ainus viis sisuka lugemise saamiseks oli võtta 10 lugemist järjest ja seejärel need keskmistada.

10 -bitise ADC või 1024 võimaliku taseme ja 5 V Vcc abil saame lahendada umbes 5/1023 ~ 5mv sammu kohta. Andur väljastab 400mv/amprit. Nii et parimal juhul on meil eraldusvõime 5mv/400mv/amp ~ 12.5ma.

Nii et mürast ja madalast eraldusvõimest tingitud kõikumiste kombinatsioon tähendab, et me ei saa seda meetodit kasutada voolu, eriti väikeste voolude, täpseks ja järjepidevaks mõõtmiseks. Me saame seda meetodit kasutada, et anda meile ettekujutus praegusest tasemest kõrgematel vooludel, kuid see pole lihtsalt nii täpne.

3. samm: järeldused

Järeldused
Järeldused

Järeldused:

-ACS724 analoognäidud on väga täpsed.

-ACS724 peaks analoogskeemidega väga hästi töötama. nt toitevoolu juhtimine analoog tagasisideahelaga.

-ACS724 ja Arduino 10 -bitise ADC kasutamisel on probleeme müra ja eraldusvõimega.

-Piisavalt hea keskmise voolu jälgimiseks kõrgema vooluahela jaoks, kuid mitte piisavalt hea pideva voolu juhtimiseks.

-Parema tulemuse saamiseks võib olla vaja kasutada välist 12 -bitist või rohkem ADC -kiipi.

Samm: Arduino kood

Siin on kood, mida kasutasin lihtsalt Arduino A0 tihvti ADC väärtuse mõõtmiseks ja kood, mis teisendas anduri pinge vooluks ja võttis keskmiselt 10 näitu. Kood on üsna iseenesestmõistetav ja kommenteerib teisendus- ja keskmistamiskoodi.

Soovitan: