Kazalo:

Meritve trenutnega senzorja ACS724 z Arduinom: 4 koraki
Meritve trenutnega senzorja ACS724 z Arduinom: 4 koraki

Video: Meritve trenutnega senzorja ACS724 z Arduinom: 4 koraki

Video: Meritve trenutnega senzorja ACS724 z Arduinom: 4 koraki
Video: MKS Robin Nano v2.0 - TMC2209 UART with Sensor less homing 2024, Julij
Anonim
Image
Image
Slika
Slika

V tem navodilu bomo eksperimentirali s priključitvijo tokovnega senzorja ACS724 na Arduino za meritve toka. V tem primeru je trenutni senzor sorta +/- 5A, ki oddaja 400 mv/A.

Arduino Uno ima 10 -bitni ADC, zato so dobra vprašanja: Kako natančno je trenutno branje, ki ga lahko dobimo, in kako stabilno je?

Začeli bomo tako, da senzor povežemo z voltmetrom in merilnikom toka ter opravimo analogne odčitke, da vidimo, kako dobro deluje senzor, nato pa ga povežemo z zatičem Arduino ADC in preverimo, kako dobro deluje.

Zaloge

1 - Okvir 2 - Napajalni napajalniki 2 - DVM -ji 1 - Senzor ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohmov, 10W upori 1 - pokrov 1nF1 - pokrov 10nF1 - 0,1uF pokrov

Korak 1:

Preskusno vezje je prikazano na diagramu. Priključitev iz vtiča 5V Arduino na tirnico LM7805 +5V ni obvezna. S tem mostičkom boste morda dobili boljše rezultate, vendar bodite previdni pri ožičenju, če ga uporabljate, ker je Arduino priključen na vaš računalnik, drugi napajalnik pa bo presegel 5 V, ko ga vklopite, da povečate tok skozi senzor.

Če napajalnike povežete skupaj, bosta imela napajalnik senzorja in napajalnik Arduino popolnoma enako referenčno točko +5V in pričakovali boste doslednejše rezultate.

To sem storil brez te povezave in na senzorju toka sem videl višji odčitek ničelnega toka (2.530 V namesto pričakovanih 2.500 V) in nižji od pričakovanega odčitka ADC na ničelni tokovni točki. Dobival sem digitalno odčitavanje ADC -ja približno 507 do 508 brez toka skozi senzor, pri 2.500V bi morali videti odčitke ADC -ja približno 512. To sem popravil v programski opremi.

2. korak: Preskusne meritve

Testne meritve
Testne meritve

Analogne meritve z voltmetrom in ampermetrom so pokazale, da je senzor zelo natančen. Pri preskusnih tokovih 0,5A, 1,0A in 1,5A je bilo točno v milivoltu.

Meritve ADC z Arduinom niso bile tako natančne. Te meritve so bile omejene z 10 -bitno ločljivostjo Arduino ADC in težavami s hrupom (glej video). Zaradi hrupa je odčitek ADC skakal okoli najslabšega primera do 10 ali več korakov brez toka skozi senzor. Glede na to, da vsak korak predstavlja približno 5 mv, je to približno 50 mv nihanje in s senzorjem 400mv/amp predstavlja nihanje 50mv/400mv/amp = 125 ma! Edini način, da sem dobil smiselno branje, je bil, da sem vzel 10 odčitkov zapored in jih nato povprečil.

Z 10 -bitnim ADC ali 1024 možnimi nivoji in 5V Vcc lahko razrešimo približno 5/1023 ~ 5mv na korak. Senzor daje 400mv/Amp. Torej imamo v najboljšem primeru ločljivost 5mv/400mv/amp ~ 12,5 ma.

Kombinacija nihanj zaradi hrupa in nizke ločljivosti pomeni, da s to metodo ne moremo natančno in dosledno meriti toka, zlasti majhnih tokov. S to metodo lahko dobimo predstavo o trenutni ravni pri višjih tokovih, vendar le ni tako natančna.

3. korak: Zaključki

Sklepi
Sklepi

Zaključki:

-Analogni odčitki ACS724 so zelo natančni.

-ACS724 bi moral zelo dobro delovati z analognimi vezji. npr. krmiljenje toka napajanja z analogno povratno zanko.

-Obstajajo težave s šumom in ločljivostjo pri uporabi ACS724 z 10 -bitnim ADC -jem Arduino.

-Dovolj dobro samo za spremljanje povprečnega toka za tokovne tokokroge, vendar ne dovolj dobro za nadzor konstantnega toka.

-Za boljše rezultate boste morda morali uporabiti zunanji 12 -bitni ali več ADC čip.

4. korak: Arduino koda

Tukaj je koda, ki sem jo uporabil za preprosto merjenje vrednosti ADC -ja za Arduino A0 in kodo za pretvorbo napetosti senzorja v tok in povprečje 10 odčitkov. Koda je dokaj samoumevna in komentirana za kodo za pretvorbo in povprečenje.

Priporočena: