Tabla de contenido:

¡Los profesionales lo saben !: 24 pasos
¡Los profesionales lo saben !: 24 pasos

Video: ¡Los profesionales lo saben !: 24 pasos

Video: ¡Los profesionales lo saben !: 24 pasos
Video: ¿Qué es lo que saben? 17/1/24 2024, Noviembre
Anonim
Image
Image

Hoy vamos a hablar de “Calibración ADC automatizada ESP32”. Puede parecer un tema muy técnico, pero creo que es muy importante que lo conozcas un poco.

Esto se debe a que no se trata solo del ESP32, o incluso solo de la calibración del ADC, sino de todo lo que involucra sensores analógicos que quizás desee leer.

La mayoría de los sensores no son lineales, por lo que vamos a presentar un prototipo de calibrador automatizado para convertidores digitales analógicos. Además, vamos a hacer una corrección de un ESP32 AD.

Paso 1: Introducción

Recursos utilizados
Recursos utilizados

Hay un video en el que hablo un poco sobre este tema: ¿No lo sabías? Ajuste ESP32 ADC. Ahora, hablemos de una manera automatizada que le impida hacer todo el proceso de regresión polinomial. ¡Echale un vistazo!

Paso 2: Recursos utilizados

· Jerséis

· 1x Protoboard

· 1x DevKit ESP WROOM 32

· 1x cable USB

· 2x resistencias de 10k

· 1 resistencia de 6k8 o 1 potenciómetro mecánico de 10k para ajustar el divisor de voltaje

· 1x X9C103 - potenciómetro digital de 10k

· 1x LM358 - Amplificador operacional

Paso 3: circuito utilizado

Circuito utilizado
Circuito utilizado

En este circuito, el LM358 es un amplificador operacional en la configuración de "buffer de voltaje", aislando los dos divisores de voltaje para que uno no influya en el otro. Esto permite obtener una expresión más simple ya que R1 y R2 pueden, con una buena aproximación, dejar de considerarse en paralelo con RB.

Paso 4: El voltaje de salida depende de la variación del potenciómetro digital X9C103

El voltaje de salida depende de la variación del potenciómetro digital X9C103
El voltaje de salida depende de la variación del potenciómetro digital X9C103

Según la expresión que obtuvimos para el circuito, esta es la curva de voltaje en su salida cuando variamos el potenciómetro digital de 0 a 10k.

Paso 5: controlar el X9C103

Controlando el X9C103
Controlando el X9C103

· Para controlar nuestro potenciómetro digital X9C103 lo alimentaremos con 5V, provenientes del mismo USB que alimenta el ESP32, conectándose en VCC.

· Conectamos el pin ARRIBA / ABAJO a GPIO12.

· Conectamos el pin INCREMENT a GPIO13.

· Conectamos DEVICE SELECT (CS) y VSS a GND.

· Conectamos VH / RH a la fuente de 5V.

· Conectamos VL / RL a GND.

· Conectamos RW / VW a la entrada del búfer de voltaje.

Paso 6: Conexiones

Conexiones
Conexiones

Paso 7: captura con el osciloscopio de las rampas de subida y bajada

Captura con el osciloscopio de las rampas de subida y bajada
Captura con el osciloscopio de las rampas de subida y bajada

Podemos observar las dos rampas generadas por el código ESP32.

Los valores de la rampa de subida se capturan y se envían al software C # para la evaluación y determinación de la curva de corrección.

Paso 8: Esperado versus leído

Esperado versus leído
Esperado versus leído

Paso 9: corrección

Corrección
Corrección

Usaremos la curva de error para corregir el ADC. Para ello, alimentaremos un programa realizado en C #, con los valores del ADC. Calculará la diferencia entre el valor leído y el esperado, creando así una curva de ERROR en función del valor ADC.

Conociendo el comportamiento de esta curva, conoceremos el error y podremos corregirlo.

Para conocer esta curva, el programa C # utilizará una librería que realizará una regresión polinomial (como las realizadas en videos anteriores).

Paso 10: lectura esperada versus lectura después de la corrección

Esperado versus leído después de la corrección
Esperado versus leído después de la corrección

Paso 11: ejecución del programa en C #

Ejecución del programa en C #
Ejecución del programa en C #

Paso 12: Espere el mensaje de inicio de rampa

Espere el mensaje de inicio de rampa
Espere el mensaje de inicio de rampa
Espere el mensaje de inicio de rampa
Espere el mensaje de inicio de rampa

Paso 13: Código fuente ESP32: ejemplo de una función de corrección y su uso

Código fuente ESP32: ejemplo de una función de corrección y su uso
Código fuente ESP32: ejemplo de una función de corrección y su uso

Paso 14: Comparación con técnicas anteriores

Comparación con técnicas anteriores
Comparación con técnicas anteriores

Paso 15: CÓDIGO FUENTE ESP32 - Declaraciones y configuración ()

CÓDIGO FUENTE ESP32 - Declaraciones y configuración ()
CÓDIGO FUENTE ESP32 - Declaraciones y configuración ()

Paso 16: CÓDIGO FUENTE ESP32 - Bucle ()

CÓDIGO FUENTE ESP32 - Bucle ()
CÓDIGO FUENTE ESP32 - Bucle ()

Paso 17: CÓDIGO FUENTE ESP32 - Bucle ()

CÓDIGO FUENTE ESP32 - Bucle ()
CÓDIGO FUENTE ESP32 - Bucle ()

Paso 18: CÓDIGO FUENTE ESP32 - Pulse ()

CÓDIGO FUENTE ESP32 - Pulso ()
CÓDIGO FUENTE ESP32 - Pulso ()

Paso 19: CÓDIGO FUENTE DEL PROGRAMA EN C # - Ejecución del programa en C #

CÓDIGO FUENTE DEL PROGRAMA EN C # - Ejecución del programa en C #
CÓDIGO FUENTE DEL PROGRAMA EN C # - Ejecución del programa en C #

Paso 20: CÓDIGO FUENTE DEL PROGRAMA EN C # - Bibliotecas

CÓDIGO FUENTE DEL PROGRAMA EN C # - Bibliotecas
CÓDIGO FUENTE DEL PROGRAMA EN C # - Bibliotecas

Paso 21: CÓDIGO FUENTE DEL PROGRAMA EN C # - Espacio de nombres, clase y global

CÓDIGO FUENTE DEL PROGRAMA EN C # - Espacio de nombres, clase y global
CÓDIGO FUENTE DEL PROGRAMA EN C # - Espacio de nombres, clase y global

Paso 22: CÓDIGO FUENTE DEL PROGRAMA EN C # - RegPol ()

CÓDIGO FUENTE DEL PROGRAMA EN C # - RegPol ()
CÓDIGO FUENTE DEL PROGRAMA EN C # - RegPol ()

Paso 23:

Imagen
Imagen

Paso 24: Descarga los archivos

PDF

RAR

Recomendado: