LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: tarquinio em 20 de Julho de 2014, 16:09

Título: Problemas com leituras de AnalogRead
Enviado por: tarquinio em 20 de Julho de 2014, 16:09
Boas. Ando aqui com mais um problema, desta vez a tentar fazer leituras analogicas do valor de uma bateria.
O meu circuito consiste numa unica bateria AA recarregável, com um step-up switch a alimentar um "arduino" feito por mim. Ligado ao arduino tenho um LED RGB e um módulo nRF24L01.
Lembrei-me que seria útil ter um medidor de bateria, mesmo que não tivesse grande precisão, e sendo assim experimentei ligar a pilha a uma entrada analógica.

Corre tudo bem quando tenho apenas o LED ligado, mas quando tenho o nRF24L01 ligado as leituras ficam cheias de ruído. As duas imagens que tenho em anexo mostram leituras da bateria minuto a minuto. O gráfico mais caótico mostra os valores lidos com tudo sempre ligado. O gráfico mais certinho mostra os valores com o rádio ligado 99% do tempo, mas desligo-o sempre uns millisegundos antes de fazer a leitura, e volto a ligar logo a seguir. Já tentei com várias pilhas e anda sempre à volta do mesmo.

É normal haver assim este tipo de ruído? E tenho maneira de o filtrar? Já tentei com vários condensadores, mas a coisa não adianta muito...
Título: Re: Problemas com leituras de AnalogRead
Enviado por: CBX em 20 de Julho de 2014, 16:12
quando o nrf transmite ou recebe dados necessita de mais corrente e esse ruído talvez seja o step up a "puxar" mais corrente da pilha do que o que ela consegue fornecer
Título: Re: Problemas com leituras de AnalogRead
Enviado por: Njay em 20 de Julho de 2014, 16:20
O nRF deve consumir uns picos de corrente que fazem a tensão da bateria vir abaixo (verias bem isso num osciloscópio). Como a leitura do ADC é num espaço muito curto de tempo, apanhas esses "baixos" de tensão e ficas com um gráfico assim. Para a aplicação que queres terás que filtrar bastante, podes ter ajuda de um filtro RC com um condensador maiorzeco (1uF) e depois em software fazer um bloco de várias leituras espaçadas no tempo e calcular a média delas, ou ir calculando a média (leitura = (leitura_actual + leitura_anterior) / 2) a cada leitura que fazes.

