11 de junho de 2011

Como gravar o Bootloader no Atmega do Arduino

É possível gravar e retirar o microcontrolador Atmega("CI") do seu arduino e por numa protoboar de num projeto final.
Mas é preciso fazer o bootloader para permitir o funcionamento do novo chip no Arduino.  
Para isso vou usar um gravador de AVR Universal.

Drives:


NOTA: Esse tutorial desenvolvido para o Gravador USBtiny. Mas pode ser usado o AVRBASP pois o procedimento de é o mesmo.
Este é o gravador de AVR.
Ele possui uma entrada USB e dois cabos de saída para comunicação ICSP(os seis pinos machos do seu arduino) 
Você precisa instalar os drives deste dispositivo para permitir a comunicação com a porta USB do PC.Baixar Drives

Você vai precisar para essa tarefa microcontroladores virgens, pode ser Atemega 8,Atmega16 ou Atmega328(os modelos usados no Arduino).
Retire cuidadosamente o microcontrolados antigo observando o seu posicionamento.
Há um chanfro indicando um dos lados. Ou basta ver na foto.

Faça movimentos suaves dos dois lados até o bicho sair sem danificar suas pernas.


Após a sua retirada coloque um atmega virgem para queimar o bootloader do Arduino.
Você também pode usar um saca CI para essa tarefa.

Feito isso conecte o cabo USB no PC e em seguida no seu Gravador AVR.
Note que uma Luz de power acende informando o seu correto funcionamento.
Conecte o gravador com o Arduino e observe que a Luz do Arduino e do Gravador AVR estão ativas indicando a correta combinação dos cabos.
Agora é preciso abrir a IDE do Arduino.

Apesar de usar um Arduino UNO, neste caso estamos gravando um microcontrolador Atmega8, então é preciso informar que será usado o Atmega8.
Entretanto não importa o modelo da placa.
Siga as setas vermelhas:


Feito isso, prepare-se para gravar.
Siga as setas vermelhas:


Escolha o gravador AVR que está usando.


Neste momento seu gravador AVR mostrará o LED "Busy" ativo indicando que a gravação está acontecendo.
Aguarde alguns instantes e...


 Pronto agora seu microcontrolador está pronto para novos programas.




Gostou do tutorial? Incentive mais tutoriais visitando:

16 comentários:

  1. Hey - I am really delighted to discover this. cool job!

    ResponderExcluir
  2. ok, e de que forma eu vou ter que colocar o ATmega na bord do meu projeto? quais pinos dele eu vou ter que ligar pra fonte e pras saidas??

    ResponderExcluir
  3. Onde eu compro essa placa pra gravar??

    ResponderExcluir
  4. olá

    A forma de ligar...
    É preciso dar uma olhada no datasheet do atmaga e ver o que faz o que.
    Futuramente estarei fazendo um tutorial para isso.

    Pra compra basta visitar a minha loja:

    http://lojabrasilrobotics.blogspot.com/

    ResponderExcluir
  5. Eu adquiri um gravador desse, porém estou em ambiente linux, a instalação do driver do dispositivo , como deve proceder para funcionar??

    Abraços.

    ResponderExcluir
  6. olá
    Nunca testei com linux.
    O tutorial foi feito para Win.
    Você baixou a versão da IDE do ARduino compatível com o LINUX?
    Tem para MAc, Win e Linux.
    Os drives desta placa disponível estão no tutorial para baixar.
    É preciso fazer teste para verificar se é compatível com linux.
    Divulgue o resultado para enriquecer ainda mais esse tutorial,ok?

    ResponderExcluir
  7. Ola , estou com problemas na utilização do equipamento, testei varias vezes, segui vários tutorias e nada.

    O driver esta perfeito.

    As conexões garanto que estão perfeitas.

    Eu acho que a incompatibilidade e do MC ATMEGA328-PU, pois o original e ATMEGA328P-PU (o meu esta com defeito por isso preciso com urgência)

    Ate instalei o winAVR para tentar pelo cmd.

    Lembrando que estou tentando fazer a gravação do bootloader no ATMEGA328-PU.

    Com a placa do Arduino UNO.

    Bom os procedimentos que segui são exatamente iguais ao do tutorial exceto seleção do board, eu seleciono o "Arduino Duemilanove or Nano ATmega328"

    e quando vou executar o procedimento de gravação me retorna um erro:
    "
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.
    "

    Obrigado e se alguém tiver a solução pro favor me envie.

    Abraços.

    ResponderExcluir
  8. opa

    Você deve usar o procedimento deste tutorial apenas para os microcontroladores compativeis com o arduino.
    Entretanto essa placa permite trabalhar com praticamente toda a linha AVR mas é preciso usar uma outra tecnica para trabalhar com outros modelos de microcontrolador.
    Este tutorial é apenas para arduino.

    ResponderExcluir
  9. Se usa UNO de optar por placa UNO

    ResponderExcluir
  10. Olá, eu possuo um arduino duemilanove que veio com o atmega168, posso substituir o atmega168 pelo atmega328 sem precisar fazer o bootloader?

    Ou qualquer novo ci que vá ser instalado tem que gravar o bootloader?

    Não possuo esta placa adicional para gravar o bootloader, porque não tem como fazer isto pelo próprio arduino, tipo, que é que tem de especial nesta placa AVR?

    ResponderExcluir
    Respostas
    1. É necessário uma outra placa Arduino ou mesmo um protoboard para se fazer tal gravação, como é explicado no tutorial do site oficial ( http://arduino.cc/en/Tutorial/ArduinoISP). Só que para cada tipo de CI a ligação difere, então a placa AVR Programmer vem para facilitar.

      PS.: Sou leiga ainda mas foi o que eu entendi.

      Excluir
  11. olá

    Quando você compra um CI ele é virgen.
    O arduino usa um bootload.
    Logo você precisa fazer isso.
    Este tutorial explica como fazer isso usando um gravador universal de microcontroladores AVR.

    Sim você pode tirar o 168 e por o 328 mas precisa do bootloader no 328.
    Você pode comprar o atmega 328 já com bootloader na www.lojabrasilrobotics.blogspot.com

    Esse gravador tem inúmeras utilidades esse tutorial é um exemplo de uma delas. ok?

    ResponderExcluir
  12. Muito bom cara valeu pelo tuto.

    ResponderExcluir
  13. amigo, tem como me vender uma peça dessa ja gravada? atmega48-20pu ela e usada no muving, ela ta virgem e nao fuciona, eu tiro o atmega que eu tenho gravado eu coloquei na outra maquina ae prestou

    ResponderExcluir
  14. Muito bom o tutorial.
    Mas tenho uma dúvida: Posso regravar o bootloader de um Atmega328 que não está mais fazendo o sync (erro avrdude: not in sync)

    ResponderExcluir