Guía de Usuario Programador USB Tecnología Digital del Bajío Av. Vicente Guerrero 1003, Int. A Irapuato, Gto. Mex. C.P. 36690 Teléfono: (462) 145 35 22 www.tecdigitaldelbajio.com i Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Contenido 1. INTRODUCCIÓN... 1 1.1 BENEFICIOS PARA EL USUARIO... 1 1.2 CARACTERÍSTICAS TÉCNICAS... 1 2. SOFTWARE DE PROGRAMACIÓN... 2 2.1 PICKIT DE MICROCHIP... 2 2.2 DESCARGAR EL PICKIT... 2 2.3 VIDEO TUTORIAL... 2 3. CONEXIÓN DEL HARDWARE... 3 3.1 CONECTORES DEL PROGRAMADOR... 3 3.2 TERMINALES DEL CONECTOR DE PROGRAMACIÓN... 3 3.3 PROGRAMACIÓN DE UN PIC CON EL PROGRAMADOR USB... 4 3.3.1 Programación usando el voltaje del programador.... 4 3.3.2 Programación usando una fuente de voltaje externa.... 6 3.3.3 Conexión a una tarjeta de circuito impreso... 7 4.1 DETECCIÓN AUTOMÁTICA DEL PIC... 9 4. INTERACTUANDO CON EL SOFTWARE PICKIT... 9 4.2 IMPORTAR EL ARCHIVO.HEX... 11 5. SITIO WEB... 15 6. CONTACTO... 16 i Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
1. Introducción Tecnología Digital del Bajío se complace en presentar, al programador USB para microcontroladores PIC más pequeño del mundo, soporta la programación en circuito de los microcontroladores más populares de las familias PIC12/16/18 de Microchip. Su tamaño tan compacto y su bajo costo lo hace un dispositivo muy práctico para estudiantes, ingenieros o aficionados a la electrónica que deseen introducirse al fascinante mundo de la programación de microcontroladores. 1.1 Beneficios para el Usuario Usa el puerto USB de una laptop o una PC de escritorio. No es necesario remover el PIC, de la protoboard o del circuito impreso, para programarlo. Es compacto y muy práctico, pues tiene el tamaño de una memoria USB. Es de bajo costo comparado con otros programadores USB. 1.2 Características Técnicas Usado para programar los microcontroladores más populares de Microchip, incluyendo el PIC12F509, PIC12F675, PIC16F84A, el PIC16F886, PIC18f2550, PIC16F4550, etc. Programación de los microcontroladores en circuito, (ICSP, In-Circuit Serial Programming), por lo que no requiere quitar y poner el microcontrolador PIC en la protboard o en la tarjeta de circuito impreso. No requiere fuente de poder externa. Detección automática del microcontrolador PIC. Compatible con los archivos.hex, que se pueden generar con cualquier software para PICs, como el MplabX, MikroC, PICC, SourceBoost, etc. 100% Compatible con el software de programación PicKit y MPLABX de Microchip. LEDs indicadores de voltaje y de programación. 1 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
2. Software de Programación 2.1 Pickit de Microchip El programador USB usa el software gratuito llamado PicKit de la empresa Microchip, este software es el encargado de transferir el código escrito en la PC hacía el microcontrolador. El código para programar el microcontrolador puede generarse con el software MPLABX, el PICC, el MikroC, SourceBoost, etc. 2.2 Descargar el PicKit Para descargar el software simplemente de clic en el siguiente enlace: http://www.tecdigitaldelbajio.com/software/pickit2v2.61.zip Descomprima el archivo, e instale el software, este proceso se debe realizar con el programador desconectado de la PC. 2.3 Video tutorial Si tiene dudas de como instalar el PICkit, en el siguiente enlace: http://www.tecdigitaldelbajio.com/software.html Se puede observar un video tutorial, que muestra desde la descarga hasta la programación de un PIC16F886. 2 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
3. Conexión del Hardware 3.1 Conectores del programador La figura 3.1 muestra los dos conectores del programador de PICs. Figura 3.1 Conectores del programador 3.2 Terminales del Conector de Programación La figura 3.2 muestra exactamente el número de terminal del conector de programación, observe que la terminal 1 se identifica fácilmente pues es la de color rojo del cable plano. 3 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 3.2 Terminales del programador Finalmente la tabla 3.1 muestra el nombre y la descripción de cada una de las terminales. Terminal Nombre Descripción 1 MCLR A la terminal MCLR del microcontrolador 2 + 5V Terminal positiva de voltaje 3 GND Terminal de tierra 4 PGD/ICSPDAT Terminal de datos del microcontrolador 5 PGC/ICSPCLK Terminal de reloj del microcontrolador Tabla 3.1 Descripción de las terminales 3.3 Programación de un PIC con el programador USB 3.3.1 Programación usando el voltaje del programador. Es posible programar un PIC usando el voltaje de 5 volts, que nos ofrece la terminal 2 del programador, este voltaje proviene del USB de la laptop o PC, por lo que se debe tener cuidado de no exceder la corriente que nos provee el puerto USB. Por eso es altamente recomendable conectar una fuente de voltaje externa como se verá en la siguiente sección. Para programar el PIC simplemente conecte el programar al puerto USB de una laptop o una computadora de escritorio, y conecte el cable ICSP al PIC que se desea programar, tal y como se observa en la figura 3.3 4 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 3.3 Conexión del programador Es necesario que se use una tira de pines o conector macho estándar de 5 terminales con espaciado de 2.54 mm, que se puede conseguir en cualquier tienda de electrónica, tal y como se observa en la figura 3.4 Figura 3.4 Conector para el programador Observe la hoja de datos del PIC a programar, para que identifique las terminales MCLR, PGC/ICSPCLK y PGD/ICSPDAT, por ejemplo la figura anterior se observan las conexiones para programar un PIC16F877A y la figura 3.5 muestra la conexión que se debe hacer en la protoboard para programar al PIC16F886. 5 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 3.5 Terminales del programador 3.3.2 Programación usando una fuente de voltaje externa. Lo más recomendable es conectar el programador USB con una fuente de voltaje externa, sin lugar a dudas, para ello simplemente deje desconectada la terminal 2 (+ 5 V) del conector de programación y conecte las demás terminales como se menciona en la sección anterior, para muestra observe la figura 3.6 donde se observa la conexión de un PIC18F2550, con una fuente de voltaje externa. Figura 3.6 Conexión para una fuente de voltaje externa 6 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
La fuente de voltaje no se alcanza a observar en la imagen, pero esta provee de los 5 Volts necesarios para el PIC, como ya se indico arriba, no es necesario conectar la terminal 2 del programador, pero la terminal de tierra si se requiere para la correcta conexión del programador. 3.3.3 Conexión a una tarjeta de circuito impreso La figura 3.7 muestra un circuito impreso con su respectivo conector para el programador USB. Figura 3.7 Tarjeta de circuito impreso con conector para el programador. La tarjeta tiene en la parte de abajo un PIC16F648A de montaje superficial, que no se ve en la imagen 3.7, pero en la figura 3.8 se puede ver la parte del diagrama esquemático donde se ve la conexión que se realizó para este PIC y el conector para el programador USB, note que la tarjeta se conecta a una fuente de alimentación externa, esto es así pues la tarjeta tiene varios componentes incluyendo relevadores, que en conjunto superan por mucho la corriente que provee el puerto USB. 7 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 3.7 Diagrama de la parte del conector de programación al PIC16F648A. Observe lo práctico que es tener un programador ISCP, pues es posible estar probando y mejorando el programa que está dentro del PIC, sin necesidad de removerlo, incluso en este caso como el PIC es de montaje superficial, ni siquiera se podría remover y programarse por fuera, como lo hacen los programadores tradicionales. 8 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
4. Interactuando con el Software PICkit 4.1 Detección automática del PIC Cuando está conectado el programador al USB de la laptop además si el conector de programación está correctamente conectado a las terminales de un PIC para programarse y si se abre el software PICKit, esté lo detecta automáticamente, por ejemplo en la figura 4.1 muestra la pantalla del PICkit después de la detección automática del PIC16F886, cuando estaba conectado al programador. Figura 4.1 Detección automática del PIC a programar Existe una familia de PICs que no se detectan automáticamente por el PICkit, es la familia que Microchip denomino baseline entre estos PICS está el PIC12F509, el 9 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
PIC12F508, entre otros. Cuando se va a programar un PIC de esta familia basta con elegirlo directamente como se observa en la figura 4.2 Figura 4.2 Elección de un PIC de la familia baseline Ahora en el remoto caso de que estuviera todo bien conectado y el PICkit enviará un mensaje como el de la figura 4.3 10 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 4.3 Mensaje de error cuando no se detecta el Programador Simplemente desconecte y vuelva a conectar el programador del puerto USB, y si lo desea, cierre y vuelva a abrir el software PICkit o vaya al menú Tools del PICkit y pruebe la comunicación de nueva cuenta como se observa en la figura 4.4 Figura 4.4 Menú para checar la comunicación USB con el programador Con lo anterior se detecta automáticamente el PIC como se observo en las imágenes anteriores. 4.2 Importar el archivo.hex Ya que se identifico el PIC automáticamente o si es de la familia Baseline y se elige manualmente, entonces ya estamos listos para programarlo. Para ello basta con importar el archivo.hex desde el menú File> Import como se observa en la figura 4.5. 11 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Figura 4.5 Menú para importar el archivo.hex Al hacer lo anterior aparece el cuadro de diálogo para buscar y abrir el archivo.hex, que previamente fue creado, como se observa en la figura 4.6. Figura 4.6 Cuadro de dialogo para elegir el archivo.hex 12 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
El código del archivo.hex se carga en el buffer del PICkit, como se observa en la figura 4.7. Figura 4.7 Código cargado en el PICkit Con lo anterior ya estamos listos para programar en este caso el PIC16F886, esto lo hacemos rápidamente desde el botón Write como se observa en la figura 4.8 Figura 4.8 Botón para programar el PIC 13 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
Al dar clic en el botón Write, el PICkit, primero borra la memoria de programa del microcontrolador, para después escribir el programa que se importo y finalmente hace una verificación para saber si se programo correctamente el PIC, la figura 4.9 muestra la imagen del PICkit cuando termino de programar. Figura 4.9 Fin de la programación Los otros botones del PICkit hacen lo siguiente: Read: Lee el programa que tiene el PIC y lo muestra en el buffer del PICkit. Verify: vuelve a verificar si lo que está en el buffer del PICkit es lo que tiene programado en su memoria el microcontrolador. Erase: Borra la memoria de programa del microcontrolador. Blank Check: Checa que la memoria de programa del microcontrolador no contenga datos. 14 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
5. Sitio Web En la página web de Tecnología Digital del Bajío http://tecdigitaldelbajio.com/descripcion-programador.html Puede encontrar más material de ayuda como: Video tutoriales, donde se muestra como se programan algunos PICs con el programador USB. Código en lenguaje C para los diferentes entornos de programación más populares (MPLABX, PIC C y MikroC). 15 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1
6. Contacto Para más información, documentación, asistencia técnica o dudas acerca del programador, por favor contáctenos en: Página Web: Soporte: Ventas: http://www.tecdigitaldelbajio.com soporte@tecdigitaldelbajio.com ventas@tecdigitaldelbajio.com Teléfono: (462) 14 5 35 22 16 Guía de Usuario, Programador USB, Doc # 0003, Rev. 1