Tabla de contenido:
- Paso 1: Introducción
- Paso 2: Recursos utilizados
- Paso 3: circuito utilizado
- Paso 4: El voltaje de salida depende de la variación del potenciómetro digital X9C103
- Paso 5: controlar el X9C103
- Paso 6: Conexiones
- Paso 7: captura con el osciloscopio de las rampas de subida y bajada
- Paso 8: Esperado versus leído
- Paso 9: corrección
- Paso 10: lectura esperada versus lectura después de la corrección
- Paso 11: ejecución del programa en C #
- Paso 12: Espere el mensaje de inicio de rampa
- Paso 13: Código fuente ESP32: ejemplo de una función de corrección y su uso
- Paso 14: Comparación con técnicas anteriores
- Paso 15: CÓDIGO FUENTE ESP32 - Declaraciones y configuración ()
- Paso 16: CÓDIGO FUENTE ESP32 - Bucle ()
- Paso 17: CÓDIGO FUENTE ESP32 - Bucle ()
- Paso 18: CÓDIGO FUENTE ESP32 - Pulse ()
- Paso 19: CÓDIGO FUENTE DEL PROGRAMA EN C # - Ejecución del programa en C #
- Paso 20: CÓDIGO FUENTE DEL PROGRAMA EN C # - Bibliotecas
- Paso 21: CÓDIGO FUENTE DEL PROGRAMA EN C # - Espacio de nombres, clase y global
- Paso 22: CÓDIGO FUENTE DEL PROGRAMA EN C # - RegPol ()
- Paso 23:
- Paso 24: Descarga los archivos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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
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
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
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
· 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
Paso 7: 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
Paso 9: 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
Paso 11: ejecución del programa en C #
Paso 12: Espere el mensaje de inicio de rampa
Paso 13: Código fuente ESP32: ejemplo de una función de corrección y su uso
Paso 14: Comparación con técnicas anteriores
Paso 15: CÓDIGO FUENTE ESP32 - Declaraciones y configuración ()
Paso 16: CÓDIGO FUENTE ESP32 - Bucle ()
Paso 17: CÓDIGO FUENTE ESP32 - Bucle ()
Paso 18: CÓDIGO FUENTE ESP32 - Pulse ()
Paso 19: CÓDIGO FUENTE DEL PROGRAMA EN C # - Ejecución del programa en C #
Paso 20: CÓDIGO FUENTE DEL PROGRAMA EN C # - Bibliotecas
Paso 21: CÓDIGO FUENTE DEL PROGRAMA EN C # - Espacio de nombres, clase y global
Paso 22: CÓDIGO FUENTE DEL PROGRAMA EN C # - RegPol ()
Paso 23:
Paso 24: Descarga los archivos
RAR