Programando Embedded System Microcontroller
con Metologia interactiva.
GILBERTO PASCUAL, 2015
Passive Avr
Programmer
Figura1
Figura2
“Ahora usted puede aprender a
Programar Microcontroladores de forma muy fácil”.
Introducción:
Antes de empezar con el curso de
programación de Microcontrolador Atmega16, necesitaremos nuestro grabador de
para el Microcontrolador. Hay muchos en el mercado, pero hoy les mostrare uno
que solo necesita 3 resistencias, un conector y un pedazo de cable flat.
El grabador es conocido como:
Passive AVR Programmer
El esquema de este grabador es el siguiente:
Figura3
No le voy a quitar méritos a la persona que desarrollo este grabador de
Microcontroladores. Si se dan cuenta, este grabador solo necesita 3
resistencias de 220 a 360 Ohms.
Implementación:
Así que empezare a desarrollar este grabador de Microcontroladores,
especialmente para el Microcontrolador Atmega16. Como sabemos la distribución
de los pines del Atmega16 es de la siguiente forma:
Figura4
Si se dan cuenta, que los pines para
grabar este Microcontrolador están de forma casi consecutiva, solo tendríamos
que sacar el pin #10 (VCC), para conectar un conector y grabar este
Microcontrolador. Así que propuse armar el programador Passive
AVR programmer con la siguiente distribución de pines:
Figura5
Bueno, con esto solo tendré que conectar
el grabador directamente a Microcontrolador para grabarlo, no estaré cableado
cada momento.
Materiales y Precios:
Manos a la obra. Para armar este grabador
necesite los siguientes materiales:
Figura6
Analizando los precios, este grabador no
cuesta más que 1 dólar, el único problema es que necesitas un puerto paralelo
en la computadora, sé que las computadoras actuales ya no cuentan con este
puerto, pero la solución tal vez sea comprarse un adaptador de Paralelo a USB,
quizá comprarse un grabador USB. Ustedes verán como lo trabajan.
Pasos:
1.
En primer lugar
tenemos que soldar las resistencias y el cable flat tal como se indica en el
esquema electrónico del grabador Passive AVR Programmer, nos quedara de
la siguiente forma:
Figura7
2.
El segundo trabajo es
hacer el conector según el esquema que realice para personalizarlo solo para el
Microcontrolador Atmega16:
Figura8
3.
Después de solar el
cableado a los pines del grabador nos quedaran de la siguiente forma:
Figura9
4.
Como se pueden dar
cuenta, he omitido un pin en el conector que voy a usar para programar, en
realidad yo voy a usar este grabador para grabar mi Microcontrolador atmega16
en un Protoboard, así que les muestro la foto del conector para el Protoboard:
Figura10
5.
Finalmente nuestro
programador personalizado, quedaría de la siguiente forma:
Figura 11
Nota: Disculpen que las fotos estén un poco
oscuras, es por falta de tiempo. Yo escribo este curso en horario nocturno y es
la razón por la cual todas las fotos salen opacas.
Probando el Grabador:
Creo que es momento de probar nuestro programador, así que he
implementado el siguiente esquema electrónico para la prueba de este grabador:
Figura12
Hacer el esquema electrónico, parece fácil
en Proteus, pero implementarlo es trabajoso. En mi caso usare la fuente de una
PC, para alimentar el Circuito, tal como se muestra:
Figura 13
Implementado el Circuito en un Protoboard, nos quedaría algo así:
Figura14
Como se habrán dado cuenta, yo utilizo 2 Leds,
en mi Protoboard, bueno uno es el Led del esquema electrónico y el otro lo
utilizo para saber si el Microcontrolador Atmega16 esta alimentado.
Después de armar esta parte del Circuito,
voy a conectar el grabador personalizado para el Atmega16:
Figura15
Hagamos un Zoom, para ver mejor como estaría conectado:
Figura16
Después de haber testeado mediante el
multímetro todas nuestras conexiones para evitar el corto circuito. Es momento
de conectar este grabador a la computadora. Señores tenga cuidado de quemar el puerto de
Computadora, favor de revisar 2 veces sus conexiones.
Yo conecte todo este esquema desarrollado
a mi computadora y me quedo algo así:
Figura17
Sample Electronics
Programmer:
Luego de haber conectado el grabador en la
Computadora, es momento de abrir el programa que carga el archivo .HEX al
Microcontrolador. Para esto usaremos el grabador: Sample Electronics Programmer.
Figura18
Antes de nada configurar el Programa BASCOM-AVR, para que este grabador
sea el que usen para sus proyectos.
Después de haber configurado este grabador en la pestaña: Opciones –
Programmer:
Figura19
Haremos Clic en Program Chip o
presionamos la tecla F4, y nos aparecerá el siguiente cuadro, si es que todo
está bien:
Figura20
En caso de que nuestro programador este mal hecho o el circuito este
mal cableado, nos aparece el siguiente cuadro:
Figura21
Si el programa BASCOM-AVR, reconoció
nuestro grabador, ya podemos utilizarlo, por ejemplo hare una lectura de los
FUSE BITS del Microcontrolador Atmega16, nos mostrara la siguiente imagen:
Figura22
Programa en BASIC:
Para empezar tengo el programa que
controla el parpadeo de un Led conectado en el PIN B.0, del Microcontrolador
atmega16, en este momento no explicare cada palabra reservada del programa
BASCOM-AVR, ni tampoco la sintaxis, solo les dejo el programa escrito en BASIC:
Figura23
Verificando errores de sintaxis y compilando, nos tiene que mostrar la
siguiente imagen:
Figura24
Luego de esto, pasamos a grabar el Microcontrolador atmega16 con el
programa: Sample Electronics Programmer. Tendremos algo así:
Figura25
Recuerden que desde el momento que conecte
el grabador en la computadora no lo he retirado, hasta el momento de que grabe
el programa al Microcontrolador, si quieren lo pueden retirar y utilizarlo solo
para cargar el programa, pero lo interesante es que no es necesario estar
conectando y desconectando este grabador, pues funciona como Bootloader, se
explicara en su momento.
Como debe esperarse, el programa hace que
el Led este apagado:
Figura26
Y después de un segundo hace que el Led se prenda y la secuencia
continua indefinidamente.
Figura27
Conclusiones:
1.
El grabador Passive
AVR Programmer, es muy simple de implementar y usar.
2.
El Atmega16, no
necesito un Crystal para funcionar, ni tampoco lo configuramos, es porque el
fabricante deja a este Microcontrolador configurado con Crystal interno de
1MHz.
3.
Si hubiéremos
deseado, no necesitaremos usar la resistencia 220Ω, solo el Led, pero antes
debemos de configurar la resistencia PULL-UP o PULL-DOWN, del Microcontrolador
Atmega16
4.
Cuando implemente
este grabador solo conecte el Pin 25 del conector paralelo a GND.
5.
No necesitas
desconectar el grabador para cargar otro programa al Microcontrolador.
6.
Utilicen fuentes de
alimentación estable, para no dañar el Microcontrolador o su Computadora.
7.
Realicen pruebas de
continuidad y voltaje para implementar el circuito y el grabado.
Finalmente, déjenme desearle suerte con
este grabador.
“Si te gusto el artículo, compártelo,
recuerda que hay otros que desean aprender y tú puedes ayudarlos también
dándole un +1
Google”.
¡Gracias!
Atte. Gilberto Pascual
sirve tambien para el atmega 8? buen tuto!!
ResponderEliminarGenial!
ResponderEliminar