Spisu treści:

Profesjonaliści wiedzą to!: 24 kroki
Profesjonaliści wiedzą to!: 24 kroki

Wideo: Profesjonaliści wiedzą to!: 24 kroki

Wideo: Profesjonaliści wiedzą to!: 24 kroki
Wideo: gdzie dojdę w 24H BEZ MAPY? *POKONAŁEM PATECA* @patecwariatec1 2024, Listopad
Anonim
Image
Image

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

Wykorzystane zasoby
Wykorzystane zasoby

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

Użyty obwód
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

Napięcie wyjściowe zależy od zmiany potencjometru cyfrowego X9C103
Napięcie wyjściowe zależy od zmiany 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

Kontrolowanie X9C103
Kontrolowanie 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

Znajomości
Znajomości

Krok 7: Przechwyć na oscyloskopie rampy w górę i w dół

Przechwytywanie na oscyloskopie ramp w górę i w dół
Przechwytywanie na oscyloskopie ramp 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

Oczekiwany kontra odczyt
Oczekiwany kontra odczyt

Krok 9: Korekta

Korekta
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

Oczekiwany kontra odczyt po korekcie
Oczekiwany kontra odczyt po korekcie

Krok 11: Wykonywanie programu w C#

Wykonywanie programu w C#
Wykonywanie programu w C#

Krok 12: Poczekaj na komunikat Ramp START

Poczekaj na komunikat Ramp START
Poczekaj na komunikat Ramp START
Poczekaj na komunikat Ramp START
Poczekaj na komunikat Ramp START

Krok 13: Kod źródłowy ESP32 - przykład funkcji korekcji i jej zastosowanie

Kod źródłowy ESP32 - przykład funkcji korekcji i jej zastosowanie
Kod źródłowy ESP32 - przykład funkcji korekcji i jej zastosowanie

Krok 14: Porównanie z poprzednimi technikami

Porównanie z poprzednimi technikami
Porównanie z poprzednimi technikami

Krok 15: KOD ŹRÓDŁOWY ESP32 - deklaracje i konfiguracja ()

KOD ŹRÓDŁOWY ESP32 - Deklaracje i konfiguracja ()
KOD ŹRÓDŁOWY ESP32 - Deklaracje i konfiguracja ()

Krok 16: KOD ŹRÓDŁOWY ESP32 - Pętla ()

KOD ŹRÓDŁOWY ESP32 - Pętla ()
KOD ŹRÓDŁOWY ESP32 - Pętla ()

Krok 17: KOD ŹRÓDŁOWY ESP32 - Pętla ()

KOD ŹRÓDŁOWY ESP32 - Pętla ()
KOD ŹRÓDŁOWY ESP32 - Pętla ()

Krok 18: KOD ŹRÓDŁOWY ESP32 - Impuls ()

KOD ŹRÓDŁOWY ESP32 - Impuls ()
KOD ŹRÓDŁOWY ESP32 - Impuls ()

Krok 19: KOD ŹRÓDŁOWY PROGRAMU W C# - Wykonanie programu w C#

KOD ŹRÓDŁOWY PROGRAMU W C# - Wykonanie Programu w C#
KOD ŹRÓDŁOWY PROGRAMU W C# - Wykonanie Programu w C#

Krok 20: KOD ŹRÓDŁOWY PROGRAMU W C# - Biblioteki

KOD ŹRÓDŁOWY PROGRAMU W C# - Biblioteki
KOD ŹRÓDŁOWY PROGRAMU W C# - Biblioteki

Krok 21: KOD ŹRÓDŁOWY PROGRAMU W C# - Przestrzeń nazw, klasa i globalna

KOD ŹRÓDŁOWY PROGRAMU W C# - Przestrzeń nazw, klasa i globalna
KOD ŹRÓDŁOWY PROGRAMU W C# - Przestrzeń nazw, klasa i globalna

Krok 22: KOD ŹRÓDŁOWY PROGRAMU W C# - RegPol()

KOD ŹRÓDŁOWY PROGRAMU W C# - RegPol ()
KOD ŹRÓDŁOWY PROGRAMU W C# - RegPol ()

Krok 23:

Obraz
Obraz

Krok 24: Pobierz pliki

PDF

RAR

Zalecana: