Вы находитесь на странице: 1из 22

Conversor AD PIC 18F

Prof: Jos Miracy de Souza Filho UNIP/2013

Transdutor
Converter grandezas no-eltricas encontradas na natureza, e converte-las em variaes de tenso ou de corrente eltrica -> A sada tem uma correlao com a entrada

Como acontece a converso de A/D


possvel converter uma variao continua de tenso ou de corrente em um outro formato e que a variao no continua, mas discreta -> Variao digital

PCM Pulse code modulation


-> Tecnica de converter sinal analgico em digital
-> Escolher o Range Ex: 0 a 5V -> Dividi-la em partes iguais de tenso -> Resoluo da converso
-> quanto maior o numero de partes(passos) em que o sinal ser dividido, melhor o sinal ser representado -> MELHOR FIDELIDADE DA CONVERSO

Resoluo com mais ou menos bits

Formula para Calcular NB


NB = LogP/Log2 NB = Numero de Bits; P = Numero de Passos Log2 = 0,301029995 NB=log256/log2= NB=8 bits
Ex: Dividir a faixa de tenso de 0 a 5V em 256 partes iguais: 5/256 = 19,53mV O numero de partes em que o sinal dividido definir o numero de bits necessrios para representar o sinal na forma digital

PAM Pulse Amplitude Modulation


A converso de Analgico para Digital consiste em amostrar o sinal um numero de vezes a cada segundo, e associar cada amostra ao valor correspondente amplitude do sinal naquele instante.
Tenso

Tempo

Quantizao
Apartir dos pulsos PAM possvel produzir pulsos PCM por um processo conhecido como quantizao -> Consiste em Substituir cada Pulso PAM por um conjunto de bits que corresponda aquele valor.
PAM
2,2V 3,4V 4,21V 4,6V 4,31V 3,9V

PCM
01110001 10101111 11011000 11101101 11001000 11001000

HEXA
71h AFh D8h ECh DDh C8h

Resta-nos saber agora de quanto em quanto tempo as amostras devem ser obtidas

Quantizao

Resta-nos saber agora de quanto em quanto tempo as amostras devem ser obtidas ?

Teorema de Nyquist
Nyquist provou que um sinal analgico que tenha passado por um filtro passa-baixas (FPB) com freqncia de corte Fc, pode ser completamente reconstitudo a partir de um numero de amostras 2Fc.

Tenses de referencia

Vref+ = Tenso maxima

Vref- = Tenso minima

Conversor A/D Interno do PIC


Este Pic possui um conversor A/D interno com 8 canais selecionveis de entrada de tenso e uma resoluo de 10bits As tenses de Ref podem ser obtidas a partir de uma combinao entre VDDe VSS -> Usa Tcnica de aproximao sucessiva

4 Registradores para Setar PIC

ADCON1

Obtendo o Resultado da converso


A converso inicia quando setamos o bit GO/DONE -> Quando a converso estiver completa este bit apagado automaticamente pelo hardware
O pulso PCM correspondente amostra resultante da converso estar, neste momento, disponivel nos registradores ADRESH:ADRESL

Requisitos para Aquisio da amostra


Para o conversor A / D para cumprir a sua exatido, o capacitor segurando carga (chold) deve ser permitido para carregar totalmente para o nvel de tenso do canal de entrada.

Clock utilizado na converso


O A/D do PIC acionado por um sinal de clock que pode ser uma frao da freqncia do oscilador principal (Fosc). Ou por um oscilador RC interno.
TAD 0,5us <ADCS2:ADCS Fosc = 4Mhz 0> 000 Fosc/2 = 2Mhz O projetista deve escolher um TAD > 1.6us

2us
8us 2us-6us 1us

001
010 011 100

Fosc/8 = 500Khz
Fosc/32= 125khz FRC (osc interno) Fosc/4=1Mhz

4us

101

Fosc/16=250Khz

Ciclo de Converso
Iniciada a converso A/D, ela estar terminada em 12xTAD.

CICLO DE CONVERSAO T Aquisio 50us T Converso 12xTAD T espera 2xTAD

O fabricante determina que preciso esperar 2xTAD antes de iniciar o prximo tempo de aquisio

Procedimento para configurar conversor A/D


1. Configure analog pins, reference voltages 2. Select A/D input channel p 3. Select A/D acquisition time (if available) 4. Select A/D conversion clock 5. Enable A/D module - Configure A/D interrupt gp 1. Clear ADIF flag 2. Set ADIE bit (if desired) 3. Set GIE bit (if desired) - Wait for the desired acquisition time (if required) q(q) - Start conversion by setting the GO/DONE bit - Wait for A/D conversion to complete - Read the A/D result registers; clear the ADIF flag - For next conversion, go to step1 or step2

Built in functions em C CCS


ADC Functions: SETUP_ADC() -> Seleciona Clock e Desliga AD SETUP_ADC_PORTS() ( ou SETUP_PORT_A()), Define que porta analogica/Digital Vref+SET_ADC_CHANNEL() -> Define que pino(canal) do do Pic vai Receber o Sinal analgico READ_ADC() Inicia um ciclo de converso A/D e somente retoma a execuo aps o trmino do ciclo de converso