Autor Tema: Boton "programar" en el hardware? CONSEGUIDO  (Leído 7710 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Boton "programar" en el hardware? CONSEGUIDO
« en: 04 de Septiembre de 2008, 16:25:08 »
Hola!
Tengo una duda... estuve buscando en el foro pero los resultados eran de lo mas diversos, pero nada de lo que yo buscaba...
mi duda es la siguiente: Hay algun programador que tenga un boton fisico que al apretarlo programe el micro que este puesto y el programa que el soft tenga cargado?
Explico... el winpic tiene una opcion muy practica, cuando cargas un .HEX y le das a programar el programa antes de programar actualiza el .HEX con la compilacion mas reciente... tambien tiene otra opcion genial, que es que al estar minimizado pone un icono en el "Tray" (al lado de la hora de windows), y si haces clic sobre el icono, da la orden de programar con el .HEX que esta cargado.
Estas dos opciones juntas estan geniales, porque puedo estar en CCS, compilar un programita, darle al boton del tray y el micro se programa directamente.... pruebo y veo que el programa tiene un fallo, corrijo, vuelvo a compilar y con un boton vuelve a programarse el micro... todo sin tener que andar llendo y viniendo al winpic.
yo por ahora tengo la desventaja de no programar con ICSP (lo tengo, pero aun no lo uso) y tengo que poner y quitar el pic de mi programador cada vez... SERIA MUY PRACTICO colocar el pic en el programador, apretar un boton DEL PROGRAMADOR y que el micro se grabara... existe alguna manera de hacer algo asi?
se que es una tonteria, y soy un poco vago... pero cuando programas un mismo micro 0xFFn veces, intentas de que sea lo mas automatico posible...  :mrgreen:
Gracias y salu2!

Edito: Consegui ponerle el boton a mi programador!  :-/
Al que le interese ver el resultado puede pasar por ESTE TOPIC
Gracias a todos!
« Última modificación: 24 de Septiembre de 2008, 02:07:56 por Marttyn »
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Boton "programar" en el hardware?
« Respuesta #1 en: 04 de Septiembre de 2008, 16:52:26 »
Un bootlader no te gustaria mas?
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Re: Boton "programar" en el hardware?
« Respuesta #2 en: 04 de Septiembre de 2008, 17:20:14 »
he tenido que investigar un poco para entender tu respuesta :oops:
no sabia bien lo que era el bootloader  :mrgreen:
lei un poco por encima y la verdad no me convece, crei leer que solo algunos pics de la familia PIC16 y los de la 18 son los que soportan autoescritura de la flash... y yo suelo trabajar con 12F, y algunos 16F
veo que tendra sus ventajas el bootloader, pero por ahora no quiero meterme en mas embolaos, con un boton en mi programador seria feliz  :mrgreen:
gracias navaismo!
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Boton "programar" en el hardware?
« Respuesta #3 en: 05 de Septiembre de 2008, 17:45:47 »
Hola Marttyn. Mira, lo que yo hago es incluir en todas mis placas (inclusive las finales, uno nunca sabe cuando se necesita depurar o actualizar algo) un circuito permanente que sirve tanto para programar el PIC como para permitir la transmisión UART. Para comunicarme con la PC tengo un conector DB-9 para puerto serie que coloco en la placa y que durante el funcionamiento normal de la máquina no va conectado a ningun lado. Es decir, de esta forma el micro puede funcionar tranquilamente pero si necesito cambiarle algo al programa, conecto un interlock serie de mi puerto de la PC al de la placa y con solo dar "Programar" en el WinPic (o con el programa que quieras) el micro detiene su programa, se pasa a modo programacion, se programa y cuando termina arranca de nuevo, sin tocar la placa mas que para meter o sacar la ficha del DB-9.
Si quiero depurar algo tan solo programo el micro para habilitar el puerto UART y luego a traves del mismo interlock mientras el circuito funciona normalmente me pasa los datos. Es simple y aunque el circuito que te digo ocupa lugar en la placa ( maximo 5 x 5 cm en modo Thru-hole y ruteandolo realmente mal, lo que mas ocupa es el la ficha) te salva de llevarte el programador y de sacar el micro cada vez que hay que hacerle algo.

Si realmente es eso lo que estas buscando te puedo subir el circuito, no lo tengo aqui, pero lo puedo extraer de alguno de mis circuitos y te lo paso.

El circuito como el que te digo funciona para toda la linea 12F y 16F, para los 18F no funciona porque se necesita una linea adicional para realizar el reset preprogramacion al PIC, pero tambien he modificado ese circuito para poder lograr dicho control, no es nada mas que una linea mas de comunicación por el puerto y un par de transistores y resistencias. Si solo vas a utilizar el 12F y 16F te adjunto el circuito mas simple.

Saludos desde Argentina.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18272
    • MicroPIC
Re: Boton "programar" en el hardware?
« Respuesta #4 en: 06 de Septiembre de 2008, 00:22:52 »
No entiendo bien lo que dices Gonzalo, ¿no es como meter el conector ICSP dentro de un DB9?

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Re: Boton "programar" en el hardware?
« Respuesta #5 en: 06 de Septiembre de 2008, 00:30:24 »
yo entendi como nocturno, un ICSP...
lo que me gustaria es un boton en mi programador que haga la misma funcion que si apretase el icono del tray del winpic...
aunque me da que no se va a poder hacer  :?
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18272
    • MicroPIC
Re: Boton "programar" en el hardware?
« Respuesta #6 en: 06 de Septiembre de 2008, 00:43:51 »
Desde luego no creo que haya ninguna manera de hacerlo sin que Sisco modifique el firmware del GTPUSB PLUS y del Winpic800.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Re: Boton "programar" en el hardware?
« Respuesta #7 en: 06 de Septiembre de 2008, 00:53:57 »
al gtpusb+ no creo que haya que hacerle ninguna modificacion... solo al soft, que este "pendiente" de un pin del puerto paralelo (en mi caso). pero si esto no esta hecho a estas alturas, y nadie pidio algo asi antes sera porque o no es practico o a nadie le interesa...
tendre que buscar algun soft programador que sea open source y modificarlo...
nocturno! recien llegas de marcha? que haces a estas horas por aqui?  :mrgreen: yo si, recien llego de marcha  :D
salu2!
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18272
    • MicroPIC
Re: Boton "programar" en el hardware?
« Respuesta #8 en: 06 de Septiembre de 2008, 01:47:22 »
En ese caso te podrías hacer un programa para Windows que estuviera siempre chequeando tu pin del puerto paralelo y luego tomase el control de Winpic800 para programar (es suficiente con hacer un sendkeys (ctrl+P) para que programe).

Marttyn, soy nocturno de madrugar, no de trasnochar  :D

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Re: Boton "programar" en el hardware?
« Respuesta #9 en: 06 de Septiembre de 2008, 01:57:07 »
ufff... que tiempos aquellos en los que programaba en VB... recuerdo que habia alguna opcion de enviar comandos de un programa a otro... tendre que investigar, pero la verdad me parece una idea muy buena  :-/
ya comentare que queda de todo esto... ojala surja algo util y practico!
por cierto... yo soy nocturno de trasnochar... me paso horas y horas leyendo posts.... y estas ultimas semanas que el foro no esta funcionando bien hay noches que no se que hacer  :g)
salu2!!!
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Boton "programar" en el hardware?
« Respuesta #10 en: 06 de Septiembre de 2008, 10:38:52 »
No entiendo bien lo que dices Gonzalo, ¿no es como meter el conector ICSP dentro de un DB9?

No Manolo, a mi entender no, porque no hay que conectar ningun programador al DB9, solo el cable del puerto serie. El programador esta dentro de la placa, y si, ocupa espacio pero te olvidas de llevar el GTP a todos lados, con un interlock DB9 basta y sobra. Es ICSP, si si, pero el programador esta embebido en la placa, no es nada revolucionario, los PLC's tambien lo tienen.
Ahora entiendo que es lo que tu quieres hacer, pero no le veo utilidad, para que quieres tener que tocar un pulsador en la placa, cuando se lo puede hacer en la computadora. Cuanto menos se toque en la placa mejor para mi :mrgreen:. De todas formas si lo que quieres es detectar un pulsador y mandarle una orden al WinPIC, basta con hacer un programa en VB que monitoree el pin del puerto paralelo y ejecute un shell o un shellExecute para activar el winpic. Como manejar las opciones de programación?, muy simple, a través de los parámetros que Winpic ofrece.

Saludos y ya nos contarás como te fue.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Boton "programar" en el hardware?
« Respuesta #11 en: 06 de Septiembre de 2008, 11:20:32 »
Pero no se supone que luego de colocar el pic en el grabador debes hacer click en "Actualizar Hex" antes de grabar? entonces practicamente no te cuesta nada en mover el mouse un milimetro y hacer click en "Programar" o te pesa la mano? jaja, mas bien el pulsador en la placa te va a hacer trabajar mas (modificar la placa, hacer el programa en vb, enlazarlo, tiempo, etc etc).

Mejor es usar el ICSP, no tienes que sacar el pic de la placa para nada.

Javicho.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18272
    • MicroPIC
Re: Boton "programar" en el hardware?
« Respuesta #12 en: 06 de Septiembre de 2008, 11:58:22 »
Pues ya que te ofreces me gustaría ver ese esquema, Gonzalo.

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Boton "programar" en el hardware?
« Respuesta #13 en: 06 de Septiembre de 2008, 13:00:10 »
Javicho, no es necesario actualizar el hex, es posible programar un PIC utilizando WinPic800 (o cualquier programador decente) mediante comandos, en tal caso ni siquiera es necesario abrir el programa manualmente.

Nocturno, aqui te dejo los dos esquemas que yo utilizo, bien para cuando además quiero que la placa tenga UART para depuración y o no. El programador on-board de las imagenes funcionan con la linea 16F (los de la linea 12F y 18F requieren un reset antes de ser programados, es cuestión de agregar una linea más de control, si encuentro el circuito lo subo). Funciona bien ya sea en una notebook o en una computadora de escritorio. Las tensiones de alimentación salen de la mismisima fuente de alimentación del circuito que tengamos, lo +15V utilizados para obtener la Vpp en general salen de la etapa de filtrado anterior a la etapa de regulación por lo que no agrego ningun componente al circuito para obtener esa tensión. Con respecto al pin de MCLR, salvo que necesites controlarlo para alguna tarea en especial, no es necesario agregarle ningun componente, ya dispone de los filtros y las resistencias para el pull-up para el funcionamiento normal.

En mi caso este circuito es bastante útil porque como te digo, para mi es un alivio no tener que llevar el GTP o el programador que sea a todos lados. Por otra parte, el circuito ocupa lugar dentro de la placa, pero en mi caso la miniaturizacion no es un problema, porque las placas en general van colocadas en máquinas de dimensiones considerables y que una placa tenga 20 mm más de longitud no es de vital importancia. Además, de esta forma evito que los empleados que salen a actualizar los programas o hacen correciones anden toqueteando los circuito electrónicos o abran los tableros (Teniendo que romper los precintos de garantía), solo enchufan el cable, presionan programar y listo.

En circuitos donde la integración y el tamaño sea lo más importante, yo definitivamente no los colocaría.

Con UART:


Sin UART:


Acepto opiniones y consejos!  :) la verdad es que nunca me puse a ver si se podia optimizar un poco.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1834
    • IDEAA
Re: Boton "programar" en el hardware?
« Respuesta #14 en: 06 de Septiembre de 2008, 18:25:36 »
que curioso lo que propones: integrar un programador a cada placa que haces... sin duda a nivel profesional es bastante practico... pero para alguien que se dedica a la electronica por hobby, no lo es tanto. para la mayoria de las cosas no, pero seguro habra algun diseño que pueda aplicar esta idea. sin duda lo hare, parece comodo.
por lo del boton, cada uno tiene sus manias y sus vicios.... el mio es ser VAGO  :mrgreen:
fuera de broma, use o no use el ICSP me parece muy comodo tener el boton de programar en el mismo hard por la forma que tengo de trabajar yo... habra a quien no le valga de nada, pero sin duda a mi me va a hacer feliz  :-)
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.