Autor Tema: Como contar pulsos en un t determinado  (Leído 1790 veces)

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

Desconectado reming

  • PIC10
  • *
  • Mensajes: 2
Como contar pulsos en un t determinado
« en: 17 de Noviembre de 2004, 10:36:00 »
Wenas, recurro al foro porque ando un poco colapsado pues:

tengo un captador que mide numero de vueltas de una corona dentada y me da una señal TTL que a mas vueltas mas ciclos en el mismo tiempo, espero explicarme.

Hoy he medido, con un osciloscopio, el numero de ciclos en el tiempo a un determinado valor de vueltas, que son las que necesito monitorizar.

Pregunta: como puedo motitorizar, contar, un numero de ciclos en ese determinado tiempo con un pic (todavia no he decidido cual, agradeceria un consejo de cual me iria bien)

Salu2 y gracias de antemano.

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Como contar pulsos en un t determinado
« Respuesta #1 en: 17 de Noviembre de 2004, 23:03:00 »
Aki tenemos dos opciones las dos usan el TMR0:

1) Puedes meter los pulsos por el pin RA4 (previa configuracion de los registros OPTION e INTCON para manejar el valor, usando interrupciones (TOIF y TOIE) para aumentar en uno otro registro (asi creas un contador de hasta 65536 pulsos en un tiempo t de 16 bits si el t es grande o si gira muy rapido) y luego pasar el numero de 16 bit a BCD (si es q necesitas sacarlo a display o transmitirlo). En este caso, la rutina de tiempo depende dl programa.

2) Puedes usar el TMR0 usando como fuente de conteo la oscilacion de reloj, combinado con el prescaler del PIC tendras un tiempo nominal de unos 65 mS q podrian ser muy poco para ti, y eso todavia debes considerar dond colocaras la entrada de  pulsos (si deseas q el PIC los cuente exactamente cuando pase usa interrupciones, INTF e INTE y mete los pulsos por RB0).

Te recomiendo la primera opcion pero deberas lidiar con la rutina de tiempo, sin embargo permite crear tiempos adecuados a la necesidad pero a cuesta un poco afinarlos (para lograr mayor precision)

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
RE: Como contar pulsos en un t determinado
« Respuesta #2 en: 18 de Noviembre de 2004, 12:04:00 »
Hola, puedes tambien hacer que cuando llegue un pulso (lo ideal seria un flanco ascendente o descendente) inicias un temporizador, por ejemplo 1 segundo, y cuentas la cantidad de pulsos, cuando termina el temporizador, multiplicas el valor por 60 y tienes las rpm, esta forma es facil, pero si son pocas rpm puedes tener un error grande ya que 1 pulso mas o menos te da una variacion de 60 RPM.
Otra cosa que puedes hacer el medir el tiempo entre pulsos o entre 10 pulsos por ejemplo y calcular el periodo de la señal, luego calculas las rpm facilmente.

Espero te sirva.

Saludos
Alejandro.

Desconectado reming

  • PIC10
  • *
  • Mensajes: 2
RE: Como contar pulsos en un t determinado
« Respuesta #3 en: 18 de Noviembre de 2004, 13:48:00 »
Muchas gracias fenix_jn  y ALE1973 por responder mañana probare vuetras respuestas y ya os comentare como ha ido la aventura.


Salu2 y gracias


 

anything