Autor Tema: Reloj con 12F675  (Leído 7536 veces)

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

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Reloj con 12F675
« en: 24 de Noviembre de 2008, 14:33:05 »
Hola, tengo una consulta, en un projecto de reloj dijital usando en PIC 12F675 el programa funciona bien y el reloj esta en hora pero al pasar el mismo programa a otro PIC 12F675 se sale de hora, no entiendo si tiene que ver con el oscilador interno que es diferente en cada PIC o debo ingresarle algun valor de calibracion al PIC para que sea siempre el mismo?


Gracias.
Ideas pocas pero confusas

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Reloj con 12F675
« Respuesta #1 en: 24 de Noviembre de 2008, 15:03:08 »
Si necesitas hacer un reloj digital con un ese pic y como tal se necesita precisión en la hora deberias asegurar entonces usando un cristal para el pic en vez de usar el oscilador interno porque es mas susceptible a la frecuencia de oscilación y es entendible que de pic a pic tengas que calibrar el oscilador interno.

Javicho.

Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #2 en: 24 de Noviembre de 2008, 15:11:26 »
Hola peter
Por lo que veo estas utilizando el oscilador interno del pic y no uno a cristal. Al pasar el programa para el otro pic debes leer el valor de calibración que tiene este pic y grabarlo. Cada pic tiene su valor de calibración, por lo que no debe ser el mismo.
Como dice Javicho, es preferible usar un cristal para el oscilador ya que se trata de un reloj y se necesita precisión
Saludos
« Última modificación: 24 de Noviembre de 2008, 15:15:02 por Islagrande »
      Siempre sintonizando las buenas ondas

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Reloj con 12F675
« Respuesta #3 en: 24 de Noviembre de 2008, 15:55:01 »
Estoy usando el oscilador interno porque el proyecto tiene que ser lo mas simple y economico posible, si pierdo un poco de presicion no es importante, como puedo tomar el valor de calibracion del PIC?
Ideas pocas pero confusas

Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #4 en: 24 de Noviembre de 2008, 17:39:15 »
Estoy usando el oscilador interno porque el proyecto tiene que ser lo mas simple y economico posible, si pierdo un poco de presicion no es importante, como puedo tomar el valor de calibracion del PIC?

Para leer el valor de calibración yo monto el pic en el programador (GTP-07 con Winpic800) y leo el pic en blanco, el único valor que aparece al final es el de calibración, por ejemplo, 4d
      Siempre sintonizando las buenas ondas

Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #5 en: 24 de Noviembre de 2008, 17:47:47 »
Aqui te adjunto la lectura de un pic sin grabar. Al final puedes ver que el valor de calibración es 4L
Suerte
« Última modificación: 24 de Noviembre de 2008, 18:41:09 por Islagrande »
      Siempre sintonizando las buenas ondas

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Reloj con 12F675
« Respuesta #6 en: 24 de Noviembre de 2008, 18:16:10 »
Aqui te adjunto la lectura de un pic sin grabar. Al final puedes ver que el valor de calibración es 4L
Suerte

4L?????


Yo lo tengo en 3474

EN la ultima posicion de memoria y hace referencia al numero de calibracion 74.
Esto en mis pics enanos.


Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #7 en: 24 de Noviembre de 2008, 18:46:20 »
AKENAFAB, ya veo que escribí una burrada. El valor de calibración lo estaba tomando mal. En mi caso es 3464. Me confundí entonces con los últimos caracteres, volví a cambiar el hex, en el se puede ver este valor
Gracias por sacarme del error
Saludos
« Última modificación: 24 de Noviembre de 2008, 19:00:51 por Islagrande »
      Siempre sintonizando las buenas ondas

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Reloj con 12F675
« Respuesta #8 en: 24 de Noviembre de 2008, 22:39:51 »
AKENAFAB, ya veo que escribí una burrada. El valor de calibración lo estaba tomando mal. En mi caso es 3464. Me confundí entonces con los últimos caracteres, volví a cambiar el hex, en el se puede ver este valor
Gracias por sacarme del error
Saludos

JEJe no vi ningun error hasta pense que asi lo daba el GTP , yo uso el pickit , pero amm ademas no pude abrir el HEX me salta algo del port.

Como sea veo que los valores del oscilador no son muy distantes


