Taula de continguts:

Els professionals ho saben !: 24 passos
Els professionals ho saben !: 24 passos

Vídeo: Els professionals ho saben !: 24 passos

Vídeo: Els professionals ho saben !: 24 passos
Vídeo: ПРИВОЗ. Одесса 9 марта 2022 / Что происходит в городе? ПОМОЩЬ ЛЮДЯМ 2024, De novembre
Anonim
Image
Image

Avui parlarem de "calibratge ADC automatitzat ESP32". Pot semblar un tema molt tècnic, però crec que és molt important que en sàpiga una mica.

Això es deu al fet que no es tracta només de l'ESP32, ni tan sols del calibratge ADC, sinó de tot el que implica sensors analògics que és possible que vulgueu llegir.

La majoria dels sensors no són lineals, de manera que introduirem un calibrador de prototips automatitzat per a convertidors digitals analògics. A més, farem una correcció d’un ESP32 AD.

Pas 1: Introducció

Recursos utilitzats
Recursos utilitzats

Hi ha un vídeo en què parlo una mica sobre aquest tema: no ho sabies? ESP32 ADC ajust. Ara, parlem d’una manera automatitzada que us impedeixi fer tot el procés de regressió polinòmica. Comprova-ho!

Pas 2: recursos utilitzats

· Saltadors

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x cable USB

· 2x 10k resistències

· 1x 6k8 resistència o 1x 10k potenciòmetre mecànic per ajustar el divisor de tensió

· 1x X9C103 - potenciòmetre digital de 10 k

· 1x LM358 - Amplificador operacional

Pas 3: Circuit utilitzat

Circuit utilitzat
Circuit utilitzat

En aquest circuit, el LM358 és un amplificador operacional en la configuració de "buffer de tensió", aïllant els dos divisors de tensió perquè l'un no influeixi en l'altre. Això permet obtenir una expressió més senzilla ja que R1 i R2 ja no es poden considerar, amb una bona aproximació, en paral·lel a RB.

Pas 4: la tensió de sortida depèn de la variació del potenciòmetre digital X9C103

La tensió de sortida depèn de la variació del potenciòmetre digital X9C103
La tensió de sortida depèn de la variació del potenciòmetre digital X9C103

Basant-nos en l’expressió que hem obtingut per al circuit, aquesta és la corba de tensió a la seva sortida quan fem variar el potenciòmetre digital de 0 a 10k.

Pas 5: controlar l'X9C103

Control del X9C103
Control del X9C103

· Per controlar el nostre potenciòmetre digital X9C103 l’alimentarem amb 5V, procedent del mateix USB que alimenta l’ESP32, connectant-se a VCC.

· Connectem el pin UP / DOWN a GPIO12.

· Connectem el pin INCREMENT a GPIO13.

· Connectem DEVICE SELECT (CS) i VSS a GND.

· Connectem VH / RH al subministrament de 5V.

· Connectem VL / RL a GND.

· Connectem RW / VW a l’entrada de memòria intermèdia de tensió.

Pas 6: connexions

Connexions
Connexions

Pas 7: captura a l'oscil·loscopi de les rampes amunt i avall

Captura a l’oscil·loscopi de les rampes amunt i avall
Captura a l’oscil·loscopi de les rampes amunt i avall

Podem observar les dues rampes generades pel codi ESP32.

Els valors de la rampa de pujada es capturen i s’envien al programari C # per avaluar i determinar la corba de correcció.

Pas 8: esperat contra lectura

S'esperava contra la lectura
S'esperava contra la lectura

Pas 9: Correcció

Correcció
Correcció

Utilitzarem la corba d’errors per corregir l’ADC. Per a això, alimentarem un programa fet en C #, amb els valors de l'ADC. Calcularà la diferència entre el valor llegit i l’esperat, creant així una corba d’ERROR en funció del valor ADC.

Coneixent el comportament d’aquesta corba, coneixerem l’error i el podrem corregir.

Per conèixer aquesta corba, el programa C # utilitzarà una biblioteca que realitzarà una regressió polinòmica (com les realitzades en vídeos anteriors).

Pas 10: esperat contra lectura després de la correcció

S'esperava contra la lectura després de la correcció
S'esperava contra la lectura després de la correcció

Pas 11: execució del programa en C #

Execució del programa en C #
Execució del programa en C #

Pas 12: espereu el missatge d’inici de la rampa

Espereu el missatge d’inici de la rampa
Espereu el missatge d’inici de la rampa
Espereu el missatge d’inici de la rampa
Espereu el missatge d’inici de la rampa

Pas 13: Codi font ESP32: exemple d'una funció de correcció i el seu ús

Codi font ESP32: exemple d'una funció de correcció i el seu ús
Codi font ESP32: exemple d'una funció de correcció i el seu ús

Pas 14: comparació amb tècniques anteriors

Comparació amb tècniques anteriors
Comparació amb tècniques anteriors

Pas 15: CODI DE FONTS ESP32: declaracions i configuració ()

CODI DE FONT ESP32 - Declaracions i configuració ()
CODI DE FONT ESP32 - Declaracions i configuració ()

Pas 16: CODI DE FONTS ESP32: bucle ()

CODI DE FONTS ESP32: bucle ()
CODI DE FONTS ESP32: bucle ()

Pas 17: CODI DE FONTS ESP32: bucle ()

CODI DE FONTS ESP32: bucle ()
CODI DE FONTS ESP32: bucle ()

Pas 18: CODI DE FONTS ESP32 - Pulse ()

CODI FONT ESP32 - Pulse ()
CODI FONT ESP32 - Pulse ()

Pas 19: CODI FONT DEL PROGRAMA A C # - Execució del programa a C #

CODI FONT DEL PROGRAMA A C # - Execució del programa a C #
CODI FONT DEL PROGRAMA A C # - Execució del programa a C #

Pas 20: CODI FONT DEL PROGRAMA A C # - Biblioteques

CODI FONT DEL PROGRAMA A C # - Biblioteques
CODI FONT DEL PROGRAMA A C # - Biblioteques

Pas 21: CODI DE FONT DEL PROGRAMA A C # - Espai de noms, classe i global

CODI DE FONT DEL PROGRAMA EN C # - Espai de noms, classe i global
CODI DE FONT DEL PROGRAMA EN C # - Espai de noms, classe i global

Pas 22: CODI FONT DEL PROGRAMA A C # - RegPol ()

CODI FONT DEL PROGRAMA A C # - RegPol ()
CODI FONT DEL PROGRAMA A C # - RegPol ()

Pas 23:

Imatge
Imatge

Pas 24: baixeu els fitxers

PDF

RAR

Recomanat: