Introdução

Esse post tem como finalidade mostrar um outra maneira de gravar o bootloader do Arduino utilizando um gravador externo, existem diversas maneiras, a mais comum é utilizar um segundo Arduino, com o firmware ArduinoISP, para fazer isso.

Se você tem apenas um Arduino e ele está em uso ou queimou o chip Atmega328p, vai depender de você comprar um segundo Arduino e um novo microcontrolador ou comprar um gravador externo e um novo microcontrolador, eu uso o USBASP, e é com esse gravador que vou explicar o processo.

usbasp_top_peq_horiz

Gravador USBASP vendido pela BAITE

Para quem quiser montar o seu próprio gravador, é possível, pois os arquivos estão disponíveis na internet, neste site. Lembro que você ainda vai precisar de um gravador de AVR, para gravar o firmware no microcontrolador do gravador.

Instalação de Drives

Essa explicação é valida apenas para Windows, no linux não houve problema, testei no Ubuntu 14.04, e o driver foi carregado automaticamente.

Primeiramente será necessário baixar um programa chamado Zadig, neste site, e baixar para a versão correspondente ao Sistema Operacional (SO) usado em seu computador. No meu caso é Windows 7 64 bits.

Quando for conectado o gravadoor no PC, o Windows não o reconhecerá, pois não há drives, então não use o gerenciador de drives do SO.

usbasp_sem_driver

USBASP sem driver instalado

Ao executar o Zadig irá aparecer uma janela para escolher o dispositivo.

zadig_antes_instalar

Janela de seleção do dispositivo e driver

Selecionar o USBASP na lista, depois escolher o driver libusb-win32, e por ultimo  é só clicar em Install Driver.

Caso apareça diversos dispositivos na lista, certifique-se que o USB ID é 16C0 05DC

zadig_depois_instalar

Janela mostrando que o driver foi instalado com sucesso.

 

Conectando o gravador no Arduino

O USBASP utiliza um conector de 10 pinos e o Arduino utiliza outro com 6 pinos, mas é fácil conectar os dois utilizando um adaptador de 10 para 6 pinos.

14002621_thumb_G_1365774927308

Adaptador de 10 para 6 pinos

Caso não tenha comprado esse adaptador também é fácil conectar ao Arduino, apenas terá que usar 6 fios, de preferencia do tipo jumper femea-femea.

 

uno_usbasp_10_pin

Esquema de ligação USBASP 10 pino ao Arduino

A baixo está a indicação dos pinos, o conector do Arduino é marcado como ICSP.

descricao_pinos

Nome de cada pino, do Arduino e do USBASP

Caso tenha o adaptador é só conectar no conector ICSP, observando a posição do pino 1.

Gravando o Bootloader

Essa é a etapa mais simples, pois toda a configuração do microcontrolador é realizada automaticamente pela IDE do Arduino. Para não complicar muito uma pequena explicação, os fuse bits, (responsáveis por definir parâmetros de operação do microcontrolador) são configurados nessa etapa, então parâmetros relacionados ao clock e ao espaço em memória, onde bootloader ficará armazenando no microcontrolador serão definidos, isso é muito importante para o correto funcionamento dos Sketch.

Vamos ao passo a passo.

Vamos iniciar a IDE do Arduino e nela precisamos configurar a placa que queremos gravar o bootloader, nesse exemplo será o Arduino UNO, mas é igual para as outras placas também, Duemilanove, Mega2560, Leonardo … apenas selecione a placa correspondente.

Primeiro passo, escolher a placa.

Selec_uno

Selecionando a placa alvo, nesse é exemplo o Arduino UNO

Segundo passo, escolher o gravador.

selec_usbasp

Selecionando o gravador, no caso estou usando o USBASP

Terceiro passo, gravar o bootloader.

selec_burn

Iniciando o processo de gravação do bootloader

É possível trocar a ordem dos passos 1 e 2, não há problema.

Se você terminou esses passos e não ocorreu erro, meus parabéns você gravou com exito o bootloader.

A mensagem abaixo deverá aparecer:

Done burning bootloader

Caso tenha  ocorrido algum erro a mensagem abaixo irá aparecer

Error while burning bootloader

Nesse caso verifique as ligações e refaça os passos anteriores, ou verifique se o Atmega está corretamente conectado ou se o microcontrolador tem inscrição ATMEGA328P no Arduino UNO, Duemilanove. Caso não tenha o P no final da inscrição o problema  será outro, mas adianto que pode ser resolvido.

 

Anúncios