lunes, 1 de junio de 2015

Grabador de Atmega16: Passive AVR Programmer, Implementación y Pruebas


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

2 comentarios: