Si bien son muchos los circuitos disponibles en la Web que permiten programar microcontroladores PIC decidimos tomar lo mejor de cada uno de ellos y elaborar uno propio con las características que lo hacen propio para nuestro país (componentes económicos y fáciles de conseguir, software fácil de usar y en español).El programador PIC Pablin permite leer y grabar PICmicros de 8 y 18 pines así como memorias EEPROM serialeshttp://www.pablin.com.ar/electron/circuito/mc/ppp/index.htmDispone de un zócalo de 18 pines el cual permite conectar, tal como se ve en la plantilla, tanto PIC"s como memorias EEPROM seriales. Los PIC"s de 18 pines se colocan ocupando la totalidad del zócalo mientras que los PIC"s de 8 pines se colocan ocupando la parte superior del zócalo. En tanto las memorias seriales se colocan una hilera anterior al fin del zócalo (el pin 1 de la memoria debe coincidir con el 5 del zócalo).
El LED marcado como "Enc." permite observar que el sistema se encuentra alimentado mientras que el LED marcado como "PIC" se enciende indicando que es seguro insertar o quitar un chip (PIC o memoria) y se apaga por instantes breves cuando una lectura o programación de un PIC está en curso. Mientras este último LED este apagado no se debe quitar o insertar ningún integrado del zócalo.
El funcionamiento del circuito es muy simple: los pines del puerto paralelo 2, 3, 5 y 10 permiten interconectar el circuito con la PC. El pin 2 es el encargado de traer los datos (desde la PC hacia el integrado). El pin 3 es el envío de los pulsos de reloj (desde la PC hacia el integrado). En tanto el pin 10 permite a la PC leer los datos desde el programador. El pin 5, por último, es el encargado de controlar la tensión de programación (Vpp) necesaria para cuando queremos leer o escribir en un PIC.
Los microcontroladores PIC se programan utilizando el mismo protocolo que las memorias EEPROM seriales, por consiguiente el programador sirva tanto para PIC"s como para memorias. La tensión de programación VPP es necesaria para indicarle al PIC que deseamos leerlo o programarlo. Si en este pin (que es compartido con la entrada de RESET del micro) ponemos masa el PIC sufre un reset, si ponemos el pin en alto (5v) el PIC trabaja normalmente mientras que si ponemos el pin a 12v el PIC se inicializa en modo programación, quedando dos de los pines de E/S destinados a datos (SDA) y reloj (SCL).
El integrado 74LS04 está formado internamente por seis buffers inversores. Estos nos permiten por un lado obtener niveles TTL a su salida y por el otro no cargar de forma excesiva al puerto. Algunos programadores, como el NOPPP utilizan diodos y resistencias para conectar el PIC directamente el puerto paralelo. Esto funciona en muchas computadoras de escritorio con fuentes poderosas pero en la mayoría de las portátiles que no disponen de tanta corriente el funcionamiento es errático o directamente no funciona. Gracias a la utilización de este buffer podremos utilizar el circuito en cualquier puerto paralelo ya sea de una computadora de escritorio o en un portátil. Se colocan las compuertas en serie para obtener a la salida el mismo nivel de entrada, sin invertir. Las resistencias de 1K dan seguridad al sistema para evitar que circule corriente excesiva.
El control de la tensión de programación lo efectúa el transistor NPN. Estando el pin 5 del puerto paralelo a masa (en 0) tendremos al transistor abierto por lo que la corriente proveniente de +V (12v) pasará por el diodo LED el cual no encenderá y se portará como un diodo común polarizado en directa, pasará por la resistencia limitadora de corriente del LED la cual no ofrecerá mucha resistencia y será inyectada al PIC en su terminal MCLR/VPP. Poniendo en 1 el bit que controla el pin 5 del puerto paralelo, en cambio, el transistor se cierra y hace circular masa hacia el PIC haciendo, además, encender el LED al quedar a masa el otro extremo de la resistencia limitadora de corriente.
El circuito requiere como única alimentación 12V de continua con una corriente de 200mA. Puede usarse cualquier fuente universal siempre que se respete la polaridad. De tener una fuente de mas tensión (13.5v como mucho) no hay problema, se la puede utilizar sin inconvenientes. No es necesario que la fuente sea regulada. Si se tiene una fuente de 12V con mas corriente 1A o incluso mayor se la puede utilizar también sin inconvenientes.
Para conectarlo a la PC se puede utilizar un conector hembra centronics para circuito impreso (igual al que tienen las impresoras) o un cable directo hacia el macho DB25.
Dispone de un zócalo de 18 pines el cual permite conectar, tal como se ve en la plantilla, tanto PIC"s como memorias EEPROM seriales. Los PIC"s de 18 pines se colocan ocupando la totalidad del zócalo mientras que los PIC"s de 8 pines se colocan ocupando la parte superior del zócalo. En tanto las memorias seriales se colocan una hilera anterior al fin del zócalo (el pin 1 de la memoria debe coincidir con el 5 del zócalo).
El LED marcado como "Enc." permite observar que el sistema se encuentra alimentado mientras que el LED marcado como "PIC" se enciende indicando que es seguro insertar o quitar un chip (PIC o memoria) y se apaga por instantes breves cuando una lectura o programación de un PIC está en curso. Mientras este último LED este apagado no se debe quitar o insertar ningún integrado del zócalo.
El funcionamiento del circuito es muy simple: los pines del puerto paralelo 2, 3, 5 y 10 permiten interconectar el circuito con la PC. El pin 2 es el encargado de traer los datos (desde la PC hacia el integrado). El pin 3 es el envío de los pulsos de reloj (desde la PC hacia el integrado). En tanto el pin 10 permite a la PC leer los datos desde el programador. El pin 5, por último, es el encargado de controlar la tensión de programación (Vpp) necesaria para cuando queremos leer o escribir en un PIC.
El programa que recomendamos para este programador es el IC-Prog dado que reúne varias características mas que interesantes:Es muy fácil de usar
Interface con botones de acceso rápido a las principales funciones
Permite ver el ASM del programa que se esta por cargar en el PIC (si ! lo obtiene desde el HEX)
Tiene varios idiomas, entre ellos español
Dispone de cinco espacios de memoria (Buffers) para poder tener hasta cinco programas simultáneos.
Dentro de una única ventana reúne memoria de programa, memoria EEPROM y bits de configuración.
Hay actualizaciones periódicas con funciones nuevas y problemas resueltos.
Funciona tanto bajo Windows95 como Windows XP así como en versiones intermedias.
Para configurarlo sólo es necesario presionar F3 y especificar el tipo de hardware programador (seleccionar ProPic 2), indicar el puerto paralelo al cual está conectado y establecer como método de transferencia de información al puerto Direct I/O (en caso de usar Windows 95, 98 o ME) o Windows API (en caso de usar Windows NT, 2000 o XP). El retardo de I/O establecerlo en 10 que es un valor que funciona siempre. Se puede ir reduciendo y probando para lograr el menor retardo posible y así obtener la mayor velocidad de operación. En tanto se debe indicar como única línea invertida la de MCLR. Las demás líneas son normales.
El programa no requiere instalación, bastará con descomprimir los únicos dos archivos que lo conforman (el EXE y el SYS) en cualquier carpeta (nosotros usamos C:ICPROG). Una vez hecho esto ejecutar el EXE con doble click y establecer la configuración (lo pide una única vez).
Si al momento de terminar la configuración del programa los dos LED"s están encendidos es señal de buen funcionamiento. Dentro del menú ajustes hay una opción para probar el funcionamiento del programador.
Para comprobar si hay nuevas revisiones visitar
ic-prog.comExtraido de la pagina de Pablo Canelo
http://www.pablin.com.ar/electron/circuito/mc/ppp/index.htmCOMO A ALGUNOS AMIGOS, NO LES FUNCIONABA, EL PROBLEMA ES EL LED EMPLEADO, LA SOLUCION, AGREGAR UNA RESISTENCIA Y 2 DIODOS EN EL 7812.... ver segundo circuito cargado