
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-23 15:02


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
Zalecana:
Pierwsze kroki z IDE STM32f767zi Cube i prześlij własny szkic: 3 kroki

Rozpoczęcie pracy z IDE STM32f767zi i przesłanie własnego szkicu: KUP (kliknij test, aby kupić/odwiedzić stronę internetową) OPROGRAMOWANIE STM32F767Z WSPIERANE· IDE STM32CUBE· KEIL MDK ARM µVISION· EWARM IAR EMBEDDED WORKBENCH· Dostępne różne oprogramowanie ARDUINO służy do programowania mikrokontrolerów STM
Jak zrobić podwójną antenę 4G LTE BiQuade Proste kroki: 3 kroki

Jak zrobić podwójną antenę 4G LTE BiQuade Proste kroki: W większości przypadków nie mam dobrej siły sygnału w mojej codziennej pracy. Więc. Szukam i próbuję różnych typów anten, ale nie działa. Po zmarnowanym czasie znalazłem antenę, którą mam nadzieję zrobić i przetestować, bo to zasada budowy nie
Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: 3 kroki
![Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: 3 kroki Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: 3 kroki](https://i.howwhatproduce.com/images/009/image-25904-j.webp)
Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: Poniższy przewodnik pomoże Ci uzyskać strumienie wideo na żywo w jakości HD z prawie każdego drona DJI. Za pomocą aplikacji mobilnej FlytOS i aplikacji internetowej FlytNow możesz rozpocząć przesyłanie strumieniowe wideo z drona
Lutowanie: tak robią profesjonaliści: 5 kroków

Lutowanie: to robią profesjonaliści: jesteś inżynierem? Czy jesteś elektrykiem lub po prostu hobbystą, który uwielbia naprawiać swoją elektronikę lub ją budować? Natknąłbyś się na technikę nazywaną „lutowaniem”; w Twoim życiu, a oto film, który pomoże Ci LUTOWAĆ
Zestaw słuchawkowy jak profesjonaliści!: 5 kroków

Headset Like the Pros!: David Clark H10-76 Headset USB Mod - Zmodyfikuj zestaw słuchawkowy do helikoptera do użytku na komputerze! To zdecydowanie najwygodniejszy zestaw słuchawkowy, jakiego kiedykolwiek używałem, a używałem ich wielu. Chociaż w tej instrukcji są pewne luki, mam nadzieję, że zrobię wystarczająco dobrze, aby