Programador de PICs

Los microcontroladores son la solución a casi cualquier problema de diseño en el campo de la electrónica digital. En NeoTeo hemos hablado ya de ellos, y publicaremos varios artículos con proyectos que los utilizan. Es indispensable tener a mano una herramienta que nos permita programarlos.Efectivamente, los microcontroladores en general, y los de la empresa Microchip en particular, necesitan de un circuito electrónico auxiliar que nos permita transferirles desde el ordenador el programa que hemos escrito para ellos.
Hay muchas maneras de encarar este problema, y en general se suele utilizar alguno de los puertos disponibles en cualquier ordenador para este fin. Así es que en el mercado es posible conseguir “quemadores” de PICs con conexión para puerto USB, paralelo o serie (RS-232). Por razones de simplicidad en el diseño y por ser seguramente una de las alternativas más económicas, es que en este artículo vamos a explicar paso a paso como construir el programador JDM, con conexión serial. No solo nos permitirá grabar datos en los micros más comunes, de 8, 18, 28 y 40 pines, sino que también lo podremos utilizar para grabar y leer varios tipos de memorias.

Los microcontroladores de Microchip (PICs) se programan mediante un protocolo tipo serie. Se necesitan dos tensiones de alimentación para poder llevar a cabo la programación: una de 4.5v a 5.5v (VDD) y otra comprendida entre 12v y 14v (VPP), que es la que indica al PIC que va a ser programado, para que el cambie la función que realizan los pines I/O implicados en la programación. Los pines implicados en la programación varían de un microcontrolador a otro, pero en general, los de un mismo numero de pines (8, 18, etc.) tienen las mismas patitas asignadas a la programación, lo que nos permite construir programadores que sirvan para mas de un PIC.
En el caso del 16F84A, 16F628A y casi todos los PIC más populares de 18 pines, se utilizan los siguientes pines durante la programación, y son los que se indican en la tabla al final de esta página.
Es muy recomendable leer la hoja de datos de Microchip sobre este tema (son unas 16 paginas, y lo encuentran en los links que recomendamos en este articulo) dado que es conveniente conocer el mecanismo implicado en la programación (tiempos, señales, etc). El documento se refiere específicamente a la familia 16F8x, pero los demás no difieren demasiado de lo allí expuesto.
Con estos conceptos en mente, podemos pasar a la construcción de nuestro circuito programador, que será el encargado de transferir el programa que escribamos en la PC a la memoria FLASH del PIC. Esta es una memoria no volátil, de bajo consumo, que se puede escribir y borrar en el circuito integrado (al igual que las EEPROM). Microchip comercializa dos microcontroladores prácticamente iguales que sólo se diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC16C84 y el PIC16F84, respectivamente.
Además de esta memoria, casi todos los PICs también disponen de una memoria de datos de lectura y escritura no volátil, (esta del tipo EEPROM). De esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el programa. Por ejemplo, el 16F84 dispone de 64 bytes de memoria EEPROM para contener datos, y los programas que creemos pueden leer y escribir en ella.

La construcción de un programador de PICs puede ser un proyecto muy simple o muy complicado, de acuerdo a las características que necesitemos incluir en el. En nuestro caso, dado que estamos desarrollando un circuito que sea lo mas didáctico posible, vamos a intentar mantener las cosas lo mas simples posible.
Si nos damos una vueltita por internet, vamos a ver infinidad de circuitos programadores, algunos con alimentación externa y otros no, por puerto serial, paralelo o USB, para un solo modelo de PIC o para varios, etc.
El programador que construiremos se conoce como “JDM”, por las iniciales de su creador (Jens Dyekjær Madsen). Existen muchas variantes de el, pero básicamente todas tienen características muy similares. Es un circuito muy simple, pero que tiene varias ventajas que lo hacen muy interesante:

>Se conecta al puerto serie, que generalmente en cualquier PC esta disponible.
>Existe software gratis para utilizarlo, incluso bajo DOS, LINUX y por supuesto Windows (incluido WinXP)
>Sirve para programar varios modelos de PICS (PIC12C5XX, 12C67X, 24CXX, 16C55X, 16C61, 16C62X, 16C71, 16C71X, 16C8X, 16F8X entre otros ) y también para leer/escribir varios chips de memoria (24Cxx ). Otros microcontroladores también pueden ser programados mediante un adaptador.
>Dispone del conector ICSP (In-Circuit Serial Programming) para la programación de microcontroladores sin necesidad de desmontarlos de su placa de circuito impreso.
>No necesitamos de una fuente de alimentación externa, ya que se alimenta directamente del puerto de la PC.
>Su costo es muy bajo, los componentes necesarios difícilmente nos cuesten mas de 3 o 4 u$s y son muy fáciles de conseguir.

Una aclaración importante antes de seguir adelante: el hecho de que el programador se conecte a un puerto serie RS-232 de la PC no significa que el protocolo utilizado para comunicar la PC y la placa del programador sea este, de hecho se puede adaptar este circuito para conectarlo al puerto paralelo e incluso USB. Como dijimos antes, los tiempos, y las señales necesarias para programar los PICs dependen de un protocolo especifico desarrollado por Microchip, por lo que utilizamos el puerto como vehiculo para llevar los bits al PIC y para obtener las tensiones necesarias para la programación, pero utilizando un programa y un protocolo especifico para esta tarea.

