Gebruik MPU-9250 9-DOF Gyro

Hardware geleverd door Arduino
Gebruikers-avatar
Berichten: 1771
Geregistreerd: 06 Aug 2016, 01:03

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor Koepel » 03 Feb 2017, 16:59

Misschien kun je het met dit vergelijken.
Dit is de kriswiner code voor de MPU-6050 (met de Sebastian Madgwick's berekeningen).
Het zijn de Yaw, Pitch en Roll. De Yaw gaat ervandoor omdat er geen magnetometer in zit.

Afbeelding

Ik vind er toch nog wel veel ruis op zitten.
Als ik het beweeg dan wordt alles goed gevolgd. De Yaw gaat sneller afwijken als ik de sensor alle kanten op draai.
Getest met Arduino Mega 2560 en I2C level shifter en MPU-6050.

Voor een waterpas is alleen een accelerometer voldoende. Wanneer een tablet of phone een accelerometer heeft, zonder gyro, dan werkt het prima met een waterpas app. Er zit dan duidelijk een traag filter op. Is je bedoeling alleen maar een waterpas ?

Advertisement

Gebruikers-avatar
Berichten: 39
Geregistreerd: 04 Dec 2016, 22:32

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor ruud-572 » 03 Feb 2017, 20:25

In principe alleen waterpas voor het horizontaal stellen, ja. Een kompas is ook nog wel handig, maar G krachten meten in een camper is natuurlijk een beetje overdreven... :lol:

Ik ga zo even met de code van Kristine aan de slag!
Software engineer industriële automatisering

Gebruikers-avatar
Berichten: 39
Geregistreerd: 04 Dec 2016, 22:32

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor ruud-572 » 03 Feb 2017, 23:13

Ik begin zo langzaam aan te denken dat ie het toch begeven heeft... Ook met de kriswiner code geeft ie niet veel beter resultaat!

:(
Software engineer industriële automatisering

Gebruikers-avatar
Berichten: 1771
Geregistreerd: 06 Aug 2016, 01:03

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor Koepel » 05 Feb 2017, 00:04

Een waterpas is toch echt iets anders.

Wanneer je vleugels aan je camper maakt en er mee gaat vliegen dan heb je de Yaw, Pitch en Roll nodig. Dan zijn berekeningen nodig zoals de Kalman filters of die berekeningen die kriswiner gebruikt. Het idee is om zowel de accelerometer, de gyro en de magnetometer tegelijk in een filter gebruiken, zodat er een stabiele waarde uitkomt, die toch snel reageert op veranderingen.

Voor een waterpas zou ik de x-as en y-as van de accelerometer nemen, en daar een smoothing filter overheen, zoals moving average (https://nl.wikipedia.org/wiki/Voortschrijdend_gemiddelde).
Eventueel kun je eenmalig de offset voor de x-as en y-as bepalen met een echte waterpas, en die offset in je sketch zetten. Hopelijk is die offset niet afhankelijk van de temperatuur.

Kun je zelf zoeken naar "spirit level" met de Arduino. Dat werkt natuurlijk voor iedere accelerometer, omdat alleen maar de ruwe waarden van de accelerometer nodig zijn.

Een kompas is opeens een stuk ingewikkelder. De richting van het magnetisme is (in Nederland) niet richting Noorwegen, maar vrij steil de grond in. Dat heet "inclination" (http://www.magnetic-declination.com/). In Nederland is dat ongeveer 67 graden (nul graden is naar de horizon en 90 graden is recht omlaag). Dat is wat een magnetometer meet. Om bij iedere stand van de sensor het Noorden te berekenen is wel weer een ingewikkelde berekening nodig. Dat heet een: tilt-compensated compass. Met die Kalman en kriswiner berekeningen zit dat er al in. Wanneer je sensor altijd horizontaal is, dan kun je ook de x-as en y-as van de magnetometer nemen voor het kompas. Volgens mij was het ook nog nodig om de magnetometer te calibreren door het om zijn as rond te draaien.

Gebruikers-avatar
Berichten: 39
Geregistreerd: 04 Dec 2016, 22:32

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor ruud-572 » 05 Feb 2017, 12:37

De vleugels ontbreken uiteraard... :lol: Maar de met de pitch en rol dacht ik exact gevonden te hebben wat ik nodig heb: zowel een waterpas in de lengte als in de breedte van het voertuig! En dat met de hoogst mogelijke nauwkeurigheid dankzij combinatie van alle sensoren. :roll:
Software engineer industriële automatisering

Berichten: 2389
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor shooter » 05 Feb 2017, 12:38

met een gyro mis je natuurlijk wel de calibratie. dat kan wel maar dan moet je de sensor 360 laten draaien en 4 metingen doen.

Voor iets simpels als dit zou ik een joystick op zijn kop gebruiken.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 1771
Geregistreerd: 06 Aug 2016, 01:03

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor Koepel » 05 Feb 2017, 12:57

Joystick ? Ik zou dit gebruiken: https://nl.wikipedia.org/wiki/Schietlood.

Volgens mij wordt de waterpas niet nauwkeuriger door een gyro en magnetometer toe te voegen. De waterpas gebruikt de zwaartekracht en de accelerometer is de enige sensor die dat meet. De combinatie van sensoren levert alleen voordelen bij bewegingen, niet bij het meten van de statische waarde van de zwaartekracht.

Hier mijn eerste testen met de MPU-9250. De Yaw heb ik weggelaten, want die waarde krijg ik niet onder de 80. Dat is misschien nog een foutje in de code. De Roll is veel stabieler dan de Pitch, ik heb nog geen idee hoe dat kan.

Afbeelding

Gebruikers-avatar
Berichten: 39
Geregistreerd: 04 Dec 2016, 22:32

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor ruud-572 » 05 Feb 2017, 13:59

Even voor alle duidelijkheid: is de MPU-9250 nu wel of niet geschikt voor mijn specifieke doel?

Laten we wel zijn, de sensor kost een paar euro dus daar hoefde ik het niet om te laten. Pitch en rol geeft mij toch exact wat ik zoek?
Software engineer industriële automatisering

Gebruikers-avatar
Berichten: 39
Geregistreerd: 04 Dec 2016, 22:32

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor ruud-572 » 05 Feb 2017, 14:01

Koepel schreef:
Hier mijn eerste testen met de MPU-9250. De Yaw heb ik weggelaten, want die waarde krijg ik niet onder de 80. Dat is misschien nog een foutje in de code. De Roll is veel stabieler dan de Pitch, ik heb nog geen idee hoe dat kan.

Afbeelding

Hier zou ik al heel erg blij mee zijn, heel ruim binnen de graad nauwkeurig!
Software engineer industriële automatisering

Gebruikers-avatar
Berichten: 1771
Geregistreerd: 06 Aug 2016, 01:03

Re: Gebruik MPU-9250 9-DOF Gyro

Berichtdoor Koepel » 06 Feb 2017, 06:19

Dat plaatje is trouwens met de kriswiner code.

Ja, de MPU-9250 is geschikt voor een waterpas omdat er een accelerometer in zit. Ik heb er nog eens over nagedacht, en de gyro en magnetometer voegen volgens mij echt niets toe voor een waterpas..
Helaas kan ik geen voorbeeld vinden van Arduino code die eenmalig de waterpas kalibreert en de waarden naar EEPROM schrijft, met een leuk filter om het heel smooth te maken, en die ook nog de afwijking in graden geeft. Op dit moment heb ik helaas weinig tijd om dit zelf te doen :(

Heb je al een nieuwe MPU-9250 besteld ? Dat er een gyro en magnetometer bij zit, dat is niet verkeerd.

VorigeVolgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast