Autor Tema: Variación al copiar un PIC12F675  (Leído 6575 veces)

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

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Variación al copiar un PIC12F675
« en: 09 de Septiembre de 2006, 10:33:40 »
Hola de nuevo a todos, como comento en el enunciado tengo un problema con un PIC12F675 que lo único que hace es dar por el pin 7 una frecuencia de 1,9Khz y que cuando este se copia en otro PIC12F675 el valor de la frecuencia de salida varía a 1,5Khz. Al copiarlo con el ICPROG 1.05D este me dá un mensaje al principio de la programación que dice así: "Valor de calibración del oscilador ausente. Desea utilizar el valor del fichero (342Ch) en su lugar?". ¿Qué ocurre con esto? ¿Como lo puedo solucionar?
Y para finalizar y aunque no tiene nada que ver con este tema, ¿podríais decirme que valor tiene una resistencia de 1/4w, color verde y que contiene una sola raya negra en el centro? No lo había visto en la vida.
Gracias por vuestro tiempo.

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: Variación al copiar un PIC12F675
« Respuesta #1 en: 09 de Septiembre de 2006, 10:39:10 »
Hola guancho2002 lo que te sucede con el PIC de verdad que ni idea pero lo de la resistencia creo que es un resistencia de 0 ohmios o como comunmente se le llama resistencia puente. Sirve para que quede mas estetico que un puente con hilo conductor o cable y su funcion es esa.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Variación al copiar un PIC12F675
« Respuesta #2 en: 09 de Septiembre de 2006, 15:52:37 »
HOLA, ese es un detalle con la programacion de PICS de la seria 12F. Ellos tienen un oscilador interno y es calibrado de fabrica, el valor de la calibracion esta escrita en la memoria FLASH, en la ultima posicion de memoria, debes cuidar de no borrar ese valor. Por lo que el ICProg primero lee ese valor y si esta diferente, saca el mensaje si deseas sobreescribir ese valor. tonses resumido lee los siguientes post

http://www.todopic.com.ar/foros/index.php?topic=8855.0

http://www.todopic.com.ar/foros/index.php?topic=11830.0

