Go Down

Topic: Arduino + bateria + RF 433MHz: Modos de economia de energia AVR? (Read 92 times) previous topic - next topic

Osias Neto

Olá,

sei que tem muito conteúdo na internet sobre os modos de economia AVR, mas meu caso é um pouco diferente do usual, por isso decidi abrir o tópico aqui.

Q: Como posso poupar energia sem por o Arduino para dormir? Sei que terei que usar a lib AVR/power.h, mas não achei exemplos de código.

Outra coisa, os códigos que vi na internet põe o Arduino para dormir mas creio que não é meu caso, pois preciso estar pronto para executar os comandos recebidos via RF a qualquer momento. Isto é correto ou tem como eu lidar com os dados recebidos via VirtualWire acordando o Arduino no momento que o dado chegar?

No meu projeto, já tenho um Arduino ligado à um Ethernet shield executando algumas funções e vou ligar um transmissor RF. Quero ligar um Módulo sem fio (receptor RF) para controlar um motor, que a princípio será para o aquecedor, mas funcionando legal quero expandir para vários módulos em minha casa (cortinas, etc).

HugoPT

Quote
Como posso poupar energia sem por o Arduino para dormir?
Desactivando perifericos que nao usas.(ADC, Brown-out )
Lê isto tem materia boa
http://www.gammon.com.au/forum/?id=11497
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

bubulindo

A biblioteca power.h é para desligar periféricos que não estejas a usar.

Reduzir a energia consumida sem colocar o Arduino pode ser feito desligando periféricos do Arduino que não estejam a ser usados como o ADC, Timers, WDT, etc... Tem também cuidado com o estado dos pinos. Não me lembra exactamente qual é o estado em que consomem menos energia, se em INPUT_PULLUP ou OUTPUT em LOW. Mas existe quem já tenha visto isso na net. Em todo o caso, nunca deixes os pinos a flutuar.

A maneira mais simples de reduzir a energia é reduzindo o clock do Arduino... em vez de teres o Arduino a correr a 16MHz, podes reduzir o clock para 1MHz e aí sim vais poupar imenso. O problema é que algumas bibliotecas do Arduino não funcionarão muito bem.

Dependendo do hardware, colocares o hardware a dormir ou mesmo desligando a alimentação com um transistor é outra possibilidade que pode valer bem a pena.

O virtualwire pode activar uma interrupção num dos pinos do Arduino? Essa é uma das maneiras de o acordar.



Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Osias Neto

O virtualwire pode activar uma interrupção num dos pinos do Arduino? Essa é uma das maneiras de o acordar.

Não sei se seria possível pois o receptor RF recebe uma infinidade de ruído do ar, pelo que entendi do funcionamento quem filtra isso é o sofware.

Quanto à desativar periféricos, a única coisa que tenho que fazer é adicionar a linha no código?

ex.:

Code: [Select]
power_adc_disable();
power_usart0_disable();
power_twi_disable();


--

Desactivando perifericos que nao usas.(ADC, Brown-out )
Lê isto tem materia boa
http://www.gammon.com.au/forum/?id=11497

Você sempre arranja ótimos links  :)
vou ler todo este artigo que parece bem completo, obrigado

HugoPT

Quote
Você sempre arranja ótimos links  :)
vou ler todo este artigo que parece bem completo, obrigado
Até te recomendo leres todos os artigos do Nick ja que ele tem excelentes tuturiais que todos os membros deviam ler.Para alem de ele ser um optimo membro deste forum a informaçao por ele disponiblizada é de uma optima qualidade.
Bons estudos
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Go Up