Pessoal bom dia/tarde/noite kkkkkkkk

Estou desenvolvendo uma aplicação bem simples para leitura através de sensores de temperatura e umidade. Como tenho algum conhecimento (pouco) em eletrônica e programação, sei que obter esses dados a cada 5 segundos com um Arduino (ATMega328P-AU) rodando a 16 MHz, precisando de componentes externos (cristal e capacitores), gastando uma energia desnecessária, é como matar um mosquito com uma bala de canhão kkkkkkkk

Para isso, dei uma pesquisada e consegui fazer com que o microcontrolador trabalhasse a uma frequência de 8 MHz, conforme tutorial abaixo:

Arduino 8 MHz

Agora, a pergunta é: Utilizando o microcontrolador ATMega328P é possível fazê-lo trabalhar a uma frequência de 1 MHz ? Pois de acordo com o datasheet do microcontrolador, o consumo de corrente seria aproximadamente 1,6% do necessário para manter o mesmo chip ativo em 16 MHz. E além disso, tenho a intenção de rodar toda a aplicação (uC + sensores) com uma bateria de relógio comum de 3.0 V.


Alguém já rodou a 1 MHz ou leu algo que possa me ajudar ?

Desde já, valeu galera :)

############################################################################

Pessoal, depois de muito trabalho, descobri o imenso passo a passo pra escrevermos um bootloader novo para o Arduino (ou melhor, para o ATMega328P). Como contribuição, deixo um .pdf disponível Construindo um Bootloader – 1 e 8 MHz [ATMega328P] . 

Usem e abusem do conteúdo, pois foi um parto acertar todos os detalhes técnicos (que ainda faltam alguns, então revisões virão \o/)

Obrigado aos amigos que me ajudaram a garimpar os pensamentos pra resolver este problema.

Grande abraço.

############################################################################

Exibições: 1675

Responder esta

Respostas a este tópico

Eduardo

Realmente tinha me esquecido desta funcionalidade kkkkkkkk 

Seria perfeito implementá-la em meu projeto, mas gostaria de minimizar ao máximo o consumo da aplicação, inclusive reduzindo a tensão necessária para trabalho do uC, visto que usarei uma bateria de relógio.

De qualquer forma, estudarei também esta possibilidade e analisarei o consumo do sistema para ver se é viável, e por quanto tempo a bateria irá aguentar. 

Muito obrigado pela resposta e pelas recomendações :)

Lembrando tb que por ex no gráfico, arredondando, se para 3.3V 1MHz ele consome 0,5mA e em 8MHz ele consome 2mA e vc for utilizar o sistema de sleep nos dois casos o consumo é maior para 1MHz, já que em 1MHz ele precisa ficar 8x mais tempo ligado para fazer a mesma tarefa.

Tem que estudar direito os pros e os contra de cada caso.

Ainda, sobre gravar um bootloader especial e tal... Dificil por difícil recomendo partir para um gravador:

https://www.google.com.br/search?q=icsp+arduino&biw=1545&bi...

Vc liga na usb do seu micro e direto no conector isp do Arduino. Só cuide para que veja com conector (ou adaptador) para 6 pinos. Alguns vem com mais pinos e exigem gambiarras.

Vou fazer alguns testes aqui depois eu posto os resultados, mas somente amanhã.

Abs

Mauricio Ortega 

Pessoal que ajudou comentando e dando dicas de como fazer o ATMega328P rodar a 1 MHz:

Consegui resolver esta questão, e o ATMega328P rodou sem problemas a 1MHz, inclusive enviando dados pela Serial, o que eu achei que seria um problema.

Como faz parte de um projeto da faculdade e o Arduino é de domínio público, em breve (assim que terminarem as provas kkkk) farei um tutorial explicando todo o roteiro para escrever bootloaders de 8MHz e 1MHz, e também as análises de consumo de corrente que fiz (bem primárias)

De pronto, deixo as referências de sites que encontrei e que foram recomendados pelos amigos aqui do LAB, pois foram através deles que consegui fazer :)

How to change fuse bits of AVR Atmega328p - 8bit microcontroller us...

How to setup an Arduino @ 1.8V & 1MHz using internal resonator

Agradeço imensamente a ajuda de vocês \o/

Grande abraço

Boa tarde Osvaldo,

Segue um vídeo de como eu configurei o arduino para 1MHZ.

Abs

Maurício, ficou MUITO fera o vídeo.

Eu tinha feito este processo mas não com essas ferramentas e facilidades kkkkkkkk fiz um pouco mais na raça. 

Novamente, valeu pelas dicas e agora valeu pelo vídeo. Em breve também disponibilizarei algo sobre.

Abraços

Pessoal, depois de muito trabalho, descobri o imenso passo a passo pra escrevermos um bootloader novo para o Arduino (ou melhor, para o ATMega328P). Como contribuição, deixo um .pdf disponível Construindo um Bootloader – 1 e 8 MHz [ATMega328P] . 

Usem e abusem do conteúdo, pois foi um parto acertar todos os detalhes técnicos (que ainda faltam alguns, então revisões virão \o/)

Obrigado aos amigos que me ajudaram a garimpar os pensamentos pra resolver este problema.

Grande abraço.

Osvaldo ficou excelente !

Parabéns e muito obrigado por compartilhar. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço