Turinys:

ACS724 srovės jutiklio matavimai naudojant „Arduino“: 4 žingsniai
ACS724 srovės jutiklio matavimai naudojant „Arduino“: 4 žingsniai

Video: ACS724 srovės jutiklio matavimai naudojant „Arduino“: 4 žingsniai

Video: ACS724 srovės jutiklio matavimai naudojant „Arduino“: 4 žingsniai
Video: ACREL AHLC-LTA dc leakage current sensor 2024, Liepa
Anonim
Image
Image
Vaizdas
Vaizdas

Šioje instrukcijoje mes eksperimentuosime prijungdami ACS724 srovės jutiklį prie „Arduino“, kad galėtume matuoti srovę. Šiuo atveju srovės jutiklis yra +/- 5A įvairovė, kuri išleidžia 400 mv/A.

„Arduino Uno“turi 10 bitų ADC, todėl geri klausimai yra tokie: koks yra tikslus dabartinis rodinys ir koks jis stabilus?

Pradėsime tiesiog prijungę jutiklį prie voltmetro ir srovės matuoklio ir atliksime analoginius rodmenis, kad pamatytume, kaip gerai veikia jutiklis, tada prijungsime jį prie „Arduino ADC“kaiščio ir pamatysime, kaip jis veikia.

Prekės

1 - Duonos lenta2 - Staliniai maitinimo šaltiniai2 - DVM1 - ACS724 jutiklis +/- 5A1 - Arduino Uno1 - LM78053 - 10 omų, 10W rezistoriai1 - 1nF dangtelis1 - 10nF dangtelis1 - 0,1uF dangtelis

1 žingsnis:

Bandymo grandinė yra tokia, kaip parodyta diagramoje. Jungtis iš „Arduino 5V“kaiščio prie LM7805 +5V bėgelio yra neprivaloma. Naudodami šį trumpiklį galite pasiekti geresnių rezultatų, tačiau būkite atsargūs dėl laidų, jei jį naudosite, nes „Arduino“yra prijungtas prie jūsų kompiuterio, o antrasis maitinimo šaltinis viršys 5 V, kai jį įjungsite, kad padidintumėte srovę per jutiklį.

Jei prijungsite maitinimo šaltinius, jutiklio maitinimo šaltinis ir „Arduino“maitinimo šaltinis turės tą patį +5 V atskaitos tašką ir tikitės nuoseklesnių rezultatų.

Aš tai padariau be šio ryšio ir pamačiau didesnį nulinės srovės rodmenį dabartiniame jutiklyje (2,530 V vietoj numatyto 2,500 V) ir mažesnį nei tikėtasi ADC rodmenį nulinės srovės taške. Aš gavau skaitmeninį ADC rodmenį nuo 507 iki 508 be srovės per jutiklį, 2.500 V atveju turėtumėte pamatyti maždaug 512. ADC rodmenį. Aš tai ištaisiau programinėje įrangoje.

2 žingsnis: išbandykite matavimus

Bandymo matavimai
Bandymo matavimai

Analoginiai matavimai voltmetru ir ampermetru parodė, kad jutiklis yra labai tikslus. Esant 0,5A, 1,0A ir 1,5A bandymo srovėms, milivoltas buvo visiškai teisingas.

ADC matavimai naudojant „Arduino“nebuvo beveik tokie tikslūs. Šiuos matavimus apribojo 10 bitų „Arduino ADC“skiriamoji geba ir triukšmo problemos (žr. Vaizdo įrašą). Dėl triukšmo ADC rodmenys šoktelėjo blogiausiu atveju iki 10 ar daugiau žingsnių be srovės per jutiklį. Atsižvelgiant į tai, kad kiekvienas žingsnis reiškia apie 5 mv, tai yra apie 50 mv svyravimą, o su 400 mv/amp jutikliu reiškia 50 mv/400 mv/amp = 125 mA svyravimą! Vienintelis būdas gauti prasmingą skaitymą buvo 10 parodymų iš eilės ir tada jų vidurkis.

Turėdami 10 bitų ADC arba 1024 galimus lygius ir 5 V Vcc, mes galime išspręsti apie 5/1023 ~ 5mv per žingsnį. Jutiklis išleidžia 400mv/Amp. Taigi geriausiu atveju turime 5mv/400mv/amp ~ 12.5ma skiriamąją gebą.

Taigi svyravimų dėl triukšmo ir mažos skiriamosios gebos derinys reiškia, kad negalime naudoti šio metodo tiksliai ir nuosekliai matuoti srovę, ypač mažas sroves. Mes galime naudoti šį metodą, kad susidarytume supratimą apie dabartinį lygį esant didesnėms srovėms, tačiau jis tiesiog nėra toks tikslus.

3 žingsnis: Išvados

Išvados
Išvados

Išvados:

-ACS724 analoginiai rodmenys yra labai tikslūs.

-ACS724 turėtų labai gerai veikti su analoginėmis grandinėmis. pvz., maitinimo srovės valdymas naudojant analoginį grįžtamąjį ryšį.

-Yra problemų dėl triukšmo ir skiriamosios gebos naudojant ACS724 su „Arduino“10 bitų ADC.

-Pakanka tik stebėti vidutinę didesnės srovės grandinių srovę, bet nepakankamai gerai nuolatiniam srovės valdymui.

-Norint pasiekti geresnių rezultatų, gali reikėti naudoti išorinį 12 bitų ar daugiau ADC lustą.

4 žingsnis: „Arduino“kodas

Čia yra kodas, kurį naudoju, norėdamas tiesiog išmatuoti „Arduino A0“kaiščio ADC vertę, ir kodas, skirtas jutiklio įtampai konvertuoti į srovę ir atlikti vidutiniškai 10 rodmenų. Kodas yra gana savaime suprantamas ir komentuojamas dėl konversijos ir vidurkio kodo.

Rekomenduojamas: