Inhoudsopgave:

DIY-stroomsensor voor Arduino - Ajarnpa
DIY-stroomsensor voor Arduino - Ajarnpa

Video: DIY-stroomsensor voor Arduino - Ajarnpa

Video: DIY-stroomsensor voor Arduino - Ajarnpa
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, November
Anonim
DIY-stroomsensor voor Arduino
DIY-stroomsensor voor Arduino
DIY-stroomsensor voor Arduino
DIY-stroomsensor voor Arduino

Hallo daar, ik hoop dat het goed met je gaat en in deze tutorial zal ik je laten zien hoe ik een stroomsensor voor Arduino heb gemaakt met behulp van enkele zeer eenvoudige elektronische componenten en een zelfgemaakte shunt. Deze shunt kan gemakkelijk een grote stroomsterkte aan, ongeveer 10-15 ampère. De nauwkeurigheid is ook redelijk goed en ik kon zeer behoorlijke resultaten krijgen terwijl ik lage stromen rond de 100mA meet.

Benodigdheden

  1. Arduino Uno of gelijkwaardig en programmeerdraad
  2. OP-versterker LM358
  3. Doorverbindingsdraden
  4. 100 KOhm weerstand
  5. 220 KOhm weerstand
  6. 10 Kohm-weerstand
  7. Veroboard of Zero printplaat
  8. Shunt (8 tot 10 milliohm)

Stap 1: Verzamelen van de benodigde onderdelen

De benodigde onderdelen verzamelen
De benodigde onderdelen verzamelen
De benodigde onderdelen verzamelen
De benodigde onderdelen verzamelen

De belangrijkste onderdelen die je nodig hebt voor deze build is een shunt samen met het operationele versterker-IC. Voor mijn toepassing gebruik ik de IC LM358, een dubbele OP-AMP 8-pins DIP-IC waarvan ik slechts één van de operationele versterkers gebruik. Je hebt ook weerstanden nodig voor het niet-inverterende versterkercircuit. Ik heb gekozen voor 320K en 10K als mijn weerstanden. De keuze van je weerstand hangt volledig af van de hoeveelheid gain die je wilt hebben. Nu wordt de OP-AMP gevoed door de 5 volt van de Arduino. We moeten er dus voor zorgen dat de uitgangsspanning van de OP-AMP wanneer de volledige stroom door de shunt gaat, minder dan 5 volt moet zijn, bij voorkeur 4 volt om enige foutenmarge te behouden. Als we een versterking kiezen die erg hoog genoeg is, zal de OP-AMP voor een lagere stroomwaarde in het verzadigingsgebied gaan en slechts 5 volt boven elke huidige waarde geven. Zorg er dus voor dat u de waarde van de versterkerversterking op de juiste manier kiest. Je hebt ook een prototype-PCB of breadboard nodig om dit circuit te proberen. Voor de microcontroller gebruik ik de Arduino UNO om de invoer van de versterkeruitgang te verkrijgen. Je kunt elk gelijkwaardig Arduino-bord kiezen dat je wilt.

Stap 2: Uw eigen shuntweerstand maken

Uw eigen shuntweerstand maken
Uw eigen shuntweerstand maken

Het belangrijkste hart van het project is de shuntweerstand die wordt gebruikt om de kleine spanningsval te bieden. U kunt deze shunt eenvoudig en zonder veel gedoe maken. Als je een dikke massieve staaldraad hebt, kun je een redelijke lengte van die draad afknippen en als shunt gebruiken. Een ander alternatief hiervoor is om shuntweerstanden te redden van oude of beschadigde multimeters, zoals hier wordt weergegeven. Het stroombereik dat u wilt meten, hangt grotendeels af van de waarde van de shuntweerstand. Meestal kunt u shunts gebruiken in de orde van 8 tot 10 milliohm.

Stap 3: Schakelschema van het project

Schakelschema van het project
Schakelschema van het project

Hier is de hele theorie als een samenvatting en ook het schakelschema van de huidige sensormodule die de implementatie van de niet-inverterende configuratie van de OP-AMP laat zien die de nodige versterking biedt. Ik heb ook een 0.1uF-condensator aan de uitgang van de OP-AMP bevestigd om de uitgangsspanning af te vlakken en eventuele hoogfrequente ruis te verminderen als deze zich zou voordoen.

Stap 4: Alles bij elkaar brengen…

Alles bij elkaar brengen…
Alles bij elkaar brengen…
Alles bij elkaar brengen…
Alles bij elkaar brengen…
Alles bij elkaar brengen…
Alles bij elkaar brengen…

Nu is het eindelijk tijd om de huidige sensormodule uit deze componenten te maken. Hiervoor heb ik een klein stukje veroboard uitgesneden en mijn componenten zo gerangschikt dat ik het gebruik van jumperdraden of connectoren kon vermijden en het hele circuit kon worden aangesloten met directe soldeerverbindingen. Voor het aansluiten van de belasting via de shunt heb ik schroefklemmen gebruikt, wat de verbindingen veel netter maakt en het tegelijkertijd veel gemakkelijker maakt om verschillende belastingen te wisselen/vervangen waarvoor ik stroom wil meten. Zorg ervoor dat u schroefklemmen van goede kwaliteit kiest die grote stromen aankunnen. Ik heb enkele foto's van het soldeerproces bijgevoegd en zoals je kunt zien, kwamen de soldeersporen redelijk goed uit zonder gebruik van een jumper of draadconnector. Dit maakte mijn module nog duurzamer. Om je een idee te geven van hoe klein deze module is, heb ik hem samen met een Indiase munt van 2 roepie bewaard en de grootte is bijna vergelijkbaar. Door dit kleine formaat kunt u deze module gemakkelijk in uw projecten inpassen. Als u SMD-componenten kunt gebruiken, kan het formaat zelfs worden verkleind.

Stap 5: De sensor kalibreren om correcte metingen te geven

De sensor kalibreren om correcte metingen te geven
De sensor kalibreren om correcte metingen te geven
De sensor kalibreren om correcte metingen te geven
De sensor kalibreren om correcte metingen te geven

Na de constructie van de hele module komt hier een klein lastig onderdeel, het kalibreren of liever het bedenken van de benodigde code om de juiste waarde van de stroom te meten. Nu vermenigvuldigen we in wezen de spanningsval van de shunt om ons een versterkte spanning te geven, hoog genoeg om de Arduino analogRead()-functie te registreren. Nu de weerstand constant is, is de uitgangsspanning lineair met betrekking tot de grootte van de stroom die door de shunt gaat. De gemakkelijke manier om deze module te kalibreren, is door een echte multimeter te gebruiken om de waarde van de stroom die door een bepaald circuit gaat te berekenen. Noteer deze stroomwaarde, met behulp van de arduino en de seriële monitorfunctie, kijk wat de analoge waarde is die eraan komt (variërend van 0 tot 1023. Gebruik de variabele als float-gegevenstype om betere waarden te krijgen). Nu kunnen we deze analoge waarde vermenigvuldigen met een constante om onze gewenste stroomwaarde te krijgen en aangezien de relatie tussen de spanning en stroom lineair is, zal deze constante bijna hetzelfde zijn voor het hele stroombereik, hoewel je misschien wat kleine dingen moet doen aanpassingen achteraf. U kunt proberen met 4-5 bekende huidige waarden om uw constante waarde te krijgen. Ik zal de code vermelden die ik voor deze demonstratie heb gebruikt.

Stap 6: Eindconclusies

Image
Image
Eindconclusies
Eindconclusies

Deze stroomsensor werkt redelijk goed in de meeste DC-aangedreven toepassingen en heeft een fout van minder dan 70 mA als deze correct is gekalibreerd. Er zijn echter enkele beperkingen van dit ontwerp, bij zeer lage of zeer hoge stromen wordt de afwijking van de werkelijke waarde aanzienlijk. Dus enige wijziging van de code is nodig voor de grensgevallen. Een alternatief is het gebruik van een Instrumentation-versterker, die nauwkeurige schakelingen heeft om zeer kleine spanningen te versterken en die ook in de hoge kant van de schakeling kan worden gebruikt. Ook de schakeling kan worden verbeterd door een betere, ruisarme OP-AMP te gebruiken. Voor mijn toepassing werkt het goed en geeft het herhaalbare output. Ik ben van plan om een wattmeter te maken, waar ik dit shuntstroommeetsysteem zou gebruiken. Ik hoop dat jullie genoten hebben van deze build.

Aanbevolen: