INHOUDSOPGAWE:

Metings van huidige sensor van ACS724 met Arduino: 4 stappe
Metings van huidige sensor van ACS724 met Arduino: 4 stappe

Video: Metings van huidige sensor van ACS724 met Arduino: 4 stappe

Video: Metings van huidige sensor van ACS724 met Arduino: 4 stappe
Video: Exploratory Data Analysis & Modeling with Python + R - (Part II - Mixed Effects Modeling with R) 2024, November
Anonim
Image
Image
Beeld
Beeld

In hierdie instruksies sal ons eksperimenteer met die koppeling van 'n ACS724 -stroomsensor aan 'n Arduino om stroommetings te doen. In hierdie geval is die huidige sensor 'n +/- 5A variëteit wat 400 mv/A lewer.

Die Arduino Uno het 'n 10 -bits ADC, so goeie vrae is: Hoe akkuraat is die huidige lesing wat ons kan kry en hoe stabiel is dit?

Ons sal eers begin met die aansluiting van die sensor op 'n voltmeter en 'n stroommeter en analoog metings om te sien hoe goed die sensor werk, en dan koppel ons dit aan 'n Arduino ADC -pen en kyk hoe goed dit werk.

Voorrade

1 - Breadboard2 - Kragtoevoer op die tafel2 - DVM's1 - ACS724 sensor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W weerstande1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers

Stap 1:

Die toetsbaan is soos in die diagram getoon. Die verbinding van die Arduino 5V -pen na die LM7805 +5V -rail is opsioneel. U kan beter resultate behaal as hierdie trui op sy plek is, maar wees versigtig met u bedrading as u dit gebruik, want die Arduino is aan u rekenaar gekoppel en die tweede kragtoevoer sal meer as 5V wees as u dit aanskakel om die stroom deur die sensor te verhoog.

As u die kragtoevoer aanmekaar koppel, sal die sensorvoeding en die Arduino -kragtoevoer presies dieselfde +5V -verwysingspunt hê, en u sou meer konsekwente resultate verwag.

Ek het dit gedoen sonder hierdie verbinding en ek het 'n hoër nulstroomlesing op die huidige sensor gesien (2.530 V in plaas van die verwagte 2.500 V) en laer as verwagte ADC -lesing op die nulstroompunt. Ek kry 'n digitale ADC -lesing van ongeveer 507 tot 508 sonder stroom deur die sensor. Vir 2.500V behoort u 'n ADC -lesing van ongeveer 512 te sien. Ek het dit reggestel in die sagteware.

Stap 2: Toets metings

Toetsmetings
Toetsmetings

Analoogmetings met 'n voltmeter en ammeter het aangedui dat die sensor baie akkuraat is. By toetsstrome van 0.5A, 1.0A en 1.5A was dit presies korrek tot die millivolt.

ADC -metings met die Arduino was nie naastenby so akkuraat nie. Hierdie metings is beperk deur die 10 bis -resolusie van die Arduino ADC en geraasprobleme (sien die video). As gevolg van geraas spring die ADC -lesing in die ergste geval tot 10 of meer trappe sonder stroom deur die sensor. Aangesien elke stap ongeveer 5 mv verteenwoordig, is dit ongeveer 'n skommeling van 50 mv en met 'n sensor van 400mv/amp verteenwoordig dit 'n skommeling van 50mv/400mv/amp = 125ma! Die enigste manier waarop ek 'n betekenisvolle lesing kon kry, was om tien opeenvolgende lesings te neem en dit dan gemiddeld te maak.

Met 'n 10 bit ADC of 1024 moontlike vlakke en 5V Vcc kan ons ongeveer 5/1023 ~ 5mv per stap oplos. Die sensor uit sit 400mv/Amp. Ons het dus ten beste 'n resolusie van 5mv/400mv/amp ~ 12.5ma.

Die kombinasie van skommelinge as gevolg van geraas en lae resolusie beteken dus dat ons hierdie metode nie kan gebruik om die stroom, veral klein strome, akkuraat en konsekwent te meet nie. Ons kan hierdie metode gebruik om ons 'n idee te gee van die huidige vlak by hoër strome, maar dit is nie so akkuraat nie.

Stap 3: Gevolgtrekkings

Gevolgtrekkings
Gevolgtrekkings

Gevolgtrekkings:

-ACS724 analoog lesings is baie akkuraat.

-ACS724 behoort baie goed te werk met analoogbane. bv. die beheer van kragtoevoerstroom met 'n analoog terugvoerlus.

-Daar is probleme met geraas en resolusie met die ACS724 met Arduino 10 bit ADC.

-Goed genoeg om net die gemiddelde stroom vir hoër stroombane te monitor, maar nie goed genoeg vir konstante stroombeheer nie.

-Miskien moet u 'n eksterne ADC -chip van 12 bis of meer gebruik vir beter resultate.

Stap 4: Arduino -kode

Hier is die kode wat ek gebruik het om die Arduino A0 -pen ADC -waarde eenvoudig te meet en die kode om die sensorspanning na stroom om te skakel en die gemiddelde van 10 lesings te neem. Die kode is redelik vanselfsprekend en lewer kommentaar op die omskakeling en die gemiddelde kode.

Aanbeveel: