Med en enkel kunskap om Arduino och Voltage Divider Circuit kan vi förvandla Arduino till Digital Voltmeter och kan mäta ingångsspänningen med Arduino och en 16x2 LCD-skärm.
Arduino har flera analoga ingångsstift som ansluts till en Analog-till-Digital-omvandlare (ADC) inuti Arduino. Arduino ADC är en tio-bitars omvandlare, vilket betyder att utgångsvärdet kommer att sträcka sig från 0 till 1023. Vi kommer att få detta värde med hjälp av funktionen analogRead () . Om du känner till referensspänningen kan du enkelt beräkna den spänning som finns vid den analoga ingången. Vi kan använda spänningsdelarkretsen för att beräkna ingångsspänningen. Läs mer om ADC i Arduino här.
Den uppmätta spänningen visas på LCD-skärmen 16x2 Liquid Crystal. Vi har också visat spänningen i Serial Monitor av Arduino IDE och bekräftat den uppmätta spänningen med multimeter.
Hårdvara krävs:
- Arduino uno
- 16x2 LCD (Liquid Crystal Display)
- 100 k ohm motstånd
- 10 k ohm motstånd
- 10 k ohm potentiometer
- bakbord
- bygeltrådar
Spänningsdelarkrets:
Innan vi går in i denna Arduino Voltmeter-krets, kan vi diskutera om Voltage Divider Circuit.
Spänningsdelaren är en resistiv krets och visas i figuren. I detta resistiva nätverk har vi två motstånd. Som visas i figur, R1 och R2 som har 10k och 100k ohm. Gränsens mittpunkt tas till mätning som en anologinmatning till Arduino. Spänningsfallet över R2 kallas Vout, det är den delade spänningen i vår krets.
Formler:
Med hjälp av det kända värdet (två motståndsvärden R1, R2 och ingångsspänningen) kan vi ersätta i ekvationen nedan för att beräkna utspänningen.
Vout = Vin (R2 / R1 + R2)
Denna ekvation anger att utspänningen är direkt proportionell mot ingångsspänningen och förhållandet mellan R1 och R2.
Genom att tillämpa denna ekvation i Arduino-koden kan ingångsspänningen lätt härledas. Arduino kan bara mäta DC-ingångsspänningen på + 55v, Med andra ord, vid mätning av 55V kommer Arduino analoga stift att ha sin maximala spänning på 5V så det är säkert att mäta inom denna gräns. Här är motstånden R2 och R1-värdet inställt på 100000 och 10000, dvs i förhållandet 100: 10.
Kretsschema och anslutningar:
Anslutningen för denna Arduino Digital Voltmeter är enkel och visas i kretsschemat nedan:
Stift DB4, DB5, DB6, DB7, RS och EN på LCD är direkt kopplade till stift D4, D5, D6, D7, D8, D9 av Arduino Uno
Mittpunkten för två motstånd R1 och R2, som gör spänningsdelarkretsen, är ansluten till Arduino Pin A0. Medan de andra två ändarna är anslutna till ingångsspänningen (spänning som ska mätas) och GND.
Kodning Förklaring:
Fullständig Arduino-kod för att mäta likspänningen ges i koddelen nedan. Koden är enkel och kan lätt förstås.
Huvuddelen av koden är att konvertera och mappa den givna ingångsspänningen till visad utspänning med hjälp av ovan angivna ekvation Vout = Vin (R2 / R1 + R2). Som nämnts tidigare kommer Arduino ADC utgångsvärde att sträcka sig från 0 till 1023 och Arduino max utspänning är 5v så vi måste multiplicera den analoga ingången vid A0 till 5/1024 för att få den verkliga spänningen.
void loop () {int analogvalue = analogRead (A0); temp = (analogvärde * 5,0) / 1024,0; // Formel som används för att omvandla spänningen input_volt = temp / (r2 / (r1 + r2));
Här har vi visat det uppmätta spänningsvärdet på LCD och seriell bildskärm på Arduino. Så här i koden Serial.println används för att skriva ut värdena på Serial monitor och lcd.print används för att skriva ut värdena på 16x2 LCD.
Serial.print ("v ="); // skriver ut spänningsvärdet i den seriella bildskärmen Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Voltage ="); // skriver ut spänningsvärdet i LCD-skärmen lcd.print (input_voltage);
Så här kan vi enkelt beräkna likspänningen med Arduino. Se videon nedan för demonstration. Det är lite svårt att beräkna växelspänningen med Arduino, du kan kontrollera detsamma här.