Autor Tema: Con 4,096 y sigue atrasando  (Leído 5921 veces)

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

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Con 4,096 y sigue atrasando
« Respuesta #15 en: 17 de Diciembre de 2003, 13:37:00 »
Vale! me fijé mejor... la activación va está en los registro que hay en las tablas... Entonces para que añades esas lineas??

Por cierto, coloca lo de set-rtcc lo primero, osea, antes de desactivar la interrupción global.

Saludos!!
Saludos desde Huelva (ESPAÑA)

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 679
RE: Con 4,096 y sigue atrasando
« Respuesta #16 en: 17 de Diciembre de 2003, 21:09:00 »
Pablo, qui hay un reloj hecho con un xtal de 3,2768 Mhz es parecido a lo que yo menciono usando el timer0, seguro te va a ayudar.....

esta aca    http://miarroba.com/foros/ver.php?temaid=665952&foroid=46840

saludos

Ariel
saludos
PikMan

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Con 4,096 y sigue atrasando
« Respuesta #17 en: 18 de Diciembre de 2003, 05:06:00 »
Es que si el no apaga los bits de multiplexado, despues de mostrar cada digito, se produce un fantasma en los leds que a la vista humana, por su caracteristica de retencion visual, engaña y parece semiencendido el ultimo display que fue encendido.

Por eso es necesario un minimo tiempo de apagado antes de mostrar el siguiente digito.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Con 4,096 y sigue atrasando
« Respuesta #18 en: 18 de Diciembre de 2003, 05:38:00 »
Cucaracha:
Probe lo que me dijiste y sigue atrasando. Ahora lo que no entendi es lo que me dijiste: """la activación va está en los registro que hay en las tablas... Entonces para que añades esas lineas?? """

Pikman ya lo habia visto y me gustaria probarlo porque no me funciona con ningun cristal, probe con el de 4 y con el de 4,096
Pregunta:
En Argentina solo consigo uno de 32,768. No es ese no???

Saludos y gracias a todos.
Pablo

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Con 4,096 y sigue atrasando
« Respuesta #19 en: 18 de Diciembre de 2003, 08:00:00 »
MGLSOFT:

Eso ya lo solucione el problema es que sigue atrasando.

Saludos.
Pablo

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: Con 4,096 y sigue atrasando
« Respuesta #20 en: 18 de Diciembre de 2003, 08:18:00 »
Puedes emularlo en MPLAB?
A mi me fue muy util, ya que recargaba el timer con un valor muy bajo, y solo con las instrucciones de la interrupcion lo volvia a revalsar, a veces, ya que el codigo tambien se superponia con otra interrupcion mas, lo pude depurar poniendo el medidor de ejecuciones del MPLAB en cero, largando la ejecucion del programa desde el momento de la recarga y haciendo stop en el mismo lugar.
Eso te permite depurar la cantidad de microsegundos exactos que transcurren entre recargas, y que exponencialmente se convertiran luego en segundos, minutos, etc.

Como tu interrupcion testea si debe acumular en los segundos o en minutos, tal vez alli esta el KID de la cuestion, ya que no es la misma cantidad de codigo entre llamados, porque no en todos agregas segundos y menos aun minutos.
Como esas son acciones que si o si debes hacerlas alli, me parece que no debes sacarlas, sino corroborar si la atencion a un llamado cuando debe incrementar segundos y luego minutos no sobrepasa el tiempo de ejecucion de la interrupcion.
Recuerda que la interrupcion pudo haberse producido antes de llegar al RETFIE, y recien luego de eso vuelve a estar activa, tal vez se "coma" alguna sin querer....

Puff !! me canse de escribir...

Espero no haberte aburrido..je..je..
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 679
RE: Con 4,096 y sigue atrasando
« Respuesta #21 en: 18 de Diciembre de 2003, 16:15:00 »
Pablo;
         El cristal usado en el reloj de diegonet, es de 3,2768 Mhz, no de 32.768 Khz, no se si es un crital standart pero si no lo es podes hacer que te lo fabriquen igual te recomiendo usar el metodo que explico mas arriba, pues no ademas de ser muy rapido si pones un crital compensado vas a tener una presicion muy buena, un saludo.

Ariel
saludos
PikMan

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Con 4,096 y sigue atrasando
« Respuesta #22 en: 19 de Diciembre de 2003, 10:40:00 »
Hola Gente:

Ahora probe con un cristal de 3,2768 y adelanta 1 segundo cada 4 horas aprox.
Alguien lo pudo hacer funcionar con una precision del 100% o para esto hay que usar un reloj externo ej DS1302.

Pikman te soy sincero no se nada de electronica si podes me podrias explicar de otra forma o mandarme un esquematico del reloj con el 32,768.

MGLSOFT: agradesco tu buena voluntad pero todavia no se usar el MPLAB en cuanto pueda lo pongo en practica.

Saludos a todos:

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Con 4,096 y sigue atrasando
« Respuesta #23 en: 19 de Diciembre de 2003, 11:46:00 »
Bien, fíjate que con este reloj ahora puedes mejorar el tema de las recargas.
Si usas un preescalar de 128 y una recarga de 0 sale:

t=(256-0)*128*(4/3276800)=0.04seg

Osea, que 1seg=25*0.04, osea 25 interrupciones.

Que ganas con eso... pues no tener que realizar la recarga. Osea que ganas en precisión.

También te digo que por ejemplo yo estoy realizando una aplicación donde se necesita la hora, con la mayor precisión posible. Uso un DS1678 con un cristal de 32,768khz con una capacitancia de carga de 12,5pF (como indica en el datasheet del DS), montado en placa exactamente con indican, y aun así estas cosas atrasan. Son precisas, pero no perfectas. Con que reloj comparastes... quizás el reloj es el que adelanta. Te comento que mis primeras pruebas fueron comparando con el reloj del ordenador y atrasaba 10 seg al día!!. Pues no!. Era el del ordenador el que adelanta (prueba a medirlo). Con un reloj de pulsera casio, va más o menos igual. Menos mal que me dió por desconfiar del PC

En fin, prueba con esto. Y si lo tienes montado en protoboard, recuerda que tienen muchas capacidades parásitas, y eso no es bueno en lo que quieres. Si vas a hacer una placa, pues puedes hacer el mismo montaje para el cristal que el que viene en el DS. Quizá esto mejore la cosa.

Saludos!!
Saludos desde Huelva (ESPAÑA)

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Con 4,096 y sigue atrasando
« Respuesta #24 en: 19 de Diciembre de 2003, 14:02:00 »
Cucaracha:
Exactamente de esa forma es como lo habia hecho, con 128, 0 recarga y 25 interrupciones. Probado en un protoboard y testeado con un cronometro.
Suponiendo que detecto que adelanta 10 por dia, lo que podria hacer es compensarlo por soft, no?

Con respecto al otro tema solo consigo es el DS1302, Ds1307. Son fiables?
Si tenes algun ejemplo de como usarlo sera muy bienvenido.

Saludos.
Pablo.

Ah, no entendi muy bien como hacer lo de la placa para el cristal.
Me lo podes explicar?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: Con 4,096 y sigue atrasando
« Respuesta #25 en: 19 de Diciembre de 2003, 15:44:00 »
Vamos bien Pablo. Lo que te comento de la protoboard sobre las capacidades externas, es porque lo he vivido, y al menos en mi caso cambió, y vamos que si cambió. Osea, que quizás si lo montas en pcb se te vaya a una precisión más que aceptable.
Sobre eso, que es lo que no entiendes... Leistes el datasheet del DS1678 (o del DS1307, que viene a ser parecido) y no lo entiendes??

Te puedo enviar un archivo del Eagle donde está el montaje de pruebas que hice para ese módulo y viéndolo supongo que lo pillarás antes. El DS1307 es preciso, ahora este lleva debe llevar un cristal de los que te digo para aumentar la precisión, un 32,768KHz con capacidad de carga de 12,5pF. Yo tengo montado un cristal con el mismo encapsulado que viene en el datasheet. Si quieres también te paso el datasheet del reloj para que lo veas.

Pero monta antes lo que tienes, de verdad, que a mi me atrasaba también en la protoboard y una vez en pcb arreglado. Precisión más que aceptable.

Por ahí en el foro alguién dejó rutinas para el DS1307. En el CCS tienes unas para el DS1302. Y aún así te puedo ayudar en eso, al menos para el DS1307, ya que es casi igual que el que yo estoy usando.

Pero una vez más... Monta el que tienes ahora!!

El montaje es hacer en la capa de componentes un cuadrado alrededor de donde esté el cristal y este llevado a masa y por la capa de abajo un plano de masa igual que el cuadrado de arriba. Y si el cristal es de esos grandes, como los de 4MHz pues le sueldas un alambre (lo mismo que uses para hacer los puentes) al encapsulado y este a masa. Pero con cuidado que el cristal no se puede calentar durante mucho tiempo.

Saludos!!
Saludos desde Huelva (ESPAÑA)

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 679
RE: Con 4,096 y sigue atrasando
« Respuesta #26 en: 19 de Diciembre de 2003, 19:43:00 »
Pablo, mira no tengo esquematico en la PC, hay una cosa que no se ha mencionado que puede representar tu atraso, y es que el CCS cuando genera el asm, en el caso de la interrupcion inserta una rutina para guardar los registros del sistema que consumen unos cuantos microsegundos, esto puede hacer que te atrase el reloj, podes solucionarlo haciendo en asm la rutina de interrupcion, de cualquier manera si usas lo que yo te propongo, como la division la hace el prescaler del timer no hay que recargar nunca el registro TMR0 y siempre se produce la interrupcion cada un segundo sin depender del soft, hacer un oscilador con un 74ls es muy facil inclusive muestran los manuales de los pic como hacerlo solo que la señal que obtengas debes ingresarla a ra4 Y hacer que el TRM0 se incremente desde esta señal y no del reloj de maquina, busca en el data sheet de cualqierm micro PIC en la parte de osciladores, y hace uno con un cristal de 32,7698 khz, con esto la presicion es del 100% ( dependiendo de la calidad del crital que pongas)

saludos

Ariel
saludos
PikMan

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Con 4,096 y sigue atrasando
« Respuesta #27 en: 23 de Diciembre de 2003, 10:08:00 »
Muchas gracias a todos.
Voy a hacer algunas pruebas y luego les comento.

Saludos
Pablo


 

anything