Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
I denna instruktionsbok vill jag visa hur man använder LSM303 -sensorn för att förverkliga en lutkompenserad kompass. Efter ett första (misslyckat) försök hanterade jag kalibreringen av sensorn. Tack vare dessa har magnetometerns värden förbättrats avsevärt. Kombinationen av kalibrerade värden från magnetometern och accelerometern resulterade sedan i en lutkompenserad kompass.
Vad du behöver:
1 Arduino Uno
1 LSM303DHLC Breakout
1 brödbräda
1 Motstånd 220 Ohm
1 Potentiometer 10k
1 2x16 LCD i 4-bitars läge
1 kartongfodral
1 Kompass
1 Vridskiva
Några ledningar
Steg 1: Skapa rådata för kalibrering
Kalibreringen görs separat för magnetometer och accelerometer varje gång på samma sätt. I ett första steg läses sensorns rådata in i 12 definierade lägen (bild 5.2). Därefter beräknas korrigeringsdata med hjälp av Magmaster 1.0 (bild 5.3) och kan utvärderas i en motsvarande skiss. Du kan hitta en mycket bra guide här
www.instructables.com/id/Easy-hard-and-soft-iron-magnetometer-calibration/
Tack YuriMat!
Arduino -skissen "LSM303DHLC_Acc_andMag_Raw_Measurements_201218.ino" tillhandahåller nödvändiga rådata. För detta kan du välja källa på rad 17.
Stäng fönstret Serial Monitor för att arbeta med Magmaster 1.0.
Steg 2: Skapa de kalibrerade mätningarna
För att få de kalibrerade mätningarna av magnetometer och accelerometer överför värdena i transformationsmatrisen och förspänningen i Arduino -skissen "LSM303DHLC_Tilt_compensated_Compas_211218", rad 236 - 246 för Magnetometer, 268 - 278 för Accelerometer.
Som en kontroll ger skissen också en jämförelse av rådata och kalibrerade sensorvärden. Dessutom kan du kontrollera avläsningarna med kompass och grader.
Steg 3: Lägga till en LCD -skärm
LC -displayen används för att visa den aktuella positionen i förhållande till jordens magnetfält. Sensorns X-axel pekar mot norr, där 0 ° motsvarar den magnetiska norr. Värdet ökar genom att vrida medurs till 360 °. Sensorns lutning kompenseras väl, men bör inte överstiga 45 °.
Anslutningen av 16x2 LC -skärmen är standard och väl förklarad i följande Arduino -handledning:
www.arduino.cc/en/Tutorial/HelloWorld
Jag hoppas att jag kan inspirera dig till nya instruktioner och jag ser fram emot dina projekt.