domingo, 9 de agosto de 2015

Programador Pickit2 Lite

Programador de PIC (Pickit2)

Hola, en primer lugar te agradezco por visitar mi blog, que esta relacionado con la programación de microcontroladores PIC, mencionar que estoy abierto a cualquier critica constructiva con referencia a esta publicación.

En esta entrada quiero compartir la experiencia que tuve con uno de los primeros programadores PIC con puerto USB que construí, basándome en un diseño que encontré en internet y las informacion proporcionada por microchip, incluido el firmware requerido por el programador, aquí les dejo el enlace: <Documentación de Microchip>

Desarrollo 

Comentar que existen una gran cantidad de programadores PIC, cada una con sus particularidades y precios, de esta variedad vamos distinguir dos generaciones: 

  • Los programadores no-usb: Eran de los primeros que aparecieron, y dado que en su época los puertos de comunicación utilizados en una PC, fueron el puerto serie COM y paralelo LPT, hoy en día no lo recomiendo en lo absoluto.
  • Los programadores usb: Estos programadores son mucho mas rápidos y compactos, el producto oficial de microchip es el Pickit y actualmente se comercializa la versión Pickit5. Existen también programadores de terceros como el K-150, pero dado que microchip libero el firmware del Pickit2, que esta basado en el PIC18F2550, aparecieron una cantidad de variantes con la ventaja de poder integrarse a la herramienta de desarrollo de Microchip, MPLABX

La razones por la que decidí construir este programador, fue en primer lugar comprobar la funcionalidad del mismo y luego contar con una opción a recomendar a los estudiantes que realizan practicas en el laboratorio de la UEB, para lo que tome en cuenta los siguientes puntos:

  • Emplear el puerto USB sin necesidad de drivers y fuente externa.
  • Hacer uso de software oficial de microchip.
  • Que sea de bajo coste y existencia de componentes para el montaje.
Considerando los puntos citados tome atención en el PicKit2 y con la finalidad de reducir al máximo la cantidad de componentes encontré modificaciones que prescinden de la función On-Go (función que permite grabar sin utilizar una PC), lo cual reduce componentes de memoria y etapas de regulación del voltaje.  Por esta razón es que el programador es denominado Pickit2 Lite

La figura 1, muestra el esquema del circuito programador Pickit2 Lite modificado a partir de la versión original Pickit2.  

Fig1. Esquema de Circuito del Programador Pickit2 Lite 
 
De acuerdo al esquema que muestra la figura 1, el switch S1, permite conectar las lineas PGD(RA2) y PGC(RA3) utilizados para la programación del microcontrolador, esto nos dará mas flexibilidad para llevar a cabo pruebas de funcionamiento del circuito programado, desconectando las lineas de programación. Recuerde el PIC18F2550 es el programador, y el dispositivo PIC a programar se conectara conforme a la especificación del <ICSP>.
Fig2. Conexión típica del puerto ICSP

También debemos considerar que el circuito del PIC que se programara debe estar energizado con su propia fuente, ya que las modificaciones realizadas al pickit2 original descartan etapa de regulación para suministrar energía de forma constante, igualmente notara que la corriente que proviene de la linea USB(VBAT) esta limitada por un diodo D1, este diodo impide la circulación de corriente del circuito PIC al puerto USB.

Durante el montaje, debe ser muy cauteloso con el orden que presentan los componentes y pines de conexión, ya que una inversión podría causar serios daños al ordenador, la lista de materiales para la construcción se detalla a continuación.

Fig3. Lista de Materiales




Lleve a cabo el trazado PCB de circuito programador, utilizando el software de diseño, EDA/Kicad.   Posterior a la fabricación casera de la placa, hice el montaje de componentes quedando el circuito tal como se ve en la figura 4.

Fig4. Circuito Pickit 2 Lite

Una vez finalizado el montaje de componentes, lo que resta es cargar el código firmare del pickit2 a la memoria del PIC18F2550, para ello si necesitaras de un programador.
Fig5. Prueba de funcionamiento


He probado el funcionamiento de este programador en MPLABX con total éxito.

Ojo no todos los modelos PIC, en especial las nuevos, están soportados por pickit2, por eso consulte el archivo Device Support.htm que se encuentra en la carpeta /docs del directorio de instalación de MPLABX.

Aqui les dejo el link con el firmware y los PCB, necesitaran un programador para cargar el archivo hex al PIC18F2550.

Fig6. Reconocimiento del pickit2 en MPLABx

Conclusión

Como conclusión quiero comentar el siguiente analisis que considero debes realizar antes de decidirte  montar este circuito.

  • Una de las razones que tuve de construir este circuito fue experimentar su uso, mas allá de la necesidad de contar con un programador, y de hecho si quieres implementar este circuito necesitaras un programador para cargar el firmware al PIC18F2550.
  • Cuando tome la decisión de construir este circuito, mas o menos el año 2010, el PIC18F2550 era un integrado fácil de conseguir y no era demasiado caro para su época, pero al día hoy(2024), su precio y disponibilidad es algo a considerar sobre todo cuando hay otras opciones que podrían ahorrarte tiempo y dinero, por ejemplo comprar un programador clone ya listo.
  • Como sabrán el Pickit2 ha sido descontinuado por microchip, por lo tanto no podrás programar PIC actuales, como ser la gama media mejorada. Además la versión de MPLABX ya no reconocen el programador, sin embargo aun es posible utilizarlo en modo Stand-alone con el software oficial del programador Pickit2 <Link de Descarga PicKit2>
  • También es posible utilizar un bootloader en modelos de PIC que permiten la auto-escritura de su memoria Flash(self-write), esto sin duda representa la opción mas sencilla y practica de programar nuestro PIC, pero aun así. esta opción requiere utilizar un programador para cargar el firmware bootloader al PIC que utilizaras, si quiere saber mas al respecto, esta publicación explica como hacer uso del <TinyBooloader>

Sin mas que mencionar agradezco tu visita al blog y espero que lo visto aquí pueda ser útil en tu formación y el proyecto que desarrollas. 

Hasta Pronto.

Atte. Pablo Zárate Arancibia

email: pablinza@me.com / pablinzte@gmail.com, @pablinzar
Santa Cruz de la Sierra - Bolivia

No hay comentarios.:

Publicar un comentario