Aula 03 - Aquisição de Sinais Analógicos, ADC e Sensores Industriais


1. O Subsistema de Conversão Analógica-Digital (ADC) no Arduino

O microcontrolador ATmega328P embarcado na placa Arduino Uno R3 possui um Conversor Analógico-Digital (ADC) de de resolução por Aproximações Sucessivas (SAR) associado a um multiplexador analógico de 8 canais, dos quais 6 estão acessíveis nas barras de pinos identificados de A0 a A5 (e os outros 2 canais internos conectados ao sensor de temperatura do silício e à referência de terra).

A leitura analógica padrão na linguagem Arduino é realizada pela instrução:

O valor de retorno é um número inteiro sem sinal variando estritamente no intervalo de a ( códigos discretos de quantização).


2. Tensões de Referência e Resolução do Quantum

A escala de tensão do ADC é delimitada pela tensão de referência selecionada via software através da função analogReference(tipo). O valor do Quantum (), correspondente ao degrau de tensão equivalente a , é calculado formalmente por:

A tensão analógica real de entrada é reconstruída a partir da leitura digital inteira através da relação:

Modo de ReferênciaOrigem da Tensão ()Valor Nominal ()Resolução do Quantum ()Aplicações Típicas
DEFAULTBarramento de alimentação Potenciômetros, LDRs, sensores
INTERNALReferência interna por BandgapSensores de baixa amplitude (LM35, termopares)
EXTERNALPino físico externo AREFReferências externas de ultraprecisão (ex: )

CAUTION

Risco Crítico de Queima do Silício (Pino AREF): Se uma tensão externa for conectada ao pino físico AREF enquanto o código estiver configurado no modo DEFAULT ou INTERNAL, haverá um curto-circuito interno violento entre o regulador de (ou ) e a fonte externa, fundindo instantaneamente o circuito analógico do microcontrolador! Configure analogReference(EXTERNAL) antes de conectar qualquer condutor ao pino AREF.


3. Condicionamento de Sensores Resistivos: Fotorresistores (LDR)

Sensores passivos cuja resistência elétrica varia com a grandeza física (como o fotorresistor LDR, cuja resistência cai de centenas de no escuro para cerca de sob iluminação intensa) não podem ser lidos diretamente por tensão. Eles exigem um circuito de condicionamento por Divisor de Tensão Resistivo:

Aplicando a Lei de Ohm e a regra do divisor resistivo no nó de medição:

  • Sob Alta Iluminação ():
  • Na Escuridão ():

4. O Sensor de Temperatura Analógico de Precisão LM35

O circuito integrado analógico LM35 é um transdutor de temperatura linear com coeficiente térmico rigorosamente calibrado de fábrica de:

A tensão de saída é diretamente proporcional à temperatura na escala Celsius com zero absoluto em :

4.1 Otimização da Resolução Térmica com Referência Interna

Em uma escala de a , a tensão do LM35 varia de a :

  1. Com Referência DEFAULT (): A tensão máxima de ocupa apenas da escala do conversor ( unidades). A resolução térmica do sistema é pobre:
  2. Com Referência INTERNAL (): A faixa de ocupa praticamente a totalidade da escala de 10 bits ( unidades). A resolução melhora substancialmente para: Atinge-se discriminação térmica de aproximadamente sem nenhum componente amplificador externo!

5. Medição de Distância por Tempo de Trânsito: Ultrassom HC-SR04

O módulo ultrassônico HC-SR04 fundamenta-se no princípio piezoelétrico de ecolocalização por tempo de trânsito (Time-of-Flight - ToF) para medir distâncias sem contato mecânico entre e .

5.1 Dedução da Equação da Distância com a Velocidade do Som

A velocidade de propagação do som no ar em função da temperatura ambiente em graus Celsius é dada pela aproximação termodinâmica:

Para a temperatura ambiente padrão de :

O tempo de duração em nível alto do pino Echo ( em microssegundos lido pela função pulseIn(ECHO_PIN, HIGH)) representa o trajeto de ida até o obstáculo somado ao trajeto de volta do eco:

Isolando a distância física até o obstáculo:


6. A Função de Mapeamento Linear map()

Para transformar a leitura de uma escala de entrada (ex: leitura do ADC de a ) em uma escala de controle de saída (ex: sinal PWM de a ), a biblioteca Arduino fornece a função:

Sua dedução matemática baseia-se na interpolação linear padrão de uma reta:

WARNING

A função map() utiliza aritmética de números inteiros truncados (long). Ela não calcula frações decimais e não limita os valores aos limites especificados (clamping). Se a entrada ultrapassar in_max, a saída extrapolará out_max. Para garantir restrição de limites, deve-se combinar com a função constrain(val, min, max):

int val_pwm = constrain(map(analogRead(A0), 0, 1023, 0, 255), 0, 255);

7. Diagrama Arquitetural Consolidado

O diagrama técnico vetorial a seguir ilustra a cadeia completa de aquisição analógica no Arduino Uno, a resolução de quantização do ADC de 10 bits, os circuitos de condicionamento de transdutores (divisor com LDR e calibração de LM35) e o protocolo de temporização por tempo de trânsito acústico do sensor HC-SR04:

ADC e Sensores


8. Exercícios Resolvidos e Aplicações em Concursos

Exercício 1 (Petrobras - Engenharia Eletrônica / CESGRANRIO)

Enunciado: Um sensor piezorresistivo de pressão industrial fornece uma saída linear de tensão de para e para a pressão máxima de . O sensor é lido pelo canal A0 de uma placa Arduino Uno operando com tensão de referência (DEFAULT).

  1. Calcule a equação matemática de calibração que converte a leitura inteira do ADC () diretamente na pressão física em bar.
  2. Determine o valor digital registrado quando a pressão monitorada na tubulação for de exatamente .
  3. Calcule a sensibilidade do sistema de medição em bar por unidade de quantização digital (bar/LSB).

Resolução Passo a Passo:

  1. Dedução da Equação de Calibração da Pressão: A tensão do sensor varia linearmente em uma excursão útil de: A inclinação da reta de transferência do sensor é: A tensão em função da pressão é dada por: Substituindo :

  2. Leitura do ADC para Pressão de : Tensão de saída do sensor: Código digital de quantização:

  3. Resolução de Pressão por Bit (bar/LSB):


Exercício 2 (Marinha do Brasil - Corpo de Engenheiros)

Enunciado: Um sensor ultrassônico HC-SR04 instalado na proa de uma embarcação robótica opera em um dia frio onde a temperatura ambiente do ar é de . O sinal no pino Echo permaneceu em nível alto durante um intervalo de .

  1. Calcule o erro percentual cometido no cálculo da distância caso o firmware utilize a fórmula padrão pré-programada calibrada para () em comparação com o cálculo real compensado termicamente.
  2. Determine a distância física real até o obstáculo considerando a temperatura real de .

Resolução Passo a Passo:

  1. Cálculo da Distância sem Compensação Térmica (Calibração para ): Utilizando a fórmula padrão simplificada do Arduino:

  2. Cálculo da Velocidade do Som Real a : Em centímetros por microssegundo: Distância física real até o obstáculo:

  3. Cálculo do Erro Percentual de Medição: Conclusão Técnica: A variação térmica provocou um erro de superestimação de mais de ( de erro), demonstrando que em sistemas de navegação autônoma em ambientes abertos a velocidade do som deve ser dinamicamente recalculada por firmware integrando uma leitura de temperatura física (ex: sensor LM35 ou DHT22).