El tuyo 3464 el mio 3474

Ha de ser por tirada , eso leí en su momento.


Un saludo!

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Reloj con 12F675
« Respuesta #9 en: 25 de Noviembre de 2008, 13:25:29 »
Gracias por las aclaraciones, entonces tomo el valor de calibracion y lo tengo que incluir en el codigo para que no se borre cuando lo reprogramo?
Ideas pocas pero confusas

Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #10 en: 25 de Noviembre de 2008, 14:26:05 »
Gracias por las aclaraciones, entonces tomo el valor de calibracion y lo tengo que incluir en el codigo para que no se borre cuando lo reprogramo?

Hola Peter

Antes de responderte hice algunas pruebas porque evidentemente yo estaba haciendo mal las cosas

Con mi programador GTP-07, usando el programa Winpic800 grabé un pic que tenía un valor de calibración diferente al que estaba en el hex. Antes de grabar, el soft Winpic me preguntó si sustituía este valor o no, así que tienes la opción de dejarle al pic a grabar su valor de calibración
En una segunda prueba, no puse ningún valor de calibración en el hex, o sea, donde debe aparecer este valor lo dejé en 3FFF, entonces el Winpic no me hizo ninguna pregunta y grabó al pic con su valor de calibración de fábrica
No se como funcionaría esto con tu programador
Si he dicho algo mal por favor que me rectifiquen pues no soy un especialista en la materia
Saludos desde La Habana
      Siempre sintonizando las buenas ondas

Desconectado sansanoloko

  • PIC10
  • *
  • Mensajes: 48
Re: Reloj con 12F675
« Respuesta #11 en: 25 de Noviembre de 2008, 16:42:36 »
Holas amigos foreros!!

Por lo que leo en este hilo, no se si han tomado en cuenta que la calibración se puede hacer en el programa del pic para que se ajuste solito.

En la dirección 0x3FF de la memoria de programa se encuentran con un dato del tipo "0x3464" o "0x3474". Esto corresponde al opcode de la instrucción RETLW mas un dato literal, es decir:
Código: [Seleccionar]
RETLW  0x64o tambien
Código: [Seleccionar]
RETLW  0x74
Entonces, para calibrar el oscilador en el programa, simplemente ponemos:
Código: [Seleccionar]
CALL   0x3FF
MOVLW  OSCCAL
dentro del inicio del programa.

Espero les sirva de algo esto, y saludos a quienes nos leen.

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Reloj con 12F675
« Respuesta #12 en: 26 de Noviembre de 2008, 12:54:30 »

Gracias sansanoloko, pero como seria las instrucciones que tengo que poner en el programa en CCS? y en que parte del programa las deberia colocar?

Saludos.

Ideas pocas pero confusas

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Reloj con 12F675
« Respuesta #13 en: 26 de Noviembre de 2008, 14:00:43 »
Hola.

En CCS solo es necesario configurar los bits de configuracion:

Código: [Seleccionar]
#fuses INTRC_IO
A la hora de programar tu micro debes configurar el programador para que lea el valor de calibracion interno, los valores cambian de un micro a otro, no siempre es el mismo.

Saludos
El papel lo aguanta todo

Desconectado Islagrande

  • PIC16
  • ***
  • Mensajes: 199
Re: Reloj con 12F675
« Respuesta #14 en: 28 de Noviembre de 2008, 12:58:13 »
Aqui te adjunto la lectura de un pic sin grabar. Al final puedes ver que el valor de calibración es 4L
Suerte

4L?????


Yo lo tengo en 3474

EN la ultima posicion de memoria y hace referencia al numero de calibracion 74.
Esto en mis pics enanos.



Hola AKENAFAB
Descubrí algo interesante
Lee tu pic que tiene 3474 como valor de calibración, en esta misma línea donde aparecen al final los caracteres ASCII le corresponde 4t. Las dos primeras cifras del valor de calibración no las puedes cambiar, pero el numero 74 se corresponde con el 4t. Si cambias ahora el 4t por 4L, el valor de calibración te cambia a 344C. Yo tomaba el valor de calibración como el valor de los caracteres ASCII, sin saber llegaba al mismo resultado, por eso puse en mi post lo del valor 4L
Aprendí algo nuevo ja ja
Saludos
      Siempre sintonizando las buenas ondas


 

anything