Programador JDM para PICs: Prototipo


publicado por Víctor Villarreal en

2 comentarios

Introducción

En el artículo anterior hablamos sobre el programador para PICs JDM y mostramos su diagrama esquemático. En este artículo vamos a armar un prototipo e intentaremos usarlo para cargarle el bootloader a nuestro 18F2550.

Para lograr nuestro objetivo vamos a necesitar los siguientes elementos:

  • Lista completa de componentes electrónicos necesarios para armar el JDM (y las herramientas necesarias).
  • Un PIC 18F2550.
  • Bootloader para nuestro PIC.
  • Un cable RS-232 con almenos una ficha hembra.
  • Una PC con puerto serie RS-232.
  • Software programador compatible con nuestro JDM.

Componentes y herramientas

Del diagrama esquemático que presentamos anteriormente podemos sacar la lista de componentes del circuito. Es un programador sumamente económico y sus componentes son fáciles de conseguir en cualquier casa de electrónica de Argentina. El único componentes que vale la pena prestar atención es el PIC 18F2550, que no siempre está en stock en las tiendas. Su valor al momento de escribir este post es de $112.- Pesos Argentinos y lo compré en SyC (Semiconductores y Componentes - Paraná 274, Ciudad Autónoma de Buenos Aires).

Con respecto a las herramientas necesarias para realizar el prototipo, yo diría que son las mismas de siempre: Soldador tipo lápiz, Estaño al 60%, Tester o multímetro digital y un Protoboard.

El bootloader

Aún no hablamos del bootloader. Por el momento, sólo deben saber de donde descargarlo: Bootloader_v4.14_18f2550_X20MHz.hex (Fecha: 25-Nov-2013 / Tamaño: 7160 bytes).

Cable RS-232

Este cable lo usaremos para conectar nuestro prototipo a la PC. El puerto serie de la PC viene con ficha macho, por lo que nuestro cable debe contar con una ficha hembra en uno de los extremos. Aqui les dejo un diagrama con el pin-out de ambas fichas.

Personalmente lo que hice es dejar el otro extremo del cable con los cable al aire y luego le solde unos terminales. Esto nos garantizará estabilidad mecánica al conectar los cables a nuestro Protoboard.

Los únicos terminales que usaremos del estándar RS-232 son: Tx, DTR (Data Terminal Ready), GND, RTS (Request to Send) y CTS (Clear to Send). Es decir, 5 cables.

Aquí les dejo una imágen de como quedó armado mi prototipo:

Algunos consejos al armar el prototipo:

  • Utilizar, preferentemenre, un lugar destinado a la realización de actividades relacionadas con la electrónica. Una mesa despejada, buena iluminación y un tomacorriente a mano son suficientes. Es importante ser ordenado y que el lugar sea firme, ya que algunos componentes son pequeños y podrian caer al suelo. Una vez en el suelo son dificiles de localizar y corren el riesgo de rotura o que los pisemos.
  • Al plasmar el diagrama esquemático al Protoboard, hacer tranquilo, sin apuro. Es importante concentrarse en lo que se está haciendo, ya que si nos equivocamos podemos dañar el PIC o el puerto serial de la PC.
  • Revisar varias veces (tres veces como minimo y en lo posible por diferentes personas) la documentació disponible antesde realizar cualquier conexión. Prestar atención a las patas del puerto serie de la PC, a los canductores del cable y como están soldados a la ficha hembra. Medir continuidad con el Tester para identificar cada pin del conector con su correspondiente conductor y/o posibles cortocircuitos o falsos contactos.
  • Anotar siempre todo en papel. Que número de pin es que cosa, que conductor tiene asociado y su color. Imprimir y tener a mano el pin-out del PIC y del diagrama que estamos implementando.

La PC

La PC que utilicé me la facilitó mi señora esposa (ya que era de ella, pero estaba en desuso). Como pueden apreciar en las siguientes imágenes, es un equipo algo antiguo, sin muchas pretenciones. Con lo justo y necesario para lo que necesitamos.

Software programador

A la PC le instalé un sistema operativo Microsoft Windows XP Professional SP2. Lo único que verifiqué es el Administrador de Dispositivos, que todos los puertos de comunicaciones COM1, COM2 y LPT estén correctamente instalados y sin conflictos.

Existen varios programas para grabar PICs. Los hay gratuitos y los hay pagos. Entre los gratuitos podemos mencionar dos de los mas extendidos: IC-Prog y WinPIC800.

El IC-Prog es muy fácil de usar y es el mas conocido aunque debo decir que he observado dos contras que impiden su utilizació en este proyecto puntual: El primero es que no soporta el PIC 18F2550 y el segundo es que a veces es dificil instalarlo correctamente para que funcione en Windows XP, especialmente con los drivers de sistema que le permiten acceder al puerto serial de la PC.

El WinPIC800 fué muy fácil de instalar, no tuve que hacer nada. Solo darle siguiente, siguiente, instalar. Y lo mejor es que soporta nuestro PIC.

Llegó el momento !

Luego de conectar nuestro prototipo a la PC, es hora de abrir el WinPIC800. Lo primero que vamos a hacer es configurar el hardware, de modo que el programa sepa que circuito programador vamos a utilizar.

A continuación seleccionamos "abrir" y buscamos el archivo .hex del correspondiente al bootloader que nos descargamos anteriormente.

En la solapa "Config" podemos verificar los parámetros de configuración que vienen con el bootloader. Cristal de 20Mhz, etc, etc...

Vamos a intentar la opció para que el WinPIC800 auto-detecte nuestro PIC...

Ok...! El WinPIC800 acaba de detectar nuestro 18F2550. Esto ya es algo. Bueno, es hora de grabar el bootloader en nuestro PIC, a ver que pasa...

Sorpresa! Lograbó. Ya tenemos nuestro PIC18F2550 con el bootloader necesario para utilizarlo con el IDE de programación Pingüino.

Aún no podemos hacer nada con el PIC porque nos falta la placa. Tranquilos, de eso ya hablaremos en breve. Cuando tengamos la placa, vamos a poder conectar nuestro PIC a la PC, directamente por USB y programarlo utilizando la plataforma Pingüino.

Por el momento sabemos que nuestro programador para PIC con soporte para ICSP basado en JDM, funciona. De hecho, al soportar ICSP, podemos usarlo para grabar el PIC18F4550 (que es el hermano mayor del 2550 y que forma parte de otro modelo de placa Pingüino) o hasta un PIC16F84a, un clasico.

2 comentarios

Deja un comentario