Introduccion
Este circuito, esta basado en el modelo del PicKit2® de la Microchip® y aprovechando la idea de Suky 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.
ATENCION: NO funciona con el WinPic, solo funciona con el programa PICkit2 o con el entorno de desarrollo MPLAB ambos de microchip,ambos gratuitos que puedes descargar de su web.
Se que hay algún plugin para otros entornos pero no los he utilizado, ademas esos entornos o bien son limitados o pagos, o ambas cosas.
Las líneas de micros 10Fxx, 12Fxx, 16Fxx, 18Fxx los puedes borrar y regrabar muchísimas veces, en las líneas 24Fxx y 32Fxx hay micros que solo las puedes regrabar unas 100 veces otros que bastante mas veces.
El Circuito
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.
ATENCION: Si no sabe como grabar el Firewall en el micro controlador PIC, Pulse Aqui que les explico como se hace.
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.
Lista 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:
4 BC557
3 BC547
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
Firewall (descarga)
Programa PICkit 2 (descarga), PICkit 3,10 (descarga), PICkitPlus (descarga), MPLAB IDE 8.92 (descarga)
Programador C; MikroC PRO 7.2.0 ( descarga para poder programar los PIC )
Circuito Impreso PCB (descarga)
Si ya tiene el archivo de grabacion .hex y no sabe como grabarlo, Pulse Aqui y les explico como se graba.
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.
Los micro que he probado a grabar son estos: 12F629, 12F675, 16F628A, 16F676, 16F73, 18F2550 y 16F88.
Eso es todo amigos espero que les sea de utilidad.