Actualmente estoy intentando comunicarme con la IMU de 9 ejes InvenSense MPU9255 usando el software FreeIMU en un Teensy3.2. Vea el comentario a continuación para ver el enlace al código FreeIMU que se está usando (no tiene suficiente reputación).
Sé que mi configuración es correcta por los siguientes motivos:
- Puedo comunicarme exitosamente con la porción MPU6050 de manera confiable.
- Puedo comunicarme con éxito con el AK8963 al inicio, leyendo la dirección correcta (72) así como también los datos.
- He verificado dos veces el código FreeIMU para asegurarme de que lea 7 bytes (en lugar de 6) al recopilar datos para evitar el bloqueo.
- El pin 1 está conectado a VDDIO.
- Se agregaron retrasos importantes entre cada instrucción de lectura / escritura.
Cosas que he tratado de resolver el problema:
- Apáguelo y vuelva a encenderlo (tiempo antes del fallo ~ instantáneo - > 10min)
- Cambio entre diferentes IMU, cables y procesadores.
- Reinicio suave de la IMU después de cada ciclo de lectura (muere después de 1 o 2 ciclos).
- Mirando a través de los foros (en línea, y en el Rincón de desarrolladores de InvenSense).
- Enviar correo electrónico a InvenSense para obtener más soluciones.
- Agregar una capacitancia adicional de 10uF entre las líneas de potencia y tierra. (Sin efecto).
- Definición del alcance del reloj I2C auxiliar y las líneas de datos: