Página 1 de 1
Leitura do Conversor AD variando bastante

Enviado:
16 Jul 2007 00:10
por sgcavalcante
Estou implementando um projeto que requer uma conversão analógico digital, porém estou com problemas quanto ao sinal de tensão no pino porta0 o mesmo varia bastante, gostaria de alguma dica p/ resolver este problema.
configuração da porta anlogica:
Vref+ = 5,00 V
Vref- = 0,00 V

Enviado:
16 Jul 2007 10:55
por B-EAGLE
Coloque o código que fizeste aqui pra ficar melhor de te ajudar...
abraço

Enviado:
16 Jul 2007 11:25
por RobL
Tem filtro para entrada do sinal analógico?
Se não tiver, deve ser a causa do problema.

Enviado:
16 Jul 2007 13:08
por ze
Além do tradicional filtro rc na entrada ad (quase que obrigatório) pode tentar algo como (filtro digital por sw):
unsigned int adc_read(unsigned char channel)
{
unsigned int soma;
unsigned char j,ch;
ch=channel;
soma=0;
//---------filtro---------
for (j=0;j<60;j++)
{
ch=channel;
ADCON0 = (ch << 3) + 0x81; // hab ADC, fosc/32
ADGO = 1;
while(ADGO); // aguarda conversão
soma+=(ADRESH*256 + ADRESL);
}
return soma/60;
}
A rotina acima faz 60 conversões e retorna a média delas.
Quanto maior o número de conv. melhor, mas o tempo de conv. aumenta.
Foi feita para sinal DC - termopar - que não precisa de velocidade de conversão.
Abraço....

Enviado:
16 Jul 2007 13:44
por vibrex
Na rotina do filtro eu somente acrescentaria um delay entre uma leitura e outra para evitar o incomodo da variação da indicação no display. Tente colocar multiplos de 2 no numero de leituras para facilitar as contas pro chip. Faça no maximo 3 atualizações do display por segundo. Assim a leitura com certeza ficara mais estável.
Carlos.

Enviado:
16 Jul 2007 15:57
por sgcavalcante
Consegui normalizar apenas colocando capacitores antes do regulador e depois. vou fazer testes e vê se isto se concretiza. se nao der certo volto a perturbar.
obrigado.