Velocidad Lenta / Velocidad Rapida

Algunas reflexiones sobre qué es una velocidad lenta, y qué es una velocidad elevada.

En el día a día, eso está muy claro: Si algo gira deprisa o lento, es evidente, pero a la hora de elegir qué estrategia de medición de velocidad debemos emplear, hay que tener en cuenta más factores:

Comparativa de dos casos extremos.

A partir de dos casos sencillos de analizar, intentaremos sacar conclusiones.

Caso 1: Encoder óptico que genera 100 impulsos por vuelta.

Caso 2: Tacómetro que mide a partir de un solo pulso (un solo imán).

Si además nuestra máquina de control es un Arduino, en el cual el ciclo de programa es de -por ejemplo- 50 mili Segundos de duración, podemos hacer algunas comparaciones.

Supongamos que la maquina está girando a 300 rpm :

En principio, no es gran cosa. Pero analicemos con más detalle lo que ocurre dentro de la placa de control, tanto si empleamos un encoder de 100 pulsos (número redondo para simplificar), como si usamos un sistema con un solo pulso (imán).

Caso 1: Generamos 100 pulsos por ciclo:

A esa velocidad, el encoder óptico entregará una cantidad ingente de impulsos a la placa de control,ya que son 300rpm/60 = 5 rev por segundo, y en cada vuelta obtenemos 100 pulsos. Luego se están recibiendo 500 pulsos por segundo.....!

Es decir, el tiempo entre pulso y pulso es de tan solo 1/500 = 2 mili Segundos.....

Si pretendemos medir la velocidad de la máquina a partir del tiempo que transcurre entre pulsos, uno a uno, la placa de control debería de ser capaz de medirla cada 2milisegundos.

Sin embargo, hemos visto que un programa sencillo, que maneja una pantalla (y que es un disposivo muuuuuy lento), tarda 50 miliSegundos en completar un ciclo. Luego solo sería capaz de aprovechar un ciclo de cada 25 que le lleguen. Los demás se perderían.

(En un computador esto se puede solventar fácilmente mediante el uso de la multitarea (multithread), asignando el manejo de dispositivos lentos a hilos de control independientes, de forma que no afecten al bucle principal, pero en un sencillo microcontrolador, esta capacidad no está disponible).

Caso 2: Generamos un puso por ciclo.

En ese caso, a 300 rpm, se producen 300rpm/60 = 5 rev por segundo, y en cada vuelta obtenemos 5 pulsos. Es decir, en la placa de control se está recibiendo 5 pulsos por segundo

Y también en este caso, el tiempo entre pulso y pulso es de 1/5 = 200 mili Segundos..... Como en este ejecicio de reflexión hemos supuesto un tiempo de ejecución de programa de 50 milisegundos, vemos que al programa principal le da tiempo de sobra a leer los pulsos,ya que durante cuatro pasadas, el pulso será el mismo.

Conclusión nº1.

Nada es rápido o lento, si no que lo es en función de la tecnología del equipo con el que vayamos a medir la velocidad.

Conclusión nº2:

Para un sistema que usa un encoder óptico y una placa de control Arduino, la cual gestiona también la pantalla, si se quiere medir el tiempo entre pulsos, de uno en uno, esa velocidad de giro es muy grande, mientras que para el sistema con un solo imán, es aceptable.

Conclusión nº3:

Al final todo depende de la capacidad de generar pulsos por vuelta, y de la capacidad de la placa de control para gestionarlos con suficiente rapidez.

Como vemos, si la placa de control es poco potente, y se generan muchos pulsos, es fácil desperdiciar pulsos, si pretendemos medir la velocidad de giro del eje, a partir del tiempo entre un pulso y el siguiente.

Por ello, a partir de una determinada velocidad -que dependerá de la potencia y características de cada equipo- es más eficiente contar los pulsos que han pasado en cada ciclo de programa, o cada vez que termine un temporizador prefijado. Esto tiene sus implicaciones en el filtro paso bajo, pero es una buena solución.

Peeeeeeero a su vez, este sistema de contar los pulsos que han pasado en cada ciclo de programa, no es válido a velocidades extremadamente bajas, ya que el tacómetro podría no recibir ningún puso en ese tiempo de control, y entonces aparecería una velocidad de giro igual a cero.....

Según el rango que queramos cubrir, es muy posible que la placa de control del tacómetro tenga que aplicar diferentes estrategias, en función del rango de velocidad en el que estemos midiendo en cada ocasión.