Página 1 de 1
AD PIC16F688 Variando

Enviado:
22 Nov 2007 20:24
por jrmanke
Olá Pessoal,
Tenho um software com 2 entratras AD monitoranto uma tensão 0-5VCC, estou utilizando a referencia da fonte GND - VCC, mas quando a tensão do AD 1 varia, o AD - 2 varia 3 - 10 pontos, e vice e versa, e quando eu ligo a iluminação do display os dois AD variam cerca de 10 pontos. Detalhe a alimentação da iluminação do display ( LCD 8X2 ) vem da fonte -12VCC, pois se eu alimento com a mesma fonte do pic +5VCC a oscilação é ainda maior. Na entrada AD -1 e 2, coloquei um resisto de 10K para o GND, amenizou o problema mas não resolveu. Fiz um filtro onde eu fasso uma media ( 100 vezes ) da leitura do AD 1 e 2, amenizou mas não resolveu. O tempo de releitura do AD é de 100uS ( estava utilizando 10uS ), aumentando este tempo as oscilações diminuiram.
Alguem já passou por um problema semelhante??
AD 10bits.
Att
Johnny

Enviado:
22 Nov 2007 22:41
por jandom
estou tendo o mesmo problema, acrescentei capacitor de tantalo de 1uF, diminuiu tambem, mas continua oscilando; tambem fiz rotina para ler 25 vezes, mas nao resolveu....t'a dificil.........

Enviado:
23 Nov 2007 07:35
por Maia
Parece ser problema de alimentação. Procura usar uma referência de tensão para o AD. Eu uso a MCP1541 da Microchip. Ela é de 4,096 V. Têm alguns exemplos de circuitos usando ela pela Internet.
Abraços,
Maia

Enviado:
23 Nov 2007 11:36
por LeandroPIC
Coloque um capacitor de 1000uF na alimentação do PIC, o mais prossimo do PIC e um capacitor de 100nF, fassa um filtro passa baixas para cada Canal AD, tire a media da converção
OBservação: Não coloque nenhum resistor do PINO DO AD para o terra, isso gera um divisor resistivo ai sua leitura é falsa.........!!!!!!!!!!!!!!!!!

Enviado:
25 Nov 2007 00:32
por jandom
LeandroPIC, temos necessidade de medir tensões maiores que 5 volts, então é necessário divisor de tensão!!!???
como fazer esse filtro passa faixa em c-ccs?

Enviado:
26 Nov 2007 07:23
por Sergio38br
Bom dia a todos,
Jandom, para ler tensões maiores que 5 volts , vc precisa usar um divisor resistivo, a tensão máxima de entrada não pode passar de 5 volts, outra coisa, este divisor não pode ter a impedância maior que a permitida, veja o datasheet do pic para ter maior base, uma solução seria fazer um divisor através de resistores atuando na entrada positiva de um amplificador operacional com ganho de um. qualquer coisa posto um esquema no eagle para ilustração.
Abraços
Sergio

Enviado:
26 Nov 2007 08:48
por RobL
Caso seu divisor de tensão necessite ter mais que 10K resistivo use um OP na configuração de seguidor de tensão. Haverá um problema com off set e deriva térmica.
A tensão de referência tem que ser puríssima.
Um grande "segredo" é não chavear nehuma das outras portas como saída no momento da leitura do ADC.

Enviado:
26 Nov 2007 10:03
por ze
use vcc e gnd EXCLUSIVOS para o ad e pic. ou seja não deixe passar corrente por eles. ex. gnd sai do sinal, vai DIRETO pro gnd do pic. não basta apenas a alimentação vcc da iluminação vir de outra fonte. o terra TAMBÉM. Geralmente os terras são unidos no capacitor da fonte. Eu uso um 7805 só pro pic e outro pra gentalha. otra coisa o seu sinal não está REALMENTE variando? veja com osciloscópio.
abrç

Enviado:
26 Nov 2007 17:08
por jandom
sim, varia um pouco, pois estou um medindo a tensao em cima de um resistor de 7ohm, vindo de um carrregador de celular. A ideia seria medir a tensao de saida gerada pelo carregador. Este por sua vez, tenta compensar a sua saida na hora que ligo este resistor; mas para acompanhar essa variacao, acompanho via osciloscopio e multimetro digital HP calibrado; essas variacoes nao sao notadas no multi, mas no pic e um absurdo!

