Saludos.
Les quiero dejar aquí una información acerca del funcionamiento del JDM
Esta información explica como es que hace el programador para tomar los voltajes de funcionamiento.
Antes que nada les presento mi programador JDM 2-1 en la primer foto y en la tercera usando ICSP.
En la segunda foto, su diagrama esquemático.
Graba muchos tipos de PIC de la serie 12XXXX y la 16XXXX así como EEPROMS 24CXXX.
Trabaja con programas como los famosos PonyProg, el ICProg o el WinPIC800
Está fabricado en PCB de fibra de vidrio muy delgada con serigrafía, y cuenta con conector ICSP.
La información que muestro a continuación, la encontré hace años en una pagina que todavía esta en línea.
;******************************************************************
Este programador por puerto serie hace uso de las siguientes señales:
- TXD
- - Tensión de alimentación y de programación, patilla /MCLR
- RTS
- - Pulsos de reloj, patilla RB6
- DTR (salida), CTS (entrada)
- - Datos en serie (serial data), patilla RB7
La tensión de la entrada de reloj está limitada mediante D3 y D4 sin que sea necesaria ninguna resistencia limitadora.
Los diodos a Vdd internos del PIC protegen también las entradas.
Los dispositivos 24CXX no tienen ningún diodo a Vdd, y D4 es absolutamente necesario.
Q2 aumenta el voltaje de salida a niveles RS232. Entonces funciona como base común.
R2 es una resistencia pull-up que no resulta fundamental debido a la corriente limitada del puerto RS232.
Q2 también limita la tensión de la entrada al PIC cuando DTR es de nivel alto.
Entonces funciona como un seguidor de emisor y se reduce la tensión de la entrada a Vdd-0.7V.
Cuando DTR se pone a nivel bajo, Q2 trabaja invertido y la ganancia sólo es aproximadamente de 5.
La resistencia equivalente es aproximadamente 10K/5 = 2K.
Esto reduce la corriente de entrada de datos al PIC junto con la resistencia R2.
Cuando DTR cambia de nivel bajo a nivel alto, Q2 cambia de modo invertido saturado a seguidor de emisor activo.
Esta causa un pico sobre los datos, pero el pico está extinguido cuando cambia el reloj.
Esto garantiza que las EEPROM no pasen el modo de prueba.
Q1 trabaja en cierto modo como seguidor de emisor también, pero se satura cuando está activo.
En ese caso su tensión CE es muy baja. El transistor activa o desactiva la tensión para MCLR.
TXD alimenta a C2 para que alcance 13V a través de la unión base-colector de Q1.
La tensión en C2 está limitada por el zener D6 y es aproximadamente 5.1V+8.2V = 13.3V.
Cuando TXD está a nivel alto la tensión en MCLR no excede esta tensión.
La base sube a una tensión más alta, pero Q1 se satura y la salida no excederá la tensión de colector.
C2 proporciona el Vpp y el Vdd a través del diodo zener D6.
Pero Vdd sólo aparece si el voltaje en C2 es aproximadamente de 13V.
Si tiene 8V, entonces será posible controlar la alimentación mediante RTS y DTR.
La alimentación C2 se reduce aproximadamente a 8V por medio de TXD, DTR y RTS
mantenidas a nivel alto durante aproximadamente 0.5s.
El diodo extra, D5, limita la tensión sobre TXD.
En principio se utiliza para alimentar la EEPROM cuando DTR y RTS están a nivel alto.
También garantiza que MCLR sea mayor de -0.2V cuando TXD está a nivel bajo.
El diodo D7 pone MCLR a nivel bajo cuando TXD está a nivel bajo.
El PIC también es alimentado por RTS mediante D3.
La corriente de entrada "On Data" también alimenta el PIC por Vss.
Ambas señales necesitan ser negativas para alimentar al dispositivo con la máxima corriente posible.
C2 alimenta al PIC si las señales son positivas. RTS y DTR no son criticas al programar las 24CXX,
porque el diodo D5 pone Vss a nivel bajo.
Al programar un PIC sólo D3 puede utilizarse. RTS y DTR necesitan ser de nivel bajo para alimentarlo,
y no deben estar a nivel alto durante demasiado tiempo.
La corriente es excepcionalmente alta al leer los ceros del PIC,
y el tiempo de lectura activo con DTR a nivel alto debe ser corto.
Para compensar la corriente utilizada, un nivel bajo debe aplicarse a RTS durante un tiempo extra.
Si reemplaza D5 y D7 por un BC557B, es importante que sepa que,
la base-emisor se comporta como un un diodo zener.
Sólo D7 pueden actuar como un zener, y MCLR necesita ser conectado al emisor,
mientras el colector del BC557B se conecta a Vss.
El transistor trabaja en cierto modo como seguidor de emisor, y proporciona a MCLR una corriente alta extra.
Esta corriente alta no es necesaria, y puede incluso dañar al BC557B si el programador se conecta con alimentación externa.
Conectar el programador a una fuente de alimentación externa siempre puede causar problemas,
y no se permite para el uso normal.
El peligro de conectar una fuente de alimentación externa está en que el diodo zener interior reduce el voltaje a 5.1V.
Y puede ser perjudicial que se aplique una tensión demasiado alta.
Las conexiones externas pueden causar problemas también debido a tensiones negativas.
Vdd se conecta a la masa del PC y pueden provocarse cortocircuitos si un circuito externo se conecta con la masa del ordenador, por ejemplo a traves de la toma de tierra.
Una fuente de alimentación externa también puede dar problemas de seguridad si los PIC u otros dispositivos no se insertan adecuadamente.
;******************************************************************
Ok. Así es como funciona el programador JDM
Referencias:
Programador PIC y EEPROM JDM
Suerte y hasta luego.