Innholdsfortegnelse:

ACS724 målinger av gjeldende sensorer med Arduino: 4 trinn
ACS724 målinger av gjeldende sensorer med Arduino: 4 trinn

Video: ACS724 målinger av gjeldende sensorer med Arduino: 4 trinn

Video: ACS724 målinger av gjeldende sensorer med Arduino: 4 trinn
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Juli
Anonim
Image
Image
Bilde
Bilde

I denne instruksen vil vi eksperimentere med å koble en ACS724 nåværende sensor til en Arduino for å gjøre strømmålinger. I dette tilfellet er den nåværende sensoren en +/- 5A variant som gir 400 mv/A.

Arduino Uno har en 10 bit ADC, så gode spørsmål er: Hvor nøyaktig er den nåværende lesingen vi kan få og hvor stabil er den?

Vi starter med å bare koble sensoren til et voltmeter og en strømmåler og gjøre analoge målinger for å se hvor godt sensoren fungerer, og deretter kobler vi den til en Arduino ADC -pin og ser hvor godt den fungerer.

Rekvisita

1 - Breadboard2 - Strømforsyninger på bordet2 - DVM's1 - ACS724 sensor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W motstander1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumper

Trinn 1:

Testkretsen er som vist i diagrammet. Tilkoblingen fra Arduino 5V -pinnen til LM7805 +5V -skinnen er valgfri. Du kan få bedre resultater med denne jumperen på plass, men vær forsiktig med ledningene dine hvis du bruker den fordi Arduino er koblet til datamaskinen din og den andre strømforsyningen vil overstige 5V når du slår den opp for å øke strømmen gjennom sensoren.

Hvis du kobler strømforsyningene sammen, vil sensorens strømforsyning og Arduino -strømforsyningen ha nøyaktig samme +5V referansepunkt, og du forventer mer konsistente resultater.

Jeg gjorde dette uten denne forbindelsen, og jeg så en høyere nullstrømavlesning på strømføleren (2.530 V i stedet for den forventede 2.500 V) og lavere enn forventet ADC -avlesning ved nullstrømpunktet. Jeg fikk en digital ADC -avlesning på omtrent 507 til 508 uten strøm gjennom sensoren, for 2.500V bør du se en ADC -avlesning på omtrent 512. Jeg korrigerte for dette i programvaren.

Trinn 2: Testmålinger

Testmålinger
Testmålinger

Analoge målinger med voltmeter og ammeter indikerte at sensoren er veldig nøyaktig. Ved teststrømmer på 0,5A, 1,0A og 1,5A var den nøyaktig korrekt til millivolten.

ADC -målinger med Arduino var ikke på langt nær så nøyaktige. Disse målingene var begrenset av 10 -biters oppløsning av Arduino ADC og støyproblemer (se videoen). På grunn av støy hoppet ADC -lesningen rundt i verste fall opp til 10 eller flere trinn uten strøm gjennom sensoren. Med tanke på at hvert trinn representerer ca. Den eneste måten jeg kunne få en meningsfull lesning var å ta 10 avlesninger på rad og deretter gjennomsnittlig dem.

Med en 10 -biters ADC eller 1024 mulige nivåer og 5V Vcc kan vi løse omtrent 5/1023 ~ 5mv per trinn. Sensoren ut setter 400mv/Amp. Så i beste fall har vi en oppløsning på 5mv/400mv/amp ~ 12,5ma.

Så kombinasjonen av svingninger på grunn av støy og lav oppløsning betyr at vi ikke kan bruke denne metoden til å måle strøm nøyaktig og konsekvent, spesielt små strømmer. Vi kan bruke denne metoden for å gi oss en ide om det nåværende nivået ved høyere strømmer, men det er bare ikke så nøyaktig.

Trinn 3: Konklusjoner

Konklusjoner
Konklusjoner

Konklusjoner:

-ACS724 analoge avlesninger er veldig nøyaktige.

-ACS724 skal fungere veldig bra med analoge kretser. f.eks. å kontrollere strømforsyningsstrømmen med en analog tilbakekoblingssløyfe.

-Det er problemer med støy og oppløsning ved bruk av ACS724 med Arduino 10 bit ADC.

-Godt nok til å bare overvåke gjennomsnittlig strøm for høyere strømkretser, men ikke god nok til konstant strømstyring.

-Må kanskje bruke en ekstern 12 bit eller mer ADC -brikke for bedre resultater.

Trinn 4: Arduino -kode

Her er koden jeg brukte til å måle Arduino A0 -pin ADC -verdien og koden for å konvertere sensorspenningen til strøm og ta gjennomsnittet av 10 avlesninger. Koden er ganske selvforklarende og kommentert for konvertering og gjennomsnittskode.

Anbefalt: