Mäta lutning med en MPU6050, accelerometer + gyroskop

Mäta lutning med en MPU6050, accelerometer + gyroskop

Robotar som rör sig på något sätt, eller som blir förflyttade av omgivningen, kan dra nytta av att veta i vilken riktning eller vinkel de befinner sig. Genom att känna till accelerationen och lutningen kan tex en drönare blixtsnabbt justera kraften till de olika motorerna för att hålla sig plan i luften.

En MPU6050 är en mikrokontroller med accelerometer, gyroskop och temperatursensor. Den har också en processor för att förfina rådatan från sensorerna till högkvalitativ data som vi kan använda. Kombinationen av accelerometer och gyroskop gör att processorn kan filtrera ut brus från sensorerna och leverera en högre datakvalitet.

Att använda en MPU6050 är mycket enkelt. De sitter ofta monterade på ett kort med spänningsregulering mm. Sensorn på bilden hittade vi i en gammal gimbal för drönarfotografering. Det finns en massa olika varianter på kort med MPU6050, så det är bara att välja ett som passar det du vill ha den till.

Kommunikationen med MPU6050 sker över I2C som är en vanlig standard som de flesta plattformar kan prata. I det här exemplet använder jag en ESP8266 på ett NodeMCU-kort och Arduino-ramverket för att programmera den. Det jag behövde göra för att få igång sensorn var helt enkelt att koppla in GND till jord, 5V till spänning (jag använde 3,3 V för det är vad mitt kort går på och det verkar fungera fint men beror på vilket kort din MPU6050 sitter på), SDA till D1(?) och SDC till D2(?) på NodeMCU (standardpinnarna för I2C-kommunikation).

Det finns mängder av färdiga bibliotek till Arduino för att läsa av den här sensorn. Jag har dock hittat ett bibliotek som även kan räkna ut vilken vinkel kretsen befinner sig i. Alla bibliotek har inte det inbyggt utan ger bara acceleration och gyro-värden för respektive axel. Biblioteket som jag har hittat heter MPU6050_light.

Som du ser i exemplet så kan du anropa GetAngle för att få ut vinkeln på sensorn. Tänk på att om du vill ha ut Z-vinkeln (alltså rotation om du har monterat sensorn plant) måste du först kalibrera sensorn i ca en sekund. Detta är med i exempelkoden. Om du inte bryr dig om rotationen i Z-led kan du hoppa över kalibreringen.

Skriv en kommentar

Adafruits motorshield för Feather

Adafruits motorshield för Feather

Adafruit gör många roliga utvecklingskort och deras Feather-serie består av flera olika kort och shields som går att stapla på varandra. Här har jag beställt deras ESP8266 (Wifi-kort) och en motorshield som kan driva upp till 4 DC-motorer eller 2 stegmotorer. Genom att sätta ihop dessa två kort kan jag få en internet-uppkopplad motor-drivare. Det är rätt najs. Jag har lite lödning att göra för att…

Visa hela inlägget
Arduino Pro mini-klon från Kina

Arduino Pro mini-klon från Kina

Jag beställde hem några olika Arduino-kloner från AliExpress, bland annat den här "Pro mini". När man ska bygga in Arduinon i små projekt är det trevligt att ha dessa små kort. Tänkt dock på att du får fixa USB-interfacet och strömförsörjningen på egen hand. Jag brukar använda min "stora" Arduino (Uno) för att programmera dessa små. Det är rätt imponerande att ha 14 digitala in/utgångar och 4 anal…

Visa hela inlägget
Prototyp av bevattningssystemet med Arduino och pumpar

Prototyp av bevattningssystemet med Arduino och pumpar

Jag hittade en gammal digital-tv-box som får fungera som housing till mitt tomatbevattningsprojekt. I lådan har jag installerat två pumpar (en av dem syns överst i bild), en arduino, en display samt anslutningar för strömförsörjning och sensorerna som ska mäta fuktnivåerna i jorden. Här testkör jag hela systemet innan sista monteringen.

Visa hela inlägget
DIY: En Inblick i Konstruktionen av En Egen Balanserande Robot

DIY: En Inblick i Konstruktionen av En Egen Balanserande Robot

Balanserande robotar är ett fascinerande projekt för alla robotbyggare, vare sig du är nybörjare eller en erfaren konstruktör. Dessa tvåhjuliga underverk är inte bara roliga att bygga och leka med, utan också utmärkta plattformar för att lära sig mer om styrsystem, sensorfusion och programvara för fysisk beräkning. I dagens inlägg tar vi oss an utmaningen att bygga en egen balanserande robot från …

Visa hela inlägget
ESP8266 på ett NodeMCU

ESP8266 på ett NodeMCU

Det här är ett litet härligt kort, ett NodeMCU. Det har både USB-interface, spänningsomvandling och ett ESP8266 för trådlös uppkoppling via WiFi. Kortet är perfekt för IoT-projekt i hemmet eller där det finns WiFi och du behöver kommunicera med en server. Planen är att detta ska bli hjärnan i mitt tomat-bevattningsprojekt. För det projektet behöver jag kunna rapportera fuktighetsnivåerna i jorden …

Visa hela inlägget
ESP8266 för trådlös uppkoppling av bevattningssystemet

ESP8266 för trådlös uppkoppling av bevattningssystemet

ESP8266 är ett WiFi-kort med inbyggd processor och minne för enklare applikationer. Att ha en mikrodator med trådlös uppkoppling är fantastiskt för små roliga projekt i hemmet. Här håller jag på med mitt tomat-bevattningssystem som ska kunna rapportera fuktighetsnivå och ta emot kommandon från en server. ESP8266-kortet sitter på ett TinyMCU-kort som gör montering och lödning lite enklare. Det finn…

Visa hela inlägget