¿Qué mide realmente una ciclocomputadora para calcular la velocidad de la bicicleta? ¿Es el tiempo de una revolución $T$ o es el número de revoluciones $n$ por tiempo dado $t_0$?
Si el radio de la rueda es $R$ entonces obtienes la velocidad de la bicicleta $v$ por
$v = 2 \pi R /T$
en el primer caso y por
$v = 2\pi R n/t_0$ en el segundo.
Puede parecer una pequeña diferencia, pero estoy realmente interesado en este detalle. Espero que alguien pueda aclarar esto y dar algunas referencias.
La respuesta es "ambos, dependiendo". La mayoría de los ciclómetros de bicicleta actuales utilizan un interruptor de láminas y un temporizador, y miden el tiempo entre activaciones sucesivas del interruptor a medida que pasa un imán. Una ventaja de este método es su simplicidad y bajo costo, aunque si el imán está mal colocado o si la velocidad de rotación de la rueda es demasiado alta, el interruptor de lengüeta puede ser engañado, ya que el interruptor de lengüeta tarda un tiempo en restablecerse. .
Un enfoque menos común (utilizado por la antigua línea de velocímetros Avocet, incluido el venerable y venerado Avocet 50) usaba una bobina de inducción y un anillo magnético con 20 imanes pequeños unidos alrededor del cubo. La bobina de inducción podría contar rápidamente el cambio en la corriente. Puede ver los detalles de este enfoque en la solicitud de patente de Avocet para el 50, pero su diseñador discutió algunas de las idiosincrasias de ese enfoque en esta publicación de Usenet de 1994 .
Aunque estos dos métodos diferentes se pueden utilizar para recopilar los datos necesarios para calcular la velocidad, los algoritmos exactos utilizados pueden diferir de un dispositivo a otro. Uno puede ver esto en la forma en que a menudo se calcula la cadencia. Casi todas las computadoras para bicicletas que tienen un sensor de cadencia usan un interruptor de láminas, ya que la velocidad de rotación de las bielas es lo suficientemente baja como para que los interruptores de láminas se reinicien. Sin embargo, diferentes fabricantes utilizan diferentes períodos de promediación, tiempos de espera, retrasos y eventos desencadenantes antes de mostrar el resultado. Los cálculos de velocidad funcionan de manera similar y, en ocasiones, se pueden ver las pruebas de estas elecciones al examinar los datos de velocidad y cadencia.de ciclocomputadores que almacenan estos valores y permiten descargarlos después del viaje. Aquí, por ejemplo, hay un gráfico que muestra el registro de velocidad de tres dispositivos diferentes que se montaron en la misma bicicleta para el mismo recorrido (un PowerTap, un Polar S710 y un SRM Pro; estos son medidores de potencia, pero aquí nos enfocamos sólo en la velocidad registrada). Cada dispositivo se configuró con la misma circunferencia de rueda, pero los histogramas muestran que cada uno almacena e informa velocidades ligeramente diferentes.
Piense en una ciclocomputadora como una combinación cableada de una calculadora, un reloj de cuarzo y una CPU dedicada que trabaja con un búfer.
EDITAR A UN ALGORITMO MÁS PLAUSIBLE:
Cada vez que el imán cierra el interruptor de lengüeta, se envía una solicitud al reloj para capturar una marca de tiempo, se envía un evento con marca de tiempo a un búfer y la circunferencia de la rueda se agrega a la distancia actual y al odómetro.
Cada vez que la CPU actualiza la velocidad actual, toma el primer y el último evento con marca de tiempo del búfer, calcula la distancia (circunferencia de la rueda multiplicada por el número de eventos menos uno) y la divide por el tiempo transcurrido calculado (última marca de tiempo menos primera marca de tiempo en el búfer), mostrando la velocidad y limpiando el búfer.
Además de las variables almacenadas de forma persistente (distancia actual, velocidad máxima, etc.), el ordenador trabaja con tres variables temporales: LAST_TIME, TEMP_TIME y TEMP_DISTANCE, todas ellas puestas a cero. La función present_time(), relacionada con el reloj, se resume aquí como un recurso disponible a pedido.
Cada vez que el interruptor de láminas cierra contacto, la computadora realiza las siguientes operaciones:
TRIP_DISTANCE = TRIP_DISTANCE + WHEEL_CIRCUMFERENCE
if LAST_TIME is zero:
LAST_TIME = present_time()
else:
TEMP_TIME = TEMP_TIME + (present_time() - LAST_TIME)
LAST_TIME = present_time()
TEMP_DISTANCE = TEMP_DISTANCE + WHEEL_CIRCUMFERENCE
Cada vez que la computadora actualiza la pantalla, realiza las siguientes operaciones:
CURRENT_SPEED = TEMP_DISTANCE / TEMP_TIME
TEMP_TIME = TEMP_DISTANCE = 0
AVERAGE_SPEED = TRIP_DISTANCE / TRIP_TIME
if CURRENT_SPEED > MAXIMUM_SPEED:
MAXIMUM_SPEED = CURRENT_SPEED
Finalmente, cada vez que se activa la función de parada automática (cuando la bicicleta está parada):
LAST_TIME = 0
Todas estas operaciones no solo son triviales desde el punto de vista computacional, sino también casi en tiempo real porque están implementadas por hardware en el circuito integrado.
Vale la pena considerar dos cosas:
Además, es necesario que cuente el tiempo entre revoluciones, no el número de revoluciones durante un intervalo de tiempo fijo, porque el tiempo es una medida continua (coma flotante) y el número de vueltas de la rueda es una medida discreta (entera). Si se usara la segunda opción, la velocidad siempre se "redondearía" al valor entero más cercano posible, dando resultados incorrectos excepto para velocidades muy altas.
Un ciclómetro mide el número de revoluciones y lo multiplica por la circunferencia exterior de la rueda y el neumático (o una aproximación cercana, dependiendo de cómo lo configuró el usuario) para obtener la distancia recorrida durante un período determinado de tiempo.
Aplicar la fórmula de conversión a KMH o MPH es todo lo que queda.
Instrucciones:
Mida la circunferencia de la rueda en milímetros, idealmente utilizando el método de despliegue descrito aquí . Convierte la medida milimétrica de la rueda a pulgadas dividiendo por 25,4. (25,4 mm = 1 pulgada) Divida por 12 para obtener la circunferencia en pies.
Calcula las revoluciones de las ruedas por milla dividiendo 5280 por la circunferencia de la llanta en pies.
Calcula la velocidad por minuto dividiendo la velocidad de la rueda por las revoluciones de la llanta por milla. Por ejemplo, si la velocidad de la rueda es de 300 rpm, la llanta del ejemplo se mueve a 0,446 millas por minuto.
Multiplique la velocidad en millas por minuto por 60 para convertir la velocidad en millas por hora (mph).
Multiplique por 1.609344 para obtener la velocidad en KPH.
Ejemplo:
En este ejemplo "350" es una variable que el ciclómetro cuenta usando un sensor magnético. La mayoría de los ciclómetros actualizan el cálculo entre una vez por segundo y una vez cada 5 segundos.
He diseñado sistemas integrados para medir la velocidad varias veces (no una computadora para bicicletas, pero lo mismo para locomotoras). Su pregunta es fácil de responder:
"¿Es el momento de una revolución $T$ o es el número de revoluciones $n$ por tiempo dado $t_0$"
Tienes dos variables, tiempo y número de revoluciones. Una computadora puede medir el tiempo con mucha precisión. Una computadora no puede medir revoluciones ni de cerca con tanta precisión. (Simplemente no hay muchos de ellos, ya que ocurren lentamente, por lo que tendría que lidiar con revoluciones fraccionarias en cada período de tiempo fijo). Entonces, en función de lo que se puede medir con mayor precisión, desea medir la cantidad de tiempo. toma para hacer una revolución. Puede medir fácilmente el tiempo en microsegundos, desde el momento en que su sensor ve que comienza una revolución hasta la próxima vez que se activa el mismo sensor.
También tenga en cuenta que las computadoras para bicicletas son dispositivos de muy bajo consumo de energía. Espera poner una batería de moneda en una y hacer que funcione durante años. Cuanto más rápido se ejecutan las rutinas de software, más potencia consumen. Así que tienes una rutina rápida, contando el tiempo. La segunda rutina solo se ejecuta cuando ve una señal del sensor de la rueda. Toma el valor del temporizador actual y lo guarda. Una rutina de fondo de ejecución más lenta toma estos intervalos de tiempo y usa la circunferencia para calcular una velocidad.
Las velocidades calculadas se almacenan en un búfer móvil, donde ejecuta un filtro digital de paso bajo en estas velocidades para suavizarlas. (Por ejemplo, agregue la velocidad actual a la velocidad anterior, divida por 2, y esa es la velocidad mostrada. En la práctica, usa un filtro más complicado usando más puntos).
Los sensores de las ruedas deben poder funcionar más rápido de lo que sospechas. Mis ciclocomputadores siempre han sido capaces de medir velocidades de más de 40 mph. Supongo que pueden subir hasta al menos 60 mph. Eso significa que con un neumático de 700x25, el sensor de la rueda puede hacer de 12 a 13 revoluciones por segundo a 60 mph. Tampoco le he puesto precio desde hace tiempo, pero los sensores de láminas tienen que ser mucho más caros que los sensores de efecto Hall. Los sensores de láminas usan metales costosos (plata, bismuto o ???) , pueden ser poco confiables, no les gusta la conmutación rápida y generan ruido electrónico.
Entonces, la respuesta a su pregunta es que desea medir la cantidad de tiempo que toma cada revolución , no la cantidad de revoluciones en un período de tiempo fijo.
daniel r hicks
julia
daniel r hicks
heltonbiker
julia
julia
heltonbiker
usuario313
ross milikan