domingo, 25 de julio de 2010

Programador Micro JDM 16f628 y 16f84

Buenas a todos!!

Este es el segundo programador que me he fabricado para poder programar el 16f628, aunque también sirve para el microcontrolador PIC16f84 el JDM Serial Programmer.

El circuito original lo he sacado de esta web. Esta en ingles, pero no creo que sea un gran problema si conoces un poco los componentes. Por mi parte solo lo he modificado para que tenga un led más que indica cuando se esta programando.

Este es el circuito modificado:

JDM Serial Programmer

 

Y aquí esta es la lista de componentes que he utilizado para el montaje del micro JDM:

  • R1 10k
  • R2 15k
  • R3 3k3
  • R4 10k
  • Z1 5.1v Zener
  • Q1 BC547
  • C1 100uF 16v
  • D1 Led rojo
  • D2 Led verde
  • J1 DB9F
  • J2 Socket DIL 18

Bueno como se puede ver son muy pocos y fáciles de conseguir en cualquier tienda o pagina web donde vendan componentes electrónicos.

Y esto es lo que me ha salido a mi:

Vista superior

Vista de las pistas


JDM Serial Programmer

En esta ultima fotografía se puede apreciar bien lo pequeño que es en comparativa con una llave

.
Espero que os guste y os sea practico. Yo lo he hecho por el portátil, el otro que tengo es bastante grande y para usarlo tenia que estar con cable, este programador micro es más practico y más cómodo de usar.

NOTA: Puede que en las fotos los componentes no vallan en la misma posición, revisa el datasheet primero.

NOTA2:  En este enlace tenéis la configuración que uso para el programador.

NOTA3:  En este enlace tenéis una ampliación de zócalo de 18 pines a zócalo de 28 pines.

NOTA4:  Este programador NO funciona con convertidores USB/RS232

By PeYuTrOn

El apartado que viene a continuación ha sido extraída de la pagina https://soloelectronicos.com y NO LO HE PROBADO PERSONALMENTE. Así que no me hago responsable si no funciona o hace que tengáis algún problema con la electrónica del PC/Portátil :

Si el voltaje MCLR# no fuera suficientemente alto (este problema se ha visto en portátiles, pero también en PCs con un puerto COM débil), puedes proporcionar este voltaje desde el exterior de 15-20v en los extremos de C1(de 100mf). Usa dos baterías de 9V o un PSU que entrega al menos 15V. No hace falta ningún regulador ya que los diodos zener limitan el voltaje. No olvides la resistencia de 220 Ohm – que limita la corriente y protege el circuito JDM.

