A maior rede de estudos do Brasil

Grátis
143 pág.
Apostila sobre microcontroladores ATMEGA

Pré-visualização | Página 26 de 29

de um capacitor é dada por: 
஼ܸ ൌ ஼ܸ஼. e
ቀ ష೟
ೃ.಴
ቁ ,[V] (16.1) 
e a tensão final de descarga de 0,25 VCC é a mesma para o Rx e Rref, então: 
஼ܸ஼. e
ቆ
ష೟ೝ೐೑
ೃೝ೐೑.಴
ቇ
ൌ ஼ܸ஼. e
൬
ష೟೉
ೃ೉.಴
൰ (16.2) 
O que resulta: 
ܴ௑ ൌ ܴ௥௘௙.
௧೉
௧ೝ೐೑
 .[Ω] (16.3) 
Para precisão no circuito de medição, os componentes utilizados devem ser de precisão, bem 
como a tensão de referência também deve ser provida com exatidão. A medição de resistência com 
o método acima pode ser empregada para a leitura do valor da resistência de sensores, por exemplo. 
CAPACITOR 
Para o cálculo de uma capacitância desconhecida, o circuito da Fig. 16.2 continua sendo 
empregado, com mudanças para avaliar o tempo de carga do capacitor desconhecido. Agora o 
comparador analógico deve disparar o modo de captura do T/C1 quando o valor da entrada positiva 
ultrapassar em mais de 0,63 o valor da entrada negativa, a Fig. 16.4 ilustra o circuito para análise. 
 
Fig. 16.4 – Medindo uma capacitância. 
A tensão de carga de um capacitor é dada por: 
஼ܸ ൌ ஼ܸ஼. ሾ1 െ e
ቀ ష೟
ೃ.಴
ቁሿ [V] (16.4) 
Fazendo-se t = R.C, resulta: 
஼ܸ ൌ ஼ܸ஼. ሾ1 െ eିଵሿ ؆ 0.63. ஼ܸ஼ (16.5) 
116 
 
Assim, para se obter o valor de C basta saber o tempo de carga do capacitor até disparar o 
comparador: 
ܥ ൌ
௧೎ೌೝ೒ೌ
ோ಴
 [F] (16.6) 
Para funcionamento, primeiro deve-se descarregar o capacitor pelos dois resistores do circuito 
(pinos PD0 e PD3 como saídas em zero), aqui deve ser estimado um tempo de descarga, limitando 
o valor máximo de capacitância que pode ser medida. Após a descarga do capacitor, o pino PD0 
deve ser colocado em nível alto e o pino PD3 como entrada, para que o capacitor se carregue 
somente pelo resistor de 10 kΩ (RC). O tempo de carga é computado entre o instante que se começa 
a carregar o capacitor e o instante que o comparador analógico dispara o evento de captura do 
T/C1. 
----------------------------------------------------------------------------------------------------------------------- 
Exercícios: 
 
16.1 – Elaborar um programa para executar uma determinada função quando uma tecla for pressionada. Use o 
comparador analógico para gerar a interrupção para o botão. 
16.2 – Elaborar um programa para medir uma resistência desconhecida empregando o circuito da Fig. 15.2. 
16.3 – Como os circuitos apresentados para a medição de resistência e capacitância podem ser utilizados para se medir 
indutância? Quais as técnicas que podem ser empregadas para aumentar a resolução desses circuitos e como 
melhorá-los? 
----------------------------------------------------------------------------------------------------------------------- 
17. CONVERSOR ANALÓGICO-DIGITAL 
O conversor A/D do ATmega8 emprega o processo de aproximações sucessivas para converter 
um sinal analógico em digital. Suas principais características são: 
• 10 bits de resolução (1024 pontos). 
• Precisão de ± 2 LSB. 
• Tempo de conversão de 13-260 µs. 
• Até 15 kSPS na resolução máxima. 
• 6 canais de entrada multiplexados (+2 nos encapsulamentos TQFP e QFN/MLF). 
• Faixa de tensão de entrada de 0 até VCC. 
• Tensão de referência selecionável de 2,56 V. 
• Modo de conversão simples ou contínua. 
• Interrupção ao término da conversão. 
• Eliminador de ruído. 
O valor mínimo representado digitalmente é 0 V (GND) e o valor máximo corresponde à tensão 
do pino AREF menos 1 LSB; opcionalmente, a tensão do pino AVCC ou a tensão interna de 
referência de 2,56V. A Fig. 17.1 ilustra o diagrama em blocos do conversor A/D. 
 
