Paso 9: Dos sensores, un ángulo.
¿Respuesta: ambos.
La razón de utilizar dos sensores aunque hay sólo una variable física relevante (ángulo) es porque cada tipo de sensor tiene ventajas y desventajas por sí mismo. Mediante la mezcla de las mejores partes de cada uno juntos, se consigue una mejor estimación total del ángulo. Escribí todo en este libro blanco, pero aquí voy a dar un breve resumen.
El acelerómetro.
¿Mide aceleración, derecho? Bueno, no realmente. Medir la fuerza por unidad de masa. Así medirá la fuerza debido a la gravedad como si fuese una aceleración real. La sensibilidad de la IMU de maquinilla de afeitar de Sparkfun es dado como 300mV/g, lo que significa la salida cambiará de 0.3V por 9.8 m/s ^ 2 de la aceleración.
¿Cómo se convierte esto en un ángulo? Imaginar utilizando el eje del acelerómetro que es apuntado en la dirección de marcha del vehículo. Como las alturas del vehículo delantero, el eje ve fuerza positiva debido a la gravedad. Como el vehículo echadas hacia atrás, ve fuerza negativa. Es tentador decir que la ganancia debe ser 300mV/90 º, puesto que lanzamiento de 90 ° corresponde a 1g. Sin embargo, es la pendiente de la salida de cerca de 0 º lo que importa y gracias a la trigonometría esta pendiente pasa a ser 300mV/rad o 300mV / 57.3º. Ver la imagen de abajo para una ilustración de esto.
Desde ADC de Arduino le da un valor de 10 bits basado en una referencia de 5V, puede calcular la ganancia en el valor de ADC raw por:
(57.3º/0.3V)*(5V/1024LSB) = 0.932º / LSB
LSB (bit menos significativo) es sólo una forma de decir un poco. Este es el valor por el cual se multiplique el valor analógico crudo para obtener un ángulo en grados. Nota que también es necesario restar el cero ángulo de offset de la señal analógica. Esto mejor se encuentra experimentalmente, manteniendo la plataforma cero ángulo y leer el valor.
Así que ¿por qué no usar el acelerómetro para medir el ángulo y hacer? El problema es que el acelerometro no puede decir la diferencia entre gravedad y aceleración real. Por lo tanto, si la plataforma está perfectamente nivelada, pero acelera a remite, registrará el mismo como inclinación hacia atrás. Tomando un promedio a largo plazo, sin embargo, la única "aceleración" que queda es gravedad. Lamentablemente, no es propicio para control de regeneración snappy promedio a largo plazo. Entrar...
El giroscopio.
Con mayor precisión debería llamarse un sensor de velocidad angular, ya que tiene poco que ver con un giroscopio real basado en el volante. Informa una señal proporcional a la tasa de rotación. En una plataforma de equilibrio, su eje sensible orientado sería paralelo al eje de rotación de las ruedas. Los giroscopios de Sparkfun IMU tienen una sensibilidad de 3.33mV/º/s en los canales de 4 x, lo que significa los cambios de salida 3.33mV para cada º / s de la rotación.
Desde ADC de Arduino le da un valor de 10 bits basado en una referencia de 5V, puede calcular la ganancia en el valor de ADC raw por:
[(1º/s)/0.00333V]*(5V/1024LSB) = 1.466(º/s)/LSB
Este es el valor por el cual multiplicar el crudo analógico de entrada para obtener una velocidad angular en grados por segundo. Como el acelerómetro, el cero desplazamiento para el giro se debe restar primero. Puede encontrarse manteniendo la plataforma inmóvil y leer el valor analógico.
Para obtener desde grados por segundo en grados, la señal de giro puede ser integrado. Para cada paso en el tiempo, la señal de giro multiplicada por la duración de tiempo entre pasos da un cambio incremental en ángulo. El ángulo total es la suma corriente de estos incrementos. Esto causa un problema, sin embargo: Si la señal de giro no es exactamente cero cuando la plataforma no gira (y nunca será) la integración se deriva. Con ninguna referencia absoluta, no hay ninguna manera de corregir esta deriva con la señal de giro solamente. Sin embargo, durante períodos cortos, el girocompás proporciona una estimación de ángulo muy sensible que es inmune al ruido de aceleración horizontal del vehículo
Por lo que un sensor es ideal para las estimaciones a corto plazo, de respuesta rápida del ángulo. El otro es ideal para el largo plazo, ángulo sin desviación absoluta promedio. Se empiezan a ver dónde va esto?...