58 comentarios :

  1. Hola amigo, veo genial este MicroJDM pero en el esquematico y en la lista de materiales solo pones 4 resistencias, y en la foto ya armado se mira que hay 5 resistencias!!! Serias tan amable de explicarme que onda? En este momento voy a contruir el mio en base al esquematico que pones... Te dejo mi correo aver si me puedes contactar por msn: c31l-mart@hotmail.com Gracias!

    ResponderEliminar
  2. Hola amigo.. podes explicar esa resistencia que falta?... necesito armar uno ... y este se ve super facil... gracias

    ResponderEliminar
  3. ARRRGGGG no hay una quinta!!! es que para hacer la de 15K puse 2 resistencias en serie, una de 10K y otra de 4K7!!! siento que las fotos os hallan confundido. Bueno otro fallo que tube y que no he corregido, (en la foto) el transistor esta mal puesto tambien. Era por no hacer las fotos otra vez, pero creo que las voy a repetir asi no habra más confusiones. De todas maneras un consejo... mirar los Datas pimero!!! (por eso lo puse mal yo :$

    ResponderEliminar
  4. una consulta mas... y lo armo.. vos probaste.. programar el pic16f628? porque en la web del autor.. dice "Note that the design is limited to the PIC16x84"

    ResponderEliminar
  5. Sip Esta probado ademas es el mismo en el entrenador y los 2 me funcionan bien con el 16f628.Tambien lo uso en el portatil y en el de sobremesa y ok los 2.

    ResponderEliminar
  6. gracias.. por confirmarme.. .entonces lo armo.. ;) saludos!!!

    ResponderEliminar
  7. a la hora de programar el pic me da error 00000h y no programa nada ya he revisado la conexion y esta bien aun lo he intentado con programador T20-SE y me da el mismo error en la programacion

    ResponderEliminar
  8. Aquí teneis como tengo configurado el puerto com,yo sigo funcionando con ellos y menos alguna vez contada( y más por fallo mio sobre todo con el B-Trainer) me ha dado error. http://www.todopic.com.ar/foros/index.php?topic=31583.0
    Prueba a ponerlo como en el enlace y me dices.
    Que programa usas para grabar el pic? Este programador solo lo he probado con el ic-prog y ya te digo que va bien.

    ResponderEliminar
  9. hola, mira soy bastante new en esto de la electrónica asi que no cache para que sirve el circuito que armaste, me lo pedeis explicar por faabor

    ResponderEliminar
    Respuestas
    1. Este circuito es para programar microcontroladores PIC, como el 16f84 o 16f628, y algunos más. Introduces el pic en el zócalo y con un programa tipo Icprog grabas el Hex que ya tengas compilado.

      Eliminar
  10. me parece que los valores de R2 y R3 estan invertidos segun puedo ver en el diagrama original no coinciden con la asignacion de valores que tu le das a este circuito.

    ResponderEliminar
    Respuestas
    1. Si, estas en lo cierto, la lista no coincide con la imagen, porque no disponía de una resistencia de 15K y puse una de 10 y otra de 4k7. Si lees un poco más arriba en los primeros comentarios lo explicaba. Un saludo

      Eliminar
  11. hola, felicidades por el programador, esta muy facil y barato, sin embargo tengo una pregunta, ¿cual es la lista completa de los pics que puede programar? o si no tienes la lista, ¿Puede grabar el pic16f628a?
    De antemano, muchas gracias.

    ResponderEliminar
    Respuestas
    1. No tengo la lista completa, pero el 16f628a está en ella. De hecho lo monte para programar este modelo de PIC. Un saludo.

      Eliminar
  12. Buenas... lo acabo de hacer y funciona con el 16F877a... Gracias por el aporte...

    ResponderEliminar
  13. Gracias por el aporte Jeanette, podemos incluir el 16f876A. también lo he programado con este y un
    adaptador para 28 pines

    ResponderEliminar
  14. hola, tengo una duda, el negativo para Z1, D1 el capacitor y el pin Vss, de donde lo saco?

    ResponderEliminar
    Respuestas
    1. El negativo se saca del pin número 5 del db9. También lo puedes sacar de la parte metálica del mismo conector. Un Saludo

      Eliminar
    2. Hola, Muchas gracias por responder, voy a probar el circuito.

      Eliminar
  15. Lo hice y aunque parece que funciona el led rojo esta siempre semi-encendido, el led verde funciona cuando lee el pic y cuando lo graba...¿es correcto? ¿cual es la funcion del led rojo????

    ResponderEliminar
  16. Gracias por responder, el circuito funciona perfecto.

    ResponderEliminar
  17. Boa tarde ^^
    Obrigado pelo esquema de gravador! funciono com perfeição do F84 porem precisei modificar algumas coisas para que funcionasse no F628...
    para quem precisar... B6(pin12 PIC) liga direeto ao RBS(pin7 DB9) / B5(pin11 PIC) deixa sem conexão / B4(pin10PIC) liga direto ao VSS(pin5 PIC)
    ah sim... em alguns laptop ele não funciona pela questão de baixa potencia na porta serial, mas em PC é tranquilo
    Obrigado novamente pelo esquema o/

    ResponderEliminar
  18. Gracias por el aporte. Sin embargo lo arme y lo probe sin resultados satisfactorios. Hago la aclaracion que mis computadores no tienen DB9 nativo porque son portatiles, estoy utilizando un convertidor USB/Rs232, el DB9 esta casi extinto.

    Quisiera armar un Pic Prog casero que funcione con USB, o talvez una variacion de este mini con alguna modificacion que funciones con el convertidor.

    Saludos!!

    ResponderEliminar
    Respuestas
    1. Buenas jpdrummer, lamentablemente, ni este y creo que ningún programador serial funciona con el adaptador de USB/RS23.
      El problema esta en el voltaje, para programar un pic necesitas +/-13V y el USB solo puede suministrar 5V.
      En mi caso también tengo uno, pero solo lo utilizo en las comunicaciones. Para programar utilizo un portátil antiguo 1600mhz. Gracias por comentar, lo pondré como nota al final de la entrada.
      Saludos!!

      Eliminar
    2. Gracias a ti Peyutron por responder y tomarte el tiempo. Entiendo que el PIC necesita aproximadamente 13V en el MCLR para ser programado. Entonces viendolo de una manera sencilla, resolver el problema consta de adaptar una fuente externa de voltaje en el diagrama propuesto??

      Saludos!!

      Eliminar
    3. JPDrummer no es mala idea, pero no se si esa tensión tiene que ser fija o no... había por ahí varios modelos con fuente externa para puerto LPT1. Alomejor revisando alguno de estos encuentras una solución. y si la encuentras avisa!!!
      Un saludo!!!

      Eliminar
  19. buenas, se puede utilizar el winpic800 para programar, en lugar de icprog??? espero tu respuesta...gracias

    ResponderEliminar
  20. alguien a provado el 16f819 en este programador??

    ResponderEliminar
  21. hola muy buenas soy nuevo pero me e preparado este prototipo pero no me da 5v en vss y vdd y no me enciende el led de tension lo demas lo pruevo con winpic800 y de da tension en las patilla que doy la prueba la he hecho sin chip tiene algo que ver

    ResponderEliminar
    Respuestas
    1. Buenas Vegawifi, normalmente las pruebas de tensión es mejor hacerlas sin el chip. Comprueba que las conexiones estén bien, y recuerda también que este programador no funciona con los convertidores USB - RS232. Icprog creo recordar también tiene un apartado para comprobar el programador, echale un vistazo. Un saludo y espero que puedas solucionarlo.

      Eliminar
  22. Respuestas
    1. Le he echado un ojo a la hoja de datos del 16F819 y por la similitud de las patitas creo que tiene que ser compatible. También he leido que este chip seria la "evolución" del 16f628A. Como no lo he utilizado nunca no te puedo decir. Si utilizas este programador con el 16f819 y funciona, lo puedes reportar para incluirlo en la lista? Gracias!!!

      Eliminar
  23. Los ordenadores de ahora creo que ya no suelen tener el puerto d-sub9 ¿habría alguna manera de conectarlo por usb con una fuente de voltaje externa?¿o algún otro tipo de conector ?

    ResponderEliminar
    Respuestas
    1. Pues según he estado leyendo, NO ES POSIBLE, el cable serial para USB funciona detectando paquetes, y el puerto serie del ordenador actua sobre las lineas para generar CLK, DATA y VPP.
      Creo que la mejor solución para estos casos es utilizar un PC de sobremesa o un portátil con este tipo de puerto.
      Yo personalmente utilizo un portátil antiguo cuando tengo que programar. Al utilizarlo solo para el sistema es bastante ligero y funciona muy bien. También se da que ultimamente estoy trabajando con el 16F876A y lleva bootloader. Y una vez con el bootloader SI ES POSIBLE programarlo atraves del serial USB

      Eliminar
    2. Y ¿se podría conectar en el puerto VGA con esta conversión de pines? http://www.allaboutadapters.com/db9todbadca.html

      Eliminar
    3. No ese cable no sirve, pero lo principal es que NO puedes poner un puerto COM en el puerto VGA. Este cable que me muestras es para pasar de un formato a otro pero siempre dentro del VGA, es decir, es un adaptador. Has mirado programadores USB? hay programadores (ahora mismo no sabría decirte) que utilizan el USB. Escribo de memoria, pero creo que hay programadores que utilizan un 18F4550 o algo similar, seria algo como un PIC que programa PIC. Y este seguramente si venga con fuente externa.

      Eliminar
  24. Enhorabuena por el blog antes de todo
    He montado tu placa la he chequeado infinidad de veces y me recibo el error programacion de codigo en la direccion 0000h.Al parecer, se ve que lo da cuando falla la comunicacion. El pic tengo la certeza que esta bien porque he probado con 3 diferentes (16f84) la configuracion del puerto tambien esta correcta pero lo que me estraña es que no recibo nunca 13v. La pregunta es: en que patillas los tengo que recibir para la comunicación y en que momento?
    Gracias y saludos

    ResponderEliminar
    Respuestas
    1. Con el Pic fuera del socket y la opción "Enable MCLR" del menu Settings->menú Hardware Check, mide entre Vss y MCLR y tiene que dar unos 13/14V,

      Ahora con el Pic en el socket dale a READ ALL y lo mides entre Vss y MCLR y ahí te tiene que dar unos 13,7V . Si no es así puedes incrementar/decrecer el voltaje con el I/O Delay en el menú Hardware del Ic-Prog. Retrasos más bajos incrementan el voltaje, retrasos más altos decrecerán el
      voltaje! No se pueden alcanzar 13.7V cuando se accede al JDM a través de las funciones API de Windows.
      Si no te lo da, voy a poner un circuito que alimenta externamente el JDM que encontré el otro día aunque he de decir que este circuito NO LO HE PROBADO. Un saludo

      Eliminar
    2. gracias por la respuesta. Finalmente el problema estaba en el puerto que estaba fundido. Un saludo

      Eliminar
  25. Hola, quisiera saber si sirve para programar el Pic 12F675.
    Saludos

    ResponderEliminar
    Respuestas
    1. Buenas, Dardo. En teoría es compatible así que es posible. En esta web encontraras un adaptador con el que podrías programarlo sin problemas. Pero en lo personal nunca lo he programado así que no puedo ayudarte en mas con respecto a este micro. Saludos.
      http://www.qsl.net/lu9dpd/Homebrew/Microcontroladores/Microcontroladores.htm

      Eliminar
  26. Funciona perfectamente con el 16f628a.... lo he conectado al puerto serie de un clonico del 95 con el pentium S.

    ResponderEliminar
  27. Excelente trabajo. Ya lo arme y estoy desesperado por correrlo, pero tengo una duda. Es necesario suministrar voltaje a los pines 5 y 14 del PIC por medio de una fuente externa o con el serial RS232 se hace?

    Saludos!!!

    ResponderEliminar
  28. Buenas José Oscar, si el DB9 es nativo del PC no creo que haya mucho problema, aunque en ciertos ordenadores no llega a suministrar los 14V necesarios. Es bueno medirlo para quitarnos calentamientos de cabeza. Con el USB-RS232 si es necesaria una fuente externa porque el voltaje que suministra es de 5V.
    Saludos!!!

    ResponderEliminar
  29. Respuestas
    1. De nada, pregunta lo que necesites, si está en mi mano intentaré responderte, Saludos!!!

      Eliminar
    2. De nada, pregunta lo que necesites, si está en mi mano intentaré responderte, Saludos!!!

      Eliminar
  30. Hola, acabo de terminar el programador. pero no entiendo como va conectada la ficha rs232. cada numero corresponde al pin de la ficha rs232? saludos.

    ResponderEliminar
    Respuestas
    1. Buenas Nahuel, si es como dices, cada número corresponde al mismo pin rs232 del conector, Saludos!!!

      Eliminar
  31. si el pin 5 es masa porque el diagrama va a positivo deberias explicar bien la posicion del conector db9 no se entiente esos numeros, es visto por atras del conector o como haber?

    ResponderEliminar
  32. tengo 15v entre vss y mcrl y aun asi error 0000h

    ResponderEliminar
    Respuestas
    1. Buenas achi, veo que estas un poco frustrado al no poder hacer funcionar el programador, lo primero es no perder ni las formas ni los modales, lo cual ya perdiste en tu primer comentario. Das por hecho que un esquema que lleva publicado 9 años y del que además hay bastante comentarios que prueban su validez esta mal. Para que veas que esta no es la única web que construye este programador así te dejo este enlace http://www.electronicecircuits.com/electronic-circuits/pic-programmer Creo que si tienes alguna duda deberías consultarla allí. Gracias por comentar

      Eliminar
  33. BUEN DIA MI NOMBRE ES HENRY AGUDELO DE COLOMBIA INTERESADO EN CONSTRUIR ESTE GRABADOR DE PICS, POR FAVOR SI ALGUIEN ME INDICA LA CORRECTA CONSTRUCCIÓN DEL CABLE SERIAL PARA ESTE PROYECTO PUES TENGO DIFICULTAD CON ESTA PARTE, POR FAVOR ME INDICAN LA DISTRIBUSION DE PINES EN AMBOS LADOS DEL CONECTOR SERIAL DB9 HEMBRA Y MACHO

    ResponderEliminar
  34. DE ANTEMANO LES QUEDO ALTAMENTE AGRADECIDO POR SUS RESPUESTAS ESTE ES MI JOVIE ES LA ELECTRÓNICA Y LOS CIRCUITOS LO REALIZO EXPERIMENTALMENTE

    ResponderEliminar
  35. DOR DE PICS, POR FAVOR SI ALGUIEN ME INDICA LA CORRECTA CONSTRUCCIÓN DEL CABLE SERIAL PARA ESTE PROYECTO PUES TENGO DIFICULTAD CON ESTA PARTE, POR FAVOR ME INDICAN LA DISTRIBUSION https://coaching-mastery.com/que-es-un-postulado-en-matematicas/

    ResponderEliminar