Índice:
- Etapa 1: Introdução
- Etapa 2: Recursos usados
- Etapa 3: Circuito usado
- Etapa 4: a tensão de saída depende da variação do potenciômetro digital X9C103
- Etapa 5: Controlando o X9C103
- Etapa 6: conexões
- Etapa 7: captura no osciloscópio das rampas para cima e para baixo
- Etapa 8: Esperado Versus Leito
- Etapa 9: Correção
- Etapa 10: Esperado versus lido após a correção
- Etapa 11: execução do programa em C #
- Etapa 12: aguarde a mensagem de INÍCIO da rampa
- Etapa 13: Código-fonte ESP32 - Exemplo de uma função de correção e seu uso
- Etapa 14: comparação com técnicas anteriores
- Etapa 15: CÓDIGO FONTE ESP32 - Declarações e configuração ()
- Etapa 16: CÓDIGO FONTE ESP32 - Loop ()
- Etapa 17: CÓDIGO FONTE ESP32 - Loop ()
- Etapa 18: CÓDIGO FONTE ESP32 - Pulso ()
- Etapa 19: CÓDIGO FONTE DO PROGRAMA EM C # - Execução do Programa em C #
- Etapa 20: CÓDIGO FONTE DO PROGRAMA EM C # - Bibliotecas
- Etapa 21: CÓDIGO FONTE DO PROGRAMA EM C # - Namespace, classe e global
- Etapa 22: CÓDIGO FONTE DO PROGRAMA EM C # - RegPol ()
- Etapa 23:
- Etapa 24: Baixe os arquivos
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Hoje vamos falar sobre “calibração ADC automatizada ESP32”. Pode parecer um assunto muito técnico, mas acho muito importante que você conheça um pouco sobre ele.
Isso ocorre porque não se trata apenas do ESP32, ou mesmo apenas da calibração do ADC, mas de tudo o que envolve sensores analógicos que você pode querer ler.
A maioria dos sensores não é linear, por isso vamos apresentar um calibrador de protótipo automatizado para conversores analógicos digitais. Além disso, faremos uma correção de um ESP32 AD.
Etapa 1: Introdução
Tem um vídeo em que falo um pouco sobre esse assunto: Você não sabia? Ajuste ESP32 ADC. Agora, vamos falar de uma forma automatizada que evita que você faça todo o processo de regressão polinomial. Confira!
Etapa 2: Recursos usados
· Jumpers
· 1x Protoboard
· 1x ESP WROOM 32 DevKit
· 1x cabo USB
· 2 resistores de 10k
· 1 resistor 6k8 ou 1 potenciômetro mecânico de 10k para ajustar o divisor de tensão
· 1x X9C103 - potenciômetro digital de 10k
· 1x LM358 - amplificador operacional
Etapa 3: Circuito usado
Neste circuito, o LM358 é um amplificador operacional na configuração “buffer de tensão”, isolando os dois divisores de tensão para que um não influencie o outro. Isso permite obter uma expressão mais simples, uma vez que R1 e R2 podem, com uma boa aproximação, não mais ser considerados em paralelo com RB.
Etapa 4: a tensão de saída depende da variação do potenciômetro digital X9C103
Com base na expressão que obtivemos para o circuito, esta é a curva de tensão em sua saída quando variamos o potenciômetro digital de 0 a 10k.
Etapa 5: Controlando o X9C103
· Para controlar nosso potenciômetro digital X9C103 vamos alimentá-lo com 5V, vindo do mesmo USB que alimenta o ESP32, conectando em VCC.
· Conectamos o pino UP / DOWN ao GPIO12.
· Conectamos o pino INCREMENT ao GPIO13.
· Conectamos DEVICE SELECT (CS) e VSS a GND.
· Conectamos VH / RH à alimentação de 5V.
· Conectamos VL / RL ao GND.
· Conectamos RW / VW à entrada do buffer de tensão.
Etapa 6: conexões
Etapa 7: captura no osciloscópio das rampas para cima e para baixo
Podemos observar as duas rampas geradas pelo código ESP32.
Os valores da rampa de subida são capturados e enviados ao software C # para avaliação e determinação da curva de correção.
Etapa 8: Esperado Versus Leito
Etapa 9: Correção
Usaremos a curva de erro para corrigir o ADC. Para isso, alimentaremos um programa feito em C #, com os valores do ADC. Ele irá calcular a diferença entre o valor lido e o esperado, criando assim uma curva ERROR em função do valor ADC.
Conhecendo o comportamento desta curva, saberemos o erro e poderemos corrigi-lo.
Para conhecer esta curva, o programa C # utilizará uma biblioteca que fará uma regressão polinomial (como as realizadas nos vídeos anteriores).
Etapa 10: Esperado versus lido após a correção
Etapa 11: execução do programa em C #
Etapa 12: aguarde a mensagem de INÍCIO da rampa
Etapa 13: Código-fonte ESP32 - Exemplo de uma função de correção e seu uso
Etapa 14: comparação com técnicas anteriores
Etapa 15: CÓDIGO FONTE ESP32 - Declarações e configuração ()
Etapa 16: CÓDIGO FONTE ESP32 - Loop ()
Etapa 17: CÓDIGO FONTE ESP32 - Loop ()
Etapa 18: CÓDIGO FONTE ESP32 - Pulso ()
Etapa 19: CÓDIGO FONTE DO PROGRAMA EM C # - Execução do Programa em C #
Etapa 20: CÓDIGO FONTE DO PROGRAMA EM C # - Bibliotecas
Etapa 21: CÓDIGO FONTE DO PROGRAMA EM C # - Namespace, classe e global
Etapa 22: CÓDIGO FONTE DO PROGRAMA EM C # - RegPol ()
Etapa 23:
Etapa 24: Baixe os arquivos
RAR