ESP32 - Spannung messen

In diesem Leitfaden lernen wir, wie man eine Spannung von 0 V bis 16,5 V mit einem Spannungsensor und einem ESP32 misst. Wir erklären die Schritte im Detail.

ESP32-Spannungssensor

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Voltage Sensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 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 den Spannungssensor

Ein Spannungssensor ist eine fertige Spannungsteiler-Schaltung, die bestimmte Widerstände verwendet, um das Messen von Spannungen zu erleichtern. Er hat zwei Widerstände: Einen von 30 kΩ und den anderen von 7,5 kΩ. Wenn der A/D-Wandler eine Referenzspannung von 5 V hat, kann der Sensor Spannungen von 0 bis 25 V Gleichspannung (DC) messen. Wenn die Referenzspannung des A/D-Wandlers 3,3 V beträgt, kann er Spannungen von 0 bis 16,5 V Gleichspannung (DC) messen.

Pinbelegung

Ein Spannungssensor verfügt über zwei Arten von Pins:

  • Eingangsinterface (verbinden, wo Sie die Spannung messen möchten):
    • VCC-Pin: Verbinden Sie diesen positiven Pin mit dem höheren Spannungspunkt.
    • GND-Pin: Verbinden Sie diesen negativen Pin mit dem niedrigeren Spannungspunkt.
  • Ausgangsschnittstelle (mit dem ESP32 verbinden):
    • Vout-Pin (S): Verbinden Sie diesen Signalausgangspin mit einem analogen Pin am ESP32.
    • NC-Pin (+): Nicht anschließen; er wird nicht verwendet.
    • GND-Pin (-): Verbinden Sie diesen Massepin mit dem GND (0 V) am ESP32.
    Spannungs-Pinbelegung
    image source: diyables.io

Verdrahtungsdiagramm

ESP32-Spannungssensor-Schaltplan

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Quellcode

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32/esp32-measure-voltage */ #define ANALOG_IN_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to voltage sensor #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 4096.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); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } 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

  • Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, siehe wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie den ESP32 mit dem Spannungsmesser.
  • Schließen Sie das ESP32-Board über ein USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Kopieren Sie den obigen Code in die Arduino IDE und fügen Sie ihn dort ein.
  • Drücken Sie die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den ESP32 hochzuladen.
  • Testen Sie dies, indem Sie 5 V und 3,3 V am ESP32 messen.
  • Überprüfen Sie die Messwerte im Serial Monitor.
COM6
Send
Measured Voltage = 4.93 Measured Voltage = 4.93 Measured Voltage = 4.93 Measured Voltage = 4.93 Measured Voltage = 3.42 Measured Voltage = 3.42 Measured Voltage = 3.42 Measured Voltage = 3.42
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Sie könnten bemerken, dass das Messergebnis falsch oder erheblich vom tatsächlichen Wert abweicht. Beschuldigen Sie nicht das Spannungssensor-Modul dafür. Der Code verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) auszulesen, der an einen Spannungssensor angeschlossen ist. Der ESP32-ADC eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie bitte:

  • Der ESP32-ADC ist nicht völlig genau und könnte eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann sich leicht unterscheiden, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
  • Die Kalibrierung kann herausfordernd sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer genau die gewünschten Ergebnisse.

Für Projekte, die eine hohe Präzision erfordern, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) mit dem ESP32 oder einem Arduino zu verwenden, der über einen zuverlässigeren ADC verfügt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, verweisen Sie auf den ESP32 ADC Kalibrierungs-Treiber.

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.

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!