TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: AMRP en 29 de Junio de 2015, 06:38:10
-
Desde hace unos cuantos meses estoy trabajando en un robot balancín.
A la hora de calcular los ángulos todo parece ir bien, pero sin embargo esto no es así ya que el acelerometro cuando debería de dar 0º, oscila entre los ángulos 5º-9º mientras que el giroscopio da 0º, a la hora de unir los dos ángulos con el filtro kalman no encuentra correctamente los 0º digamos que da 0º cuando realmente hay unos 4º-6º de inclinación, creo que esto se puede deber a lo que he comentado antes del acelerometro pero no tengo ni idea.
Es vital que el filtro kalman de bien los grados ya que si no el robot nunca se mantendrá en equilibrio ni con el control PID.
Si necesitáis mas información para ayudarme o sabéis de que puede ser el problema y guiarme un poco os lo agradecería.
Uso una PIC y el sensor IMU 9DOF stick
http://tienda.bricogeek.com/medicion-inercial-imu/401-imu-stick-9-dof.html?gclid=CjwKEAjw2cOsBRD3xNbRp5eQxzYSJADZGYbzcxBhPe7UJWFnhVvd8YGsnMOjwiZj_We1vFmlTPDGUxoCyKrw_wcB
-
Hola!
Cómo hacés para calibrar las mediciones del acelerómetro? Como seguramente ya sabes, a las mediciones hay que aplicarle un offset y un span. Esos valores los podés sacar de la hoja de datos, o bien, ejecutar una rutina de calibración y medirlos tomando muestras. Yo recomiendo la segunda opción, ya que te da el valor real y no el teórico.
Otra cosa a tener en cuenta, cuando los integrados se calientan, la medición varía ligeramente. Es por esto que hay que aplicar una rutina de compensación por temperatura, o bien realizar la calibración unos minutos despues de alimentar el circuito, cuando ya haya tomado temperatura.
Es por esto que estos integrados (creo que el giro en este caso) traen un sensor de temperatura (para más detalles, lee la hoja de datos donde dice compensación por temperatura)
Saludos!