http://www.todopic.com.ar/foros/index.php?topic=8922.0

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #3 en: 10 de Septiembre de 2006, 07:23:17 »
Pues la verdad es que lo he borrado y no tengo ni idea de que valor tenía. Eso me pasa por impaciente y no leer antes de tocar... :(
Crearé un pequeño programa que teóricamente me de una señal exacta y en función de lo que mida en la salida iré incrementando o bajando el último valor de la FLASH que al parecer es el que marca el calibrado. ¿Puede ser una solución?
En cuanto a la resistencia de la línea negra puede ser lo que dice samshiel_pic pero donde se encuentra una de ellas no hacía falta el puente ya que no atravesaba ninguna pista... ¿se os ocurre algo mas?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Variación al copiar un PIC12F675
« Respuesta #4 en: 10 de Septiembre de 2006, 15:16:08 »
Pues la verdad es que lo he borrado y no tengo ni idea de que valor tenía. Eso me pasa por impaciente y no leer antes de tocar... :(
Crearé un pequeño programa que teóricamente me de una señal exacta y en función de lo que mida en la salida iré incrementando o bajando el último valor de la FLASH que al parecer es el que marca el calibrado. ¿Puede ser una solución?
En cuanto a la resistencia de la línea negra puede ser lo que dice samshiel_pic pero donde se encuentra una de ellas no hacía falta el puente ya que no atravesaba ninguna pista... ¿se os ocurre algo mas?

Fíjate en el datasheet en la parte del oscilador, y configura el modo en que la salida del oscilador la tienes "afuera".

Anda variando el valor de la calibración del oscilador, cargandole diferentes valores a OSCCAL, simplemente con un código como el siguiente

Código: ASM
  1. bsf     STATUS,RP0
  2.         movlw   0xA0
  3.         movwf   OSCCAL
  4.         bcf     STATUS,RP0

y te fijas en el pin de salida del oscilador qué frecuencia sale.

Luego, una vez que tengas el valor que se ajusta a tu pic en particular, debes hacer algo asi para que quede

Código: ASM
  1. org     0x3FF
  2.  
  3.         retlw   0xA0    ;reemplazar A0 por el valor obtenido de las pruebas

Cuando el pic arranca, microchip te sugiere que cargues el valor de calibración , lo que hace es ir a la ultima posición con el call y leer el valor que ahí está.

Espero se haya entendido.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #5 en: 10 de Septiembre de 2006, 15:31:59 »
Gracias maunix por tu explicación. Ahora voy entendiendo a estos pequeñines.

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #6 en: 12 de Septiembre de 2006, 18:55:06 »
Un detalle maunix, ¿como puede ser que despues de hacer lo que me comentastes la frecuencia que me dá el oscilador a la salida no pase de 945Khz? :shock:
¿Que hago mal?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Variación al copiar un PIC12F675
« Respuesta #7 en: 12 de Septiembre de 2006, 21:27:24 »
Un detalle maunix, ¿como puede ser que despues de hacer lo que me comentastes la frecuencia que me dá el oscilador a la salida no pase de 945Khz? :shock:
¿Que hago mal?

guanacho2002, me parece que has pasado por alto lo que decía el texto que te subí en el post anterior.

Fíjate
9.2.6 CLKOUT
The PIC12F629/675 devices can be configured to
provide a clock out signal in the INTOSC and RC
oscillator modes. When configured, the oscillator
frequency divided by four (FOSC/4) is output on the
GP4/OSC2/CLKOUT pin. FOSC/4 can be used for test
purposes or to synchronize other logic.



Ahora bien, si el oscilador corre a 4Mhz, lograrás 1Mhz de salida (Fosc/4).

Si lograste 945Khz, es porque el oscilador está 3,78Mhz.

Desconozco porque no llegas al 1000KHz (Fosc 4MHz) pero ahora sabes porqué es tannn diferente de los 4MHz loq eu vas a ver en ese pin.



- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #8 en: 13 de Septiembre de 2006, 04:46:51 »
Gracias maunix, momentos después de poner la pregunta leí que la salida estaba dividida entre 4... :? si es que hay que leer mas.
En cuanto a lo de los 945Khz si os lo cuento me vais a matar... Bueno, lo cuento para que veais lo mal que puede estar uno a esas horas de la noche...
resulta que estaba moviendo el valor de calibración con una instrucción "call" en vez de "movlw" :oops:   Para cuatro líneas que llevaba el programa y no veía el problema... para alucinar.
La verdad es que sois mi salvación a mis frustraciones electrónicas...
Gracias maunix por tu interés.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Variación al copiar un PIC12F675
« Respuesta #9 en: 13 de Septiembre de 2006, 08:29:09 »
Gracias maunix, momentos después de poner la pregunta leí que la salida estaba dividida entre 4... :? si es que hay que leer mas.
En cuanto a lo de los 945Khz si os lo cuento me vais a matar... Bueno, lo cuento para que veais lo mal que puede estar uno a esas horas de la noche...
resulta que estaba moviendo el valor de calibración con una instrucción "call" en vez de "movlw" :oops:   Para cuatro líneas que llevaba el programa y no veía el problema... para alucinar.
La verdad es que sois mi salvación a mis frustraciones electrónicas...
Gracias maunix por tu interés.

guanacho2002, no hace falta que te diga que "también me pasado eso una y otra vez".  A veces cuando algo "no me sale", suelo dejarlo para otro día porque de seguro es que estoy cansado y no veo la solución por estar hasta tal vez, de mal humor frente al problema.  Muchas veces el problema es una cosa super simple que no podía ver por no estar con la cabeza 'fresca'.

Al otro día, me siento ya bien despejado y la solución viene sola. 

Lo importante, es que ahora ya conozces la causa del problema, ese es el primer paso para intentar una solución que en tu caso parece que ya lo tienes hecho  :)

Saludos


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #10 en: 15 de Septiembre de 2006, 09:14:20 »
Está todo clarisimo excepto... ¿que puede ser que al copiar el PIC a otro la salida en vez de generarme una señal de 1,9Khz me muestra 1,5Khz y a veces baja a 1,2Khz? :shock:

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Variación al copiar un PIC12F675
« Respuesta #11 en: 15 de Septiembre de 2006, 09:45:37 »
Está todo clarisimo excepto... ¿que puede ser que al copiar el PIC a otro la salida en vez de generarme una señal de 1,9Khz me muestra 1,5Khz y a veces baja a 1,2Khz? :shock:

¿Pero no era eso lo primero que habíamos hablado?

Es decir, el valor de calibración viene de fábrica y es para cada pic diferente.

Lo que tu programador debe hacer, es no permitirte borrar ese valor o al menos avisarte que lo borrará antes de realmente hacerlo.

Entonces si copias un código tal cual de un pic a otro de esta familia, no te funcionará si es que has sobreescrito el valor de calibración ubicado en 0x3ff o 0x7ff de acuerdo al pic 12Fxxx que estemos hablando.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #12 en: 18 de Septiembre de 2006, 10:37:35 »
Eso está claro pero después de haberlo calibrado y estar perfectamente funcionando cuando paso a copiarlo aunque respete el valor de calibración este me varía la señal de salida. Es rarisimo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Variación al copiar un PIC12F675
« Respuesta #13 en: 18 de Septiembre de 2006, 10:46:03 »
Eso está claro pero después de haberlo calibrado y estar perfectamente funcionando cuando paso a copiarlo aunque respete el valor de calibración este me varía la señal de salida. Es rarisimo.

No tengo pics a mano para comprobar lo que me comentas, pero sí que es raro. 

Es decir si tu , o tu programador, evitan borran el contenido de la dirección 0x3FF, no debiera ocurrir.  Una pequeña variación en la señal es aceptable pero si la diferencia es significativa, es raro.

Si parametrizas más tu post, podríamos llegar a hacer un análisis más profundo del tema.

Por ej:

1. Lees el PIC antes de programarlo siquiera una vez (tomas un PIC recien sacadito del empaque).
2. Guardas el .HEX  Por ej. PIC001.HEX
3. Le grabas tu programa, sin protección de código.
4. Lees el programa y lo guardas como PIC001b.HEX y te fijas si se cambió el valor en 0x3FF.
5. Te fijas cuanta frecuencia saca el reloj.
6. Repites lo mismo para 3 o 4 pics, guardando todos los .HEX

De esa forma, subiendo la información de la frecuencia obtenida con el mismo firmware respetando el valor de 0x3FF, podremos ver qué ha sucedido.

7. Por último si aún quedan dudas y los resultados son muy dispares, te sugiero que subas tu .asm así lo analizamos en búsqueda de algo en el código que nos haga pensar que no esté del todo bien.

Saludos

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado guancho2002

  • PIC16
  • ***
  • Mensajes: 113
Re: Variación al copiar un PIC12F675
« Respuesta #14 en: 19 de Septiembre de 2006, 07:31:02 »
Gracias Maunix, pero como ya comenté en otro post de dos PIC16F675, uno de ellos me vino muy tocado y resulta que a la tercera vez que lo programé se fastidió para siempre. El caso es que no tengo otro donde probarlo pero en cuanto me haga con un par de ellos más intentaré hacer varias pruebas para ver que es lo que puede producir esto.
Un saludo.