Go Down

Topic: MPU6050 (Read 4976 times) previous topic - next topic

ing_acme

hola soy nuevo en el foro pero me interesaría compartir información sobre los sensores inerciales, tengo tiempo trabajando con sensores inerciales y he logrado que funcionen pero quisiera saber mas acerca de ellos ya que, al probar su funcionamiento no he logra mas que un 90 por ciento de un buen funcionamiento, e realizado el filtro kalman complementario que enrealidad no es muy dificil, e implementado un metodo con un pid con proceso de integracion en el giroscopio, y e realizado la matriz de cosenos, pero aunque e logrado implementar estos metodos el funcionamiento que e conseguido no a sido del 100% ya que al inclinar el sensor en dos ejes al mismo tiempo no suele funcionar bien ya que las lecturas que me genera con estos dos ejes es erronea solo funciona bien en un eje si inclinar el otro

surbyte

Que buen tema!! pero porque no lo profundizas para poder interiorizarnos.
Como lo veo, uno nunca sabe cuando va a necesitar algo que empieza siendo desconocido y luego se transforma en una necesidad.

ing_acme

quisiera saber si hay alguien que aya manejado los sensores inerciales, para compartir informacion hacer de estaos y lograr un correcto funcionamiento en la medición de los angulos


surbyte


carmeloco

Yo los he usado. Es más, empecé a hacer un prototipo de segway en miniatura, para más tarde, cuando éste funcionase, pasarlo a tamaño real. El problema que me surgió, fué que el giroscopio, se quedaba bloqueado de forma aleatoria, dejando los motores de las ruedas activados a tope, cosa muy peligrosa para el de tamaño real.

Estoy intentando probar con otro dela marca sensonor, que se comunica por SPI, pero no consigo lecturas correctas del giroscopio.

ing_acme

una pregunta carmeloco , ya lograste obtener los valores de los ángulos de inclinación correctamente, que método utilizaste para obtener los ángulos.

JotaStar

Hola,

Efectivamente, por lo q tengo entendido, con un gyro y un acelerómetro no es posible obtener inclinaciones mayores a 180º (90º en ambos sentidos) en los ejex X e Y (roll y pitch).

Esto es debido a que el acelerómetro cuando está cerca de 90º, la fuerza G se traslada al eje sobre el que está inclinado haciendo inservible la función atan2.

Aplicar filtros como el kalman o el complementario simplemente nos limpiarán el ruido y vibraciones inherentes a los sensores (especialmente el acelerómetro)

He hecho una implementación con el ITG3205 y ADXL335 (q es prácticamente lo que lleva el MPU6050) y consigo un acercamiento bastante bueno como dice ing_acme, pero lejos de hacer un guro de 360º.

Otras implementaciones más rudimentarias q he visto es unir en forma de cubo varios gyros/acelerometros, usando cada uno de ellos solo para un eje, (así sabes en todo momento q fuerza G se le aplica en cada eje). Esto quiero probarlo, solo por curiosidad.

Si alguien tiene más información sería interesante que la aportase.

Por mi parte ya me he pillado un 9DOF que en teoría esto lo solucionada en un solo dispositivo.

Salu2.

carmeloco

una pregunta carmeloco , ya lograste obtener los valores de los ángulos de inclinación correctamente, que método utilizaste para obtener los ángulos.
Usé una librería. en cuanto tenga un rato te pongo el código, pero si no recuerdo mal, lo que hice es mirar el valor raw cuando el sensor está a 0º y cuando está a 90º, y con un map, obtienes el ángulo.

JotaStar

Hola carmeloco,

Te agradeceríamos enormemente la aportación de esa librería. A ver si podemos afinar un poco más los valores con este dispositivo.

Gracias!

carmeloco

Si no recuerdo mal, es esta:

https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050

También tienes esta otra:

http://www.varesano.net/files/FreeIMU-20121122_1126.zip

Dentro del zip, tienes la MPU60x0.h , aunque creo recordar que funcionaba mejor la primera. Es cuestión de probar...

ing_acme

hola, creo que ya encontré la solución en un pagina, e estado checando para poder obtener los ángulos del sensor se debe de tener encuentra que los ejes no son independientes, estos son dependientes de los otros y los ángulos son acumulables, para poder obtener los ángulos se propone utilizar una matriz de rotación, que se utiliza mucho en robotica, también se llama DCM, yo lo e probado y funciona pero tengo algunos problemas tal ves me equivoque en alguna cosa les dejo el link para que lo cheken, y podamos comentar los resultados obtenidos.

https://sites.google.com/site/kuadricoptero/home/4-dcm/4-01-dcm-01

surbyte

muy interesante y parece explicar porque todos aducen que no logran 100% de eficiencia.

hola11111hola

Buenas tardes, soy nuevo en este mundillo; pero estoy empezando con el mpu6050. lo necesito para toma de valores y el problema es que necesito calibrarlo....
encontré un código de este tipo aquí en un foro, hice copia y pega del código, instale las librerias.... peroa la hora de calibrar realmente el mpu desde el puerto serie, me sale esto siempre...

https://drive.google.com/file/d/0BwC6HEQAmLR3NXpxLXF4UWdvZm8/view?usp=sharing

si me pudieran ayudar... gracias

sergio_R

Hola buenas tardes necesito ayuda sobre el sensor mpu6050. descargue el codigo y lo instale en un arduino uno resulto que funciona bien pero cuando alimento el arduino no me manda informacion hasta que presiono el boton reset del arduino.
necesito una solucion para no tener que resetear el arduino cada vez que se alimenta

gracias saludos..

Go Up