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, Decembar
Anonim
Image
Image

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

To je zato što se ne radi samo o ESP32, ili čak 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đe, izvršićemo korekciju ESP32 AD.

Korak 1: Uvod

Korišćeni resursi
Korišćeni 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. Provjeri!

Korak 2: Korišteni resursi

· Džemperi

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x USB kabl

· 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: Upotrijebljeno kolo

Korišteno kolo
Korišteno kolo

U ovom krugu, LM358 je operativno pojačalo u konfiguraciji "međuspremnika napona", izolira dva razdjelnika napona tako da jedan ne utječe na drugi. To omogućava 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 osnovu izraza koji smo dobili za kolo, ovo je kriva napona na njegovom izlazu kada digitalni potenciometar promijenimo od 0 do 10k.

Korak 5: Upravljanje X9C103

Upravljanje X9C103
Upravljanje X9C103

· Za kontrolu našeg digitalnog potenciometra X9C103 napajat ćemo ga naponom od 5 V, koji dolazi s istog USB -a koji napaja ESP32, povezujući se u VCC.

· Priključujemo UP / DOWN pin na GPIO12.

· Priključujemo pin INCREMENT na GPIO13.

· Priključujemo 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

Connections
Connections

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 rastuće rampe se bilježe i šalju u softver C# za procjenu i određivanje krivulje korekcije.

Korak 8: Očekivano u odnosu na čitanje

Očekivano u odnosu na čitanje
Očekivano u odnosu na čitanje

Korak 9: Ispravka

Ispravka
Ispravka

Koristit ćemo krivulju greške za ispravljanje ADC -a. U tu svrhu ćemo hraniti program napravljen u C#, s vrijednostima ADC -a. On će izračunati razliku između očitane vrijednosti i očekivane, stvarajući tako krivulju ERROR u funkciji ADC vrijednosti.

Poznavajući ponašanje ove krivulje, znat ćemo greš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 video zapisima).

Korak 10: Očekivano naspram čitanja nakon korekcije

Očekivano naspram čitanja nakon korekcije
Očekivano naspram čitanja nakon korekcije

Korak 11: Izvođenje programa u C#

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

Korak 12: Sačekajte poruku Ramp START

Sačekajte poruku Ramp START
Sačekajte poruku Ramp START
Sačekajte poruku Ramp START
Sačekajte poruku Ramp START

Korak 13: Izvorni kod ESP32 - Primjer korekcijske funkcije i njena upotreba

Izvorni kod ESP32 - Primjer korekcijske funkcije i njena upotreba
Izvorni kod ESP32 - Primjer korekcijske funkcije i njena upotreba

Korak 14: Poređenje sa prethodnim tehnikama

Poređenje sa prethodnim tehnikama
Poređenje sa 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 - Loop ()

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

Korak 17: ESP32 KOD IZVORA - Loop ()

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# - Biblioteke

KOD IZVORA PROGRAMA U C# - Biblioteke
KOD IZVORA PROGRAMA U C# - Biblioteke

Korak 21: IZVORNI KOD 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:

Image
Image

Korak 24: Preuzmite datoteke

PDF

RAR

Preporučuje se: