Table des matières:

Les professionnels le savent ! : 24 étapes
Les professionnels le savent ! : 24 étapes

Vidéo: Les professionnels le savent ! : 24 étapes

Vidéo: Les professionnels le savent ! : 24 étapes
Vidéo: IMPOSSIBLE DE REUSSIR SANS CENTRE DE FORMATION ? 2024, Novembre
Anonim
Image
Image

Aujourd'hui, nous allons parler de « calibration automatisée de l'ADC ESP32 ». Cela peut sembler un sujet très technique, mais je pense qu'il est très important que vous en sachiez un peu à ce sujet.

En effet, il ne s'agit pas seulement de l'ESP32, ou même de l'étalonnage ADC uniquement, mais plutôt de tout ce qui implique des capteurs analogiques que vous voudrez peut-être lire.

La plupart des capteurs ne sont pas linéaires, nous allons donc introduire un prototype de calibrateur automatisé pour les convertisseurs analogiques numériques. Aussi, nous allons faire une correction d'un AD ESP32.

Étape 1: Présentation

Ressources utilisées
Ressources utilisées

Il y a une vidéo dans laquelle je parle un peu de ce sujet: Le saviez-vous ? Réglage de l'ADC ESP32. Maintenant, parlons d'une manière automatisée qui vous empêche de faire tout le processus de régression polynomiale. Vérifiez-le!

Étape 2: Ressources utilisées

· Cavaliers

· 1x Protoboard

· 1x ESP WROOM 32 DevKit

· 1x câble USB

· 2x 10k résistances

· 1x résistance 6k8 ou 1x potentiomètre mécanique 10k pour le réglage du diviseur de tension

· 1x X9C103 - potentiomètre numérique 10k

· 1x LM358 - Amplificateur opérationnel

Étape 3: Circuit utilisé

Circuit utilisé
Circuit utilisé

Dans ce circuit, le LM358 est un amplificateur opérationnel en configuration « voltage buffer », isolant les deux diviseurs de tension afin que l'un n'influence pas l'autre. Ceci permet d'obtenir une expression plus simple puisque R1 et R2 ne peuvent, avec une bonne approximation, plus être considérés en parallèle avec RB.

Étape 4: la tension de sortie dépend de la variation du potentiomètre numérique X9C103

La tension de sortie dépend de la variation du potentiomètre numérique X9C103
La tension de sortie dépend de la variation du potentiomètre numérique X9C103

D'après l'expression que nous avons obtenue pour le circuit, il s'agit de la courbe de tension à sa sortie lorsque l'on fait varier le potentiomètre numérique de 0 à 10k.

Étape 5: Contrôle du X9C103

Contrôler le X9C103
Contrôler le X9C103

· Pour contrôler notre potentiomètre numérique X9C103, nous l'alimenterons en 5V, provenant du même USB qui alimente l'ESP32, en se connectant en VCC.

· Nous connectons la broche UP / DOWN au GPIO12.

· Nous connectons la broche INCREMENT au GPIO13.

· Nous connectons DEVICE SELECT (CS) et VSS à GND.

· Nous connectons VH / RH à l'alimentation 5V.

· Nous connectons VL / RL à GND.

· Nous connectons RW / VW à l'entrée du tampon de tension.

Étape 6: Connexions

Connexions
Connexions

Étape 7: Capture sur l'oscilloscope des rampes haut et bas

Capture sur l'oscilloscope des rampes haut et bas
Capture sur l'oscilloscope des rampes haut et bas

On peut observer les deux rampes générées par le code ESP32.

Les valeurs de la rampe de montée sont capturées et envoyées au logiciel C# pour évaluation et détermination de la courbe de correction.

Étape 8: attendu versus lu

Attendu contre lu
Attendu contre lu

Étape 9: Correction

Correction
Correction

Nous utiliserons la courbe d'erreur pour corriger l'ADC. Pour cela, nous allons alimenter un programme réalisé en C#, avec les valeurs de l'ADC. Il calculera la différence entre la valeur lue et la valeur attendue, créant ainsi une courbe d'ERREUR en fonction de la valeur ADC.

Connaissant le comportement de cette courbe, nous connaîtrons l'erreur et nous pourrons la corriger.

Pour connaître cette courbe, le programme C# va utiliser une librairie qui va effectuer une régression polynomiale (comme celles réalisées dans les vidéos précédentes).

Étape 10: Attendu par rapport à lu après la correction

Attendu contre lu après correction
Attendu contre lu après correction

Étape 11: Exécution du programme en C#

Exécution de programme en C#
Exécution de programme en C#

Étape 12: Attendez le message Ramp START

Attendez le message Ramp START
Attendez le message Ramp START
Attendez le message Ramp START
Attendez le message Ramp START

Étape 13: Code source ESP32 - Exemple de fonction de correction et son utilisation

Code source ESP32 - Exemple d'une fonction de correction et son utilisation
Code source ESP32 - Exemple d'une fonction de correction et son utilisation

Étape 14: Comparaison avec les techniques précédentes

Comparaison avec les techniques précédentes
Comparaison avec les techniques précédentes

Étape 15: ESP32 SOURCE CODE - Déclarations et configuration ()

CODE SOURCE ESP32 - Déclarations et configuration ()
CODE SOURCE ESP32 - Déclarations et configuration ()

Étape 16: CODE SOURCE ESP32 - Boucle ()

CODE SOURCE ESP32 - Boucle ()
CODE SOURCE ESP32 - Boucle ()

Étape 17: CODE SOURCE ESP32 - Boucle ()

CODE SOURCE ESP32 - Boucle ()
CODE SOURCE ESP32 - Boucle ()

Étape 18: CODE SOURCE ESP32 - Impulsion ()

CODE SOURCE ESP32 - Impulsion ()
CODE SOURCE ESP32 - Impulsion ()

Etape 19: CODE SOURCE DU PROGRAMME EN C# - Exécution du programme en C#

CODE SOURCE DU PROGRAMME EN C# - Exécution du programme en C#
CODE SOURCE DU PROGRAMME EN C# - Exécution du programme en C#

Etape 20: CODE SOURCE DU PROGRAMME EN C# - Bibliothèques

CODE SOURCE DU PROGRAMME EN C# - Bibliothèques
CODE SOURCE DU PROGRAMME EN C# - Bibliothèques

Etape 21: CODE SOURCE DU PROGRAMME EN C# - Namespace, Class et Global

CODE SOURCE DU PROGRAMME EN C # - Namespace, Class et Global
CODE SOURCE DU PROGRAMME EN C # - Namespace, Class et Global

Étape 22: CODE SOURCE DU PROGRAMME EN C# - RegPol ()

CODE SOURCE DU PROGRAMME EN C# - RegPol ()
CODE SOURCE DU PROGRAMME EN C# - RegPol ()

Étape 23:

Image
Image

Étape 24: Téléchargez les fichiers

PDF

RAR

Conseillé: