Autor Tema: TRM0 Y TRM1 ?  (Leído 2789 veces)

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

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
TRM0 Y TRM1 ?
« en: 10 de Junio de 2004, 17:20:00 »
Hola:
se podria usar el TRM0 como timer y el TRM1 como contador hasta 65535 y ante el desbordamiento del TRM0 leer el valor de conteo del TRM1,es decir quiero hacer un cuenta RPM pero sin la instruccion count pin entonces necesito un contador exacto de tiempo por ej TMRO y un contador externo de pulsos el TRM1,programo el TRM0 para contar el clock interno y el TRM1 para el conteo de pulsos externos y en el desbordamiento del TRM0 leo lo que conto el TRM1 ,limpio los registros y vuelvo a empezar ,la pregunta es asi se hace? ,y ademas no distraigo las demas ejecuciones del programa mientras cuentan hasta la interrupcion ,es mas rapido que la instruccion count???
Gracias a todos los que puedan ayudarme
Saludos
khasistos

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: TRM0 Y TRM1 ?
« Respuesta #1 en: 18 de Junio de 2004, 07:45:00 »
Hola,

Nunca he hecho nada semejante, ni sé si este es el método adecuado para este proyecto, pero creo que podría servir. Lo único a tener en cuenta es sincronizar los dos timer en el comienzo de sus cuentas. Luego podría haber pequeños desajustes si saltan los dos timer al finalizar el tiempo, pero creo que eso no daría lugar a errores importantes.

Saludos
Ricky
Madrid-España

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: TRM0 Y TRM1 ?
« Respuesta #2 en: 18 de Junio de 2004, 14:32:00 »
Hola ,gracias por responder......
siguiendo con la teoria,el TRM1 no llegaria a desbordarse nunca pues seria imposible dado que las RPM si la base de tiempo es por ej 1 seg ,la del TRM0 (en teoria) ,las RPM serian 65535 x 60 cosa bastante rara de lograr ,asi que como cada vez que desborda el TRM0 leo el valor del TRM1 y los reseteo a ambos no creo que se de la posibilidad que se desborden simultaneos  o que el TRM1 llege primero ,,,no se si estoy equivocado ... tu diras que opinas...
Un gran saludo
khasistos

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: TRM0 Y TRM1 ?
« Respuesta #3 en: 18 de Junio de 2004, 16:25:00 »
Supongamos un motor de un F1 que puede llegar a las 20000 RPM. En un minuto podrías contar con el Timer1 como máximo 20000 pulsos y como es de 16 bits tiene una capacidad de hasta 65000. Por lo tanto en un minuto no llegaría a desbordarse el timer1. Por otra parte el Timer 0 hasta llegar a un minuto se tiene que desbordar unas cuantas veces. Aunque la técnica que yo creo que es mejor es contar en 15 segundos y multiplicar por 4. Esta técnica te ahorra trabajo y te multiplica errores, así que hay que tener cuidado con ella.

En resumen, capacidad de medida tenemos con estos dos timers.

Saludos
Ricky
Madrid-España

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: TRM0 Y TRM1 ?
« Respuesta #4 en: 18 de Junio de 2004, 16:50:00 »
Hola:
Veo que has interpretado mi teoria a la perfeccion ,por supuesto eso de hacer llegar a trm0 a 15 seg siendo de 8 bits por mas preescaler  que use lo veo dificil puesto que vamos a contar pulsos de clocky trabajando a 20 mhz con preescaler de 128 que creo es el mas grande que puedo usar no voy a lograr tiempos aceptables para la base de tiempo del conteo asi que ahi se me presenta la dificultad .
Un gran saludo desde Baires
Khasistos

Desconectado PICFaf

  • PIC10
  • *
  • Mensajes: 8
RE: TRM0 Y TRM1 ?
« Respuesta #5 en: 04 de Agosto de 2004, 09:28:00 »
Hola khasistos y RGL,  

les cuento que yo estoy haciendo un tacómetro digital con display de 7 seg para un auto. He avanzado bastante pero tengo 1 problema. Necesito contar una serie de pulsos invertidos en un tiempo determinado y muestrearlos en el display. Para eso debo hacerlo en segundo plano sin interrumpir los procesos. E tema del TRM0 y TMR1 es una buena opción. No se me había ocurrido ! !  No se mucho de programación y quería ver si ustedes han lo grado algo con esto..

Saludos.