ADC und ESP32 Visualization

ADC und ESP32 Visualization: Gauge Anzeigeinstrument Messuhr-Indikator
Spannungsmessung mit dem ADC eines ESP32 Moduls. Visualisierung mit Canvas gauge. HTML dashboard Anzeigeinstrument Messuhr-Indikator.Aktualisierung 2 Mal pro Sekunde

Ein Beispiel für die Spannungsmessung mit dem ADC eines ESP32 Moduls. Die Spannung wird auf einer Webseite durch einen Messuhr -Indikator  visualisiert. Das Anzeigeinstrument ist mit HTML Canvas Gauge Realisiert. Das  HTML Anzeigeinstrument funktioniert ohne Zugriff auf Internet. Die gauge.min.js Bibliothek ist lokal auf dem ESP32 gespeichert. Eigentlich lassen sich auf diese Weise HTML dashboards und verschiedenes Webinterface mit Visualization bauen.

In diesem Beispiel fragt die Visualization Webseite 2-mal in die Sekunde den Messwert ab. Dies geschieht mittels AJAX-Objekt und JavaScript.  Ich habe auch eine Anzeige vorgesehen die das Verbindungstatus anzeigt. Der Kreis oben links wird rot, wenn Anfrage an den ESP32 Server gesendet wird. Und er wird wieder Grau, wenn eine Antwort vom ESP32 Server zurückkommt. Wenn der Kreis rot bleibt, dann ist die Verbindung abgebrochen oder ESP32 Server antwortet nicht.

Das Arduino Sketch, bei Aufruf des ESP32 IP-Adresse, macht nichts anderes als eine HTML-Webseite an den Browser zu schicken. Und beim Aufruf von ADC.txt wird ein Text mit dem ADC-Messwert gesendet. Ständige Aktualisierung und Visualisierung geschieht mittels JavaScript. Webseiten Quelltext, JavaScript, und gauge.min.js Bibliothek befinden sich in der Datei „index_html.h“ im Projektordner.

Arduino Sketsh für ESP32

Ich habe für dieses Beispielprogramm das ADC1_0 verwendet. Diese GPIO hat auf dem ESP32 (LOLIN32, ESP-WROOM-32) Board die Bezeichnung „VP“ESP32 ADC Messbereich Anpassung Schutz Visualisierung

ADC ist so eingestellt das maximale Spannung 1.1V beträgt. Um 10V zu messen wird ein Spannungsteiler benötigt. Ich schlage vor 10 K wiederstand und 10 K Präzisionspotentiometer zu verwenden.
Um das ADC-Eingang gegen Überspannung zu schützen sollte eine schottky Diode (BAT48) zwischen ADC-Eingang und 3,3 V Stromversorgung geschaltet werden. So kann die GPIO Eingangsspannung auch bei falscher Poti Einstellung die 3,6V nicht übersteigen.

Einstellen des Messbereichs

Einstellen: Das Poti in minimale Stellung positionieren. 10V am Meßeingang geben. So lange am Poti drehen bis das Gauge Anzeigeinstrument die 10V anzeigt.

Übrigens Sie können auf gleiche Weise ESP32 für Messung andere Spannungen einstellen. Kleinste Spannung ist 2,2V.
Zum Beispiel für Messbereich 24 V muss in der Zeile 49 der Multiplikator auf 24 gesetzt werden.

float temp = (10 * adcval) / 4096;

In der Datei „index_html.h“ müssen noch folgende Werte angepasst werden damit die Skala richtige Messbereich hat.

data-max-value=”10″
data-major-ticks=”0 1 2 3 4 5 6 7 8 9 10″
data-highlights=”0 10 #aaa”

Ausprobieren

  • Mit WiFi Netzwerk „astral“ verbinden. Das Passwort lautet „tiramisu“
  • Im Browser http://192.168.1.1/ eingeben
  • Mit dem Finger das „VP“ Pinn berühren, damit der Zeiger sich bewegt.

Download von mir Kompiliertes Programm als fertige Firmware

Kann direkt ohne Arduino IDE und Programmierkenntnissen in Mikrocontroller übertragen werden. Sie benötigen nur Handy-Datenkabel. Passendes Tool befindet sich in der ZIP-Datei.
Download Firmware BIN-Datei ADC Analog Gauge für LOLIN32 (ESP32)  -Tool zum laden der Firmware und Anleitung sind im Archiv. (Kompiliert mit Arduino ver. 1.8.5, Core für ESP32  Stand 20.04.18).

Download Arduino Projekt AnalogGauge_Sketsh, es wird Bibliothek WebServer_tng benötigt.