Página 1 de 1

PIC16F628 com ADC Serial, como fazer?

MensagemEnviado: 02 Jul 2007 07:47
por Haroldo Coelho
Alguem sabe de algum site, ou se alguem tem um programa de PIC para acessar informação analógica que utiliza um PIC sem conversor ADC, mas que usa um ADC serial externo, tipo TLC549 ou ADC.0832.

Um programa desse creio que facilitaria a vida de muita gente, pois poderíamos usar o manjadíssimo 16F628 - que tem muita literatura sobre êle, e apenas 3 portas ocupadas para se medir sinal analógico com precisão.

No caso do F628, cinco registradores são responsáveis por recepção/transmissão serial, que são:

1 -TXSTA
2 -RCSTA
3-SPBRG
4 -TXREG
5 -RCREG

Até eu estudar e entender tudo isso vai levar um tempão. Será que alguem já trabalhou com esse assunto?

Encontrei dois sites, endereços sobre isso, um é o AN703 da Microchip, mas utiliza um PIC16C62??, que eu nunca havia ouvido falar.

Outro caso é um projeto de um termometro mas que utiliza 16F84 com ADC serial, cujo endereço é:http://www.machinegrid.com/content/view/51/108/

O bom seria a utilização do PIC16F628 com um ADC serial??

Obrigado.

MensagemEnviado: 02 Jul 2007 08:57
por MOR_AL
Caro Haroldo Coelho.

Fiz um programa baseado na AN700, que trata de um CAD do tipo Delta-Sigma. É um conversor para 8 bits que utiliza dois resistores e um capacitor, mas você vai precisar de pelo menos um AmpOp para o condicionamento da sua tensão analógica.

Já postei aqui no fórum um tópico sobre o assunto, mas parece que não houve muito retorno. Por isso, caso você se interesse em obter uma cópia, por favor me passe uma MP.

MOR_AL

MensagemEnviado: 02 Jul 2007 20:11
por Haroldo Coelho
MOR AL, gostaria que me enviasse o que voce tem sobre este CAD baseado na AN700.

O que eu fiz há algum tempo atrás ficou instável.

Pode ser pro meu e-mail:
haroldocoelho@uol.com.br

grato.

MensagemEnviado: 02 Jul 2007 20:17
por ivan
Mor_al,

Este projeto me interessa tb. Por favor, disponibilize-o no rapidshare que a gente faz o download.

Obrigado.

MensagemEnviado: 03 Jul 2007 11:52
por MOR_AL
Olá pessoal. :D

Segue um link com um exemplo completo.

http://rapidshare.com/files/40783011/CA ... L.rar.html

1 - O circuito elétrico encontra-se no Proteus. O proteus não está simulando o estado da saída do comparador interno do PIC16F628 (pelo menos na minha versão, apanhei até descobrir este "bug"). Por isso o mostrador LCD vai apresentar sempre o mesmo valor (5,00).
O circuito funciona perfeitamente. Eu o montei e verifiquei com um potenciômetro multi-voltas.

2 - A precisão vem da fonte de referência (VRef do PIC), que está conectada no pino RA2. Esta, por sua vez, vem do regulador LM7805, que alimenta o PIC. Apesar de ser um valor estabilizado (para a temperatura fixa - ambiente), seu valor absoluto geralmente não é de 5,00V. Caso desejem, pode ser acrescentado um divisor resistivo, com um pequeno potenciômetro entre eles, para se poder calibrar o CAD_DS. O pino central do potenciômetro vai ao pino RA2 do PIC. Com entrada de 4,50V, deve-se ajustar o valor no mostrador LCD para 4,50V.
Um capacitor eletrolítico (10 a 100 uF) é bem vindo em RA2.


3 - O programa no MPLAB está bem detalhado. Basta lê-lo com atenção.

4 - Como o programa está em ASM, não trabalho com ponto flutuante. Na verdade, não é necessário para esta aplicação, ler o valor e colocá-lo no mostrador LCD. Incluí rotinas de configuração e conversão CAD_DS, configuração e escrita de dislay LCD, de conversão de escala do valor obtido no CAD_DS para a faixa entre 0V e 5,00V, valor binário para BCD e ajuste do ponto decimal. Todas estas foram criadas por mim e estão funcionando como esperado. As rotinas de tempo foram obtidas na internet, "pescadas" em um site que fornece a rotina, ao entrarmos com a frequência do cristal e o tempo. Não me lembro mais como a consegui, porém tenho como descobrir, caso alguém tenha interesse.

5 - Não apresentei a parte de desenvolvimento teórico do CAD_DS. Não há necessidade para fazê-lo funcionar, além de ser entediante para muitos, desencorajar o uso do mesmo e ainda estar protegido.

Por fim desejo que me retornem com seus comentários sobre o conjunto.
Por favor façam-no via Mensagem Particular (MP ou PM) para não congestionar o tópico (para o caso de haver mais de dois interessados :lol: )


MOR_AL

MensagemEnviado: 03 Jul 2007 18:40
por Haroldo Coelho
MOR_AL, legal, vou montar e testar.

voce por acaso não tem o código pra display de leds?

Estou querendo substituir meus indicadores de bancada por indicadores micro-processados. Amperímetros, voltímetros, manômetros e termometros. e display de leds fica mais barato.... e mais bonito...

Estou curioso pra ve-lo funcionar pois já me juraram de pés juntos que CAD DELTA SIGMA não funciona legal.

MensagemEnviado: 03 Jul 2007 19:01
por Mersin
Sugiro substituir o PCI16F628 e o ADC pelo

PIC 16F819

Pense nisso!

Valeu!

MensagemEnviado: 03 Jul 2007 21:38
por MOR_AL
Olá Haroldo Coelho.

Eu tenho um código para displays. O prorama pega o byte em binário, converte-o para BCD (3 bytes). Usei um CD4511 (BCD - 7 segmentos) e multiplexei tres mostradores a leds.

Mas o tópico é sobre CAD, e respondendo a sua pergunta,
EU TAMBÉM JURO DE PÉS JUNTOS QUE MONTEI E FUNCIONOU.

O CAD_DS tem uma limitação de tempo de conversão. Dura cerca de 20ms. Seu sinal a ser convertido tem que estar constante durante este período. Se você não colocar um circuito "sample and hold" antes, a frequência máxima do seu sinal tem que ser de aproximadamente 0,07Hz.

Em outras palavras.

Este CAD_DS só é interessante para converter sinais bem lentos, como temperatura etc.

MOR_AL

MensagemEnviado: 12 Set 2007 09:10
por luciano
olá mor_al, pelo que vi esse circuito seria somente para circuitos mais lentos, eu est ou fazendo um circuito para modulação pwm e preciso monitorar a tensção de saída para controla a modulção, se rá que com esse circuito consigo verificar a tensão de saída e ir corrigindo minha modulação pwm ?

Re: PIC16F628 com ADC Serial, como fazer?

MensagemEnviado: 12 Set 2007 11:05
por andre_luis
Qual seria exatamente a aplicação ? Eletronica de potencia ?


+++

MensagemEnviado: 12 Set 2007 22:00
por MOR_AL
Olá Luciano.
Como eu disse antes, este cad é para sinais lentos. Acredito que para a sua aplicação não deva servir.
MOR_AL

MensagemEnviado: 24 Set 2007 14:57
por luciano
essa fonte seria para acionamento de um solenóide, mas que variam bastande de modelos, por isso quero fazer uma fonte desse tipo que irei variar de 20vcc a 150vcc.

para fazer esse controle do pwm o que seria interessante, pelo que vi o delta sigma não seria apropriado.