Pessoal, estou pesquisando um projeto onde o microcontrolador vai despertar de 10 em 10 minutos durante aproximadamente 1 segundo e depois volta para o modo sleep, pois o meu foco é economizar bateria. Tudo que persquisei sobre interrupção e timer me leva a um circuito externo (talvez com o 555) para acionar a interrupcão. Eu não gostaria de usar um circuito externo exatamente por conta do consumo. Alguém sabe como configurar o timer para a interrupção ser acionada no periodo que eu preciso? Não achei nada na internet sobre isso.

Em principio estou pensando em usar o Attyni85 para ganhar um pouco mais de economia de energia.

Agradeço qualquer palpite,

Zé Roberto

Exibições: 199

Responder esta

Respostas a este tópico

Bom dia J2R,

veja se este link ajuda.

http://donalmorrissey.blogspot.com/2011/11/sleeping-arduino-part-4-...

Aparentenemente ele está escrito para Atmega168, mas não deve ser complicado modifica-lo para Attiny85.

RV

Caro Rui, bom dia!

Muito bom o artigo. Nele descobri que o tempo máximo de sleep é 8s usando o watchdog. Ou seja, ou eu uso um relógio externo ou implemento um contador no software para que enquanto não atingir o valor 75 (60s/8s*10m) ele não execute a função. Devo ter algum aumento de consumo nisso, mas creio que seja irrisório. Será que estou pensando corretamente?

Boa tarde J2R, 

acho que vc está certo sim.

Cada dormida dura no máximo 8 segundos, mas ao acordar e incrementar um registador 

até completar 10 minutos (600 segundos),  ( 75 acordadas), acho que ainda assim o

consumo será minimo.

Acredito que será bem menor do que usar um relógio externo.

RV

Uma sugestão Jose roberto,

  No livro ARDUINO II,  SKETCHS AVANÇADOS COM ARDUINO,  existe um capitulo todo voltado a esse tema.

Opa Weider, obrigado. 

Vou comprar o livro. Parece que tem em e-book também.

Zé Roberto

Siga no caminho do sleep, wake, sleep. É o melhor caminho.
Mas gostaria de complementar que se fosse para usar o 555 te recomendaria trocar pelo CD4060.
O CD4060 é um contador (primo do CD4040) que tem dentro dele um oscilador simples mas eficiente.
Para tempos maiores é o ideal.
Vc por ex pode por ele para oscilar em 1KHz (fica um capacitor pequeno) e dividir isso por 8192.
Gerando 8s.
Para usar o 555 em tempos grandes é terrivel. Os caps eletroliticos são imprecisos, grandes e variam muito com a temperatura.
Ref:
https://www.coolcircuit.com/timer-4060/

Eduardo, 

Também penso assim. Já fiz um teste e o consumo praticamente não mudou. O Attyni85 consome 350 uA em modo sleep e 12 mA em modo wake. Eu estimei que no total ele ficará no máximo  5s/hora em wake e o resto do tempo em sleep. Neste caso, duas baterias de 3.3V - 6 Ah em paralelo, deve durar pelo menos 3 anos.

Obrigado pela atenção.

Zé Roberto 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço