MPU-9150/9250 IMU med Arduino Pro mikro (4 / 4 steg)
Steg 4: frågor
Jag upplevt några problem med denna modul.
Ett problem många forum nämna är frysning av data. Modul av någon okänd anledning slutar mata ut data efter ett tag. Jag tror jag fast frågan genom att titta på koden och fastställa vissa villkor för att ange den delen där FIFO tas om hand. Det fanns också ett fel i jämförelse av avbrott register - lite där data klar indikation var fel i koden.
Ett annat problem är FIFO fullt error, många uppleva. Jag tror jag fixade det också genom att ta hand om FIFO inte endast när ett avbrott tas emot, utan också när FIFO inte är tom.
Jag använde Arduino Pro Micro, vilket är en 5V enhet, som MPU-9150 är en 3.3V enhet. Men det är egentligen inte ett problem. Första har MPU-9150 en LDO (en spänningsregulator) som konverterar 5V till 3.3V. Det andra är den I2C kommunikation dra upp på MPU-9150. När Arduino vill kommunicera drar det linjen låg (marken). När data transaktion är klar, Arduino släpper av linjen och MPU-9150 drar det höga igen, så 5V går aldrig in i enheten.
En annan mystisk fråga var FIFO fullständiga meddelanden fick efter ett tag enheten var verksamma. Men när jag kopplade allt från makten och återansluts igen, problemet fortsatte. Det slutade först när jag tryckte på reset på Arduino (en sak att nämna här är att Arduino Pro mikro inte laddas bootloader på normal uppstart, endast efter en återställning. Efter 8 sekunder laddar den din skiss). Jag vet inte varför problemet var löst efter startprogrammet aktiverades.
Jag också gjorde en annan förändring och ansluten till en följetong till USB omvandlare på RX/TX stiften av Arduino Pro mikro (USB för Pro Micro är en virtuell enhet, inte en verklig seriell port). Det görs genom att använda Serial1.begin istället för Serlal.begin. Efter denna sista förändring jag såg förbättring och data frysa inte även efter en timme.
Enda problemet jag inte lösa ännu är att efter ett tag, ibland, enheten startar till utgång som om det snurrar vilt. Jag vet inte om det eftersom jag hålla enheten statisk för länge eller om det orsakas av några andra fel.
Jag hoppas att lösa dessa frågor. Vänligen dela din kunskap i kommentarerna.