Stap 2: spanning Divider
Voor het meten van spanning, u neemt twee weerstanden en sluit ze in serie. Uw ingangsspanning van toepassing tot aan de uiteinden, en neem een lezing van de aansluiting van de center van de twee weerstanden. Één uiteinde van de weerstanden zal worden aangesloten op grond op de Arduino. We hebben een wisselstroom die we controleren wilt, maar zal eerst aan DC corrigeren.
Meer informatie over spanning dividers, Zie http://arduinotronics.blogspot.com/2012/04/voltage-monitor.html
Mijn eerste poging om dit was teleurstellend. Bij het meten van een DC batterij, waren mijn lezingen zeer solide. Bij het lezen van de dc-uitgang van een brug gelijkrichter, zwaaide ze uit vol spanning naar nul, en weer opnieuw op een regelmatige cyclus. Dit werd bevestigd door een condensator toe te passen op de uitvoer van de brug gelijkrichter, volgens het schema. Als u een gelijkspanning volgen zullen, kunt u de condensator en de brug gelijkrichter elimineren. Het andere deel van het circuit is het 5.1v Zener-diode van de ingang van de Arduino tot Gnd. Dit is om te voorkomen dat u iets dwaas met de scheidingslijn van de spanning, zoals presenteren hoger dan 5v op de Arduino-ingangen. Als de input hoger dan 5v gaat, de Zener zal het gedrag van het overschot aan grond.
Ik berekend dat ik moest een 3k en een 1 k weerstand voor de scheidingslijn van de spanning, maar enige aanpassing misschien wel nodig, dus ik gebruikte twee 10 k potten geven me de mogelijkheid te fine tune de output.
Voordat u de output van de scheidingslijn van de spanning op de Arduino, ik mijn DMM aangesloten op de uitgang van de scheidingslijn van de spanning verbonden de AC bron en aangepast van de twee potten tot ik kreeg precies 5v. Nogmaals, de 5.1v Zener voorkomt u iets dwaas met de potten.
Ik vervolgens mijn DMM verbonden met de AC bron, nam de AC-lezing, en zet het in de opdracht van mijn kaart in de code als de waarde voor 1023 op de ADC. Nadat alle bedrading is voltooid en de code die is geüpload naar de Arduino, dat ik de input van mijn AC transformator met een variac verbonden, zodat ik de transformator lopen kon primaire van 0-125vac. Met mijn DMM op de secundaire van de transformator van mijn 29vac gespiegeld de Arduino LCD display de DMM bijna perfect over het volledige bereik.
Arduino code als volgt:
int voltPin = 0; voltage divider (middelste terminal) aangesloten op analoge pin 0
buiten leidt tot 0-29vac
VOID Setup
{
Serial.begin(9600); Setup seriële
}
void loop
{
Val = analogRead(voltPin); Lees de invoer pin
Serial.println(val); debug waarde
volt = kaart (val, 0, 1023, 0, 29); kaart 29v bereik
Serial.println(volt); spanning
delay(50);
}