Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 2 visitas.| 3431974 Visitas (desde Dic. 2011), hoy: 476 Visitas 1108 Pag. Vistas , ultimos 36 dias: 14558 Visitas. 35326 Pag. Vistas. Tu IP: 3.236.83.14
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

Cargar el Bootloader en el ATMega328

Seguro que en más de una ocasión habéis hecho corto de Arduinos, o bien estabais con un proyecto entre manos que tenía que ser lo más pequeño posible. O, simplemente, necesitabais otro micro pero os echaba para atrás el tener que comprar otro Duemilanove o Uno.

Pues bien, en estas situaciones tal vez lo que más nos convenga sea emplear únicamente el ATMega328, es decir, el microcontrolador sin toda la plataforma de prototipado y demás circuitos adyacentes. Lo que viene siendo la configuración mínima. Pero, a no ser que contéis con un programador externo, previamente necesitaréis grabar el bootloader o gestor de arranque en el circuito. Siempre y cuando hayáis comprado micros vírgenes, claro está: actualmente es habitual encontrar los ATMega con el bootloader ya cargado.

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[1]

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

bootloader_grande[1]

Si todo ha ido bien, al alimentar con USB la placa el LED verde comenzará a “latir”. 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 en hardware/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!

Escribe un comentario

Tu comentario