ESP32 Tutorial 55/55 - Wie man 12V, 24V oder 100V Gleichstromspannung misst | SunFounder's ESP32 IoT Lernkit

ESP32 Tutorial 55/55 - Wie man 12V, 24V oder 100V Gleichstromspannung misst | SunFounder's ESP32 IoT Lernkit

In diesem Tutorial lernen wir, wie man den ESP32 verwendet, um verschiedene Gleichspannungen zu messen, darunter 12V, 24V und sogar bis zu 100V. Durch die Verwendung eines Spannungsteilers, der aus zwei Widerständen besteht, können wir höhere Spannungen sicher messen, ohne das Risiko einzugehen, den ESP32-Mikrocontroller zu beschädigen. Dieses Projekt wird demonstrieren, wie man diese Spannungen liest und sie im seriellen Monitor anzeigt, was wertvolle Einblicke in Ihre Stromquellen bietet.

ESP32-55-beliebige-Spannung-Haupt

Sehen Sie sich das Video für eine umfassende Erklärung an (im Video bei 00:00). Wir werden eine einfache Spannungsdivider-Konfiguration verwenden, um dies zu erreichen und sicherzustellen, dass wir Spannungen messen können, die die maximalen Eingabewerte des ESP32 überschreiten. Dieses Tutorial ist perfekt für alle, die ihr Wissen über den ESP32 und seine Möglichkeiten erweitern möchten.

Formel zur Berechnung der Spannung

ESP32-55_jede-Spannungsformel

Hardware erklärt

Die Hauptkomponenten für dieses Projekt umfassen den ESP32-Mikrocontroller, zwei Widerstände, die einen Spannungsteiler bilden, und die Stromquelle, die Sie messen möchten. Der ESP32 ist mit eingebauten Wi-Fi- und Bluetooth-Funktionen ausgestattet, was ihn zu einer vielseitigen Wahl für IoT-Projekte macht. Der Spannungsteiler, der aus zwei Widerständen besteht, ermöglicht es uns, die Spannung auf ein sicheres Niveau zu reduzieren, das der ESP32 verarbeiten kann.

In diesem Aufbau ist ein Widerstand,R1, ist auf 10kΩ festgelegt, während der zweite Widerstand,R2, kann je nach der maximalen Spannung, die Sie messen möchten, variieren. Die Spannung überR1ist das, was wir über den analogen Eingangspin des ESP32 lesen werden, was es uns ermöglicht, die ursprüngliche Spannung der Stromquelle zu berechnen.

  • Stellen Sie sicher, dass die Widerstände eine Toleranz von 1 % haben, um genaue Messungen zu gewährleisten.
  • Verwenden Sie einen Spannungsteiler, um zu verhindern, dass die Eingangsspannungsgrenzen des ESP32 überschritten werden.
  • BehaltenR1bei 10kΩ und anpassenR2basierend auf dem Spannungsbereich.
  • Überprüfen Sie die Verbindungen, um fließende Eingaben zu vermeiden, die zu ungenauen Messwerten führen können.
  • Verwenden Sie eine stabile Stromquelle für konsistente Spannungsmessungen.

Verdrahtungsanweisungen

Um den Stromkreis zu verdrahten, beginnen Sie damit, ein Ende desR1Widerstand (10kΩ) an Ihre Spannungsquelle anschließen und das andere Ende an den GPIO-Pin 35 des ESP32. Dieser Pin wird die Spannung messen überR1. Als Nächstes verbinden Sie dieR2Widerstand (der 100kΩ oder einen anderen Wert haben kann, je nach Ihren Bedürfnissen) zwischen dem Anschlusspunkt vonR1und die Erde. Stellen Sie sicher, dass die Erde der Stromquelle auch mit der Erde des ESP32 verbunden ist.

Zum Beispiel, wenn Sie 24V messen, verbinden Sie den positiven Anschluss des Netzteils mitR1, verbinden Sie dann das andere Ende vonR1zum Pin 35 und der Verbindung der beiden Widerstände. Das freie Ende vonR2sollte geerdet werden. Diese Konfiguration ermöglicht es dem ESP32, eine sichergestellte, herabgesetzte Spannung sicher zu lesen.

Codebeispiele und Anleitung

const int R1 = 10000; // Resistor 1 value
const int R2 = 100000; // Resistor 2 value
const int VinPin = 35; // Voltage input pin

In diesem Auszug definieren wir die Werte für unsere Widerstände,R1undR2, sowie den analogen PinVinPindass wir sie verwenden werden, um die Spannung zu messen. Diese Konstanten sind entscheidend für unsere Spannungsberechnungen.

void readVoltage() {
  uint32_t voltage_mV = analogReadMilliVolts(VinPin); // Read in millivolts
  VB1 = (((float) voltage_mV) / 1000.0) * (1 + (float)R2/(float)R1);
}

Diese Funktion liest die Spannung in Millivolt vom angegebenen Pin und berechnet die tatsächliche Spannung.VB1unter Verwendung der Spannungsteilerformel. Dies ist wichtig, um die herabgesetzte Spannung wieder auf den ursprünglichen Wert zu übersetzen.

void maxVoltage() {
  float maxVoltage = (3.1) * (1 + (float)R2/(float)R1);
}

Hier definieren wir eine Funktion, um die maximale Spannung zu berechnen und anzuzeigen, die basierend auf den Widerstandswerten sicher gemessen werden kann. Diese Funktion ist entscheidend, um sicherzustellen, dass wir die Spannungsgrenzen des ESP32 nicht überschreiten.

Demonstration / Was zu erwarten ist

Wenn Sie den Code ausführen, sollten Sie die gemessene Spannung im seriellen Monitor angezeigt bekommen. Wenn Sie die Eingangsspannung anpassen, sollten die Werte diese Änderungen in Echtzeit widerspiegeln, was die Fähigkeit des ESP32 zeigt, verschiedene Gleichspannungen genau zu messen. Wenn Sie Schwankungen in den Werten feststellen, ziehen Sie in Betracht, mehrere Proben zu mitteln, um ein stabileres Ergebnis zu erzielen (im Video bei 12:30).

Video-Zeitstempel

  • 00:00 Start
  • 1:59 Einführung in das Projekt
  • 5:45 Spannungs teiler
  • 7:33 Verdrahtung erklärt
  • 9:14 Arduino-Code erklärt
  • 14:45 ESP32-Board und COM-Port im Arduino IDE auswählen
  • 16:27 Messung von 30V mit ESP32-Demonstration
  • 21:36 Den R2 auf 330k Ohm geändert
  • 22:33 Mindestspannungsmessung

Bilder

ESP32-55_any-voltrage-formula
ESP32-55_any-voltrage-formula
ESP32-55-any-voltage-main
ESP32-55-any-voltage-main
805-ESP32 Tutorial 55/55 - Arduino code to measure 12V, 24V or 100V DC voltage
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.