Digital Arduino Voltmeter med temperatur (2 / 6 steg)
Steg 2: spänningsavdelare
För att mäta spänning, du tar två resistorer och ansluta dem i serien. Tillämpa din inspänning till ändarna och ta en läsning från center anslutningen av de två resistorer. Ena änden av motstånd kommer att anslutas till marken på Arduino. Vi har en växelspänning vi vill övervaka, men kommer att rätta till det till DC först.
Läs mer om spänningsavdelare, se http://arduinotronics.blogspot.com/2012/04/voltage-monitor.html
Mitt första försök att detta var en besvikelse. Vid mätning av en DC batteri, var mina värden bergfast. När man läser den dc-utgången av en bro likriktare, svängde de från full spänning till noll, och tillbaka igen på en vanlig cykel. Detta fixades genom att tillämpa en kondensator över produktionen av bron likriktaren, enligt schematiskt. Om du kommer att övervaka en DC-spänning, kan du eliminera kondensatorn och bron likriktaren. Den andra delen av kretsen är 5.1v Zener diod från Arduino indata till Gnd. Detta är att hindra dig från att göra något dumt med spänningsavdelare, som presenterar högre än 5v till Arduino ingångar. Om indata går högre än 5v, genomföra Zener överskottet till marken.
Jag beräknat jag behövde en 3k och en 1 k resistor för spänning avdelare, men vissa justeringar kan bli nödvändiga, så jag använde två 10 k krukor att ge mig möjlighet till fina tune utdata.
Innan du ansluter produktionen av spänningsavdelaren till Arduino, jag inkopplad min DMM i produktionen av spänningsavdelaren ansluten AC källan och justerat två krukor tills jag fick exakt 5v. Igen, 5.1v Zener hindrar dig från att göra något dumt med krukor.
Jag sedan ansluten min DMM till AC källa, tog AC läsningen och sätta den i min map-kommandot i koden som värde för 1023 på ADC. Efter alla ledningarna var avslutat och koden laddas upp till Arduino, jag ansluten tillförsel av min AC transformator till en variac så jag kunde köra transformatorn primära från 0-125vac. Med min DMM på sekundärt av min 29vac transformator speglat Arduino LCD-displayen DMM nästan perfekt hela kompletta utbud.
Arduino kod enligt följande:
int voltPin = 0; spänningsdelare (mellersta terminal) ansluten till analoga stift 0
utanför leder till 0-29vac
void setup()
{
Serial.BEGIN(9600); setup följetong
}
void loop()
{
Val = analogRead(voltPin); Läs ingångsstiftet
Serial.println(val); debug värde
volt = karta (val, 0, 1023, 0, 29); karta 29v utbud
Serial.println(volt); spänning
Delay(50);
}