Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10
I denna instruktör kommer vi att experimentera med att ansluta en ACS724 strömgivare till en Arduino för att göra strömmätningar. I det här fallet är den aktuella sensorn en +/- 5A variant som matar ut 400 mv/A.
Arduino Uno har en 10 bitars ADC, så bra frågor är: Hur exakt är den aktuella avläsningen vi kan få och hur stabil är den?
Vi börjar med att bara ansluta sensorn till en voltmeter och en strömmätare och göra analoga avläsningar för att se hur bra sensorn fungerar och sedan ska vi ansluta den till en Arduino ADC -stift och se hur bra den fungerar.
Tillbehör
1 - Brödbräda2 - Bänkskivans strömförsörjning2 - DVM's1 - ACS724 sensor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W motstånd1 - 1nF cap1 - 10nF cap1 - 0.1uF cap
Steg 1:
Testkretsen är som visas i diagrammet. Anslutningen från Arduino 5V -stiftet till LM7805 +5V -skenan är valfri. Du kan få bättre resultat med den här bygeln på plats, men var försiktig med dina kablar om du använder den eftersom Arduino är ansluten till din dator och den andra strömförsörjningen kommer att överstiga 5V när du slår på den för att öka strömmen genom sensorn.
Om du ansluter nätaggregaten tillsammans kommer sensorns strömförsörjning och Arduino -nätaggregatet att ha exakt samma +5V referenspunkt och du kan förvänta dig mer konsekventa resultat.
Jag gjorde detta utan denna anslutning och jag såg en högre nollströmavläsning på strömgivaren (2.530 V istället för den förväntade 2.500 V) och lägre än förväntad ADC -avläsning vid nollströmspunkten. Jag fick en digital ADC -avläsning på cirka 507 till 508 utan ström genom sensorn, för 2.500V bör du se en ADC -avläsning på cirka 512. Jag korrigerade för detta i programvaran.
Steg 2: Testmätningar
Analoga mätningar med en voltmeter och ammeter indikerade att sensorn är mycket exakt. Vid testströmmar på 0,5A, 1,0A och 1,5A var det exakt korrekt till millivolten.
ADC -mätningar med Arduino var inte så exakta. Dessa mätningar begränsades av 10 bitars upplösning för Arduino ADC och brusproblem (se videon). På grund av brus hoppade ADC -avläsningen runt värsta fall upp till 10 eller fler steg utan ström genom sensorn. Med tanke på att varje steg representerar cirka 5 mv, handlar det om en fluktuation på 50 mv och med en 400 mv/amp sensor representerar en 50 mv/400 mv/amp = 125 ma fluktuationer! Det enda sättet jag kunde få en meningsfull läsning var att ta 10 avläsningar i rad och sedan genomsnitta dem.
Med en 10 -bitars ADC eller 1024 möjliga nivåer och 5V Vcc kan vi lösa cirka 5/1023 ~ 5mv per steg. Sensorn ut sätter 400mv/Amp. Så i bästa fall har vi en upplösning på 5mv/400mv/amp ~ 12,5ma.
Så kombinationen av fluktuationer på grund av brus och låg upplösning gör att vi inte kan använda denna metod för att noggrant och konsekvent mäta ström, särskilt små strömmar. Vi kan använda den här metoden för att ge oss en uppfattning om den nuvarande nivån vid högre strömmar men det är bara inte så exakt.
Steg 3: Slutsatser
Slutsatser:
-ACS724 analoga avläsningar är mycket exakta.
-ACS724 borde fungera mycket bra med analoga kretsar. t.ex. styr strömförsörjningsströmmen med en analog återkopplingsslinga.
-Det finns problem med brus och upplösning med ACS724 med Arduino 10 bitars ADC.
-Bra nog för att bara övervaka medelström för högre strömkretsar men inte tillräckligt bra för konstant strömstyrning.
-Kan behöva använda ett externt 12 -bitars eller mer ADC -chip för bättre resultat.
Steg 4: Arduino -kod
Här är koden jag använde för att helt enkelt mäta Arduino A0 -stifts ADC -värde och koden för att konvertera sensorspänningen till ström och ta genomsnittet av 10 avläsningar. Koden är ganska självförklarande och kommenterad för konvertering och genomsnittskod.
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Sonografi med kropps-ultraljud med Arduino: 3 steg (med bilder)
Body-ultrasound Sonography With Arduino: Hej! Min hobby och passion är att förverkliga fysikprojekt. Ett av mina sista arbeten handlar om ultraljudssonografi. Som alltid försökte jag göra det så enkelt som möjligt med delar du kan få på ebay eller aliexpress. Så låt oss ta en titt på hur långt jag kan gå med
Hur man gör en drönare med Arduino UNO - Gör en quadcopter med mikrokontroller: 8 steg (med bilder)
Hur man gör en drönare med Arduino UNO | Gör en Quadcopter Med Microcontroller: Introduktion Besök min Youtube -kanal En Drone är en mycket dyr gadget (produkt) att köpa. I det här inlägget ska jag diskutera, hur gör jag det billigt ?? Och hur kan du göra din egen så här till billigt pris … Tja i Indien alla material (motorer, ESC
PWM Med ESP32 - Dämpnings -LED med PWM på ESP 32 Med Arduino IDE: 6 steg
PWM Med ESP32 | Dämpning av LED med PWM på ESP 32 Med Arduino IDE: I denna instruktion kommer vi att se hur man genererar PWM -signaler med ESP32 med Arduino IDE & PWM används i princip för att generera analog utgång från vilken MCU som helst och den analoga utgången kan vara allt mellan 0V och 3.3V (vid esp32) & från
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bi
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår