Sadržaj:

Profesionalci to znaju!: 24 koraka
Profesionalci to znaju!: 24 koraka

Video: Profesionalci to znaju!: 24 koraka

Video: Profesionalci to znaju!: 24 koraka
Video: А какие таланты есть у вас? 🤣 2024, Studeni
Anonim
Image
Image

Danas ćemo govoriti o “ESP32 automatiziranoj kalibraciji ADC -a”. Možda se čini kao vrlo tehnička tema, ali mislim da vam je jako važno da znate malo o tome.

To je zato što se ne radi samo o ESP32, pa čak ni samo o ADC kalibraciji, već o svemu što uključuje analogne senzore koje biste možda htjeli pročitati.

Većina senzora nije linearna, pa ćemo predstaviti automatizirani prototip kalibratora za analogne digitalne pretvarače. Također, izvršit ćemo korekciju ESP32 AD.

Korak 1: Uvod

Korišteni resursi
Korišteni resursi

Postoji video u kojem govorim malo o ovoj temi: Zar niste znali? ESP32 ADC podešavanje. Razgovarajmo sada na automatiziran način koji vas sprječava da izvršite cijeli proces polinomske regresije. Provjerite!

Korak 2: Korišteni resursi

· Džemperi

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x USB kabel

· 2x 10k otpornika

· 1x 6k8 otpornik ili 1x 10k mehanički potenciometar za podešavanje razdjelnika napona

· 1x X9C103 - 10k digitalni potenciometar

· 1x LM358 - Operativno pojačalo

Korak 3: Korišteni krug

Korišteno kolo
Korišteno kolo

U ovom krugu, LM358 je operativno pojačalo u konfiguraciji "međuspremnika napona", izolirajući dva razdjelnika napona tako da jedan ne utječe na drugi. To omogućuje dobivanje jednostavnijeg izraza budući da se R1 i R2, uz dobru aproksimaciju, više ne mogu smatrati paralelno s RB.

Korak 4: Izlazni napon ovisi o varijaciji digitalnog potenciometra X9C103

Izlazni napon ovisi o varijaciji digitalnog potenciometra X9C103
Izlazni napon ovisi o varijaciji digitalnog potenciometra X9C103

Na temelju izraza koji smo dobili za krug, ovo je krivulja napona na njegovom izlazu kada digitalni potenciometar promijenimo od 0 do 10k.

Korak 5: Upravljanje X9C103

Upravljanje X9C103
Upravljanje X9C103

· Za upravljanje našim digitalnim potenciometrom X9C103 napajat ćemo ga naponom od 5 V, koji dolazi s istog USB -a koji napaja ESP32, povezujući se u VCC.

· Spojimo UP / DOWN pin na GPIO12.

· Spojimo pin INCREMENT na GPIO13.

· Spajamo DEVICE SELECT (CS) i VSS na GND.

· Priključujemo VH / RH na 5V napajanje.

· Priključujemo VL / RL na GND.

· Priključujemo RW / VW na ulaz međuspremnika napona.

Korak 6: Veze

Veze
Veze

Korak 7: Snimanje na osciloskopu rampi za gore i dolje

Snimanje na osciloskopu rampi za gore i dolje
Snimanje na osciloskopu rampi za gore i dolje

Možemo promatrati dvije rampe generirane kodom ESP32.

Vrijednosti rampe uspona bilježe se i šalju u softver C# radi procjene i određivanja korekcijske krivulje.

Korak 8: Očekivano u odnosu na čitanje

Očekivano naspram čitanja
Očekivano naspram čitanja

Korak 9: Ispravka

Ispravka
Ispravka

Za ispravljanje ADC -a upotrijebit ćemo krivulju pogreške. Za to ćemo hraniti program napravljen u C#, s vrijednostima ADC -a. Izračunat će razliku između očitane vrijednosti i očekivane, stvarajući tako krivulju pogreške kao funkciju ADC vrijednosti.

Poznavajući ponašanje ove krivulje, znat ćemo pogrešku i moći ćemo je ispraviti.

Da bi znao ovu krivulju, program C# će koristiti biblioteku koja će izvesti polinomsku regresiju (poput onih izvedenih u prethodnim videozapisima).

Korak 10: Očekivano naspram čitanja nakon ispravka

Očekivano naspram čitanja nakon ispravka
Očekivano naspram čitanja nakon ispravka

Korak 11: Izvođenje programa u C#

Izvođenje programa u C#
Izvođenje programa u C#

Korak 12: Pričekajte poruku Ramp START

Pričekajte poruku Ramp START
Pričekajte poruku Ramp START
Pričekajte poruku Ramp START
Pričekajte poruku Ramp START

Korak 13: Izvorni kod ESP32 - Primjer korekcijske funkcije i njezina uporaba

Izvorni kod ESP32 - Primjer korekcijske funkcije i njezina uporaba
Izvorni kod ESP32 - Primjer korekcijske funkcije i njezina uporaba

Korak 14: Usporedba s prethodnim tehnikama

Usporedba s prethodnim tehnikama
Usporedba s prethodnim tehnikama

Korak 15: ESP32 KOD IZVORA - Deklaracije i postavljanje ()

ESP32 KOD IZVORA - Deklaracije i postavljanje ()
ESP32 KOD IZVORA - Deklaracije i postavljanje ()

Korak 16: ESP32 KOD IZVORA - Petlja ()

ESP32 KOD IZVORA - Petlja ()
ESP32 KOD IZVORA - Petlja ()

Korak 17: ESP32 KOD IZVORA - Petlja ()

ESP32 KOD IZVORA - Petlja ()
ESP32 KOD IZVORA - Petlja ()

Korak 18: ESP32 KOD IZVORA - Pulse ()

ESP32 KOD IZVORA - Puls ()
ESP32 KOD IZVORA - Puls ()

Korak 19: IZVORNI KOD PROGRAMA U C # - Izvođenje programa u C #

IZVORNI KOD PROGRAMA U C # - Izvođenje programa u C #
IZVORNI KOD PROGRAMA U C # - Izvođenje programa u C #

Korak 20: KOD IZVORA PROGRAMA U C# - Knjižnice

KOD IZVORA PROGRAMA U C# - Knjižnice
KOD IZVORA PROGRAMA U C# - Knjižnice

Korak 21: KOD IZVORA PROGRAMA U C # - Prostor imena, klasa i globalno

IZVORNI KOD PROGRAMA U C # - Namespace, Class i Global
IZVORNI KOD PROGRAMA U C # - Namespace, Class i Global

Korak 22: KOD IZVORA PROGRAMA U C# - RegPol ()

IZVORNI KOD PROGRAMA U C# - RegPol ()
IZVORNI KOD PROGRAMA U C# - RegPol ()

Korak 23:

Slika
Slika

Korak 24: Preuzmite datoteke

PDF

RAR

Preporučeni: