Autor Tema: Construir y entender un programador  (Leído 46232 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #45 en: 18 de Septiembre de 2008, 18:36:33 »
hola amigo Arcachofo

La verdad un poco mosca, mi programador es este:
http://www.info-ab.uclm.es/labelec/solar/grabacion/marco6.htm
en pagina 1 de este hilo por el final también lo puse.
 en la pagina 2 del hilo hice hasta un esquema en proteus del programador.

uso un trasformador de 220 a 12 v 12, si medimos en los después de los diodos y masa hay unos 19 voltios, después mido lo del 7805 y da 5.01 y en el 7812 con los dos diodos mido y da 13.37, los estabilizadores en el esquema están invertidos el de arriba es el 7805, pero en el esquema de proteus están bien, y en mi placa también.
La cosa es que cuando hago eso del test se iluminan los led y si mido en el ICSP me da: 0.03v el clock, data, y el gnd, el Vdd mide 4.95v y Vpp me da 13.31v
en los clock de pines da lo mismo que en el ICSP,
Tengo dos preguntas ¿que configuración le pongo al winpic? si es polivalente ¿como lo hago ?con el esquema del proteus encontré que hay de los 7,  6 van con inversor 74LS07 es decir el pin:2,3,4,5,6,7 y el 10 libre que es el que lleva el transistor.

con pablin me dice O.K. pero no me detecta el pic bueno ni con esa configuración ni con ninguna,
No se esto no pude ser tan difícil, pero de momento ahí estoy con la configuración pablin. y me da eso del error 0x00000000 cuando lo grabo cualquier otra cosa no se queja pero no reconoce el dispositivo.

un saludo amigo.

si sabes por donde van los tiros me avisas.

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #46 en: 18 de Septiembre de 2008, 20:43:21 »
No te acabo de enterder... en winpic800, menú configuración-harware... eliges polivalente... a la derecha te salen todas las lineas con sus correspondientes pines del puerto paralelo y todo eso... si no te sale, abajo a la izda de la ventana hay varios iconos... le das al último de la derecha... te salen todas las lineas que usa el programador... , arriba a la derecha tienes una casilla para desbloquear la configuracion si quieres cambiarla o hacer "test"....
En cada linea, a la derecha tienes una casilla en la columna "test", entonces cuando activas esa casilla tienes que tener voltajes en los correspondientes pines del pic o del icsp, y los led se tienen que encender, cuando le das a la linea data se tiene que "encender" la casilla de "data in"; en las lineas clock y data tiene que haber más de 4v, en Vdd 5v y en Vpp unos 13v, estos voltajes que te digo es cuando activas "test" en esa linea.... cuando desactivas "test" la tensión tiene que ser 0v (mas o menos) y se tienen que apagar los led.
La configuración que viene por defecto para el programador "polivalente" debería servirte, si no la has cambiado, claro.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #47 en: 18 de Septiembre de 2008, 21:10:07 »
Hola pajaro! veo que estas teniendo problemillas con el programador....

como te comente yo hace algunos dias la configuracion es esta:

a simple vista te diria que tienes que configurarlo de la siguiente manera:
Data: bit 0
Data in: bit 10, addr +1
Clock: bit 1
Vdd: bit 2, INV
Vpp1: bit 3, INV
Vpp2: bit 4, INV
ICSP MCLR: bit 5

y como te comenta arcachofo, la configuracion del polivalente deberia valerte:



si sigues teniendo problemas planteate el error del pic o del hardware.

Algún forero conoce un manual detallado, detallado de verdad, sobre el winpic800 o algún link que me conduzca a ello.

creo que aqui podras encontrar informacion para entender como configurar el winpic. mas manual que esto no creo que necesites, ya que el resto solo es programar.


El puerto LPT cuenta con 3 "subpuertos" por decirlo de alguna manera. Estos 3 subpuertos se acceden independientemente el uno del otro teniendo su propia direccion, y es:
Bits de datos: Son los 8 bits de la direccion base. Se utilizan como SALIDA.
Bits de estado: Son los 5 mas significativos de la direccion base +1. Se utilizan como ENTRADA.
Bits de control: Son los 4 bits menos significativos de la direccion base +2. Son SALIDAS [...] (estos no los usaremos en el programador)

En esta imagen se puede ver la asignacion de pines y sus 3 tipos. Tambien se aprecia que hay pines "invertidos". [...]



[...]

Ahora debemos asignarle un pin del puerto a cada una de las señales de control.
  • GND no tiene opcion, se conectara al GND del propio puerto.
  • Vdd, Vpp1, Vpp2, ICSP MCLR, Data y Clock son SALIDAS, y se deben asignar dentro de los bits de datos
  • Data In es una ENTRADA y se asignara a un bit de ESTADO

Por defecto la configuracion de los pines es la siguiente:
PIN   SEÑAL
 2     Data
 3     Clock
 4     Vdd
 5     Vpp1
 6     Vpp2
 7     ICSP MCLR
 10   Data In

Si nuestro soft permite configurar los bits para las señales de control podremos diseñar nuestro hard a nuestro antojo. Un ejemplo practico seria la configuracion del WinPic800



  • 1- Direccion base del puerto.
  • 2- "Bit" nos permite asignar cada linea de control a un bit que queramos.
  • 3- "Addr" nos permite seleccionar el registro que vamos a usar. Recordar: Datos = +0, Estado = +1, Control = +2

No es tan dificil una vez que sabemos como, verdad?

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 pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #48 en: 18 de Septiembre de 2008, 22:51:45 »
Hola amigos
Amigo Arcachofo y Marttyn puse vuestra configuración como venia por defecto el programador polivalente y ya me valida el hard,
Al hacer el test ahora si que consigo en data y  clock 5v, en vpp sigo con los 13.39, en GND 0v, en Vdd 4.95v no llega a los 5.
Pero me sigue saliendo que dispositivo desconocido.
y cuando graba el mensaje sigue siendo el del error en dirección 0x00000000, escrito 0x118A ,Leído 0x3FFF
yo le meto el código de abajo .hex es un programita  sencillo enciende y apaga luces del puerto, con pic16F84A con cristal de 4mhz. Este fue hecho con PSI.

¿esto que significa?
De todas formas cuando lee el pic que no se si lo lee, dice dispositivo desconocido :

3FFF 3000 3FFF 3FFF 3FFF 3FFF 3FFF 3FFF..(3FFF se repite …)

Por un post leí que esto es lo que se lee cuando el pic vine de fabrica además en configuración viene con
RC y WDG activos como de fábrica.

Un saludo



Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #49 en: 18 de Septiembre de 2008, 23:08:38 »
que te detecte el hard en realidad no es señal de nada... el winpic envia algunos datos por "DATA" y si los recibe por "DATA IN" da como correcto al programador... con esto sabes que la linea de data y data in funcionan... pero tal vez estes teniendo otro problema en otro sitio... descartaste que fuera culpa de un pic quemado? sino casi seguro es del hard... muchas veces ocurre que el Vpp no es suficiente para programar, pero si para leer... aunque tu leas 13.39v, pero ese voltaje es SIN carga... tal vez cuando sometes ese voltaje a la carga de programacion, el voltaje baja
si pones TEST en Vpp1, Vpp2, MCLR y Vdd se encienden y apagan las luces correspondientes? (Vpp 1 y 2, mas MCLR deberian encender y apagar el mismo led con tu programador)
seguramente lo que te voy a decir no te solucione nada... pero a mi usar un buffer y luego un transistor PNP no me funciono para enviar correctamente el vpp al micro... aunque hay programadores que si que lo usan, a mi no me funcionaba de ninguna manera...
sino siempre te queda empezar de cero y hacer otro programdor que sepas que funcione... la verdad empezaste con uno que ya tenia los reguladores 78xx mal colocados... y eso no es buena señal  :?
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 pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #50 en: 18 de Septiembre de 2008, 23:26:06 »
hola Marttyn
si el problema es el Vpp siempre puedo quitar los diodos del 7812 y ponerle las resistencias para hace un divisor de tensión con el conseguiría 13.56v mas que 13.35.
El led mas de abajo se enciende y apaga con Vpp, Vpp2 y MCLR, eso va bien.

Pero si el problema es el transistor es mas jodio.
 Una pregunta ¿ todos los inversores deben de estar apuntando hacia el programador? en un link que me lei creo recordar que había uno mirando en sentido contrario.
En el link del LPT1

Me lo puedes confirmar.
« Última modificación: 18 de Septiembre de 2008, 23:32:59 por pajaro »

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #51 en: 18 de Septiembre de 2008, 23:39:26 »
los de tu 74ls07 no son inversores, sino buffers. si, deben "apuntar" todos hacia el programador, exepto uno (el de data in) que va hacia el PC.
no se si usar un divisor de tension en vez de los diodos solucionara algo... lo que puede ocurrir tambien es que estes utilizando un transformador a 12v, y para que tu regulador funcione necesitas un par de voltios por encima del voltaje del regulador. tambien te puedo decir que tengo unos cuantos transformadores y en vacio dan un voltaje, y al conectarlos bajan hasta en un 30%! en concreto tengo uno de 15 que iba a usar para hacer mi programador, pero luego lo conecte al programador y bajo a 11v  :?
busca otra manera de alimentar el circuito que no sea con el transformador actual que tienes...
puedes ponerle 10 pilas AA en serie que te darian 15v, suficiente para que el regulador funcione bien...
no se que mas decirte
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 pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #52 en: 19 de Septiembre de 2008, 00:08:39 »
hola Marttyn
Mañana reviso el integrado pero creo que tan todos mirando hacia dentro.

Mañana es hoy.
Hola he mirado el pcb y hay inversores en las 6 patitas, en la 2,3,4,5, 6,7 y en la 10 transistor,
podría ser que uno de los inversores estuviera mal puesto.
Si confirmado están los 6 mirando hacia dentro.
Cual tendría que cambiar y poner hacia el LPT1, ¿en que pin esta?
Un saludo.



« Última modificación: 19 de Septiembre de 2008, 08:25:57 por pajaro »

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #53 en: 19 de Septiembre de 2008, 03:25:40 »
Bueno... yo lo primero que haría es probar con otro pic, antes de empezar a cambiar cosas del programador me aseguraría de que no es problema del pic.

El error que te dá: "error en dirección 0x00000000, escrito 0x118A ,Leído 0x3FFF" es cuando va a verificar lo que supuestamente se ha escrito y te lo dá en la primera posición de memoria: la ...0000, dice que escribió 0x118A y al verificar leyó 0x3FFF que es lo que hay en memoria antes de escribir nada (lo que "viene de fábrica"), osea que no ha escrito nada.
Si no te reconoce el pic es que no se puede comunicar con él; para reconocer el modelo de pic, lee una posicion de memoria donde hay un número que corresponde a un modelo determinado, si no consigue hacer esto dificilmente podrá hacer algo más.

Mi programador va con bufers y transistores y no hay problema, aunque puede depender de muchas cosas...

Tu programador no tiene bufer para Data in, lo maneja con un transistor, cuando haces el "test" en winpic800 si enciendes la linea "Data" se tiene que encender sola la linea "Data in", fijate en eso para saber si esta linea va bien.

Si los led de Vpp y Vdd se encienden, en principio los transistores estan bien.

Para saber si la alimentación es suficiente puedes poner una resistencia de 1k entre Vdd y masa (no entre +5v y masa) y en "test" enciendes Vdd , mide ahora la tensión Vdd y observa si hay alguna caida de voltaje; una resistencia de 1k a 5v consume 5 mA, no creo que el pic consuma más que eso durante la programación; esto hazlo sin ningún pic en el zócalo.


Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #54 en: 19 de Septiembre de 2008, 08:23:10 »
Hola Arcachofo

en la pcb hay 3 led uno esta siempre encendido, es el da la salida de la fuente más concretamente la salida del 7805, los otros dos led, el del medio se enciende cuando en el test le marcas Vdd, y el tercero se enciende cuando en el test le marcas Vpp, o VPP2, o MCLR, o los tres.
Para las otras líneas no hay led. Yo creo que si en el test le pongo a esas líneas, debería marcarme 5 voltios ¿verdad?
Lo voy a probar midiendo en el conector ICSP
Enumerare los valores entre paréntesis así (Vdd, Vpp, Clock, Data, GND)
Prueba 1:
En el test no enciendo nada, solo esta el led de la fuente y mido en ISCP los 5 pines (0.01, 0.00, 0.06, 0.06, 0.00).

Prueba 2:
En test on= Vdd  se enciende el led del medio y mido en ICSP (4.96, 0.00, 0.06, 0.06, 0.00).

Prueba 3:
En test on= Vpp se enciende el led inferior y mido en ICSP (0.01, 13.29, 0.06, 0.06, 0.00)

Prueba 4:
En test on= Vpp2 se enciende el led inferior y mido en ICSP (0.01, 13.29, 0.06, 0.06, 0.00)

Prueba 5:
En test on= MCLR se enciende el led inferior y mido en ICSP (0.01, 13.29, 0.06, 0.06, 0.00)

Prueba 6:
En test on= Data no se enciende led, no hay mido ICSP (1.65, 0.00, 0.06, 0.06, 0.00)

Prueba 7:
En test on= Clock no se enciende led, no hay mido ICSP (1.65, 0.00, 2.31, 0.06, 0.00)

Prueba 8:
En test on = clock y Data no led encendidos, mido ICSP (1.74, 0.00, 2.40, 2.40, 0.00)

Prueba 9:
En test on=Vpp,Vpp2,MCLR led inferior en on, mido ICSP (0.01, 13.30, 0.06, 0.06, 0.00)

Prueba 10:
En test on=Vdd,Vpp los tres led on, mido ICSP (4.96, 13.30, 0.06, 0.06, 0.00)

Pueba 11:
En test on= Vdd, clock, data  led del medio on , mido ICSP (4.96, 0.01, 5.01, 5.01, 0.00)

Prueba 12:
En test on=Vpp, clocl,data led inferior on, mido ICSP (0.00, 13.30, 5.01, 5.01, 0.00)

Prueba 13:
En test on=Vpp2, clocl,data led inferior on, mido ICSP (0.00, 13.30, 5.01, 5.01, 0.00)

Prueba 14:
En test on=MCLR, clocl,data led inferior on, mido ICSP (0.00, 13.30, 5.01, 5.01, 0.00)

Prueba 15:
En test on = las 6 lineas (sin data in),tres led on, mido ICSP (4.96, 13.30, 5.01, 5.01, 0.00)

Prueba 16:
En test on = las 5 lineas (sin data iny data),tres led on, mido ICSP (4.96, 13.30, 5.01, 0.06, 0.00)

Prueba 17:
En test on = las 5 lineas (sin data iny clock),tres led on, mido ICSP (4.96, 13.30, 0.06, 5.01, 0.00)

todo esto se hizo con el pic puesto y midiendo en ICSP.

Sigo pensando en lo de la comunicacion, en el programador los 6 inversores miran hacia dentro y ninguno lo hace hacia el LPT1
podria ser esta la causa.

un saludo

« Última modificación: 19 de Septiembre de 2008, 08:32:23 por pajaro »

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: Construir y entender un programador
« Respuesta #55 en: 19 de Septiembre de 2008, 10:41:14 »

seguramente lo que te voy a decir no te solucione nada... pero a mi usar un buffer y luego un transistor PNP no me funciono para enviar correctamente el vpp al micro... aunque hay programadores que si que lo usan, a mi no me funcionaba de ninguna manera...



hola exacto tengo ahora ese problema en vpp  en el test me marca 13.5 volts pero al momento de programar el voltaje se tira  muy por de bajo de ese valor  como mencionas del buffer al transistor tampoco me da  buena espina.
Como fue que resolviste el problema. Que otra forma existe para enviarle al pic los 13.5 volts
saludos
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Construir y entender un programador
« Respuesta #56 en: 19 de Septiembre de 2008, 11:20:49 »
pajaro, disculpa con lo que te dije antes, pero no es cierto. en el caso de tu programador, ningun buffer "mira hacia" el pc. ya que tu linea de data in se controla con un transistor.
no se si habras observado, pero cuando enciendes las lineas de data y clock no dan el voltaje adecuado. esto podria deberse a que el regulador 7805 necesita un consumo minimo para entregar 5v a su salida. si esta lineas no consumen nada, a la salida del 7805 el voltaje puede no ser el esperado, en cambio cuando activas data, clock y Vdd, puedes ver que estar lineas si dan el voltaje adecuado, y puede ser porque el led esta consumiendo algo, y hace que el regulador entregue los 5v.... son solo teorias mias  :D
empieza por desactivar la opcion "Usar MCLR" en la configuracion del programador. Como nos han instruido, esto solo servira para algunos micros de la familia pic18. si lo desactivamos podemos ir descartando cosas.



sandra, yo el problema lo resolvi usando un inversor (solo por evitar el pull up) y dos transistores.

5v -- led -- R 390ohm -- colector bc547
salida del inversor -- R 4k7 -- base bc547
emisor bc547 -- GND

13v -- emisor bc557
colector bc547 -- R 4k7 -- base bc557
colector bc557 -- R 10k -- GND
colector bc557 -- salida de Vpp

me acabo de inventar una anotacion que no se si te servira para entender como es el esquema... si no lo entiendes avisa, pero la verdad me llevo muy mal con el eagle y si puedo evitar hacer el esquema mejor  :mrgreen:
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 pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Construir y entender un programador
« Respuesta #57 en: 19 de Septiembre de 2008, 14:46:39 »
hola amigo

Mire en este link
http://pjmicrocontroladores.wordpress.com/2006/11/20/documento-programador-por-puerto-paralelo-para-pic/
En este link el data tiene inversor pero mira hacia el puerto en el mío mira hacia dentro de la placa.
Será por eso que no puede comunicarse con el pic.

El 7812 parte de 15,70v y el 7805 saca 5.01 los estabiliza a partir de los 13.30 que saca el 7812.
Si sacase 5.5 seria igual o le pasaría algo al pic o al puerto o al ICSP.

Un saludo



Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: Construir y entender un programador
« Respuesta #58 en: 19 de Septiembre de 2008, 17:12:16 »
pajaro, disculpa con lo que te dije antes, pero no es cierto. en el caso de tu programador, ningun buffer "mira hacia" el pc. ya que tu linea de data in se controla con un transistor.
no se si habras observado, pero cuando enciendes las lineas de data y clock no dan el voltaje adecuado. esto podria deberse a que el regulador 7805 necesita un consumo minimo para entregar 5v a su salida. si esta lineas no consumen nada, a la salida del 7805 el voltaje puede no ser el esperado, en cambio cuando activas data, clock y Vdd, puedes ver que estar lineas si dan el voltaje adecuado, y puede ser porque el led esta consumiendo algo, y hace que el regulador entregue los 5v.... son solo teorias mias  :D
empieza por desactivar la opcion "Usar MCLR" en la configuracion del programador. Como nos han instruido, esto solo servira para algunos micros de la familia pic18. si lo desactivamos podemos ir descartando cosas.



sandra, yo el problema lo resolvi usando un inversor (solo por evitar el pull up) y dos transistores.

5v -- led -- R 390ohm -- colector bc547
salida del inversor -- R 4k7 -- base bc547
emisor bc547 -- GND

13v -- emisor bc557
colector bc547 -- R 4k7 -- base bc557
colector bc557 -- R 10k -- GND
colector bc557 -- salida de Vpp

me acabo de inventar una anotacion que no se si te servira para entender como es el esquema... si no lo entiendes avisa, pero la verdad me llevo muy mal con el eagle y si puedo evitar hacer el esquema mejor  :mrgreen:



Hermano discúlpame pero efectivamente no te entendí  :lol: :lol:  el esquemita me vendría muy bien no es necesario en agle  faltaba mas, con   unos trazos con el paint  me doy por bien servida  :-/ :-/ :-/
saludos
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: Construir y entender un programador
« Respuesta #59 en: 19 de Septiembre de 2008, 19:30:57 »
Hola a todos..

Pajaro:
Las pruebas que hiciste dan resultados extraños:

Marttyn... tu explicación me convenció en un principio,... pero pensando un poco: el led conectado al 7805 está siempre encendido.. y sobre todo: el bufer tambien está conectado al 7805, consumiendo posiblemente bastantes mA (el datasheet habla de más de 20 mA) y... con Vdd off y Vpp on tambien tiene voltajes correctos en clock y data... no crees?

De todas formas Clock y Data solo estan activas cuando Vdd y Vpp estan altas, osea en modo programación...

Lo que no acabo de tener claro es si el "Data in" se te enciende cuando activas el Data....


 

anything