Sadržaj:
- Korak 1: Uvod
- Korak 2: Korišteni resursi
- Korak 3: Upotrijebljeno kolo
- Korak 4: Izlazni napon ovisi o varijaciji digitalnog potenciometra X9C103
- Korak 5: Upravljanje X9C103
- Korak 6: Veze
- Korak 7: Snimanje na osciloskopu rampi za gore i dolje
- Korak 8: Očekivano u odnosu na čitanje
- Korak 9: Ispravka
- Korak 10: Očekivano naspram čitanja nakon korekcije
- Korak 11: Izvođenje programa u C#
- Korak 12: Sačekajte poruku Ramp START
- Korak 13: Izvorni kod ESP32 - Primjer korekcijske funkcije i njena upotreba
- Korak 14: Poređenje sa prethodnim tehnikama
- Korak 15: ESP32 KOD IZVORA - Deklaracije i postavljanje ()
- Korak 16: ESP32 KOD IZVORA - Loop ()
- Korak 17: ESP32 KOD IZVORA - Loop ()
- Korak 18: ESP32 KOD IZVORA - Pulse ()
- Korak 19: IZVORNI KOD PROGRAMA U C # - Izvođenje programa u C #
- Korak 20: KOD IZVORA PROGRAMA U C# - Biblioteke
- Korak 21: IZVORNI KOD PROGRAMA U C # - Prostor imena, klasa i globalno
- Korak 22: KOD IZVORA PROGRAMA U C# - RegPol ()
- Korak 23:
- Korak 24: Preuzmite datoteke
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
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
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
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
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
· 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
Korak 7: 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
Korak 9: 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
Korak 11: Izvođenje programa u C#
Korak 12: Sačekajte poruku Ramp START
Korak 13: Izvorni kod ESP32 - Primjer korekcijske funkcije i njena upotreba
Korak 14: Poređenje sa prethodnim tehnikama
Korak 15: ESP32 KOD IZVORA - Deklaracije i postavljanje ()
Korak 16: ESP32 KOD IZVORA - Loop ()
Korak 17: ESP32 KOD IZVORA - Loop ()
Korak 18: ESP32 KOD IZVORA - Pulse ()
Korak 19: IZVORNI KOD PROGRAMA U C # - Izvođenje programa u C #
Korak 20: KOD IZVORA PROGRAMA U C# - Biblioteke
Korak 21: IZVORNI KOD PROGRAMA U C # - Prostor imena, klasa i globalno
Korak 22: KOD IZVORA PROGRAMA U C# - RegPol ()
Korak 23:
Korak 24: Preuzmite datoteke
RAR