Spisu treści:
- Krok 1: Wprowadzenie
- Krok 2: Wykorzystane zasoby
- Krok 3: Użyty obwód
- Krok 4: Napięcie wyjściowe zależy od zmienności potencjometru cyfrowego X9C103
- Krok 5: Sterowanie X9C103
- Krok 6: Połączenia
- Krok 7: Przechwyć na oscyloskopie rampy w górę i w dół
- Krok 8: Oczekiwany kontra odczyt
- Krok 9: Korekta
- Krok 10: Oczekiwany kontra odczyt po korekcie
- Krok 11: Wykonywanie programu w C#
- Krok 12: Poczekaj na komunikat Ramp START
- Krok 13: Kod źródłowy ESP32 - przykład funkcji korekcji i jej zastosowanie
- Krok 14: Porównanie z poprzednimi technikami
- Krok 15: KOD ŹRÓDŁOWY ESP32 - deklaracje i konfiguracja ()
- Krok 16: KOD ŹRÓDŁOWY ESP32 - Pętla ()
- Krok 17: KOD ŹRÓDŁOWY ESP32 - Pętla ()
- Krok 18: KOD ŹRÓDŁOWY ESP32 - Impuls ()
- Krok 19: KOD ŹRÓDŁOWY PROGRAMU W C# - Wykonanie programu w C#
- Krok 20: KOD ŹRÓDŁOWY PROGRAMU W C# - Biblioteki
- Krok 21: KOD ŹRÓDŁOWY PROGRAMU W C# - Przestrzeń nazw, klasa i globalna
- Krok 22: KOD ŹRÓDŁOWY PROGRAMU W C# - RegPol()
- Krok 23:
- Krok 24: Pobierz pliki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Dzisiaj porozmawiamy o „ Automatyczna kalibracja ADC ESP32”. Może się to wydawać bardzo technicznym tematem, ale myślę, że bardzo ważne jest, abyś trochę się o nim dowiedział.
Dzieje się tak dlatego, że nie chodzi tylko o ESP32, czy nawet tylko kalibrację ADC, ale raczej o wszystko, co dotyczy czujników analogowych, które warto przeczytać.
Większość czujników nie jest liniowa, dlatego zamierzamy wprowadzić zautomatyzowany prototypowy kalibrator do przetworników analogowo-cyfrowych. Dokonamy również korekty ESP32 AD.
Krok 1: Wprowadzenie
Jest film, w którym trochę mówię na ten temat: Nie wiedziałeś? Regulacja ADC ESP32. Porozmawiajmy teraz w sposób zautomatyzowany, który uniemożliwia wykonanie całego procesu regresji wielomianowej. Sprawdź to!
Krok 2: Wykorzystane zasoby
· Zworki
· 1x płyta prototypowa
· 1x ESP WROOM 32 DevKit
· 1x kabel USB
· 2x rezystory 10k
· 1x rezystor 6k8 lub 1x potencjometr mechaniczny 10k do regulacji dzielnika napięcia
· 1x X9C103 - potencjometr cyfrowy 10k
· 1x LM358 - Wzmacniacz operacyjny
Krok 3: Użyty obwód
W układzie tym LM358 jest wzmacniaczem operacyjnym w konfiguracji „bufora napięciowego”, izolującym dwa dzielniki napięcia tak, aby jeden nie wpływał na drugi. Pozwala to na uzyskanie prostszego wyrażenia, ponieważ R1 i R2 mogą, z dobrym przybliżeniem, nie być dłużej rozważane równolegle z RB.
Krok 4: Napięcie wyjściowe zależy od zmienności potencjometru cyfrowego X9C103
Na podstawie wyrażenia, które uzyskaliśmy dla obwodu, jest to krzywa napięcia na jego wyjściu, gdy zmieniamy potencjometr cyfrowy od 0 do 10k.
Krok 5: Sterowanie X9C103
· Aby sterować naszym cyfrowym potencjometrem X9C103, zasilimy go napięciem 5V, pochodzącym z tego samego USB, które zasila ESP32, łącząc się w VCC.
· Podłączamy pin UP/DOWN do GPIO12.
· Podłączamy pin INCREMENT do GPIO13.
· Łączymy DEVICE SELECT (CS) i VSS z GND.
· Podłączamy VH/RH do zasilania 5V.
· Łączymy VL/RL z GND.
· Podłączamy RW/VW do wejścia bufora napięciowego.
Krok 6: Połączenia
Krok 7: Przechwyć na oscyloskopie rampy w górę i w dół
Możemy zaobserwować dwie rampy generowane przez kod ESP32.
Wartości rampy wzrostu są rejestrowane i przesyłane do oprogramowania C# w celu oceny i określenia krzywej korekcji.
Krok 8: Oczekiwany kontra odczyt
Krok 9: Korekta
Użyjemy krzywej błędu do skorygowania ADC. W tym celu podamy program wykonany w C# wartościami ADC. Obliczy różnicę między odczytaną wartością a oczekiwaną, tworząc w ten sposób krzywą BŁĘDU jako funkcję wartości ADC.
Znając zachowanie tej krzywej, poznamy błąd i będziemy w stanie go poprawić.
Aby poznać tę krzywą, program C# użyje biblioteki, która wykona regresję wielomianową (jak te wykonane w poprzednich filmach).
Krok 10: Oczekiwany kontra odczyt po korekcie
Krok 11: Wykonywanie programu w C#
Krok 12: Poczekaj na komunikat Ramp START
Krok 13: Kod źródłowy ESP32 - przykład funkcji korekcji i jej zastosowanie
Krok 14: Porównanie z poprzednimi technikami
Krok 15: KOD ŹRÓDŁOWY ESP32 - deklaracje i konfiguracja ()
Krok 16: KOD ŹRÓDŁOWY ESP32 - Pętla ()
Krok 17: KOD ŹRÓDŁOWY ESP32 - Pętla ()
Krok 18: KOD ŹRÓDŁOWY ESP32 - Impuls ()
Krok 19: KOD ŹRÓDŁOWY PROGRAMU W C# - Wykonanie programu w C#
Krok 20: KOD ŹRÓDŁOWY PROGRAMU W C# - Biblioteki
Krok 21: KOD ŹRÓDŁOWY PROGRAMU W C# - Przestrzeń nazw, klasa i globalna
Krok 22: KOD ŹRÓDŁOWY PROGRAMU W C# - RegPol()
Krok 23:
Krok 24: Pobierz pliki
RAR