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.
############################################################################
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por