Ir ao conteúdo
  • Cadastre-se

Estabilizar leitura de ADC


LEOPUENA

Posts recomendados

Oi pessoal,,,,

Estou com esse problema já há muito tempo, e até agora não consigo resolver. Quando faço uso dos ADC do PIC tenho sempre problemas de estabilidade. Por exemplo ao fazer um termometro a temperatura fica a variar + ou - 5º, o que é muito!! O caso mais recente é o de um amperimetro usando o ACS712, tentei varias formas mas não consegui fixar a corrente num unico valor.

No proteus tudo funciona perfeitamente, tudo começa quando passo pra proto. Creio que não seja erro no programa, até porque alguns deles foram sugeridos aqui mesmo no CDH.

????? Alguem tem alguma sugestão ?????

Obs: Todos esses circuitos foram feitos usando o CCS, com varios PICs diferentes (16F e 18F)

Link para o comentário
Compartilhar em outros sites

Ok :cool: resolveu o problema.

O amperimetro estava com uma variação acima 1A. Usando essa técnica a variação passou pra + ou - 0.03A. Sendo a leitura maxima = 30A essa variação por agora é aceitavel.

De momento não tenho como testar o termómetro. Assim que tiver o LM35 vou testar com essa técnica, e levando em conta a dica do neto_e_khelen que tambem ja vi em alguns topicos.

Valeu pela ajuda vtrx.

Mas antes de fechar..... há alguma forma de resolver o problema da leitura por hardware???

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
Ok :cool: resolveu o problema.

O amperimetro estava com uma variação acima 1A. Usando essa técnica a variação passou pra + ou - 0.03A. Sendo a leitura maxima = 30A essa variação por agora é aceitavel.

De momento não tenho como testar o termómetro. Assim que tiver o LM35 vou testar com essa técnica, e levando em conta a dica do neto_e_khelen que tambem ja vi em alguns topicos.

Valeu pela ajuda vtrx.

Mas antes de fechar..... há alguma forma de resolver o problema da leitura por hardware???

E ae Leo.. estou fazendo um circuito para leitura de corrente também utilizando o acs712 30...você poderia passar o seu circuito no proteus e algumas dicas para eu ter uma precisao..

Valeu brigadao

Link para o comentário
Compartilhar em outros sites

Complementando,

Mesmo fazendo as médias, se existir algum mínimo ruído, será capturado pelo conversor, e fará que existam sempre pequenas leituras estranhas.

Sempre tem de caprichar no aterramento da parte analógica do microcontrolador, evitando loops de correntes nele, e se possível, ligar o terra e o sinal dos sensores o mais próximo possível do microcontrolador.

Isto exige um lay-out cuidado e separação dos terras analógicos e digitais dos microcontroladores.

Por exemplo, usando conversão normal de 10 bits, com 5v máximo, temos menos de 5 milivolts de resolução, e se realmente quisermos obter uma leitura muito estável, temos de garantir que o ruído sobreposto ao sinal do sensor seja inferior a 5 milivolts, o que é bem difícil de se fazer, pois exige técnicas de blindagem e aterramento muito eficientes. Caso isso não seja possível, diminua os bits válidos para 9 ou até mesmo 8 bits, ajuda muito em diminuir a sensibilidade aos ruídos, porém implicando em uma menor resolução.

Paulo

Link para o comentário
Compartilhar em outros sites

Sempre tem de caprichar no aterramento da parte analógica do microcontrolador, evitando loops de correntes nele, e se possível, ligar o terra e o sinal dos sensores o mais próximo possível do microcontrolador.

Isto exige um lay-out cuidado e separação dos terras analógicos e digitais dos microcontroladores.

Não percebi esse aterramento da parte analogica. O microcontrolador tem apenas um terminal GND, certo? Como seria essa separação da parte analogica da digital?

Link para o comentário
Compartilhar em outros sites

Um microcontrolador bem projetado tem o cuidado de ter bem separados os sitemas internos digitais e os sistemas internos analógicos.

Vela o exemplo de um simples ATMEGA8, ele possui do lado esquerdo as alimentações e terra do sistema digital, e no lado direito estão a alimentação e terra da parte responsável por informações analógicas !

Veja : +V DIGITAL = PINO 7 TERRA DIGITAL = PINO 8

+V ANALÓGICO = PINO 20 TERRA ANALÓGICO = PINO 22

Essa separação dos lados é feita justamente para poder facilitar o lay-out, e separar as trilhas de alimentação e terra justamente para que qualquer variação de corrente na parte digital, como um LED aceso por uma porta de i/O, NÃO INFLUA no sistema de referência de terra E de alimentação dos sistemas analógicos, como os conversores A/D e os comparadores analógicos.

Cada família de microcontrolador tem dicas de design específicas para ter mais imunidade a ruídos , na dúvida procure pelos design notes no site do fabricante.

Paulo

post-464954-13884966507715_thumb.gif

Link para o comentário
Compartilhar em outros sites

Se não me engano, voce pode usar também os pinos 4 e 5 para essa finalidade, o pino 4 vai ao terra "analógico" , e o pino 5 ao +V "analógico".

Mas repare que o mesmo princípio do ATMEGA está aí , lado esquerdo do PIC sinal digital e lado direito sinal digital E é a mesma técnica que expliquei no post acima, ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

Leo,

Legal de você reparar, sempre temos de pensar que um CI sempre tem motivos para ser como é..... Alguns possuem dois pios de terra, dois de vcc, quando na verdade não custaria nada interligar esses pinos DENTRO do CI.

O pessoal de Engenharia faz o trabalho direito ao criar um novo CI, se usamos como eles projetaram, é uma coisa totalmente diferente !

Não precisa usar duas fontes, o que pode ser feito è a partir da tensão normal da fonte, isto é, aquela que normalmente ligamos em todos os CI's, Leds, etc, colocamos uma baita filtragem, com indutores, capacitores de filtro e até um pequeno resistor, e assim esta tensão se torna bem independente de pequenas variações na tensão normal.

Quando projetamos o PCB, criamos dois "terras" , claro que ambos são conectados juntos no ponto de menor impedância ( por exemplo, saem diretamente do pino GND do regulador de tensão ), assim usamos o terra analógico apenas nas referências da parte de conversão analógica, e o outro terra vai ao resto de todo o circuito.

A tensão de alimentação extremamente bem filtrada vai apenas alimentar a parte analógica dos conversores a/d , assim a conversão será bem estável.

E o layout tem de levar o sinal dos sensores até a entrada do conversor a/d com aterramentos e blindagens, planos de terra, etc, assim garantimos o menor ruído nas medidas que faremos.

Paulo

Link para o comentário
Compartilhar em outros sites

recomendo usar as tensões de referencia

se não usar os pinos de tensão de referencia, a referencia fica sendo a tensão da alimentação, o que não da boa estabilidades de pendendo da nossa fonte, e isso que causa oscilação nas leituras. Exemplo, você usa o lm35 e faz a regra de 3 com uma tensão de referencia de 5V mas ai conforme oscila sua tensão, a grandes distorções nos valores, pois a tensão de referencia foi perdida

sempre uso so pinos de tensão de referencia, e nunca tive grandes distorções nas leituras, na referencia negativa uso o proprio gnd e na positiva uso uma tensão de referencia coletada de um diodo zener

flowww

Link para o comentário
Compartilhar em outros sites

Para um CAD com 8 bits, a tensão de referência tem que ter a precisão de 1/2 bit menos significativo.

Para uma tensão de referência de 5V, o valor deve estar entre

4,99V e 5,01V. Nem zener tem precisão e a variação com a temperatura não é pequena.

Use o TL431, que tem precisão e é estável.

Se você montou seu circuito em protoboard (matriz de contatos), também não é legal.

Se o seu CAD for de 10 bits, então:

4,9976V <= Vref <= 5,0024

MOR_AL

Link para o comentário
Compartilhar em outros sites

O pessoal de Engenharia faz o trabalho direito ao criar um novo CI, se usamos como eles projetaram, é uma coisa totalmente diferente !

Não precisa usar duas fontes, o que pode ser feito è a partir da tensão normal da fonte, isto é, aquela que normalmente ligamos em todos os CI's, Leds, etc, colocamos uma baita filtragem, com indutores, capacitores de filtro e até um pequeno resistor, e assim esta tensão se torna bem independente de pequenas variações na tensão normal.

....

E o layout tem de levar o sinal dos sensores até a entrada do conversor a/d com aterramentos e blindagens, planos de terra, etc, assim garantimos o menor ruído nas medidas que faremos.

Paulo

Realmente na engenharia nada é por acaso. Nunca havia reparado esses detalhes. Vou fazer os testes usando a tensão de referência e ver como fica o desempenho. O problema é que estou a testar na breadboard e sei que isso prejudica mais ainda.

Use o TL431, que tem precisão e é estável.

Valeu pelas dicas MOR, difícil será encontrar esse regulador.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...