Como prometido tiempo atrás, me animo a publicar un programador de
microcontroladores Pics que he construido siguiendo el modelo del
PicKit2® de la Microchip® y aprovechando la idea de Suky
(http://www.micros-designs.com.ar/pickit2-clone-5v3-3v/)
para poder trabajar también con micros de 3,3V. En mi caso he optado
por usar un regulador específico en lugar del sistema con componentes
discretos pensado por Suky.
Generalmente, los proyectos que publico son completamente
desarrollados por mi pero en este caso he hecho una excepción porque hay
demasiadas zonas obscuras en torno al PicKit2® y me llevaría demasiado
tiempo analizar la electrónica, el firmware y el software de los
sistemas originales.
El programador que les presento es formalmente el famoso PicKit2® en
su versión Clone, compatible al 100% (eso espero) con el modelo de la
Microchip® pero con un circuito bastante simplificado.
Antes de seguir, quiero hace una aclaración: este programador que
publico hasta ahora ha funcionado perfectamente con distintos modelos de
Pics que he programado. De cualquier manera no puedo garantizar que
funcione bien en todos los casos y tampoco dar un soporte técnico
completo porque hay demasiadas variables en juego a nivel de software y
de hardware y tendría que dedicar todo mi tiempo libre solo a esto.
Personalmente pienso que las herramientas de trabajo deben ser de
buena calidad y considero un programador de pics como una herramienta de
trabajo. Por esto, personalmente prefiero usar programadores de marca y
usar modelos DIY como este, solo en situaciones de emergencia o cuando
no tenemos la posibilidad de comprar uno original.
Volviendo a la descripción del proyecto, usar dos zócalos separados
de 20 y 28 pins simplifica mucho el uso del programador porque todos los
microcontroladores de distintos tipos se posicionan de la misma manera
en uno u otro zócalo en modo simple e intuitivo, sin necesidad de
manipular interruptores, puentes de configuración o debiendo colocar los
chips en posiciones distintas entre si.
No he construido el módulo para micros de 40 pins porque nunca tuve
la necesidad de usarlos. De cualquier manera, gracias al conector ISCP
disponible en el programador, es posible también programar estos pics
conectando los 5 pins necesarios.
Me interesaba en particular modo poder programar el nuevo PIC18F14K50
porque, siendo más pequeño del 18F2550 (solo 20 pins) posee también un
puerto USB a bordo y bastante económico. Lamentablemente no dispongo di
un micro de este tipo para probar. Espero de poder hacerlo dentro de
poco.
Respecto a otros programadores que se encuentran en la red, haber
construido un programador compatible con los productos Microchip® me
permite de usar como plataforma de desarrollo los software gratuitos de
la Microchip como por ejemplo el PicKit2® software y fundamentalmente la
suite MPLAB X IDE® (v 1.60) para Linux.
La cosa importante de esta experiencia es que funciona!! Como decía
antes, no he podido probar el programador con todos los modelos de pics,
solamente algunos, pero parece ser que el sistema es bastante robusto y
no he encontrado errores en fase de programación o de reconocimiento
del programador por parte del software PicKit2 y MPLAB.
Elenco de materiales
Resistencias:
- 3 de 10 ohms 1/8 Watt
- 3 de 33 ohms 1/8 Watt
- 1 de 100 ohms 1/8 Watt
- 1 de 820 ohms 1/8 Watt
- 3 de 1 K ohms 1/8 Watt
- 1 de 2,7K ohms 1/8 Watt
- 4 de 4,7K ohms 1/8 Watt
- 4 de 10K ohms 1/8 Watt
- 1 de 100K ohms 1/8 Watt
(las resistencias son de 1/8 Watt con distancia entre patitas de 5mm)
Capacitores:
- 2 de 100nF
- 2 de 22pF (disco)
- 1 de 22uF 16V (electrolítico)
- 1 de 47uF 25V (electrolítico)
Diodos:
- 2 1N5817
- 1 1N4148
- 1 led verde 3mm
- 1 led rojo 3mm
Transistores:
Circuitos integrados
- 1 PIC18F2550 (programado con firmware Microchip PicKit2)
- 1 L4931CZ33 (u otro regulador 3,3V 100mA de tres patitas)
Otros componentes
- 1 bobina de 680uHy (ver fotografías)
- 1 pulsador para circuito impreso (ver fotografías)
- 1 zócalo de 28 pins
- 1 zócalo de 28 pins ZIF (zócalo a fuerza cero)
- 1 zócalo de 20 pins ZIF (zócalo a fuerza cero)
- 1 cristal 20MHz
- 1 conector USB tipo B
- 3 conectores a 6 pin paso 2,54 mm para circuito impreso
- 3 conectores a 6 pin paso 2,54 mm para cablepreso
- 3 Circuitos impresos (1 principal y 2 zon los zócalos ZIF)
- 1 cable USB
- tornillos, separadores y tuercas
Construir un programador de PICS es toda una empresa y no lo aconsejo
a la gente que recién empieza. Más allá de la construcción electrónica
propiamente dicha en la que se necesitan algunos componentes especiales,
es necesario disponer de otro programador que permita de programar el
PIC18F2550, corazón de todos los modelos USB como este. La solución más
simple, si no se dispone de uno, es la de pedirle ayuda a alguien que lo
posea. También se puede construir un programador de transición, como
por ejemplo el JDM para puerto serie. El problema está en que los
programadores tipo JDM necesitan un verdadero puerto RS232 porque no
trabajan bien con los adaptadores USB a RS232 y en los últimos años, las
computadoras no disponen más de este tipo de puerto. Si se logra
resolver el problema de la programación del primer PIC18F2550, después
se pueden construir todos los programadores que uno quiera porque un
programador programa al otro.
Les dejo para descargar el file zip con los circuitos impresos y
también el código en formato hex de la última versión de firmware para
el PIC18F2550. El programa PicKit2 lo pueden descargar directamente
desde el sitio de la Microchip
Los micro que he probado a grabar son estos: 12F629, 12F675, 16F628A, 16F676, 16F73, 18F2550 y 16F88.