[AVISO IMPORTANTE] Descoberta de nova classe de Arduino DIP

Olá Pessoal,

     A presente noticia talvez não seja tão importante aos usuários basicos,  mas para a galera que desenvolve suas proprias placas, deve cair como uma bomba.

    

     ARDUINO STANDALONE COM CI ATMEGA328 DIP, FUNCIONANDO EM 3.3V 8MHz com CRYSTAL.

    Ai talvez alguem por ai vai dizer: E dai? não já tem o chamado ARDUINO MINIMO ( veja ***AQUI***) que funciona a 3.3v?,  e utiliza chip DIP ?    a resposta é sim,  mas o arduino minimo não se utiliza de cristal, logo, só serve pra fazer piscar led e muito mal,  não serve para usos profissionais.

   O que foi "descoberto" é uma classe de arduino DIP profissional, totalmente funcional, que roda em 3.3v. com cristal

    E pra que serviria isso?

     Pense que você deseja fazer comunicações utilizando algum radio como xbee ou NRF, ou ESP8266, todos eles trabalham em 3.3v,  porem, os arduinos trabalham em 5v.   dai você tem que utilizar reguladores de tensão,  ou então compra um Arduino Pro mini 3.3v 8Mhz que nem sempre é facil de achar.

    Ou seja, se você desejar trabalhar com qualquer periferico que utiliza somente 3.3v você tem que fazer a conversão de tensão do arduino.

    Fora isso tem a questão do consumo, que reguladores provocam,  logo, se você for trabalhar com bateria,  então a solucao esta aqui.

    E como é feito essa maravilha?

     O truque trata-se e pegar um CI ATMEGA328 DIP, e fazer a montagem para gravação de bootloader, no meu caso eu criei um shield especial pra isso.

     Grava no arduino principal como arduino uno, o sketch ARDUINO ISP.

     Em seguida o grande truque...

     Escolha a opção  Arduino Pro mini 3.3v 8Mhz ,  dai você vai perguntar:  mas isso não é só pra o uso com o CI SMD ?     a resposta é que descobri que não?  o bootloader serve pra o CI DIP tambem.

    

      Agora as questões a serem observadas:

    PRIMEIRO - Não esqueça na hora de montar seu STANDALONE que devera utilizar cristal de 8Mhz e não o de 16mhz senão da problemas.

    SEGUNDO -  Para carregar os sketchs utilize um adaptador FTDI de 3.3v,  se você utilizar em 5v podera ter problemas.

    TERCEIRO -  como ele estara configurado para trabalhar com os 3.3v não ultrapasse essa tensao, senão vai ter problemas.

     Pronto, agora você podera ter um arduino completo e funcional,  funcionando a pilhas.

     Legal não !

 

Exibições: 967

Responder esta

Respostas a este tópico

Mas já existe um tópico aqui falando sobre isso.

http://labdegaragem.com/forum/topics/arduino-em-baixa-frequ-ncia-1-...

Agora a questão de utilizar o clock interno, ele tem o problema do desvio de tempo, então qualquer operação que utilize TIMER ou até mesmo a UART podem sofrer com a instabilidade do clock. 

Olá flavio Hernan,

   Vejo que voce nao deve ter lido direito o topico.

   Como citado pelo Osvaldo Neto no topico que voce listou,  escrever um bootloader é muito foda, exige estudo, leitura.

    Eu fiquei um tempao fazendo isso,  escrevi uns 3 modelos de bootloader.

    A grande questao e que por mais que voce tenha lido, nao da pra ter certeza a nao ser a custa de muito teste, os efeitos colaterais de estar mexendo nos fuse bits dos atmegas.

    Dai a questao do que coloco como uma grande descoberta é que o bootloader do arduino pro mini em 3.3v 8mhz já e algo pronto, que foi construido pelos criadores do arduino,  testado a exaustao.

    Logo o que eu nao encontrei ninguem tentando foi colocar isso em um CI DIP,  visto que existe um numero muito maior de pessoas prototipando em DIP do que em SMD.

    Logo, alem desse topico que voce citou, tem varios outros sim,  inclusive um que eu mesmo iniciei a tempos atras,  porem, o que quero dizer aqui é  ACHEI ALGO PRONTO, ACABADO E FUNCIONANDO E QUE TA NA NOSSA CARA.

    Botar o arduino pra rodar em 1mhz, 8mhz etc, é algo que se encontra,  agora tente pegar isso e meter um periferico como um radio e fazer eles se comunicarem com seu bootloader,  em geral ele começa a dar falhas.

   Usando o bootloader do pro mini,  tudo roda perfeito,  ate o teste que fiz com o NRF24L01 que costuma ter altas perdas de pacote usando o arduino UNO, usando esse metodo tem as perdas diminuidas dastricamente,  ou seja, funciona melhor com essa adaptacao do que com o arduino genuino.

   

usei uma vez o atmega328P sem o bootloader usei a ide do arduino pra programar e gerar um arquivo .Hex que gravei no atmega cusando o gravador USBasp com o software AVR extreme burn...porem aparentemente ele so usava oscilado interno pois os delay ficavam errados, por exemplo delay de 1000ms demorava 10 segundos, e quando eu removia o cristal oscilador (externo) o programa continuava rodando so que com esse problema do delay. de tanto tentar arrumar esse problea acabei travando o atmega e ele ja nao aceita ser gravado, sempre da erro...Alguem saberia como posso ta arrumando esse problema dos delays?

Olá, esse problema de "travar" ou o atmega "morrer", está relacionado aos fuse bits, é através dele que você seleciona o tipo de clock, que pode ser interno, externo por cristal ou por apenas um pino. Logo sem fonte de clock o Atmega não funciona.

Mas também é possível "travar" o atmega,  se for desabilitado o pino de reset ou o modo de gravação serial, que é usada pela maioria dos gravadores, inclusive o USBASP.

Os delays estão relacionados com a fonte de clock, se você não configurou corretamente os fuses, a IDE do Arduino vai gerar um código para 16MHz  UNO, ou 8MHz para o Pro MINI, por exemplo.

Lembro que o padrão (quando sai de fabrica) para o clock interno é de 1MHz.

Voce saberia como configurar os fuses para usar um cristal externo de 16MHZ e qual software uso para fazer a configuracao. Estou usando a ide do arduino pra programar e u gravador USBasp para carregar o codigo .HEX como auxilio do Extreme Burner - AVR.

Olá Ailton

Vou falar do modo mais fácil possível, use a IDE para gravar o bootloader,  no processo de gravação os fuse bits são configurados automaticamente.

Tools -> Board: (escolha sua placa por exemplo Arduino Uno)

Depois;

Tools -> Programmer: (escolha o seu gravador USBASP)

Por ultimo

Tools -> BurnBootloader

Espere alguns minutos.

Certifique-se de ligar corretamente o seu programador ao Arduino.

Mas existe o modo por linha de comando, esse modo é recomendado quando você tem certeza do que está fazendo.

Se for só um tuto para tentar recolocar o bootloader tá ...

***** AQUI ****

Uma dica, no arquivo ARDUINO ISP ele sugere o uso de alguns leds em alguns pinos, eu fiz um shield baseado nas descrições e ficou bem legal.

  Mas acho que o tópico fugiu ao objetivo.

   A ideia é divulgar justamente que dá pra gravar o bootloader de um arduino PRO mini 3.3v não apenas em uma montagem SMD mas em uma montagem DIP também.

Ailton, 

Abra outro tópico, caso ainda tenha dúvida.

Até mais.

Minhas duvidas ja foram resolvidas. Obrigado a todos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço