Autor Tema: Reloj con Niple. Problema con el tiempo.  (Leído 5710 veces)

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

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Reloj con Niple. Problema con el tiempo.
« en: 15 de Octubre de 2010, 21:58:55 »
Amigos hice un diseño con Niple de un reloj de cuatro dígitos, cátodo común, multiplexado. Todo funciona casi bien, el único inconveniente es el tiempo. Al "minuto" lo hace en 11 segundos. Si hay alguna persona en el foro que me pueda dar la solución le agradeceré infinitamente. Para que puedan ver el diseño les adjunto el .npl

Desconectado sesc

  • PIC10
  • *
  • Mensajes: 23
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #1 en: 15 de Octubre de 2010, 23:35:39 »
hola edu_edu:
es un poco difícil lograr el segundo exacto  con un cristal de 4mhz en el micro, para eso esta el rtc  DS 1307 con su cristal 32.768khz,  sin embargo se puede llegar a algo similar con tu proyecto solo tienes que agregar un temporizador de unos 600 a 700 milisegudos ya que cada bloque  del proyecto tarda 1 microsegundo en ejecutarse así lograras algo parecido al segundo   
 te envió un eje. pero con lcd 16x2

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #2 en: 16 de Octubre de 2010, 15:29:32 »
Muchas gracias Sesc. Otra pregunta. Estoy usando un cristal de 4Mhz, es decir que cada instrucción se realiza a una velocidad de 1Mhz. En el multiplexado hace 1000 repeticiones a 200 microseg. cada una o sea 200000 microseg la muestra, la coloqué dentro de un bucle de 5 repeticiones por lo tanto tengo entonces 1000000 microseg= 1Segundo. ¿Será que mi rutina hace esto mismo que yo digo, o estoy interpretando mal el multiplexado.?

Gracias.

Eduardo

Desconectado sesc

  • PIC10
  • *
  • Mensajes: 23
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #3 en: 21 de Octubre de 2010, 00:06:12 »
hola edu , disculpa mi demora estaba algo atareado con el trabajo
bueno creo que estas interpretando mal el multiplezado  dejame y averiguo como es el asunto  y te comento

Desconectado fenixkmioh

  • PIC10
  • *
  • Mensajes: 6
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #4 en: 21 de Octubre de 2010, 17:01:35 »
..Bueno, yo desde hace mucho trabajo con programas que utilizan control de tiempo, trabajando con displays de 7 segmentos y ahora con GLCD.

Para el reloj de los programas siempre he usado la interrupcion por tmr0 configurandola de tal modo q puede contar los segundos, minutos y horas casi perfecto, hay muchas cosas q pueden hacer q varie pero la diferencia con el tiempo real es muy minima, dificil de notar.

Porque no pruebas con la interrupcion de TMR0, a mi siempre me a funcionado bien (^_^).

Dejo una imagen de lo q seria el diagrama para contar segundos y minutos. Usa el calculador de tiempo en el menu "Herramientas" del Niple para configurar el TMR0, si quieres puedes ir cambiando los valores de incremento de TMR0 para que quede lo mas exacto posible, mucha suerte (^_^).

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #5 en: 22 de Octubre de 2010, 06:30:15 »
fenixkmioh, gracias por tu tiempo. Tendré en cuenta tu aporte.

Desconectado fenixkmioh

  • PIC10
  • *
  • Mensajes: 6
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #6 en: 25 de Octubre de 2010, 11:39:16 »
Ok..

1. Calcular el tiempo para TMR0 en el menu Herramientas de Niple. Anota los datos q te salen segun el tiempo q quieres.

2. Entras al menu de la derecha de Niple y seleccionas "Temporizadores" -> TMR's internos -> TMR0 -> doble click en "config TMR0", ahi colocas en el valor del predivisor, el dato de preescalado q te salio en el calculador de tiempo. y seleccionas el origen de la señal de reloj, q seria la "señal de reloj interna" por ahora. Con esto queda configurado el TMR0.

3. Vas al menu "Interrupciones", y doble click en "Activar/desactivar". En la ventana q sale le colocas chulito al "Habilitador general de interrupciones" y seleccionas "Activado". Luego le colocas chulito a "Interrupcion por temporizador TMR0" y seleccionas "Activado". Con esto activas el temporizador por TMR0.

4. Vas al menu "Insertar interrupcion" -> doble click en "por TMR0". Al hacer doble click se crea una subrutina de interrupcion, ahi es donde colocas los bloques q te mostre en la imagen anteriormente, usando los datos q te salieron en el calculador de tiempo, al final no olvides colocar el bloque de fin de interrupcion.

y ya, eso seria todo (^_^)

Ing. K

Desconectado Edu_Edu

  • PIC12
  • **
  • Mensajes: 58
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #7 en: 25 de Octubre de 2010, 14:23:45 »
Ok..

1. Calcular el tiempo para TMR0 en el menu Herramientas de Niple. Anota los datos q te salen segun el tiempo q quieres.

2. Entras al menu de la derecha de Niple y seleccionas "Temporizadores" -> TMR's internos -> TMR0 -> doble click en "config TMR0", ahi colocas en el valor del predivisor, el dato de preescalado q te salio en el calculador de tiempo. y seleccionas el origen de la señal de reloj, q seria la "señal de reloj interna" por ahora. Con esto queda configurado el TMR0.

3. Vas al menu "Interrupciones", y doble click en "Activar/desactivar". En la ventana q sale le colocas chulito al "Habilitador general de interrupciones" y seleccionas "Activado". Luego le colocas chulito a "Interrupcion por temporizador TMR0" y seleccionas "Activado". Con esto activas el temporizador por TMR0.

4. Vas al menu "Insertar interrupcion" -> doble click en "por TMR0". Al hacer doble click se crea una subrutina de interrupcion, ahi es donde colocas los bloques q te mostre en la imagen anteriormente, usando los datos q te salieron en el calculador de tiempo, al final no olvides colocar el bloque de fin de interrupcion.

y ya, eso seria todo (^_^)

Ing. K
Hasta el punto 3. todo bien. En el punto 4. cuando hago doble click en "por Tmr0". Error:" Falta activar la interrupcion por TMR0 (TMR0)" ¿?.

Gracias.

Eduardo

Desconectado fenixkmioh

  • PIC10
  • *
  • Mensajes: 6
Re: Reloj con Niple. Problema con el tiempo.
« Respuesta #8 en: 26 de Octubre de 2010, 14:23:04 »
Que version de Niple tienes, porq ese error me parece haberlo visto antes por ahi en una version anterior de Niple.. a menos q hayas olvidado colocarle el chulito donde dice "Interrupcion por temporizador TMR0" y seleccionar "Activado" y luego dar en el boton de aceptar, pero si esta todo bien y luego te sigue saliendo el error entonces puede ser una falla del Niple, creo q del 5.2 y ahi si no te puedo ayudar...