117 
 
 
Fig. 17.1 – Diagrama do conversor A/D do ATmega8. 
O A/D produz um resultado de 10 bits apresentado no registrador de resultado ADC (ADCH e 
ADCL). Por definição o resultado é apresentado com ajuste a direita (ADCL tem os 8 bits LSB), 
opcionalmente o resultado pode ter ajuste a esquerda (ADCH com os 8 bits MSB e os bits 7:6 do 
ADCL, com os LSB). Isto é feito ajustando o bit ADLAR no registrador ADMUX. O ajuste a 
esquerda é interessante quando se deseja apenas 8 bits de resolução do AD, bastando apenas, então, 
ler ADCH. Caso contrário, ADCL deve ser lido primeiro para garantir que o conteúdo do 
registrador pertence à mesma conversão. Quando a leitura do ADCL é realizada os registradores de 
resultado são bloqueados para atualização até que o ADCH seja lido. Neste caso o conteúdo da 
conversão não é salvo (perdido). A interrupção irá ocorrer do mesmo modo se os registradores 
estiverem bloqueados e o resultado de uma nova conversão for perdido. 
118 
 
Uma conversão simples é iniciada quando o bit ADSC é colocado em 1 no registrador 
ADCSRA. Esse bit se mantém em 1 durante a conversão e é limpo por hardware ao final dessa. Se 
um canal diferente é escolhido para conversão, o A/D irá terminar a conversão corrente antes de 
mudar de canal. O resultado para uma conversão contínua é dado por: 
ܣܦ ൌ ௏಺ಿ.ଵ଴ଶସ
௏ೃಶಷ
 , (17.1) 
onde VIN é a tensão para conversão na entrada no pino e VREF é a tensão selecionada de referência. 
O valor 0x000 representa o terra e o valor 0x3FF representa VREF menos 1 LSB. 
No modo de conversão contínua (Free Running), o A/D é constantemente amostrado e os 
registradores de dados atualizados (ADFR=1 no ADCSRA). A conversão começa escrevendo-se 1 
no bit ADSC. 
O circuito de aproximações sucessivas do A/D requer uma frequência de entrada entre 50 kHz e 
200 kHz para obter a resolução máxima. Se uma resolução menor que 10 bits é desejada, uma 
frequência maior que 200 kHz pode ser empregada para se ter uma maior taxa de amostragem. 
Sinais de entrada com frequências maiores que a frequência de Nyquist (fAD/2- metade da freq. de 
amostragem) gerarão erros (aliasing). Eles devem ser previamente filtrados por um filtro passa 
baixas para eliminar o conteúdo de frequência acima da capacidade do A/D, e somente depois 
amostrados. 
O A/D contém um módulo com prescaler, que aceita qualquer frequência de CPU acima de 
100 kHz. O prescaler é ajustado nos bits ADPS do ADCSRA e começa a valer quando o A/D é 
habilitado pelo bit ADEN. Enquanto este bit for 1 o prescaler estará rodando. 
Quando uma conversão simples é iniciada, colocando-se o bit ADSC em 1, a conversão inicia 
na próxima borda de subida do clock do A/D. Uma conversão normal leva 13 ciclos de clock do 
A/D. A primeira conversão leva 25 ciclos para inicializar o circuito analógico. A amostragem e 
retenção (sample-and-hold) leva 1,5 ciclos de clock após início de uma conversão normal e 13,5 
ciclos após o início da primeira conversão. Quando o resultado da conversão estiver completo, o 
resultado é escrito nos registradores de resultado e o bit ADIF é colocado em 1 e o ADSC é limpo. 
Os diagramas de tempo para a conversão simples são apresentados na Fig. 17.2. 
Quando uma conversão contínua estiver habilitada, uma nova conversão é iniciada logo após 
uma ser completada, enquanto ADSC=1. O diagrama de tempo da conversão contínua é 
apresentado na Fig. 17.3. 
 
 
119 
 
 
Fig. 17.2 – Diagramas de tempo para a conversão simples. 
 
Fig. 17. 3 – Diagrama de tempo para a conversão contínua. 
Cuidados devem ser tomados quando se muda o canal para conversão: o registrador ADMUX 
responsável pela mudança pode ser atualizado seguramente quando: 
1. Os bits ADFR e ADEN foram iguais a zero; 
2. Durante a conversão, pelos menos um ciclo de clock do A/D após início da conversão; 
3. Após a conversão, antes do flag de interrupção