Diferença entre CAPTURE/COMPARE/PWM (MODULE CCP) e Analog to Digital Converter?

Bom, estou iniciando no mundo PIC durante minha férias da universidade. E me deparei com esse confronto teorio sobre CCP e o conversor A/D. Procurei no famoso google e mesmo assim fiquei com as duvidas entre a diferença entre elas.

Estou fazendo os exemplos no mikroC(as bibliotecas ajuda d+) e testando no Proteus. Cheguei a montar do hello word da eletrônica(led piscando), botão ligando led e um comunicação entre PC e PIC(RX e TX) lá no Proteus. Só q os exemplos q ñ estou conseguindo fazer é o do LDR e LM35. Com LM35 para falar a vdd nem tentei ainda.

Ah, estou usando um PIC16F627 pq ñ tinha o PIC16f628(+ usado como exemplo na net) mas, olhando pelo datasheet dá no mesmo. Até o datasheet é o mesmo para falar a vdd.

A pergunta q ñ quer calar na minha cabeça é:

Diferença entre CAPTURE/COMPARE/PWM (MODULE CCP) e Analog to Digital Converter?



Se possivel usar exemplo do LDR ou LM35.


Desde já grato

Exibições: 3932

Respostas a este tópico

Olá Domênico,

Resumindo é assim:

CCP:

- Capture: usado para medir o período (e a frequência, claro) de uma sinal pulsado externo (sinal usado como entrada do PIC), podendo-se sincronizar sua com este sinal. O Capture pode te gerar interrupções a cada borda de subida do sinal, por exemplo;

- Compare: você pode "disparar" um tempo e a saída do PIC vai mudar para o estado que você determinou após este tempo. Por exemplo: daqui 2 ms o saída irá para nível lógico alto. Você pode determinar o tempo e a ação, e geralmente a ação vai ocorrer apenas uma vêz até você disparar novamente. É muito útil para gerar um pulso do tamanho que você quiser;

- PWM: é uma final pulsado (de onda quadrada) que você gera (sinal como saída do PIC), aonde você determina o período (frequência) e o ciclo ativo (a porcentagem do tempo em que o sinal vai ficar em nível alto, por exemplo). Como exemplo, se você quiser um sinal PWM de 2 KHz com 50% de ciclo ativo, o período você determina como 0,5 ms e o ciclo ativo vai ser de 0,25 ms.

ADC:

Como o nome diz, é um conversor mesmo. O conceito é medir o valor da tensão em um momento de um sinal de entrada (0 a 5V, por exemplo) e quantizar isso em um resultado de forma digital, para dentro da memória do PIC, para você conseguir trabalhar com ele. Então seria assim para um conversor A/D de 10-bit: se você medir 0V o resultado vai aparecer em um registro como 0, e se você medir 5V você vai obter como resultado 1023 (valor máximo para 10 bits).

Para LDRs e sensores de temperatura, geralmente você vai usar o ADC, pois estes "sensores" te dão resultados em forma de sinal analógico. Com o LM35, por exemplo, você faz uma leitura com o ADC no momento em quiser saber a temperatura.

Veja se ficou muito confuso...

Abraço!

Posso usar o Capture para 'pegar' um sinal de controle remoto usando um receptor infravermelho IRM2638?

Sim, com certeza. É uma aplicação comum para o Capture.

Domenico ,

São dois perifericos da familia PIC

O Analog to digital converter do PIC é um conversor analogico/digital , ou seja vc mede uma tensão analogica em um dos seus pinos , e ele converte esta tensão para um numero (normalmente de 0 a 1023 ,  correspondente a 0 a 5V ) dependendo da referencia de tensão usada usada.

Já o modulo CAPTURE/COMPARE/PWM (MODULE CCP) não tem nada a ver com tensão analogica , mas com a geração e medição exata de tempos.O modulo CCP pode operar em 3 modos distintos:

PWM - gera um sinal digital , de frequencia constante , mas de duty cycle variavel , controlado por um registrador no PIC

 o PWM (Pulse Width Modulator) depois de setado , gera este sinal , independente do software , liberando o processador para fazer outras coisas. Obviamente se vc quiser mudar o duty cycle , o processador entra , muda o valor do registrador e sai , é muito conveniente. Normalmente é usado para se gerar tensoes precisas de saida , integrando - se o sinal PWM com uma rede RC , consegue-se tensões de 0 a 5V com resolução de 10 bits (5V/1024).

CAPTURE: serve para medir o instante que ocorre um evento externo.

O capture "captura" a contagem do timer 1 ou 3 no instante que ocorre uma transição em determinado pino do pic , este valor fica armazenado em um par de registradores para que o software possa ler o valor mais tarde.Pode também gerar uma interrupção para que o PIC trate o valor antes que ocorra novo evento.

COMPARE: serve para gerar um sinal eletrico em determinado instante . Ele compara o valor de um par de registradores com a contagem do timer 1 ou 3 , quando os dois valores forem iguais , ele muda o estado de um pino do pic , pode também gerar uma interrupção para o software fazer alguma coisa , e também zerar o timer 1 ou 3 de modo que a nova contagem do timer 1 ou 3 comece de novo do zero.É muito util para fazer osciladores com tempos precisos , com resolução de 16 bits . Tem mais uns detalhes , que mudam de PIC para PIC , mas Basicamente é isso.

Abração

Enio.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço