Sommario:

I professionisti lo sanno!: 24 passaggi
I professionisti lo sanno!: 24 passaggi

Video: I professionisti lo sanno!: 24 passaggi

Video: I professionisti lo sanno!: 24 passaggi
Video: 10.000€ al mese per PICCHIARE e INSULTARE degli UOMINI - 24h con una dominatrice 2024, Dicembre
Anonim
Image
Image

Oggi parleremo di "calibrazione ADC automatizzata ESP32". Può sembrare un argomento molto tecnico, ma penso che sia molto importante che tu ne sappia qualcosa.

Questo perché non si tratta solo dell'ESP32, o anche solo della calibrazione ADC, ma piuttosto di tutto ciò che riguarda i sensori analogici che potresti voler leggere.

La maggior parte dei sensori non è lineare, quindi introdurremo un prototipo di calibratore automatizzato per convertitori digitali analogici. Inoltre, faremo una correzione di un AD ESP32.

Passaggio 1: Introduzione

Risorse utilizzate
Risorse utilizzate

C'è un video in cui parlo un po' di questo argomento: Non lo sapevi? Regolazione ADC ESP32. Ora, parliamo in un modo automatizzato che ti impedisce di eseguire l'intero processo di regressione polinomiale. Controlla!

Passaggio 2: risorse utilizzate

· Maglioni

· 1x scheda prototipi

· 1x DevKit ESP WROOM 32

· 1x cavo USB

· 2 resistenze da 10k

· 1x resistore da 6k8 o 1x potenziometro meccanico da 10k per la regolazione del partitore di tensione

· 1x X9C103 - Potenziometro digitale 10k

· 1x LM358 - Amplificatore operazionale

Passaggio 3: circuito utilizzato

Circuito utilizzato
Circuito utilizzato

In questo circuito, l'LM358 è un amplificatore operazionale in configurazione "tampone di tensione", isolando i due divisori di tensione in modo che uno non influenzi l'altro. Questo permette di ottenere un'espressione più semplice in quanto R1 e R2 possono, con buona approssimazione, non essere più considerati in parallelo con RB.

Passaggio 4: la tensione di uscita dipende dalla variazione del potenziometro digitale X9C103

La tensione di uscita dipende dalla variazione del potenziometro digitale X9C103
La tensione di uscita dipende dalla variazione del potenziometro digitale X9C103

In base all'espressione che abbiamo ottenuto per il circuito, questa è la curva di tensione alla sua uscita quando si varia il potenziometro digitale da 0 a 10k.

Passaggio 5: controllo dell'X9C103

Controllo dell'X9C103
Controllo dell'X9C103

· Per controllare il nostro potenziometro digitale X9C103 lo alimenteremo con 5V, provenienti dalla stessa USB che alimenta l'ESP32, collegandolo in VCC.

· Colleghiamo il pin UP/DOWN a GPIO12.

· Colleghiamo il pin INCREMENT a GPIO13.

· Colleghiamo DEVICE SELECT (CS) e VSS a GND.

· Colleghiamo VH / RH all'alimentazione 5V.

· Colleghiamo VL/RL a GND.

· Colleghiamo RW / VW all'ingresso del buffer di tensione.

Passaggio 6: connessioni

Connessioni
Connessioni

Passaggio 7: cattura sull'oscilloscopio delle rampe di salita e discesa

Cattura sull'oscilloscopio delle rampe di salita e discesa
Cattura sull'oscilloscopio delle rampe di salita e discesa

Possiamo osservare le due rampe generate dal codice ESP32.

I valori della rampa di salita vengono acquisiti e inviati al software C# per la valutazione e la determinazione della curva di correzione.

Passaggio 8: previsto contro lettura

Previsto contro lettura
Previsto contro lettura

Passaggio 9: correzione

Correzione
Correzione

Useremo la curva di errore per correggere l'ADC. Per questo, alimenteremo un programma realizzato in C#, con i valori dell'ADC. Calcolerà la differenza tra il valore letto e quello atteso, creando così una curva di ERRORE in funzione del valore ADC.

Conoscendo il comportamento di questa curva, conosceremo l'errore e potremo correggerlo.

Per conoscere questa curva, il programma C# utilizzerà una libreria che eseguirà una regressione polinomiale (come quelle eseguite nei video precedenti).

Passaggio 10: previsto rispetto alla lettura dopo la correzione

Previsto contro lettura dopo la correzione
Previsto contro lettura dopo la correzione

Passaggio 11: esecuzione del programma in C#

Esecuzione del programma in C#
Esecuzione del programma in C#

Passaggio 12: attendere il messaggio di avvio rampa

Attendi il messaggio di avvio rampa
Attendi il messaggio di avvio rampa
Attendi il messaggio di avvio rampa
Attendi il messaggio di avvio rampa

Passaggio 13: codice sorgente ESP32 - Esempio di una funzione di correzione e del suo utilizzo

Codice sorgente ESP32 - Esempio di una funzione di correzione e del suo utilizzo
Codice sorgente ESP32 - Esempio di una funzione di correzione e del suo utilizzo

Passaggio 14: confronto con le tecniche precedenti

Confronto con le tecniche precedenti
Confronto con le tecniche precedenti

Passaggio 15: CODICE SORGENTE ESP32 - Dichiarazioni e impostazione ()

CODICE SORGENTE ESP32 - Dichiarazioni e configurazione ()
CODICE SORGENTE ESP32 - Dichiarazioni e configurazione ()

Passaggio 16: CODICE SORGENTE ESP32 - Ciclo ()

CODICE SORGENTE ESP32 - Ciclo ()
CODICE SORGENTE ESP32 - Ciclo ()

Passaggio 17: CODICE SORGENTE ESP32 - Ciclo ()

CODICE SORGENTE ESP32 - Ciclo ()
CODICE SORGENTE ESP32 - Ciclo ()

Passaggio 18: CODICE SORGENTE ESP32 - Impulso ()

CODICE SORGENTE ESP32 - Impulso ()
CODICE SORGENTE ESP32 - Impulso ()

Passaggio 19: CODICE SORGENTE DEL PROGRAMMA IN C# - Esecuzione del programma in C#

CODICE SORGENTE DEL PROGRAMMA IN C# - Esecuzione del programma in C#
CODICE SORGENTE DEL PROGRAMMA IN C# - Esecuzione del programma in C#

Passaggio 20: CODICE SORGENTE DEL PROGRAMMA IN C# - Librerie

CODICE SORGENTE DEL PROGRAMMA IN C# - Librerie
CODICE SORGENTE DEL PROGRAMMA IN C# - Librerie

Passo 21: CODICE SORGENTE DEL PROGRAMMA IN C# - Namespace, Class e Global

CODICE SORGENTE DEL PROGRAMMA IN C# - Namespace, Class e Global
CODICE SORGENTE DEL PROGRAMMA IN C# - Namespace, Class e Global

Passaggio 22: CODICE SORGENTE DEL PROGRAMMA IN C# - RegPol ()

CODICE SORGENTE DEL PROGRAMMA IN C# - RegPol ()
CODICE SORGENTE DEL PROGRAMMA IN C# - RegPol ()

Passaggio 23:

Immagine
Immagine

Passaggio 24: scarica i file

PDF

RAR

Consigliato: