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
-
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.
-
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.
-
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.
-
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.
-
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.
-
Entusiasmante!
Bastante interessado em ver os resultados, força nas canetas!!!
Cumps desde Burgos, Castilla Leon.
-
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.
-
Oi
Podias era explicar como é que fazes para manter esse site.
Preciso de fazer um parecido.
Se me deres umas luzes já ajudava bastante.
-
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)
-
Windows Home Server Web Site ????
-
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
-
Pois ...
Eu preciso é de saber o resto.... servidor tenho outro ....
-
Pois ...
Eu preciso é de saber o resto.... servidor tenho outro ....
ah 8)
-
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.
-
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 ?
-
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.