domingo, 25 de septiembre de 2011

Ingenieria inversa a grabador de pic's

Revisando unas cajas me encontré con un grabador de microcontroladores de cuando iba a la técnica, recuerdo que nunca lo pudieron hacer andar y finalmente lo desecharon. Le faltaba el cable de datos, necesitaba el software y ni pensar que hacia años que no programaba un pic. Así para saber que fallaba iba a ser un reto.
--------------


-A simple vista, solo se ve un componente dañado, el C1 es un capacitor de 470uf 12v, un error muy común es colocar un capacitor del voltaje justo con el que va a trabajar, y las variaciones de voltaje hacen que este se dañe. Solo hay que reemplazarlo por uno de mayor voltaje.

-Viendo con mas detenimiento, Q1 y Q2 son transistores PNP del tipo bc557b, desde la cara plana los pines de izquierda a derecha son, emisor base y colector. Y acá algo raro, el emisor debería estar polarizado, pero en el grabador se dirige a un led y a masa. La correcta configuración es del siguiente modo

Es un simple transistor como interruptor, R1 solo otorga mayor estabilidad.
Luego de extraerlos y probarlos con un tester, funcionan bien y se arregla dándolos vuelta.

-Después de medir todas las resistencias y diodos, y comprobar que ninguno está dañado. Conecto el transformador y mido la salida del regulador de tensión 7812, este no entregaba los 12v correspondientes y lo tube que reemplazar.

-Para probar solo queda armar el cable de datos. Como este grabador funciona a través del puerto paralelo, la ficha DB9 no hacia falta.
De una lectora de cd vieja, corté una parte del socket de datos (solo necesito 5 pines) y reemplace la ficha. Ahora utilizando un conector DB25 que venía en un cpu viejo puedo colocarlo y solo queda soldar los pines que se van a utilizar.

Para determinar las patas es sencillo. El IC1 es un 74ls07, un conjunto de inversores lógicos, por lo tanto voy a recibir señales ttl de 5v desde el puerto paralelo. Vemos a que corresponde cada pin del puerto paralelo, y utilizamos solamente las 4 primeras de datos (pines del 2 al 5), la masa o tierra la conectamos a cualquier masa (pines del 18 al 25, en este caso el 22), y el pin de control ACK (acknowledgement) con una resistencia desde la alimentación que indicaría la respuesta.

Ahora para probarlo solo hay que conectarlo y ver si el programa icprog lo detecta.
Lo pueden descargar junto al driver xp desde.. Link . Y no requiere nada mas, se configura de la siguiente forma, luego se carga el archivo hexadecimal o Assembler y se graba.

-----------------------

Una vez comprobado que funciona correctamente, solo queda hacer unas mejoras, por ejemplo
-El led verde apenas prende, tiene una resistencia de 1k pero como se polariza con poca corriente la reemplacé por una resistencia de 47ohm.
-Este programador solo sirve para microcontroladores de 18 pines pero ¿que pasa si quiero utilizar otro tipo de pics? , en el zócalo SL1 el primer pin del lado del led rojo va conectada a tierra, el segundo va hacia el pin 4 del micro es decir Vpp, el tercer pin hacia la pata 14 Vdd, el cuarto al pin 12 de señal Clock y finalmente el quinto al pin 13 Data.

A partir de esto, busco como es la configuración para cada tipo de pic y reemplazo el zócalo por unos cables hacia un zócalo tipo zif para mayor comodidad.

-Como el grabador posee una etapa de rectificación de alimentación solo queda, reemplazar la ficha plug por un transformador de 12v. El diagrama completo es el siguiente


Ya si se desea uno USB, solo hay que grabar un pic18f2550. Averiguar sobre pickit2 clone, hay mucha informacion en la red. Saludos

2 comentarios:

  1. Esta muy interesante el analisis lastima qe no exista mas el puerto paralelo en las maquinas de ahora.

    ResponderEliminar
  2. Si es cierto, con un simple ordenador tenias un sistema de domótica completo, un robot o una simple centrar de alarma. Pero solo se complicó un poco la programación. Y para hacer un programador usb hay que programar un pic, lo que necesitas otro programador antes.

    Saludos

    ResponderEliminar