LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Ricardo em 17 de Maio de 2011, 19:10

Título: Arduino Autónomo
Enviado por: Ricardo em 17 de Maio de 2011, 19:10
Boas,

Ultimamente tenho andado a estudar a possibilidade de colocar um arduino “off-grid”, o mais auto-suficiente possível.
Utilizando uma bateria, e uma ou mais fontes de energia renovável, gostaria de ter um arduino a enviar um conjunto de informação via wireless, com um intervalo de tempo razoável.
Essa informação seria então tratada por outro equipamento já ligado à rede (um pc por exemplo).

O primeiro problema que estou a atacar tem a haver com a minimização do consumo do arduino, de forma a maximizar o tempo de vida da bateria, minimizando a capacidade da mesma. Como ponto de partida escolhi 4 pilhas AA recarregáveis como fonte, e coloquei o arduino a enviar um sinal a cada 10 segundos, via rádio.

A escolha das 4AA (em série) derivou de dois factores importantes: como tenciono colocar a alimentação no VIN do arduino (e assim minimizar as perdas como o regulador de tensão), basta-me utilizar um díodo para baixar a tensão das pilhas para uns 4,9v máximos, e assim ter um valor seguro para o arduino. A outra razão prende-se com a utilização de dois painéis solares de 6v em paralelo (mais uma vez com diodos a baixarem a tensão), que para além de alimentarem o arduino quando existe sol, também irão hipoteticamente carregar as pilhas…

Num primeiro teste medi um consumo médio de cerca de 30mA com um pico ocasional de 40 mA aquando o envio de dados. Se as minhas contas não me falham, as pilhas com cerca de 1900mA durariam cerca de 2 dias e meio, o que não é um cenário nada entusiasmante.

Entretanto andei a pesquisar as formas de baixar o consumo do arduino, principalmente quando está a fazer… nada, e descobri alguns modos de o colocar a “hibernar”. Compilei o código e voltei a medir o consumo, desta vez com obtive valores ligeiramente mais baixos, mas ainda assim elevados: 20mA em espera, e os mesmos 40mA quando envia dados.
Devo explicar agora que para enviar os dados, usei um módulo apc220, que se liga aos pinos 0 e 1 do arduino, como se de uma porta série de tratasse. No PC que recebe os dados, está outro módulo igual, mas com um adaptador USB que, mais uma vez, é visto com uma porta série.

Ao ler a datasheet do módulo APC, percebi que só este consome 10mA em escuta, sendo que tem um máximo de 40mA em comunicação. Tem também um pino que quando utilizado permite “desligar” o módulo baixando este valor para uns míseros 0,4mA.

Novo teste e desta vez já obtenho valores mais razoáveis: 9mA e 40mA de pico. Qualquer coisa como 5 dias de autonomia.

Ainda assim continuei a achar o valor no modo “sleep” muito alto, uma vez que quase tudo é desligado! Após mais alguma investigação, li em alguns locais que o arduino (duemilanove), mesmo em modo “sleep” consome energia com uma alimentação constante chip ftd232 (qualquer coisa a haver como o ruído), para além do led de “presença”…

Resolvi radicalizar a “coisa”, e em vez de um arduino, utilizei uma espécie de breaduino, apenas com o atmega328, 1 cristal e 2 condensadores.

Resultado: 0,7 mA em modo sleep, consumindo os mesmo 40mA nos picos a cada 10 segundos. Com esta versão deverei conseguir cerca de 25 dias de bateria.

Ora, utilizando uma fonte de energia renovável, por exemplo a energia solar, consigo pelo menos 7 ou 8 horas por dia de poupança da bateria, e com alguma sorte, ainda dará para carregar as pilhas, mesmo que numa percentagem pequena.

Se o resultado final (nesta fase) for 2 meses de autonomia, já me parece bastante motivador. 

Alguém tem mais sugestões?


P.S.-> Assim que possível coloco esquemas, fotos e código.
Título: Re: Arduino Autónomo
Enviado por: senso em 17 de Maio de 2011, 19:23
Podes sempre usar o oscilador interno a 8Mhz, e usar uma alimentação de 3.6v, assim vai gastar ainda menos, não podes carregar as baterias assim á toa simplesmente ligadas aos paineis solares.
Título: Re: Arduino Autónomo
Enviado por: jorge_rc em 17 de Maio de 2011, 21:18
Nao esquecer que as pilhas, mesmo paradas, vao sempre descarregando... portanto essa autonomia vai ser sempre menor... Para reduzir isso, nada melhor que uma lipo.. o preço é praticamente o mesmo e praticamente nao descarrega.

Título: Re: Arduino Autónomo
Enviado por: Ricardo em 17 de Maio de 2011, 23:20
Podes sempre usar o oscilador interno a 8Mhz, e usar uma alimentação de 3.6v, assim vai gastar ainda menos, (...)
Pelo que li, o módulo apc também tem um intervalo de funcionamento entre os 3.5 e os 5.5v, portanto essa ideia poderá resultar, mas se entretanto quiser juntar outros módulos menos tolerantes em relação à tensão, já terei mais problemas, certo?

(...)não podes carregar as baterias assim á toa simplesmente ligadas aos paineis solares.
Confesso que está em teste isso mesmo, uma ligação à toa! ;) Eu ainda andei a pesquisar sobre o assunto, mas o unico exemplo que consegui encontrar mais perceptivel ( e aparentemente funcional) foi do site http://www.instructables.com/id/Self-Sufficient-Arduino-Board/#step1 (http://www.instructables.com/id/Self-Sufficient-Arduino-Board/#step1)
Apenas adaptei para paneis de 6v e pilha de 5v. A verdade é que tem estado pouco sol, mas durante a tarde a tensão de entrada aumenta ligeiramente, e assim que o sol desaparece,  fica a ideia de que as pilhas carregaram um bocadinho... pode é não dar grande vida às mesmas, mas para já não se nota (apenas 2 dias de teste...)

Nao esquecer que as pilhas, mesmo paradas, vao sempre descarregando... portanto essa autonomia vai ser sempre menor... Para reduzir isso, nada melhor que uma lipo.. o preço é praticamente o mesmo e praticamente nao descarrega.
Eu pensei nisso e até tenho aqui em casa lipos de 3,7 e 7,4... mas o problema é a extrema complexidade do processo de carregamento, o que tirava essa possivel vantagem da equação. Mas não excluo essa hipotese.
Uma coisa que entretanto descobri na net enquanto estava a montar um sistema para monitorizar a carga das baterias foi o “secretvoltimeter” (https://code.google.com/p/tinkerit/wiki/SecretVoltmeter (https://code.google.com/p/tinkerit/wiki/SecretVoltmeter)) e aparentemente funciona, sendo um dos dados que o arduino envia e que me permite ter um ideia do consumo ao longo do tempo.
Título: Re: Arduino Autónomo
Enviado por: SJD22 em 17 de Maio de 2011, 23:59
Tens aqui: http://www.sparkfun.com/products/10161 (http://www.sparkfun.com/products/10161) um circuito muito fácil para carregar Lipos de 1 celula.

Título: Re: Arduino Autónomo
Enviado por: n@Net em 18 de Maio de 2011, 21:16
Entusiasmante!
Bastante interessado em ver os resultados, força nas canetas!!!
Cumps desde Burgos, Castilla Leon.
Título: Re: Arduino Autónomo
Enviado por: Ricardo em 23 de Maio de 2011, 22:55
Boas,

Antes de conseguir organizar melhor este projecto, deixo aqui algumas imagens do que está em testes neste momento.

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1110222.jpg&hash=72a4371550e0252c409aa9f1b00dd735ed355253)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.iznogud.com%2Fimagens%2FP1110223.jpg&hash=b3d5a26524ad449b6264d1ad386498de2358d135)

E um site (que não garanto que esteja sempre on-line) onde vou monitorizando o estado das baterias.

http://79.168.109.6/flash_chart (http://79.168.109.6/flash_chart)

Embora ainda só tenha um dia e meio de informação, dá para perceber que um bom dia de exposição ao sol compensa a energia consumida no "escuro".
Também se nota a mudança de localização dos paineis solares do primeiro para o segundo dia, e o impacto que isso teve no sistema.

Título: Re: Arduino Autónomo
Enviado por: kast em 23 de Maio de 2011, 23:20
Oi

Podias era explicar como é que fazes para manter esse site.
Preciso de fazer um parecido.
Se me deres umas luzes já ajudava bastante.
Título: Re: Arduino Autónomo
Enviado por: andre_f_carvalho em 23 de Maio de 2011, 23:33
pensso que seja isto que queiras http://79.168.109.6/home/default.aspx?gotodefault=true (http://79.168.109.6/home/default.aspx?gotodefault=true)
Título: Re: Arduino Autónomo
Enviado por: kast em 23 de Maio de 2011, 23:39
Windows Home Server Web Site ????
Título: Re: Arduino Autónomo
Enviado por: andre_f_carvalho em 23 de Maio de 2011, 23:42
Windows Home Server Web Site ??? ?

penso que sim, eu so apaguei o que ele tinha  a frente do ip do link que ele mandou dai ser isto, mas so ele te podera dar certezas, mas n ade fugir muito deste link xP
Título: Re: Arduino Autónomo
Enviado por: kast em 23 de Maio de 2011, 23:46
Pois ...
Eu preciso é de saber o resto.... servidor tenho outro ....
Título: Re: Arduino Autónomo
Enviado por: andre_f_carvalho em 23 de Maio de 2011, 23:51
Pois ...
Eu preciso é de saber o resto.... servidor tenho outro ....

ah  8)
Título: Re: Arduino Autónomo
Enviado por: Ricardo em 24 de Maio de 2011, 10:25
Pois ...
Eu preciso é de saber o resto.... servidor tenho outro ....

ah  8)

Boas!

O site está realmente num servidor WHS que tenho em casa, e que está visivel (de vez em quando) do exterior.
A site está em aspx, e o gráfico é em javascript. Tenho uma pequena aplicação a correr por trás que recebe a comunicação da porta com (com o apc220) e escreve na base de dados (também no servidor) editando dinamicamente o conteúdo do script.

No futuro tenciono colocar o site num servidor público dedicado, mas para já fica assim.
Título: Re: Arduino Autónomo
Enviado por: kast em 24 de Maio de 2011, 15:19
Pois ... tenho base de dados no servidor e até consigo fazer o software para receber os dados via serial. Mas o problema é mm fazer o grafico.
Tiraste isso de algum lado ou fizeste de raiz ?
Título: Re: Arduino Autónomo
Enviado por: Ricardo em 25 de Maio de 2011, 23:05
Pois ... tenho base de dados no servidor e até consigo fazer o software para receber os dados via serial. Mas o problema é mm fazer o grafico.
Tiraste isso de algum lado ou fizeste de raiz ?

Desculpa a demora da resposta!

O gráfico, como te disse, é um script gratuito que fui buscar à net (www.jscharts.com (http://www.jscharts.com)), e que chamo com uma pagina aspx que controi os dados dinamicamente, de 15 em 15 minutos.

Não é nada de muito complicado, e tem estado a funcionar muito bem nos ultimos...3 dias!

Se precisares de alguma ajuda no código, diz.