Inhaltsverzeichnis:
- Schritt 1: Einführung
- Schritt 2: Verwendete Ressourcen
- Schritt 3: Verwendete Schaltung
- Schritt 4: Ausgangsspannung hängt von der Variation des digitalen Potentiometers X9C103. ab
- Schritt 5: Steuerung des X9C103
- Schritt 6: Verbindungen
- Schritt 7: Auf dem Oszilloskop der Auf- und Ab-Rampen erfassen
- Schritt 8: Erwartet im Vergleich zum Lesen
- Schritt 9: Korrektur
- Schritt 10: Erwartet im Vergleich zum Lesen nach der Korrektur
- Schritt 11: Programmausführung in C#
- Schritt 12: Warten Sie auf die Ramp START-Meldung
- Schritt 13: ESP32-Quellcode - Beispiel einer Korrekturfunktion und deren Verwendung
- Schritt 14: Vergleich mit früheren Techniken
- Schritt 15: ESP32 SOURCE CODE - Deklarationen und Setup ()
- Schritt 16: ESP32-QUELLCODE - Schleife ()
- Schritt 17: ESP32-QUELLCODE - Schleife ()
- Schritt 18: ESP32-QUELLCODE - Impuls ()
- Schritt 19: QUELLCODE DES PROGRAMMS IN C# - Programmausführung in C#
- Schritt 20: QUELLCODE DES PROGRAMMS IN C# - Bibliotheken
- Schritt 21: QUELLCODE DES PROGRAMMS IN C# - Namespace, Class und Global
- Schritt 22: QUELLCODE DES PROGRAMMS IN C# - RegPol ()
- Schritt 23:
- Schritt 24: Laden Sie die Dateien herunter
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Heute werden wir über „ ESP32 automatisierte ADC-Kalibrierung “sprechen. Es mag wie ein sehr technisches Thema erscheinen, aber ich denke, es ist sehr wichtig, dass Sie ein wenig darüber wissen.
Dies liegt daran, dass es nicht nur um den ESP32 oder sogar nur um die ADC-Kalibrierung geht, sondern um alles, was mit analogen Sensoren zu tun hat, die Sie vielleicht auslesen möchten.
Die meisten Sensoren sind nicht linear, daher werden wir einen automatisierten Prototyp-Kalibrator für Analog-Digital-Wandler vorstellen. Außerdem werden wir eine Korrektur eines ESP32 AD vornehmen.
Schritt 1: Einführung
Es gibt ein Video, in dem ich ein wenig über dieses Thema spreche: Wusstest du nicht? ESP32 ADC-Anpassung. Lassen Sie uns nun auf eine automatisierte Weise sprechen, die Sie daran hindert, den gesamten Prozess der polynomischen Regression durchzuführen. Hör zu!
Schritt 2: Verwendete Ressourcen
· Jumper
· 1x Protoboard
· 1x ESP WROOM 32 DevKit
· 1x USB-Kabel
· 2x 10k Widerstände
· 1x 6k8 Widerstand oder 1x 10k mechanisches Potentiometer zum Einstellen des Spannungsteilers
· 1x X9C103 - 10k digitales Potentiometer
· 1x LM358 - Operationsverstärker
Schritt 3: Verwendete Schaltung
In dieser Schaltung ist der LM358 ein Operationsverstärker in der „Spannungspuffer“-Konfiguration, der die beiden Spannungsteiler so isoliert, dass einer sich nicht gegenseitig beeinflusst. Dies ermöglicht einen einfacheren Ausdruck, da R1 und R2 in guter Näherung nicht mehr parallel zu RB betrachtet werden können.
Schritt 4: Ausgangsspannung hängt von der Variation des digitalen Potentiometers X9C103. ab
Basierend auf dem Ausdruck, den wir für die Schaltung erhalten haben, ist dies die Spannungskurve an ihrem Ausgang, wenn wir das digitale Potentiometer von 0 bis 10k variieren.
Schritt 5: Steuerung des X9C103
· Um unser digitales Potentiometer X9C103 zu steuern, werden wir es mit 5V speisen, die von demselben USB kommen, der den ESP32 mit Strom versorgt, und VCC anschließen.
· Wir verbinden den UP / DOWN-Pin mit GPIO12.
· Wir verbinden den Pin INCREMENT mit GPIO13.
· Wir verbinden DEVICE SELECT (CS) und VSS mit GND.
· Wir schließen VH / RH an die 5V-Versorgung an.
· Wir verbinden VL / RL mit GND.
· Wir schließen RW / VW an den Spannungspuffereingang an.
Schritt 6: Verbindungen
Schritt 7: Auf dem Oszilloskop der Auf- und Ab-Rampen erfassen
Wir können die beiden vom ESP32-Code generierten Rampen beobachten.
Die Werte der Anstiegsrampe werden erfasst und zur Auswertung und Ermittlung der Korrekturkurve an die C#-Software gesendet.
Schritt 8: Erwartet im Vergleich zum Lesen
Schritt 9: Korrektur
Wir werden die Fehlerkurve verwenden, um den ADC zu korrigieren. Dazu füttern wir ein in C# erstelltes Programm mit den Werten des ADC. Es berechnet die Differenz zwischen dem gelesenen und dem erwarteten Wert und erstellt so eine ERROR-Kurve als Funktion des ADC-Werts.
Wenn wir das Verhalten dieser Kurve kennen, kennen wir den Fehler und können ihn korrigieren.
Um diese Kurve zu kennen, verwendet das C#-Programm eine Bibliothek, die eine polynomielle Regression durchführt (wie in früheren Videos durchgeführt).
Schritt 10: Erwartet im Vergleich zum Lesen nach der Korrektur
Schritt 11: Programmausführung in C#
Schritt 12: Warten Sie auf die Ramp START-Meldung
Schritt 13: ESP32-Quellcode - Beispiel einer Korrekturfunktion und deren Verwendung
Schritt 14: Vergleich mit früheren Techniken
Schritt 15: ESP32 SOURCE CODE - Deklarationen und Setup ()
Schritt 16: ESP32-QUELLCODE - Schleife ()
Schritt 17: ESP32-QUELLCODE - Schleife ()
Schritt 18: ESP32-QUELLCODE - Impuls ()
Schritt 19: QUELLCODE DES PROGRAMMS IN C# - Programmausführung in C#
Schritt 20: QUELLCODE DES PROGRAMMS IN C# - Bibliotheken
Schritt 21: QUELLCODE DES PROGRAMMS IN C# - Namespace, Class und Global
Schritt 22: QUELLCODE DES PROGRAMMS IN C# - RegPol ()
Schritt 23:
Schritt 24: Laden Sie die Dateien herunter
RAR