Também podes experimentar (mais) um condensador junto à entrada de alimentação do nRF ou do conversor boost, para que ele não "afecte" tanto a pilha. A tensão da pilha baixar tanto (1.2 para 0.8 ) é sinal de que, assumindo que o decoupling está bem feito, estás a pedir demasiado à pilha.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: tarquinio em 20 de Julho de 2014, 16:23
Sim eu já tenho visto que o nrf tem mais problemas com ruído que outros módulos, ao início até tive de andar um bocado a experimentar com vários valores de condensadores para que a recepção funcionasse bem. Este teste até foi feito com um condensador de 1000uF, deveria de conseguir aguentar com eventuais picos que fossem necessários... Este circuito puxa uns 30mA a 3.3V, o que vai dar uns 100mA a 1.2-1.3V, a pilha deveria aguentar bem isso não?
Infelizmente não tenho osciloscópio que permita fazer medições a estas frequencias... :s
Título: Re: Problemas com leituras de AnalogRead
Enviado por: senso em 20 de Julho de 2014, 16:26
Demasiado grande para essas frequencias, o que tu queres é para ai 1uF ceramico em SMD nos pinos de alimentação..
Título: Re: Problemas com leituras de AnalogRead
Enviado por: tarquinio em 20 de Julho de 2014, 16:34
Bem tecnicamente até tenho vários... Tenho 1000uF e 1uF Electrolíticos, e 100nF ceâmico. Sinceramente nunca fiz muitas contas com condensadores. Os cerâmicos reagem mais depressa que os electrolíticos?
@senso: "o que tu queres é para ai 1uF ceramico em SMD nos pinos de alimentação.." estas a falar dos pinos de alimentação do nrf certo?
Título: Re: Problemas com leituras de AnalogRead
Enviado por: senso em 20 de Julho de 2014, 16:42
Sim, isso tem a ver com a inductancia das patas e das pistas, de que te vale 1000uF se depois tens pelo menos 10nH de inductancia por cada 10mm de espaçamento entre as patas, fora as patas, e as pistas.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: tarquinio em 20 de Julho de 2014, 17:50
Bom esta semana vou tar de férias mas prá semana lá terei de comprar mais uns condensadores então para fazer mais testes :) Tenho aqui condensadores soldados directamentes ao nrf mas n são smd, e ainda tem patas grandes, vou tentar arranjar um smd e soldar directamente aos pinos.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: Kristey em 21 de Julho de 2014, 12:01
Sim, isso tem a ver com a inductancia das patas e das pistas, de que te vale 1000uF se depois tens pelo menos 10nH de inductancia por cada 10mm de espaçamento entre as patas, fora as patas, e as pistas.
Estou a ver que a vantagem dos SMD é do "solding ball", nao é meramente espaço...
A que frequencias é que começa a ser importante considerar este tipo de problema?
Título: Re: Problemas com leituras de AnalogRead
Enviado por: senso em 21 de Julho de 2014, 12:13
O quê?
Ruideira derivada de mau decoupling/efeitos de indutância, capacidade e resistência de uma pista?
Depende de muita coisa.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: msr em 21 de Julho de 2014, 12:50
Um bocado "overkill" mas na sequência do tema "pistas/resistências que viram bobines a alta frequência". Um bom livro: http://www.amazon.com/High-Speed-Digital-Design-Handbook/dp/0133957241 (http://www.amazon.com/High-Speed-Digital-Design-Handbook/dp/0133957241)
Título: Re: Problemas com leituras de AnalogRead
Enviado por: senso em 21 de Julho de 2014, 12:51
By Mr. Howard Johnson, na minha lista de want to buy á uns 2 anos..
E depois ainda tens o segundo livro:
http://www.amazon.com/High-Speed-Signal-Propagation-Advanced/dp/013084408X/ref=pd_sim_b_1?ie=UTF8&refRID=0T7WWE15GKKJH8DSRW9W (http://www.amazon.com/High-Speed-Signal-Propagation-Advanced/dp/013084408X/ref=pd_sim_b_1?ie=UTF8&refRID=0T7WWE15GKKJH8DSRW9W)

Se bem que tambem existe umas App Notes brutais sobre o assunto, mais viradas a op-amps, mas com a mesma base, conceito, explicação e aplicação final.
Tenho de ir procurar o que aqui tenho e deixar uns links.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: senso em 21 de Julho de 2014, 13:57
Em vez de deixar aqui uma duzia de links para app-notes, deixo um link para mais um site de audio mais virado para a realidade que para a banha de cobra, aconselho a ler, re-ler, ler todos os links ai deixados e depois pensar sobre o assunto:
http://groupdiy.com/index.php?topic=37307.0 (http://groupdiy.com/index.php?topic=37307.0)
Título: Re: Problemas com leituras de AnalogRead
Enviado por: Njay em 21 de Julho de 2014, 18:02
Este livro cobre bem o básico e é gratuito:

http://www.ivorcatt.org/digital-hardware-design.htm (http://www.ivorcatt.org/digital-hardware-design.htm)

E sim, é de 1979, mas está mais que actual para o que vocês possam querer fazer com arduinos ;) e não só.
Título: Re: Problemas com leituras de AnalogRead
Enviado por: Kristey em 31 de Julho de 2014, 14:17
Este livro cobre bem o básico e é gratuito:

http://www.ivorcatt.org/digital-hardware-design.htm (http://www.ivorcatt.org/digital-hardware-design.htm)

E sim, é de 1979, mas está mais que actual para o que vocês possam querer fazer com arduinos ;) e não só.
Obrigado Njay
Título: Re: Problemas com leituras de AnalogRead
Enviado por: tarquinio em 31 de Julho de 2014, 14:47
Fixe obrigado já temos aqui muitos links para ler :)