DC-Voltmeter-Schaltung auf Arduino-Basis - Konstruktionsdetails und Tests

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem Beitrag werden wir ein Gleichspannungsmessgerät mit Arduino konstruieren, bei dem die Messwerte auf einem 16x2-LCD angezeigt werden.



Das vorgeschlagene Voltmeter-Design kann bis zu 30 V mit einer Toleranz von +/- 0,5 Volt anzeigen. Wir werden sehen, wie dieses Setup funktioniert, und andere Möglichkeiten untersuchen, die wir außer der Spannungsmessung erreichen können.



Dieses Projekt ist ziemlich einfach, selbst Anfänger können es problemlos durchführen. Beim Prototyping der Schaltung ist jedoch Vorsicht geboten, da externe Spannung angelegt wird. Eine fehlerhafte Verbindung mit Arduino kann zu tödlichen Schäden an Ihrem Board führen.

Lassen Sie die Warnung eine Seite sein, lassen Sie uns untersuchen, wie sie funktioniert.



Hier verwenden wir den Analog-Digital-Konvertierungsprozess. Die Spannung von einer beliebigen Quelle ist eine analoge Funktion. Die auf dem 16x2-LCD angezeigten Messwerte sind eine digitale Funktion.

Die Herausforderung besteht darin, diese analogen Funktionen in digitale Funktionen umzuwandeln. Glücklicherweise verfügt Arduino über Funktionen zum Lesen analoger Funktionen und zum Konvertieren in diskrete Funktionen.

Arduino-Mikrocontroller mit 10-Bit-Analog-Digital-Wandler (ADC). Dies bedeutet, dass Arduino 2 ^ 10 = 1024 diskrete Spannungspegel lesen kann.

Mit anderen Worten, die an den analogen Pin von Arduino angelegte Spannung wird mit 1024 diskreten Spannungspegeln in Bezug auf eine Referenzspannung abgetastet, deren abgetasteter Wert auf dem LCD angezeigt wird. Dies ist das Prinzip hinter diesem Voltmeter oder fast jedem digitalen Voltmeter.

Die angelegte externe Spannung wird jedoch nicht direkt von Arduino gemessen. Die Spannung wird mit Hilfe von Spannungsteilern herabgesetzt, und im Programm werden einige Berechnungen durchgeführt, um den tatsächlichen Spannungswert zu erhalten.

Wie es funktioniert

Die Schaltung besteht aus zwei Widerständen, einem LCD-Display und einem Arduino, dem Gehirn des digitalen Voltmeters. Die beiden Widerstände wirken als Spannungsteiler, der Knoten des Teilers ist mit dem analogen Pin # A0 des Arduino verbunden, der die Eingangsspannung liest. Die Erdungsverbindung zwischen Arduino und externer Spannungsquelle wird hergestellt.

Die minimale Spannung, die mit diesem Voltmeter gemessen werden kann, beträgt 0,1 V. Dieser Schwellenwert ist im Programm so eingestellt, dass er nach dem Trennen der Spannungsquelle 0,00 Volt anzeigt und keine Messwerte aufgrund statischer Aufladung um die Messsonde anzeigt.

Prototyp des Autors:

DC-Voltmeter-Testergebnisse auf Arduino-Basis

Verpolen Sie die Polarität nicht, während Sie die Spannung messen. Sie schadet dem Stromkreis nicht, liest jedoch keine Spannung und zeigt 0,00 V an, bis Sie die Polarität korrigieren. Stellen Sie den Kontrast der LCD-Anzeige durch Drehen des Potentiometers auf den optimalen Wert ein.

Stellen Sie sicher, dass Sie keine Spannungsquelle anlegen, die über 30 V ansteigen könnte. Dies kann Ihr Arduino-Board beschädigen. Technisch gesehen können Sie die maximale Messspannung dieser Schaltung erhöhen, indem Sie die Widerstandswerte ändern und das Programm ändern. Für den dargestellten Aufbau sind jedoch 30 V begrenzt.

Wählen Sie für eine genaue Ablesung feste Widerstände mit minimalem Toleranzwert. Widerstände spielen eine wichtige Rolle bei der Kalibrierung der Spannungsmessung.

Schaltplan:

Arduino-basierte DC-Voltmeter-Schaltung

Die andere Möglichkeit dieses Voltmeters besteht darin, dass wir das Programm ändern können, um einige Aufgaben zu automatisieren.

Ermitteln Sie beispielsweise die volle Batteriespannung und trennen Sie die Batterie vom Ladegerät oder trennen Sie die Batterie, wenn die Spannung unter den voreingestellten Spannungspegel fällt. Diese Aufgabe kann auch ohne LCD-Anzeige ausgeführt werden. Dies ist jedoch Gegenstand eines anderen Artikels.

Programm:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Bitte überprüfen Sie die Messwerte mit einem guten Voltmeter / Multimeter.




Zurück: Bluetooth-Zündschlossschaltung - Keyless Car Protection Weiter: Magnetischer Türsicherheitsalarmkreis zur Warnung, wenn die Tür geöffnet wurde