Paso 3: Información adicional antes de proceder
Para medir el ángulo usando el giroscopio que tenemos que integrar la señal.
Pero ¿por qué tenemos que hacer esto?
Porque el giro nos da la velocidad angular, así que una forma simple el ángulo es la velocidad angular multiplicada por el tiempo [ángulo ángulo = w * dt]
Para medir el ángulo usando un acelerómetro tenemos que sentir la gravedad en cada eje del acelerómetro, lo que significa, la proyección de la aceleración de la gravedad en cada dirección del sensor nos da una idea sobre el ángulo. [angle_accel = arctg (Ay / sqrt (Ax ^ 2 + Az ^ 2))]
¿Por qué vamos a usar dos sensor en su lugar uno?
Aprovechar ambas propiedades del sensor. Si nos fijamos en el gráfico que los datos de giro continuo aumentan, esto se llama deriva y los datos del acelerómetro cambian mucho en un momento pequeño.
¿Y cómo combinar ambas señales?
Vamos a utilizar una técnica llamada filtro complementario. No sé la teoría exacta detrás de esto, pero funciona bien. Hay alguna información en el internet, buscalo en google si usted necesita más información. Este enlace tiene un montón de información y puede ser útil.
filtered_angle = HPF * (filtered_angle + w * dt) + LPF*(angle_accel); donde HPF + LPF = 1
Los valores de HPF y LPF pueden encontrarse en este enlace, en el archivo filter.pdf. Gracias chicos de "The DIY Segway".
Sólo para propósito de prueba que vamos a fijar estos valores como este, HPF = 0.98 y LPF = 0,02.