Cómo calcular las RPM, dada la frecuencia del temporizador y el contador en STM32

2

en mi STM32F103, uso un temporizador para leer el codificador rotatorio

  • Prescaler = 71
  • Período = 20
  • Reloj = 72MHz
  • codificador rotatorio: 2000 ppr

Dada la fórmula:

  • TIMUpdateFrequency (Hz) = Reloj / ((PSC − 1) ∗ (Periodo − 1))

Obtengo una actualización cada 54'135Hz Cada actualización, leo el valor del codificador y lo comparo con el anterior. Pregunta muy estúpida: ¿cómo puedo obtener una cifra de RPM con eso?

    
pregunta vib

1 respuesta

2

Su frecuencia de muestreo es, digamos, 50 Hz. Calculatel la diferencia de los valores del codificador. Que se divide por 2000 (ppr). Esto significa que obtienes tantas revoluciones en 50 Hz (o 1/50 = 0.02s).

Como cálculo

 RotationSpeed = (EncoderValue_Last - EncoderValue_Previous) / 2000 ppr) * Freq [Hz]

Suponiendo que el valor del codificador anterior era 30,000, el actual de 80,000, ppr es 2,000 y usando 50 Hz (muestra datos del codificador cada 0.02 s):

 = (80000 - 30000) / 2000 * 50 = 1,250 RPM

En este artículo ppr y cpr son explicado con más detalle.

    
respondido por el Michel Keijzers

Lea otras preguntas en las etiquetas