Arduino - Spannung messen

In diesem Tutorial werden wir untersuchen, wie man einen Arduino verwendet, um eine Spannung von 0 V bis 25 V mit einem Spannungssensor zu messen. Im Detail werden wir Folgendes behandeln:

Arduino-Spannungssensor

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×Voltage Sensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Spannungssensor

Ein Spannungssensor ist eine vorgefertigte Spannungsteiler-Schaltung, die Präzisionswiderstände für eine vereinfachte Spannungsmessung verwendet. Er besteht aus zwei Widerständen: 30 kΩ und 7,5 kΩ. Mit einer 5-V-Referenzspannung für den ADC kann der Sensor Spannungen von 0 bis 25 V DC messen. Wenn die Referenzspannung des ADC 3,3 V beträgt, kann der Sensor Spannungen von 0 bis 16,5 V DC messen.

Pinbelegung

Ein Spannungsensor hat zwei Gruppen von Pins:

  • Eingangs-Schnittstelle (verbunden mit den Punkten, an denen Sie die Spannung messen möchten):
    • VCC-Pin: Dies ist der positive Pin. Verbinden Sie ihn mit dem Punkt der höheren Spannung.
    • GND-Pin: Dies ist der negative Pin. Verbinden Sie ihn mit dem Punkt der niedrigeren Spannung.
  • Ausgangsschnittstelle (verbunden mit dem Arduino):
    • Vout-Pin (S): Dies ist der Signalpin. Verbinden Sie ihn mit einem analogen Pin am Arduino.
    • NC-Pin (+): Dieser Pin wird nicht verwendet. Lassen Sie ihn offen.
    • GND-Pin (-): Dies ist der Massepin. Verbinden Sie ihn mit dem GND (0 V) am Arduino.
    Spannungs-Pinbelegung
    image source: diyables.io

Verdrahtungsdiagramm

Arduino-Spannungssensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino-Code

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-measure-voltage */ // define analog input #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 5.0 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Schnelle Schritte

  • Verbinde Arduino mit dem Spannungssensor.
  • Verbinde Arduino über ein USB-Kabel mit dem PC.
  • Öffne die Arduino-IDE, wähle das richtige Board und den richtigen Port aus.
  • Kopiere den obigen Code und öffne ihn mit der Arduino-IDE.
  • Klicke in der Arduino-IDE auf die Upload-Schaltfläche, um den Code auf Arduino hochzuladen.
  • Teste 5V und 3,3V am Arduino.
  • Sieh dir das Ergebnis im Serial Monitor an.
COM6
Send
Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Sie könnten feststellen, dass das Messergebnis falsch ist oder deutlich vom tatsächlichen Wert abweicht. Beschuldigen Sie nicht das Spannungssensor-Modul dafür. Der gemessene Wert kann eine Drift aufweisen, weil die standardmäßige Referenzspannung 5 V beträgt, die instabil sein kann und von der Stromversorgung abhängig ist. Hier sind einige Lösungen für dieses Problem:

  • Verwenden Sie eine Stromversorgung, die dem Arduino eine ausreichende Spannung liefert. Sie können dies überprüfen, indem Sie ein Voltmeter verwenden, um zu prüfen, ob der 5-V-Pin am Arduino 5 V ausgibt.
  • Verwenden Sie eine externe Referenzspannung von 3,3 V. Allerdings können Sie mit dieser Methode nur Spannungen von 0 bis 16,5 V Gleichspannung messen.

Spannungsmessung mit einer 3,3-V-Referenz

Um diese Methode zu verwenden, müssen Sie sowohl die Hardware als auch den Code einrichten. Für die Hardware schließen Sie den AREF-Pin des Arduino an 3,3 V an, wie im untenstehenden Diagramm gezeigt.

Arduino misst Spannung – Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verwenden Sie anschließend den folgenden Code:

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); analogReference(EXTERNAL); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Funktionsreferenzen

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!