Enviado:
26 Nov 2007 17:40
por phophollety
jandom escreveu:sim, varia um pouco, pois estou um medindo a tensao em cima de um resistor de 7ohm, vindo de um carrregador de celular. A ideia seria medir a tensao de saida gerada pelo carregador. Este por sua vez, tenta compensar a sua saida na hora que ligo este resistor; mas para acompanhar essa variacao, acompanho via osciloscopio e multimetro digital HP calibrado; essas variacoes nao sao notadas no multi, mas no pic e um absurdo!
Qual sua taxa de aquisição no pic?
Não tem acesso a um scope? Nem que analógico?
Re: AD PIC16F688 Variando

Enviado:
26 Nov 2007 18:36
por LeandroPIC
Tenho um software com 2 entratras AD monitoranto uma tensão 0-5VCC........
LeandroPIC, temos necessidade de medir tensões maiores que 5 volts, então é necessário divisor de tensão!!!???
Se vc ler direito nosso amigo quer medir uma tensão de 0 a 5v, ele disse que colocou um resistor de 10k para o terra, para tentar diminuir as variasões, E SOBRE ISSO QUE ESTOU ME REFERINDO, Se ele colocar o resistor vai fazer um divisor resistivo ai a medida é falsa.......( ENTENDEU )......
Agora se for uma tensão maior que 5v, vai te que ter um divisor!!!!!!!!!!!!!!!

Enviado:
26 Nov 2007 19:38
por MOR_AL
Olá Johnny.
Vamos fazer algumas considerações:
CAD com 10 bits e referência de 5 V = resolução de 5/(2*1024) = 2,44mV.
Sua referência tem que ter uma variação de menos que 2,44mV, para mais ou para menos.
Exemplo: VRefMáx =< 5,00244V e VRefMín >= 4,99756.
Se sua referência é obtida da própria alimentação do PIC, já é um problema, tanto devido a comutação, como devido a variações de corrente em menor taxa que a comutação.
Se o seu circuito está montado em protoboard ou "aranha", é outro problema. As capacitâncias intereletródicas no protoboard são maiores, ocorrendo maiores interferências que uma montagem normal em PCI. Tudo isso sem falar das "antenas transmissoras" que são os fios com comutações e das "antenas receptoras" que são os fios que concorrem ao CAD.
Coloque o osciloscópio na escala de 5mV (AC) e monitore a tensão de alimentação diretamente no PIC e na entrada do CAD (esta com um valor constante). Coloque o eixo dos tempos em 1ms/div (ou 10 vezes mais lento que a taxa que você estiver fazendo sua aquisição).
Não trige o seu sinal, deixe-o rolar livre. Assim é mais fácil perceber as variações.
Já se passaram 4 dias e você não respondeu. Espero que seja porque você já tenha resolvido o problema. Sendo assim, compartilhe a solução com os colegas do fórum para não passarmos pelo mesmo problema.
MOR_AL

Enviado:
27 Nov 2007 15:55
por jrmanke
Desculpe pessoal a demora em responder,
Infelismente ainda não resolvi ( problema de tempo ).
O circuito esta montado em um proto mesmo realmente isso pode interferir muito.
Vou testar as dicas do pessoal esta semana e retorno a todos os resultados.
Também pretendo utilizar a referencia esterna do pic para certificar-se .
Att
Johnny
Ps. vou posta o codgo fonte tmb

Enviado:
28 Nov 2007 20:26
por jrmanke
Este é a função que utilizo para fazer a leitura do CAD.
void adc ( int canal )
{
int a = 0;
set_adc_channel (canal);
for(a=0;a<=100;a++)
{
valor_adc += read_adc();
Delay_us( 100 );
}
valor_adc = valor_adc/100;
valor_adc = (valor_adc+1)*500/1024;
return ;
}
Neste fim de semana vou configura-lo com a referencia externa ( +5VCC e GND ) conforme comentado anteriormente.
Ao introduzir um capacitor de 2200uF/35V na alimentação a oscilação reduzio muito ficou aceitavel, mas como o projeto vai ser montado em uma pequena caixa talvez este capacitor atrapalhe, caso esta seja a unica solução pretendo inserir o capacitor.
Sugestões estão abertas hardware ou software.
Obrigado a todos pelas dicas.
Att
Johnny

Enviado:
29 Nov 2007 11:32
por LeandroPIC
O capacitor pode ser um valor menor, vc tem que testar um que fique aceitavel..., um filtro passa baixas no pino do AD, e se vc tirar a media vai ficar uma "TETA"....
FALOU