Aula 03 - Aquisição de Sinais Analógicos, ADC e Sensores Industriais
Leitura de 9 min
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 10 bits 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:
int leitura = analogRead(pino);
O valor de retorno é um número inteiro sem sinal variando estritamente no intervalo de 0 a 1.023 (210=1.024 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 (Q), correspondente ao degrau de tensão equivalente a 1 LSB, é calculado formalmente por:
Q=VLSB=2N−1Vref=1.023Vref
A tensão analógica real de entrada Vin é reconstruída a partir da leitura digital inteira através da relação:
Vin=leitura⋅Q=leitura⋅(1.023Vref)
Modo de Referência
Origem da Tensão (Vref)
Valor Nominal (Vref)
Resolução do Quantum (Q)
Aplicações Típicas
DEFAULT
Barramento de alimentação VCC
5,00 V
≈4,888 mV/passo
Potenciômetros, LDRs, sensores 0-5 V
INTERNAL
Referência interna por Bandgap
1,10 V±10%
≈1,075 mV/passo
Sensores de baixa amplitude (LM35, termopares)
EXTERNAL
Pino físico externo AREF
0 a 5,0 V
1.023VAREF
Referências externas de ultraprecisão (ex: 2,048 V)
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 5 V (ou 1,1 V) 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 kΩ no escuro para cerca de 1 kΩ 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:
Vout=VCC⋅(R1+RLDRR1)
Sob Alta Iluminação (RLDR≈1 kΩ):Vout=5,0×(10 k+1 k10 k)=5,0×1110≈4,55 V⟹Leitura ADC≈930
Na Escuridão (RLDR≈100 kΩ):Vout=5,0×(10 k+100 k10 k)=5,0×11010≈0,45 V⟹Leitura ADC≈93
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:
ST=10,0 mV/∘C=0,010 V/∘C
A tensão de saída é diretamente proporcional à temperatura na escala Celsius com zero absoluto em 0∘C:
Vout(T)=ST⋅T=0,010⋅T⟹T [∘C]=0,010Vout [V]=Vout [V]⋅100
4.1 Otimização da Resolução Térmica com Referência Interna
Em uma escala de 0∘C a 100∘C, a tensão do LM35 varia de 0,00 V a 1,00 V:
Com Referência DEFAULT (5,0 V):
A tensão máxima de 1,00 V ocupa apenas 1/5 da escala do conversor (Nmax≈204 unidades). A resolução térmica do sistema é pobre:
Resoluc¸a˜oT=STQ=10 mV/∘C4,888 mV/passo≈0,49∘C/passo
Com Referência INTERNAL (1,1 V):
A faixa de 1,00 V ocupa praticamente a totalidade da escala de 10 bits (Nmax≈930 unidades). A resolução melhora substancialmente para:
Resoluc¸a˜oT=10 mV/∘C1,075 mV/passo≈0,107∘C/passo
Atinge-se discriminação térmica de aproximadamente 0,1∘C 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 2 cm e 400 cm.
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 T em graus Celsius é dada pela aproximação termodinâmica:
vsom≈331,3⋅1+273,15T≈331,3+0,606⋅T [m/s]
Para a temperatura ambiente padrão de T=20∘C:
vsom≈331,3+(0,606×20)=343,42 m/s=0,03434 cm/μs
O tempo de duração em nível alto do pino Echo (teco 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:
dtotal=2⋅dalvo=vsom⋅teco
Para transformar a leitura de uma escala de entrada [Imin,Imax] (ex: leitura do ADC de 0 a 1023) em uma escala de controle de saída [Omin,Omax] (ex: sinal PWM de 0 a 255), a biblioteca Arduino fornece a função:
long valor_mapeado = map(x, in_min, in_max, out_min, out_max);
Sua dedução matemática baseia-se na interpolação linear padrão de uma reta:
Y=(Xmax−XminX−Xmin)⋅(Ymax−Ymin)+Ymin
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:
8. Exercícios Resolvidos e Aplicações em Concursos
Enunciado: Um sensor piezorresistivo de pressão industrial fornece uma saída linear de tensão de 0,50 V para 0 bar e 4,50 V para a pressão máxima de 10 bar. O sensor é lido pelo canal A0 de uma placa Arduino Uno operando com tensão de referência Vref=5,00 V (DEFAULT).
Calcule a equação matemática de calibração que converte a leitura inteira do ADC (NADC∈[0,1023]) diretamente na pressão física P em bar.
Determine o valor digital NADC registrado quando a pressão monitorada na tubulação for de exatamente 6,0 bar.
Calcule a sensibilidade do sistema de medição em bar por unidade de quantização digital (bar/LSB).
Resolução Passo a Passo:
Dedução da Equação de Calibração da Pressão:
A tensão do sensor varia linearmente em uma excursão útil de:
ΔV=4,50 V−0,50 V=4,00 VparaΔP=10 bar
A inclinação da reta de transferência do sensor é:
SP=ΔPΔV=10 bar4,00 V=0,40 V/bar
A tensão em função da pressão é dada por:
Vin(P)=0,50+0,40⋅P⟹P [bar]=0,40Vin−0,50=2,5⋅Vin−1,25
Substituindo Vin=NADC⋅(1.0235,00 V):
P [bar]=2,5⋅(1.0235,00⋅NADC)−1,25=1.02312,5⋅NADC−1,25P [bar]≈0,012219⋅NADC−1,25
Leitura do ADC para Pressão de 6,0 bar:
Tensão de saída do sensor:
Vin(6)=0,50+(0,40×6,0)=0,50+2,40=2,90 V
Código digital de quantização:
NADC=round(QVin)=round(1.0235,00 V2,90 V)=round(5,002,90×1.023)=round(593,34)=593
Resolução de Pressão por Bit (bar/LSB):Q=1.0235,00 V≈4,8876 mV/LSBResoluc¸a˜o=SPQ=0,40 V/bar4,8876×10−3 V/LSB≈0,01222 bar/LSB≈12,22 mbar/bit
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 T=−10∘C. O sinal no pino Echo permaneceu em nível alto durante um intervalo de teco=5.800μs.
Calcule o erro percentual cometido no cálculo da distância caso o firmware utilize a fórmula padrão pré-programada calibrada para 20∘C (d=teco/58) em comparação com o cálculo real compensado termicamente.
Determine a distância física real até o obstáculo considerando a temperatura real de −10∘C.
Resolução Passo a Passo:
Cálculo da Distância sem Compensação Térmica (Calibração para 20∘C):
Utilizando a fórmula padrão simplificada do Arduino:
dpadra˜o=58teco=585.800=100,00 cm=1,000 m
Cálculo da Velocidade do Som Real a T=−10∘C:vsom(−10)=331,3⋅1+273,15−10=331,3⋅1−0,03661=331,3⋅0,96339≈331,3×0,98152≈325,18 m/s
Em centímetros por microssegundo:
vsom=0,032518 cm/μs
Distância física real até o obstáculo:
dreal=2teco⋅vsom=25.800μs×0,032518 cm/μs=2188,604≈94,30 cm=0,943 m
Cálculo do Erro Percentual de Medição:Erro=(drealdpadra˜o−dreal)⋅100%=(94,30100,00−94,30)⋅100%=94,305,70⋅100%≈+6,04%Conclusão Técnica: A variação térmica provocou um erro de superestimação de mais de 6% (5,7 cm 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).