PIC16F628 com ADC Serial, como fazer?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PIC16F628 com ADC Serial, como fazer?

Mensagempor Haroldo Coelho » 02 Jul 2007 07:47

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.
Haroldo Coelho
Byte
 
Mensagens: 343
Registrado em: 14 Out 2006 00:20
Localização: Rio de Janeiro

Mensagempor MOR_AL » 02 Jul 2007 08:57

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
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor Haroldo Coelho » 02 Jul 2007 20:11

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.
Editado pela última vez por Haroldo Coelho em 02 Jul 2007 23:02, em um total de 1 vez.
Haroldo Coelho
Byte
 
Mensagens: 343
Registrado em: 14 Out 2006 00:20
Localização: Rio de Janeiro

Mensagempor ivan » 02 Jul 2007 20:17

Mor_al,

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

Obrigado.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor MOR_AL » 03 Jul 2007 11:52

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
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor Haroldo Coelho » 03 Jul 2007 18:40

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.
Haroldo Coelho
Byte
 
Mensagens: 343
Registrado em: 14 Out 2006 00:20
Localização: Rio de Janeiro

Mensagempor Mersin » 03 Jul 2007 19:01

Sugiro substituir o PCI16F628 e o ADC pelo

PIC 16F819

Pense nisso!

Valeu!
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Mensagempor MOR_AL » 03 Jul 2007 21:38

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
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor luciano » 12 Set 2007 09:10

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 ?
luciano
Bit
 
Mensagens: 23
Registrado em: 04 Set 2007 14:47

Re: PIC16F628 com ADC Serial, como fazer?

Mensagempor andre_luis » 12 Set 2007 11:05

Qual seria exatamente a aplicação ? Eletronica de potencia ?


+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor MOR_AL » 12 Set 2007 22:00

Olá Luciano.
Como eu disse antes, este cad é para sinais lentos. Acredito que para a sua aplicação não deva servir.
MOR_AL
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor luciano » 24 Set 2007 14:57

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.
luciano
Bit
 
Mensagens: 23
Registrado em: 04 Set 2007 14:47


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x