Select Page

Si alguna vez compraste un atmega328 y no le pudiste cargar ningun programa, o tenes terminado tu prototipo y lo queres dejar como un montaje fijo, en este tutorial vamos a ver como cargarle el gestor de arranque al microchip atmega 328

Existen diversos montajes para cargar el gestor de arranque; nosotros nos centraremos en uno de los más sencillos, ya que los componentes “extra” empleados son los que posteriormente necesitaremos para ensamblar nuestro Arduino autónomo.

¿Qué nos hará falta?

  • 1x Arduino Uno/Duemilanove
  • 1x ATMega328P-PU / ATMega328-PU (preferiblemente el primero)
  • 1x Cristal de cuarzo a 16Mhz
  • 2x Condensadores 18-22pF
  • 1x Resistencia 10kΩ
  • 3x Resistencias de 220-330Ω (para los LEDs)
  • 1x Resistencia ~120Ω (110-124Ω, como es un valor no estándar hay que combinar diversas resistencias para obtenerlo. Por ejemplo, una de 100Ω en serie con 5 de 100Ω en paralelo)
  • 1x Condensador 10uF

Lo primero de todo es cargar en nuestro Arduino el programa ArduinoISP, que viene de serie con el IDE.

1

Una vez se haya completado la subida tan sólo hay que montar el siguiente circuito:

bootloader_grande

Si tenemos dos arduinos unos, podemos optar tambien por el siguiente circuito. El mismo trata de conectar los puertos ISP de ambas placas, por lo que con un poco de conocimiento lo podriamos hacer por ejemplo entre un mega y un nano, pero bueno para esto no alcanza solo con este turtorial.

arduinoisp

El arduino que esta en la parte de abajo de la imagen es al que le tenemos que cargar scketch arriba mencionado, y tenerlo conectado por usb, el otro solo debe tener conectado los cables a la otra placa. 

 Ahora llega la parte interesante: cómo grabar el bootloader. Como hemos visto, existen dos modelos de ATMega328 con encapsulado DIP: el ATMega328-PU y el ATMega328P-PU.Arduino emplea estos últimos, cuya única diferencia con los primeros es que cuentan con la tecnología picopower, una funcionalidad que permite ahorrar energía ralentizando la frecuencia de ciertas partes del integrado. En caso de que tengas un 328P-PU, puedes ir directamente al último párrafo. Pero en caso contrario, es preciso modificar un archivo de configuración del entorno de Arduino para “engañarlo” y que piense que se trata del otro modelo de chip.

Para ello, sólo hay que abrir el archivo avrdude.conf, que se encuentra enhardware/tools/avr/etc/ y encontrar hacia la segunda mitad del archivo la línea 9245:

signature = 0x1e 0×95 0x0F;

y cambiarla por ésta (lo que viene siendo reemplazar el 0F por un 14):

signature = 0x1e 0×95 0×14;

Cuando hayas terminado de cargar el bootloader, revierte el cambio que acabamos de hacer, ya que entonces si no lo haces no podrás cargar archivos a tu Arduino. No obstante, tendrás que volver a hacer esto siempre que quieras cargar tu ATMega328-PU. Como curiosidad, si se omite esta parte la consola del entorno nos mostrará el siguiente error:

avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.

Ahora ya estamos preparados para cargar el bootloader a nuestro microcontrolador. Algo tan sencillo como seleccionar “Arduino as ISP” en Tools>Programmer, y clicar en Tools>Burn bootloader.

Si todo va bien, se encenderá el LED amarillo y al cabo de un minuto tendremos nuestro ATMega listo para ser programado!

Valora el producto, si lo compraste
[Total: 0 Promedio: 0]