2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
In deze instructable zullen we experimenteren met het aansluiten van een ACS724-stroomsensor op een Arduino om stroommetingen uit te voeren. In dit geval is de stroomsensor een +/- 5A variant die 400 mv/A levert.
De Arduino Uno heeft een 10 bit ADC, dus goede vragen zijn: hoe nauwkeurig is de huidige meting die we kunnen krijgen en hoe stabiel is deze?
We beginnen door de sensor gewoon op een voltmeter en een stroommeter aan te sluiten en analoge metingen te doen om te zien hoe goed de sensor werkt en dan zullen we hem aansluiten op een Arduino ADC-pin en kijken hoe goed hij werkt.
Benodigdheden
1 - Breadboard2 - Tafelvoedingen2 - DVM's1 - ACS724-sensor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W weerstanden1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers
Stap 1:
Het testcircuit is zoals weergegeven in het diagram. De verbinding van de Arduino 5V-pin naar de LM7805 +5V-rail is optioneel. Je krijgt misschien betere resultaten met deze jumper op zijn plaats, maar wees voorzichtig met je bedrading als je hem gebruikt, omdat de Arduino op je computer is aangesloten en de tweede voeding hoger zal zijn dan 5V wanneer je hem hoger zet om de stroom door de sensor te vergroten.
Als je de voedingen op elkaar aansluit, hebben de sensorvoeding en de Arduino-voeding exact hetzelfde +5V-referentiepunt en zou je meer consistente resultaten verwachten.
Ik deed dit zonder deze verbinding en ik zag een hogere nulstroomwaarde op de stroomsensor (2,530 V in plaats van de verwachte 2500 V) en een lagere dan verwachte ADC-waarde op het nulstroompunt. Ik kreeg een digitale ADC-waarde van ongeveer 507 tot 508 zonder stroom door de sensor, voor 2.500V zou je een ADC-waarde van ongeveer 512 moeten zien. Ik heb dit gecorrigeerd in de software.
Stap 2: Testmetingen
Analoge metingen met een voltmeter en ampèremeter gaven aan dat de sensor zeer nauwkeurig is. Bij teststromen van 0,5A, 1,0A en 1,5A was het tot op de millivolt nauwkeurig.
ADC-metingen met de Arduino waren lang niet zo nauwkeurig. Deze metingen werden beperkt door de 10 bit resolutie van de Arduino ADC en ruisproblemen (zie de video). Vanwege ruis sprong de ADC-waarde in het slechtste geval tot 10 of meer stappen zonder stroom door de sensor. Aangezien elke stap ongeveer 5 mv vertegenwoordigt, is dit ongeveer een fluctuatie van 50 mv en met een 400mv/amp-sensor een fluctuatie van 50mv/400mv/amp = 125ma! De enige manier waarop ik een zinvolle meting kon krijgen, was door 10 metingen achter elkaar te doen en ze vervolgens te middelen.
Met een 10 bit ADC of 1024 mogelijke niveaus en 5V Vcc kunnen we ongeveer 5/1023 ~ 5mv per stap oplossen. De sensor uit zet 400mv/Amp. Dus in het beste geval hebben we een resolutie van 5mv/400mv/amp ~ 12.5ma.
Dus de combinatie van fluctuaties als gevolg van ruis en lage resolutie betekent dat we deze methode niet kunnen gebruiken om nauwkeurig en consistent stroom te meten, vooral kleine stromen. We kunnen deze methode gebruiken om ons een idee te geven van het huidige niveau bij hogere stromen, maar het is gewoon niet zo nauwkeurig.
Stap 3: Conclusies
conclusies:
-ACS724 analoge metingen zijn zeer nauwkeurig.
-ACS724 zou heel goed moeten werken met analoge circuits. bijv. het regelen van de voedingsstroom met een analoge feedbacklus.
-Er zijn problemen met ruis en resolutie bij gebruik van de ACS724 met Arduino 10 bit ADC.
-Goed genoeg om alleen de gemiddelde stroom voor hogere stroomcircuits te bewaken, maar niet goed genoeg voor constante stroomregeling.
-Mogelijk moet u een externe 12 bit of meer ADC-chip gebruiken voor betere resultaten.
Stap 4: Arduino-code
Hier is de code die ik heb gebruikt om eenvoudig de Arduino A0-pin ADC-waarde te meten en de code om de sensorspanning om te zetten in stroom en het gemiddelde van 10 metingen te nemen. De code is redelijk duidelijk en bevat commentaar voor de conversie- en middelingscode.
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 s
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T