En las imágenes que acompañan este artículo encontraran el esquema eléctrico y el trazado del circuito impreso necesario para montar todos los componentes. La forma de construir un circuito impreso de manera muy fácil y rápida, con resultados excelentes, está explicada al detalle en un artículo de NeoTeo.
Una vez que tengamos el circuito impreso listo, agujereado y bien limpio (libre de gratitud), procedemos a soldar los componentes. Son unos pocos y no debería haber problemas. Es preferible soldar primero los puentes, el zócalo para el PIC, y luego los demás componentes, teniendo cuidado de respetar el sentido en que colocamos los diodos, transistores y los condensadores, si no el programador no funcionara. Deberemos decidir si usamos una ficha DB9 o DB25, y soldar un cable plano de al menos 5 hilos de aproximadamente un metro de largo entre la plaqueta y la ficha, por supuesto teniendo cuidado de no equivocarnos con la numeración de los pines (ver recuadro para conocer la disposición de pines de ambos conectores).
Como ocurre con cualquier proyecto de este tipo, y más si lo vamos a conectar a un puerto de nuestro ordenador, conviene revisar concienzudamente que todas las conexiones sean correctas, y que al soldar no hayamos hecho algún “puente” que pueda darnos dolores de cabeza.

4 diodos 1N4148
1 diodo Zener de 8.2v
1 diodo Zener de 5.1v
1 capacitor electrolítico de 100uF x 40v
1 capacitor electrolítico de 22uF x 16v
2 transistores BC547B
1 resistencia de 10k, ¼ de watt
1 resistencia de 1.5k, ¼ de watt.
1 zócalo de 18 pines

Además necesitamos un trozo de cable plano de al menos 5 hilos, un conector DB-9 o DB-25 según sea el que tengamos en la PC, y opcionalmente un conector tipo molex de 8 pines para la programación “in circuit”.
El impreso lo construiremos como ya hemos visto en otras notas, o bien podemos usar un trozo de circuito impreso del que se emplea para construir prototipos, que ya tiene dibujadas las islas y los agujeros hechos, y solo tenemos que soldar puentes para “crear” nuestro diseño.

Es capaz de grabar y leer prácticamente todos los PICs y casi todos los tipos de memorias que hay en el mercado. Podemos bajarlo gratuitamente de la pagina de su autor (ver links) , de donde elegiremos la versión “IC-Prog Software 1.05D Multi-Lingual” y si estamos usando Windows NT o XP también necesitaremos descargar un driver especial, que también encontraremos en ese sitio y al que deberemos descomprimir en la misma carpeta donde hayamos puesto el IC-Prog.
En la misma página hay un excelente archivo de ayuda, en español, que deberíamos leer para usar sin problemas el programa.
Es importante seleccionar el programador JDM en la opción “Ajustes” -> “Tipo Hardware” ya que si no será imposible grabar nada. En dicha pantalla de opciones figura un control deslizable con el nombre “Retardo I/O”. Este valor es la demora entre cada dato enviado al PIC. Cuando mas pequeño, menos tardaremos en grabar el programa, pero de acuerdo a la PC que tengamos no podremos hacerlo demasiado pequeño. 10 es un buen valor, y se pueden ir haciendo pruebas con valores mas pequeños. Cuando veamos que la grabación falla, volvemos al valor que funciono y lo dejamos así.
No hay mucho mas para decir de este sencillo programa, y después de haber grabado un par de microcontroladores lo usaremos con confianza y seguridad. Por supuesto, también puede ser utilizado para el proceso inverso, es decir, leer el contenido de un microcontrolador. Esto solo será posible si al momento de grabarlo no se utilizo la opción de proteger su contenido, en cuyo caso solo podrá ser borrado y grabado pero no leído.

El programa, desde el punto de vista del PIC es una serie más o menos larga de “0” y “1”. Como seria sumamente complicado programar de esa manera, se utiliza un ASM provisto por Microchip (u otros lenguajes de alto nivel, principalmente C y Basic) que al compilarse genera un archivo con extensión .HEX que es el que se carga con la ayuda del IC-PROG y el programador en el microcontrolador.
A lo largo de esta serie de notas iremos explicando como construir nuestros propios programas de alto nivel, y como convertirlos en ASM.
Utilizaremos una versión de BASIC, lo que significa que será muy fácil de aprender a sacar el jugo a estos chip, ya que es un lenguaje muy sencillo de aprender y probablemente muchos lectores en algún momento hayan hecho algún programa en su ordenador utilizando uno de los tantos dialectos de BASIC disponibles.
La idea es que desde NeoTeo brindemos lo necesario para que el aficionado aprenda a utilizar estos chips, que hacen de la electrónica digital un hobby apasionante.

Deja tu voto

-11 puntos
Upvote Downvote

Total votes: 19

Upvotes: 4

Upvotes percentage: 21.052632%

Downvotes: 15

Downvotes percentage: 78.947368%

  • cesar alvarez

    muchas gracias . voy a armar el circuito para ver como funciona y comenzar mi viaje por el mundo de los pics Cordialmente Cesar

    • pancho

      una pregunta es lo mismo si en vez de poner el diodo 1n4148 pongo el 1n4007?? gracias

  • jim gaviria

    gracias por compartir teoria y pratica de los controladores.buscare la forma de hacerlo si en mi pais colombia encuentro los repuestos adecuados .gracias .ahora compartire algo de los DVD .si le sirve a alguien en el interned.los motores donde va la unidad se pueden lubricar y serviran unos meses mas .esa falla la presenta cuando no lee sino cd o vcd ,eso nos dice un poco que lubricando el motor volvera a trabajr como original .espero les sirva de algo .jim gaviria .

  • Dario

    Gracias por compartir la info Vamos a ver como sale

  • Dario

    Gracias por compartir la info Vamos a ver como sale

  • roque

    Es muy interesante por la propiedades didacticas de este tipo de Circuitos y el avance en Programacion Aplicada

  • fernando

    gracias por la informacion

  • fernando

    GRACIAS

  • harley

    es muy bueno

  • Ariel Palazzesi

    Gracias a todos por sus comentarios. NeoTeo seguira ofreciento periodicamente este tipo de notas. Saludos!

  • daniel

    HOLA QUIERO, ALGUNA PERSONA QUE ME PUEDA AYUDAR NECESITO CLONAR LA PROGRAMACION DE UNOS PIC DE VENTANA DE 28 PINS Y 8 PINES GRACIAS MI E MAIL ES LACUMBRE_DANIEL@HOTMAIL.COM SI ALGUIEN ME PUEDE AGREGAR PARA SABER DEL TEMA.

  • abel escobar flores

    necesito un grabador para el pic 16c71 por favor…

  • Alvaro

    nesesito ayuda para automatizar un circuito con motores de paso con el pic 16F84

  • pablo

    hola, tengo un pequeño problema con el programador de pic, el diagrama es casi igual q el del articulo q presentan aqui, no reconoce el pic, alguen q me pueda sacar de duda por favor comuniquese conmigo email electro_pablo86@hotmail.com

  • Rergis Eduardo

    Hola soy nuevo en esto, es una materia que llevo en el tecnologico al que asisto se llama Interfases, y necesito poder trabajar con el IC-PROG en Windows Vista, so si me pueden ayudar para buscar la forma de lograrlo, se los agradeceria. Atentamente Rergis Eduardo Balancán de Dominguez, Tabasco, México-

  • APOLO

    solo queria dejar un comentarioal respecto detusdudas…..creo …que…..sos….un cornudo….y tu mujer la tiene clara haciedno….ESO…HASTA LUEGO COMPAÑERO!!!!

  • APOLO

    solo queria dejar un comentarioal respecto detusdudas…..creo …que…..sos….un cornudo….y tu mujer la tiene clara haciedno….ESO…HASTA LUEGO COMPAÑERO!!!!

  • jose

    muy bueno el sitio, la informacion e clara, los felicito, sigan publicando cosas asi, por cierto si tienen por ahy un quemador usb completo, no dejen de publicarlo para construirlo y seguir trasnochandonos con estos pics…

  • Augusto

    gracias`por la informacion

  • Javier

    Muy buen articulo. Muchas gracias.

  • Tano Duque

    Buenos tardes le agradesco de ante mano la ayuda posible pero necesito grabar dos tipos de eeprom la 24lc16b y la 93c56n SI Tienen algun programador diseñado se lo agrdesco de su parte

  • Ariel

    ¿No miraste si el IC-Prog las soporta? Si es asi, este programador deberia grabarlas. No puedo confirmartelo por que no tengo esas memorias, pero mirando su datasheet, los pines parecen corresponderse con el grabador. Saludos!

  • luiscord2

    estoy realizando una calculadora con las operaciones basicas , me gustraria que me alludaran con el codigo fuente para el pic16f684, y si no es mucha molestia con una sugerencia de como montarle un circuito. porfavor les pido un poco de alluda, estoy en una crisis, este proyecto me salvaria de un tremendo problema les pido su alluda sì. este es mi correo: luiscord2@hotmail.com

  • jorge

    quiero solo preguntar donde va el led en el circuito si alguien me puede decir mi mail es je.salas.c@hotmail.com gracias se le agradece mucho porfis

    • vdfe

      viendo el diagrama, no se observa ningun led, pero este se puede agregar poniendo primero una resistencia en seria con el led, esta resistencia puede ser por ejemplo 330ohm, este nuevo arreglo iría en paralelo al zener de 5.1v claro con la polaridad correspondiente, es decir el "positivo" del arreglo led resistencia al negativo del zener.

  • rumarfer

    Hola necesito saber como funcionan los carteles publicitarios multilinea y multicolor formados con diodos led´s, como se controla y como se construyen desde ya muchas gracias

  • ArielP

    Hola Rumarfer! No pierdas de vista nuesto Tutorial sobre programacion de microcontroladores: ese es el tema que trataremos a partir de la proxima entrega. Saludos!

    • Jose Luis Zayas

      solo que esta informacion es para qienes saben algo o mucho sobre pics, diganme seria posible que yo programe algun chi alguna vez, soy tecnico en refrigeracion con poco conocimiento de electronica, especialmente del tiempo de los bulbos(valvulas termoionicas) y quiero empesar con esto de los pics, no sabia de esto que se puede construir el progrmador asi que lo compre, ahora nesesito que me alluden a usarlo, AGRADESCO CUALQUIER COMENTARIO AL RESPECTO.
      LUIS ZAYAS zayas007@hotmail.com#25

  • Andres F

    Esta muy bueno. me ayudo a aclarar muchas cosas. Pero necesito el protocolo utilizado por el PC y las lineas del RS232 utilizadas. Donde puedo conseguir esta informacion???

  • gil

    esta muy interesante veremos que tal funciona mas adelante muchas gracias

  • mensfiurer

    necesito un cable convertidor de usb a db9 pero el que venden que esta hecho no funciona no lo registra el icprog si alguien me puede ayudar como le puedo hacer desesperado

    • vdfe

      los cables convertidores de usb a rs232 o db9, no son utiles para este tipo de programador y no por que no cumplan con los voltajes, se debe a los protocolos utilizados. podrias probar otro programador via usb directo

  • hades

    muy bueno su articulo ya que explican con detalle y de la manera mas sencilla la programacion de un pic.

  • saske

    Hola: tengo una duda sobre las conecciones de los componentes, cual diodo es D1 y D2, etc, asi como cual C1 y C2, R1 y R2, y q es o cual es el CONECTOR. Lo siento soy nuevo en esto. Gracias

  • jose_sonseca

    Hola: voy a empezar a trastear con esto y pienso comprarme el microcontrolador 16f628a que utilizais en el manual de programacion, quisiera saber si este programador podra escribirle.

  • evasoft

    hola: tengo que clonar un pic16f76 pero no lo consigo y no tengo la hex. ¿podria leerlo del pic y ponerlo en otro que sea compatible? ¿sabes cual podria funcionar? saludos

  • albert

    hola: tengo un tiempo buscando y simplemente es lo mas bueno que encontrado atendible sencillo

  • albert

    hola: tengo un tiempo buscando y simplemente es lo mas bueno que encontrado atendible sencillo

  • Roco

    Hola a todos los Pic Maniacos. El circuito me parece muy interesante el hecho que no necesite fuente de alimentacion. Voy a probarlo a ver que tal.Para algun oporte comunicarse al mail rodrigogomezfranco@hotmail.com

  • Roco

    Hola a todos los Pic Maniacos. El circuito me parece muy interesante el hecho que no necesite fuente de alimentacion. Voy a probarlo a ver que tal.Para algun oporte comunicarse al mail rodrigogomezfranco@hotmail.com

  • BalzaK

    PicKy Maniacos, De casualidad No tienen el programador para un 16F87x; Me serviria de mucha ayuda sus aportes referentes de como seria los planos de montaje y del programador 16F87x gracias

    • vdfe

      que tal Balzak, este programador puede servir para los 16F87X, solo tendras que agregar otro socalo, donde tendras que unir del socalo de 18 patitas al de 16F87X las siguientes patitas en ese orden, la papita 4(pic18 que es MCLR) ala patita correspondiente a MCLR que en el encapasulado de 28 y 40 pines es la 1, el pin 14(pic18) al la patita de vdd que es la 20 en los de pic28 y la 32 de los pic40, el pin 5 del pic18 al vss 19 del pic28 y 31 del pic40, pin12 del pic18 al clock pin 27 del pic28 y pin 39 pic40, el pin 13 del pic18 que es "data" al pin de data que seria el pin 28 en el pic28 y el pin 40 en el pic40
      como que medio confuso, si no me explique bien puedes pedirme el diagra a mi correo que es vdfeperc@hotmail.com

  • BalzaK

    PicKy Maniacos. Help me!!! necesito los planos para hacer un programador de PIC’s para un 16F87x Agradesco sus Comentarios., Referente a este tema., Tx por el puerto serie RS 232

  • fernando maximo

    hola, si desean tener un poco mas claro el tema de programacion pic pueden ver una guia en subastas ebay.es – equipamiento y maquinaria – equipo electrico y electronico y buscar la giua curso de pic o escribir a pic33es@hotmail.com pidiendo informes de guias para pic.

  • Raúl

    Felicidades por el artículo.

  • xavi

    necesito programar micros microchip con una portatil vista home premium pero no me funciona si alguien puede asesorarme con costo no hay problema mi correo axre1@yahoo.es

    • vdfe

      necesitas afuerza un programador usb, ya que de entrada me imagino que no tienes puerto serie en la portatil, y pues la conpatibilidad con vista no creo que sea problema

  • Josifaz

    Hola, me gusta el programador de PICs es muy simple, pero quiero saber si ademas de andar con el ICprog tambien funciona con el MPLAB. Gracias!

  • NICK DEL USUARIO REGISTRADO

    aaaaaaaaaaaaaaaaaaaaaa

  • jhonny c

    HOLA, EL CIRCUITO ES INTERESANTE

  • NICK DEL USUARIO REGISTRADO

    Hola, etoy trabajando con un PIC y quiero saber si es posible gravar en su memoria de datos, mensajes de voz que actualmente tengo en mp3. Con que formato debo introducirlos? Que programa me arà la combersion? Tambien quisiera saber que módulo de audio puedo conectarle como periférico de salida para más tarde reprocucir los mensajes. Salu2!!

    • vdfe

      hola suena interesante tu pregunta, como han mencionado no es viable utilizar un pic para guardar archivos en mp3, pero se se puede utilizar para el control de un reproductor de mp3, utilizar una memoria flash y con el pic leerla y guardar los archivos, no se si se pueda poner un enlace, pero si quieres saber mas te dejo mi correo es vdfeperc@hotmail.com

  • NICK DEL USUARIO REGISTRADO

    Hola, etoy trabajando con un PIC y quiero saber si es posible gravar en su memoria de datos, mensajes de voz que actualmente tengo en mp3. Con que formato debo introducirlos? Que programa me arà la combersion? Tambien quisiera saber que módulo de audio puedo conectarle como periférico de salida para más tarde reprocucir los mensajes. Salu2!!

  • Ariel Palazzesi

    Hola! No podrás grabar en la memoria de datos de un PIC un archivo MP3. Solo disponen de un puñado de bytes, y un MP3 necesita MILLONES de bytes de espacio. Simplemente, no hay lugar para eso. Necesitas usar una memoria externar de al menos un par de MB si quieres guardar unos dos o tres minutos de audio en MP3. Y posiblemente un PIC no tenga la potencia suficiente para poder decodificarlo y reproducirlo en tiempo real. Saludos.

  • e3086_5

    hola !! estoy de acuerdo con la opinion de Ariel Palazzesi . mmm yo creo que si quieres utilizar sonido manejes un voice chip. que son CI con mayor espacio de datos…

  • inteligente, nerda

    locos no sean fanaticos estudien mejor de estar haciendo eso pongan o hagan algo de estudio

  • PAULA

    lo que coloco inteligente, nerda me parese muy sucio es decir hay que averiguar sobre elle para hacerle algo, por es muy desegr5adable y se le nota que es nerda no useis palabras como nos, o no es asi e3086_5. ella no le interesa lo que hablemos estamos en vacaciones

  • teja

    oigan en donde puedo encontra cursos para robotica eahpues loquibiris

  • el negro

    necesito un programa ya hecho para hacer funcionar una secuencia de led’s, usando un pic16f84a.

  • El Pinguino

    Hola a todos Necesita el codigo Fuente de conectar un biometrico en los lenguajes de programacion c/c++ Visual Basic y Java Gracias a todos por la Atencion Prestada

  • van

    esta puta madre no sirve… no funciona… q pedo como le hago para q trabaje …lee los datos de mi pic16f84 pero no programa…. q pedo!!! como le hago para q funcione… ??? me dice verify failed at address 0000h!… ese es el puto mensaje de herror q me manda.. help!!!…S.O.S…. girl_antivirus15@hotmail.com

  • van

    esta puta madre no sirve… no funciona… q pedo como le hago para q trabaje …lee los datos de mi pic16f84 pero no programa…. q pedo!!! como le hago para q funcione… ??? me dice verify failed at address 0000h!… ese es el puto mensaje de herror q me manda.. help!!!…S.O.S…. girl_antivirus15@hotmail.com

  • van

    esta put……a madre no sirve… no funciona… q pe……do como le hago para q trabaje …lee los datos de mi pic16f84 pero no programa…. q pe..,.,,…do!!! como le hago para q funcione… ??? me dice verify failed at address 0000h!… ese es el p…….uto mensaje de herror q me manda.. help!!!…S.O.S…. girl_antivirus15@hotmail.com

  • Ariel Palazzesi

    Hola Van! A ver si podemos ayudarte. En primer lugar, el programador SI funciona, de hecho hemos programado cientos de veces con él, sin problemas. Y no es mas que un JDM que millones de personas han fabricada y usado en los ultimos años. Asi que revisa bien todo, que seguramente hay algo que haces mal. En segundo lugar, los comentarios en la pagina parecieran funcionar tambien: el tuyo esta cuatro veces. 😉 Un abrazo.

  • David

    Saludos tengo un Portatil, le compre un cable de esos que convierten de USB a DB9, y el programador no me funciona, segun e leido por hay,dicenq ue esos cables no sirven por que no entragan los niveles de voltaje deceados,, aun asi me gustaria encontrar una maera de arreglaarlo, me podrian ayudar!! gracias

  • NICK DEL USUARIO REGISTRADO

    valen callampa mierdas

  • NICK DEL USUARIO REGISTRADO

    muy bueno

  • AlvaroQ

    Hola Me da el mismo error de verificación de datos y no sé que puede ser, por favor si alguien tiene una solución agradecería mucho

  • Nelsinho

    Hola..muy bueno el post..por si acaso alguien tiene el código de un programa grabador de pics para el 16f84a…es q necesito programar este pic a mano es decir tengo q hacer una versión básico del ic-prog pra poder programar un 16f84a…POrfa el que sepa algo q me ayude.. Saludos

  • ZubZerok

    Me parece un buen proyecto… pero tengo una pregunta, hay alguna forma de que se pueda agregar un LED o algo asi para señalar de que el programador esta alimentado o cuando reliza el proceso de grabacion?

    • vdfe

      claro, yo lo e hecho, el led iria en serie con una resistencia de 330 o 220 ohm y este arreglo iria en paralelo al zener de 5.1v, con este led se indicaria que esta conectado o encendido el programador. el positivo del arreglo iria con el negativo del zener

  • Miguel GI

    Bueno el aporte para programar o diseñar el programador de pics. Sirve tambien para los dspic30f4013 y dspic30f210, o estos solo se programan a usb (mm creo eso no debe importar) Saludos.

  • NICK DEL USUARIO REGISTRADO

    Buenas. Yo también estoy interesado en hacer este programador, pero resulta que no tengo puerto serie y tendría que conectarlo por paralelo. He visto por ahi que para adaptarlo a paralelo hay que ponerle una fuente. Alguien sabe donde va conectada y de que voltaje tiene que ser? Es que no tengo mucha idea de electrónica y necesito programar pics 12C508. Muchas gracias de antemano.

    • vdfe

      no es necesario la fuente, solo tienes que cambiar el tipo de conector, en lugar de usar el db9 usarias el db25, y con esto cambiaria la conexión, buscate la configuraricion del bd29 es decir el del paralelo y junto con el diagrama el cual explica los pines a utilizar(gnd, txd, etc.)esos los conectas al conector del puerto paralelo

  • knives

    buenisimo el aporte mañana mismo consigo el material y manos a la obra pero…. al principio lei por ahi que con el JDM(este programador) podria quemar pics de 40 pines y la pregunta es como que cambios tendria que hacer o tendria que armar un quemador distinto, lo q pasa es que necesito programar el 16f877 y 18f4550 si alguien me podria ayudar se los agradeseria mucho

    • assasin

      No es necesario un quemador nuevo.. ni tampoco ningún cambia a este… basta con usar los 5 pines del ICSP… conectalos a los correspondientes en el modelo de pic que quieras quemar… obviamente me refiero a cualquierad de los dos mencionados 16F877 o 18F4550

  • CHIP

    Salu2 terricolas, muy buena la publicacion, me llamaron siempre la atencion los PIC’s, sigan siempre adelante y al igual que otros me gustaria contribuir, con respecto al cable de USB a serial supongoq eu tendria que alimentarse con una fuente de 14V adicional, ya que el puerto USB tiene un maximo voltaje de salida (segun tengo entendido) de 5V, por tal razon el PIC seria reconocido, pero no pueda ser capaz de ser programado porq ue no llega al voltaje necesario de programacion

    • vdfe

      no creo que sea la fuente de alimentacion la que sea el problema, ya que como se han mostrado articulos en neoteo se puede obtener mayor voltaje apartir de pilas(1.5volts), se puede utilizar un generador de onda cuadrada, algo asi como un 555 y a su salida un doblador de voltaje y listo tendrias los 14 volts necesarios, el problema que yo creo es el protocolo, los tiempos de transmision y demas

  • CHIP

    Salu2 terricolas, queria felicitarles por tan excelente labor de ayudar, como dicen HAZ EL BIEN SIN MIRAR A QUIEN, con respecto a lo de los cables que pasan de USB a serial es muy probable que los PIC’s sean reconocidos pero no pueden ser programados, ya que estos necesitan al menos 14V en la programacion, segun lo que se los puertos USB pueden otorgar un maximo de 5V (segun tengo entendido)

  • Flek

    DUDA:

    Hola, a ver si podeis aclarame esto:

    ¿Qué son esos terminales TxD, GND, CTS, DTR, RTS?

    ¿Qué hay que conectar a cada uno de ellos?

    ¿Cómo los dibujo en un programa de diseño de placas tipo PCB Wizard?

    ¿Por qué en el esquema del ciruito no aparece la conexion DB-25 o DB-9?

    • vdfe

      las terminales que mencionas son las terminales que se unen al conector db9 o db25, simplemente haces una union del circuito al conector, claro con el orden correspondiente,

  • albermillan69

    Alguno de ustedes a probado este quemador con el 16f877 o el 16f877A?? opinen porfa!!!

  • Knuxx

    hola ante mano gracias.. quisiera saber si alguno ha armado el circuito y le halla funcionado ya que a mi no me funciona :s.. lo he revisado y no eh encontrado el problema.
    las conexiones estan echas tal cual aparece en el esquema..

    favor ayudenme respondan a mi email

    knuxx25@gmail.com
    knucles25mp@hotmail.com

    Gracias

  • Victor R

    Buenas amigo quisiera saber si el capacitor N° 2 de 100uf de 40 v puede ser sustituido por uno de 16v debido a q no creo q este trabaje con tanto voltaje ¿se puede?.. gracias..

  • pepperoni

    hola, q es ese "conector"??? q aparece en el circuito impreso y en el de las posiciones de los elementos…

    corrijanme si me equivoco xfavor(creo q me equivoco je) esas terminales TxD, GND etc.. son las q tengo q conectar al DB9 no???

    y mi ultima preg es…como hago para programar ICSP ???con q elementos???

    desde ya muchas gracias!!!

  • sebitronic

    me podrian especificar la coneccion para los conectores db9 y db 25 q no las pude encontrar

    desd ya muchas gracias

  • domador

    hola gracias por loq suben estoy por armar algo muy interesenta con los pic luego q termine les abiso ok
    saludos
    marioj

  • zizu

    Bueno soy nuevo en esto quisiera saber como puedo fabricar mi propio pic alguien podria darme informacion

    • vdfe

      hola zizu, sin animos de molestar, para poder fabric PIC o microcontroladores se requiere mucha maquinaria, talves te abras equivocado en la pregunta,los pic se venden a un bajo costo relacionado con sus funciones. comprate uno mejor saludos

  • jorge

    gracias por la informacion pero hay no puede servir el 16f877 y 16f874 ?

  • Luicho

    Hola quiero aprender a programar con visual Basic . Gracias ,saludos

  • estifb

    Amigos , si que soy nuevo en el tema de los PIC’s, lo que trato de hacer es un programa para poder ubicar el punto cero de un "resolver", totalmente diferente y algo mas tedioso que un encoder, haber si alguien me ayuda con un circuito o por lo menos con las pautas para poder empezar el proyecto , de antemano muchas gracias, quedo a la espera de sus comentarios.
    de preferencia si pueden me ayudan enviandome informacion a este correo estifb@hotmail.com.

  • pececito

    muchas gracias ariel me encanta ucontrol un gran trabajo estoy aprendiendo muchas cosas

  • gersony

    hola, gracias por compartir sus conocimientos, me interesa armar este circuito para comenzar a grabar mis primeros pics pero tengo un inconveniente, mi pc es de las nuevas y esta viene sin puertos de comunicaciones, solo trae puertos usb y no se como adaptar el circuito a este sitema de puertos, si me pueden ayudar con esto les agradezco de antemano.

  • kevmeister

    bueno muchas grasias x tan buena informacion ya que me servira de mucho y amigos estoy contruyendo una araña mecanica y una armadura resistente a muchas cosas nesesito ayudad de algunos de ustedes my correo es payper_2009@yahoo.com. espero sus correo son proyectos muy grandes grasias.

  • assasin

    Hola.. gracias x la info… tengo una pequeña duda… queria que me corrobores algo… es en cuanto al esquematico y el PCB. En el lugar donde aparecen los condensadores en el PCB… aparecen puenteados por el polo +, contrario a lo que indica el esquematico.. agradezco cualquier confirmación… de cualquiera.

  • gato

    gracias por el aporte, muy bun material

  • EdQuiSer

    hola soy el novio de ana y kelly donde me pregunto que si las basilo a las dos con quien me voy a cazar

  • Toti

    con este grabador puedo programar un pic de 28 pines como el 16f876a??’
    ayuddaa!
    respondan pronto

    • luicho666

      #100
      Che hno, sos medio boludo vos?, no ves las fotos que el zócalo tiene 18 pines? donde metes los otros 10 que te sobran. en el orto te los metés gilaso.

  • Coach

    A alguien le funcionó ese circuito ? ..

    • DANTE LISCI

      #101 EL CIRCUITO FUNCIONA PERFECTAMENTE.

  • paco

    me encantaria aprender a programar pic

  • olcgkxfg

    sdfsd

  • xPdi

    buen aporte se agradese. hare el montado de este projet y comento los resultado nunca e programado pic’s. solo travajo con el compilador JC de java en mi uni pero bueno alfin es programacion espero me adapte a este compilador xD

  • el tio willy

    Esta informacion cayo como anillo al dedo ñaño
    Gracias por la informacion
    Solo una cuestion
    ¿Y como es eso de
    Dispone del conector ICSP (In-Circuit Serial Programming) para la programación de microcontroladores sin necesidad de desmontarlos de su placa de circuito impreso ?
    expliqueme gracias

  • bryan valdivia carrasco

    ta bueno me facilito mucho en mi trabajo

  • Jose

    Hola, álguien podria indicarme un programador de este tipo para el PIC16C505? ya tengo uno parecido a este pero no vale para este PIC. lleva 14 pines.

    saludos

  • carlos

    muy buena la pagina estoy conociendo un mas de las progrmaciones y me parece super bien el block

  • karl

    disculpa queria saber si este grabador quema el pic 16f628a
    mi msn es karl_1291@hotmail.com

  • dani

    podriais poner el circuito impreso??? me refiero a las pistas, SOLO las pistas, sin los componentes… Gracias

  • jheans

    hay q probar el circuito xk sales el quemador hecho pero con un transistor y en el diagrama salen dos si fuenciona los felicito si no los mando a la mierd

  • ivan

    m podes decir q modelos son los diodos zener?

  • Anónimo

    perfecto, me anduvo de una!! muchas gracias… especial para los que comenzamos con la programacion de PIC !!!

  • Bruno

    Una pregunta yo tengo un puerto DB9 en la computadora y quisiera saber donde se conectan el transmisor y receptor(TX y RX)en la placa, ya que en el circuito me parece que no estan, hay TxD arriba a la derecha y quisiera saber que hace.

    • Nocturno

      #116
      TxD es el TX. Rx no lo usa, usa otro pin (CTS).

  • Bruno

    donde se conectan en el circuito el TX y el RX del puerto serie?? Muchas gracias.

  • Bruno

    perdon, donde esta el RXD?? el TXD si esta. Pero si no conectas el receptor nunca se va a poder conectar la computadora con la placa ojala respondan asi arranco a armarlo

  • mvr1981

    Hola… sirve para los 16F628 y 628 A??…

  • Nocturno

    evidentemente usa el TxD para enviar datos al pic. pero para recibir?
    parece utilizar el CTS. es asi?

    Gracias. buen post

  • Nocturno

    Evidentemente usa el TxD para enviar datos al pic. pero para recibir datos? parece utilizar el CTS es asi?

    Gracias. buen post

  • Nocturno

    este sistema re CAPTCHA no te avisa cuando enviaste bien el mensaje. por eso escribi 4 veces. perdon!!

  • Nocturno

    Evidentemente usa el TxD para enviar datos al pic. pero para recibir datos? parece utilizar el CTS es asi?

    Gracias. buen post

  • Nocturno

    Ahora que lo veo bien parece usar TxD para VTest mode, o sea para ponerlo en modo grabacion y el DTR se usa para transmitir datos

  • Diego

    hola…
    porfavor si pueden ayudarmeles agradeceria mucho.
    lo que sucede es que hice el circuito y todo, compre los materiales exactos, ninguno diferente o parecido, uso el programa icprog 1.06c.
    todo marcha bien, programa bien, lee bien, verifica bien.
    el problema es cuando intento programar datos mios, nose si me explique bien, bueno…
    uno al elegir el pic en el icprog te muestra los datos "default" del pic, esos los puedo programar bien, tambien los lee y los verifica bien, pero al utilizar MIS DATOS (mi configuracion) no puedo programarlo, me da error (el tipico error de 0000h), ya nose que mas hacer… probe cambiando la velocidad del puerto serie(no funciono), tambien probe en corta el cable (lo deje en 30 cm mas o menos y tampoco funciono), tambien probe en cambiar la velocidad en el programa y tampoco funciono…
    porfavor les agradeceria mucho si me pudieran ayudar… es un proyecto que estoy haciendo para el colegio y necesito programar un PIC16F628a, me falta solo programarlo.

    la pagina donde esta la configuracion es esta:

    http://www.ucontrol.com.ar/wiki/index.php?title=Matriz_de_LEDS_de_8x8

    gracias por su ayuda…
    pd: si alguien es de chile (santiago) y tiene para programar y me pueda programar mi pic le agradeceria mucho..

    • Nocturno

      #126

      intenta lo sig:

      verifica la tension en los 12V si son realmente 12V (al final del capacitor de 100uF 40V) pueden ser mas de 12 pero no menos. si te da menos chequea los 5V que sean 5V (los 5 chequealo al final del diodo zener de 5.1V por razones obvias.) sin esta tension no graba, aunque tampoco deberia leer el programa del pic.

      la otra es chequear en el icProg que esten bien definido los pines. fijate que Txd lo usa para indicar la grabacion dandole 12V a la pata VTest mode. y usa CTS para leer y DTR para escribir datos al pic. chequeate que este todo bien soldado proba continuidad en todas las pistas e incluso proba continuidad en el cable serial. intenta probar el programador en otra pc.

      es todo lo que se me ocurre. saludos.

  • diego

    bueno.. hice lo que me dijiste y al medir la tension en el capacitor me dio 4v, a lo cual medi los volts en el diodo zener de 5.1 y si me da 5v en ese. (ahi nose que mas hacer)

    en lo segundo que dijiste, no entendi muy bien eso de VTest mode, asique probe la continuidad en pistas y estan bien, tambien probe continuidad en el cable serial y tambien esta bien.Solo me faltaria probar eso de VTest mode (ojala puedas explicarme mejor como se hace)y probar el programador en otro pc.
    gracias por tu ayuda… salu2

    • Nocturno

      #128
      es vtest mode es la pata 4 del pic. cuando le mandas 12v a esa pata, le indicas al pic que va a ser grabado o que estas leyendo la informacion del programa. si le llegan menos de 12v es como si le estuvieras mandando 0v. o sea, no va a grabar. por eso es crucial que sean 12v al final del cap de 100uF 40V porque si son 11.90V por ejemplo no va a grabar

  • Gonzac

    Este diseño es genial, no puede ser mas sencillo.
    En el caso de querer diseñar uno usb, esto te ayudaria bastante si admite el Pic 18f2550.
    Yo todavia utilizo uno por puerto paralelo
    http://gonzac-studios.blogspot.com/2011/09/ingenieria-inversa-grabador-de-pics.html

    Exelente articulo como siempre.
    Saludos!

  • Nocturno

    Bueno por fin lo pude armar y despues de varias fallas de mi parte funciona de maravillas. lo unico que me di cuenta es que si ni bien lo enchufo entro a grabar me tira error, pero si espero un rato graba bien. es probable halla que esperar un rato a que se carguen los capacitores para dar con el voltaje?? ya parecen las tv de bulbos!!!

    para el que no le funciona o tiene miedo de comprar los componentes al pepe, le doy 2 tips:

    1) los zener son de 5.1 y 8.2 respectivamente. a veces en las casas de electronica pedis uno de 5.1 y te venden de 4.7 porque generalmente no importa la tolerancia. en este caso importa. si no hay de 5.1 anda a otra tienda nolo compres.

    2) es comun en los electronicos de ver en el esquema cables a masa como en este caso, pero luego lo que se hace es hacer masa sobre la placa fenolica para ahorar espacio/cables. ESTE FUE MI ERROR. si haces esto no anda. primero porque el puerto trabaja a voltaje negativo y segundo porque en realidad tenes 2 masas en el circuito: el GND del puerto COM y una masa virtual detras del cap. de 100uF. tarde en darme cuenta pero una vez superado estos temas funciona perfecto, no se desilucionen!!!!

  • juanmanuel

    Hacer la corrección en la polaridad de los condensadores electrolíticos en el circuito impreso, estan invertidos en vez de ser positivos son negativos los signos en el circuito.

  • juanmanuel

    Cambiar la polaridad de los condensadores, hay un error en ese punto.

  • lola alamo montalo

    hola es muy grndioso todo grasias y besos

  • Mario Angel

    hola. oye, quisiera saber para que es eso de "TXD, GND, CTS, DTR, RTS"
    Es para conectarlo a la pc o que?…quiero respuestas porfa

  • Anónimo

    Muchas Gracias por el circuito amigo, Me inicio apenas en esto de la programacion en PIC`s veamos q tal me va,

  • SERGIO

    tus enlaces de ic prog y microchip no funcionan

  • joseproblema

    Saludos, quisiera saber si hay algun problema al leer o escribir los pic 16f627a y 16f628/a con este programador y como se podria solucionar este,, y si un programa esta copiado a una 16f627a se puede clonar en una 16f628 o hay que modificar alguna instruccion en el programa… gracias

  • fer

    Oye una pregunta, funciona con el pic 16f628a?

  • Pao

    no se si algien kedara en este foro aun! pero lo hice y no me funciono el programa…… si algien puede actualizar este post porfavor seria de mucha utilidad

  • Patricio

    Hola!

    Realice la placa tal cual como sale en la pagina, pero al momento de ocupar el programa me manda un error cuando lo abro me dice "privileged instruction" y cuando quiero comunicar la placa con el PC este se queda pegado :S! porfavor si algien me pudiera ayudar con este problema mi correo es palbornozn@gmail.com

  • sebastian

    ola pero no entiendo mucho de programacion pero se puede programar un pic16f648 SAludos

  • sebastian

    ola pero funciona con el pic 16f648 es para poder estar mas seguuro Saludos.

  • Anónimo

    Hola, soi nuevo en esto pero vi que mucha gente no tiene el puerto serial este para el programador,investigando un poco di con una web donde esta el esquema de un programador por usb que creo que les vendria bien, a demas por lo que veo se puede descargar tanto el software como el esquema que esta en un pdf.

    http://www.sitionica.com.ar/index.htm

  • barincho

    buenas noches, he leido atentamente el articulo; personalmente he adquirido un programador jdm (que todos son copias de todos mejorados o no) el problema que se me presenta es que con la notebook con puerto serial incorporado (no adaptador) no graba los pics (error en linea 0000H que por lo indagado es por falta de corriente en el serial)probe el programador en pc de escritorio y funciona bien. alguien me puede orientar en como solucionar el problema, ya sea con una interfaz o como dicen cambiando el zener de 6,2 por 8,2; les comento que el mio tiene 3 zener ( 2 de 5,1; 1 de 6,2) el de 6,2 segun la serigrafia va a 5V y hacia las distintas patas de los pics
    desde ya muchas gracias

    • Aaron

      #145 Si por Notebook te refieres a estas computadoras pequeñas sin unidad lectora, estas computadoras no tienen puerto serial. Prueba con un adaptador.

  • Pedro Sandoval Monsivais

    disculpe un poco tarde de ver este sitio pero me podria ayudar?? empezare a armar el circuito pero no comprendo en que sitio encontrar el driver qque mensiona especial para windows XP y la version de IC-PROG que se nesesita para el grabado del chip por lo demas muchas gracias muy buen aporte para nosotros lo estudiantes!!

    • Pedro Hermosilla

      #147 Este diseño tiene sus limitaciones por el nº de pins, y sus ventajas (bajo coste y facilidad de montaje). Para software, con el WINPIC800 de Micro Chip, tienes más que suficiente. Busca Winpic800 en Google, y verás todo lo que se ha desarrollado a su alrededor.

      Saludos.

  • Alb

    Ariel, un 10, llevaba varios dias buscando un programador para la 16f88 y dfespues de probar el LPVCable no me sirvio porque necesito alto voltaje en prog.

    Me costo decidirme pero buscaba simplicidad maxima y el esquema del JDM me funciona a la perfección y a la primera.

    Un millon de gracias, saludos 😉

  • ulises

    los felicito este proyecto esta muy bueno.
    gracias.

  • ulises

    Los felicito el tutorial esta muy bueno.

  • Raul Soto

    El diagrama electrico de la primera pagina tiene un herror pone a tierra R1 y tierra debe ir por el lado negativo de C1-C2-D4-D6.