ADC NO ATMEGA16

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

ADC NO ATMEGA16

Mensagempor sandrini » 14 Ago 2007 16:07

Boa tarde,

Estou fazendo uma leitura num LM35 através do ADC do ATMEGA16 e quando chega a uma certa temperatura um LED acenderá na porta B indicando a chegada da temperatura... o problema é que quando liga o LED, a temperatura aumenta em cerca de 2 graus....
Tirei o lm35 e coloquei um trim-pot no lugar e mesmo assim o problema acontece...
Alguém tem idéia do que pode estar acontecendo?
Já fiz até o redutor de ruído com um indutor de 10uH no AVCC e mesmo assim o problema continua.
Obrigado
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor tmarchesi2 » 15 Ago 2007 09:03

Bom dia Sandrini;

Eu já fiz algo muito próximo ao seu porém nunca observei isso.
Tem como você postar seu software ? pelo menos a parte que você trata os dados. Este problema aconteceu comigo quando eu colocava a mão no sensor. (ex: tentar medir a temperatura do corpo).

Sugestão:
Quando eu trabalho com AD, geralmente eu tiro a média dos valores, ou seja, faço de 5 a 20 leituras e considero o valor, isso tem me ajudado muito em relação a flutuação por parte de fonte e ruído, ou quando a minha Referência está ligada aos 5V do VCC.
No Datasheet do lm35 tem vários exemplos de como ligar ele com um capacitor e filtros. Faça alguns testes do tipo, quando o led acende a tensão do Ad sofre alteração ?
Ah, dependendo da sua precisão, você colocar um polinômio pra corrigir o erro do lm35, no datasheet tem os valores.
Tem um amigo meu que estava com um lm335 muito parecido com o lm35, achei ele interessante, estou pesando em comprar uma peça e comparar os dois lm335 X lm35.

Estranho mesmo este probleminha........

Espero ter ajudado, caso tenha conseguido poste pra gente.

Abraço
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor sandrini » 15 Ago 2007 10:43

Bem, consegui verificar a fonte deste problema...
quando liga um LED a fonte que é de 5V cai para 4,99 (aproximadamente) e aí a referência que estou tomando (AVCC) cai também e com isso o ADC toma como referência essa nova tensão no AVCC e por isso aumenta o valor que ele lê...
Estou tentando buscar alternativas para corrigir isso. A minha fonte de alimentação é com um 7805... vou tentar montar uma fonte com zener para ter um ganho de corrente.
Eu coloquei o AVCC em outra fonte e mesmo assim dá o problema pois acho que além disso, ele compara também com a própria alimentação do microcontrolador...
Não sei se está claro... mas está um negócio muito esquisito mesmo...
De qualquer maneira já fiz a filtragem no LM35 e agora tirei ele e coloquei um POT para simular....

Se eu conseguir fazer funcionar sem problemas, dou um alô, ok?
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor tmarchesi2 » 15 Ago 2007 16:25

Que bom que você encontrou o problema....

Andei pensando aqui e me lembrei, ja aconteceu isso comigo porém no meu caso o valor no display exibido oscilava demais.
Eu fiz um pedido na farnell de um regulador chamado TL431, pelo datasheet me pareceu bem interessante.
Preciso montar e fazer os testes, pois nesta nova aplicação que estou desenvolvendo cada valor decimal do AD vale 1 grau o q se torna bem mais crítico.

O 7805 funciona muito bem, porém para aplicações como está nunca ficou 100% .

Será que alguém mais tem sugestão pra isso ? Como deixar a referência bem estabilizada do AD ?

T+
tmarchesi2
Nibble
 
Mensagens: 69
Registrado em: 23 Fev 2007 13:45

Mensagempor sandrini » 17 Ago 2007 10:32

Continuo com uns problemas muito loucos com relação à medidas de temperatura no atmega16....
Precisei fazer uma fonte extra com zener e transistor para tentar estabilizar a tensão e daí deu certo... ainda tenho alguma variação, mas nada que atrapalhe o sistema.
O que me deixa meio cabreiro é que tomando como base uma fonte de alimentação com 7805 e tendo como referência o AVCC ou até mesmo o AREF, o valor lido do ADC varia quando é ligado fisicamente um LED ou um relê em outra porta ou até mesmo no circuito.
Ou seja quando o consumo de corrente aumenta cerca de 20mA (LED), o ADC sobe dois ou três pontos e isso não é nada bom quando você precisa de um pouco mais de precisão.
O que percebi, medindo diretamente na fonte, é que quando se liga um led, a tensão cai de 5,0V para 4,99V, por exemplo.
Alguém saberia me explicar porque isso acontece e como posso fazer para não ter essa variação se eu utilizar uma fonte com o 7805?
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor EDSONCAN » 17 Ago 2007 10:48

Faz o seguinte:
Divide seu terra em duas areas uma que alimenta reles led's e etc, outra que alimenta somente o processador e os CKT's do AD.
Junta os dois terras no terminal do 7805.
Faz a mesma coisa com a saida do 7805, divide em duas malhas.

O seu circuito de fonte deve ser algo assim

entrada fonte positiva- capacitor 7805 capacitor - duas malhas +5V
entrada fonte terra terra terra terrra - duas malhas gnd

Nao ligue nada no terra da fonte antes do 7805.
Use trilhas grossas para isso.

Edson
EDSONCAN
Word
 
Mensagens: 876
Registrado em: 11 Out 2006 14:11

Mensagempor Maurício » 17 Ago 2007 15:41

Não dá pra usar a referência interna ( 2,56V )??

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor microeletronica » 22 Ago 2007 00:31

A variacao d corrente no 7805 faz com que a tensao altere.
Procure fazer a divisao das alimentacoes, como comentado acima.

O que esta aontecendo em seu circuito eh normal... Pode utilizar uma referencia externa de tensao, por exemplo...

O que acha?
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor RobL » 26 Ago 2007 17:46

O mais importante, nestes casos é não trocar de estado nenhum dos pinos dessa porta, que estão como saída, no momento que será colhetada a tensão para o ADC.

Em casos extremos, usar o método reduction noise, o qual pára o clock para ler a tensão na porta do ADC.

Os ADCs dos novos chips Atmel e seus recursos estão muito bons.

Em chips mais novos, exemplo ATmega 48,88,168, tem como melhorar isso acentuadamente. No caso de usar pinos de 0 a 3 deve-se desligar a entrada digital. Já as entradas bits 4,5 são imunes às transições, nos pinos de saída dessa porta, mesmo com transições.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para AVR

Quem está online

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

x