Gyroskop mit Matlab/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Philipp Tewes

Betreuer: Prof. Dr.-Ing. Ulrich Schneider

Sensor: EV3-Gyrosensor-45505

Für die Lehrveranstaltung Signalverarbeitende Systeme des Studiengangs Business and Systems Engineering im SoSe 2018 war es die Aufgabe einen Gyro Sensor des Lego EV3 Roboter mit Matlab/Simulink auszulesen und seine Messwerte zu verarbeiten. Verwendet werden konnten dazu zwei Variationen, eine Möglichkeit war es, den EV3 Sensor an ein EV3 zu Verbinden und diesen dann mit dem PC, auf welchem Matlab die Werte verarbeitet auszulesen. Die andere Möglichkeit welche in dem Fall des Gyso Sensors verwendung fand, war es den Sensor an einen Arduino anzuschließen, dieser Kommuniziert mit dem PC auf welchem Matlab/Simulink die Sensordaten auswerte kann.


Lego Mindstorms

Abb. 3: Lego RCX
Abb. 2: Lego NXT
Abb. 1: Lego EV3

Der Lego Mindstorms EV3 Roboter ist der dritte Roboter welcher von Lego entwickelt wurde. Die erst Entwicklung war der RCX welcher im Jahr 1998 erschienen ist. Diese Variante ist von der Leistungsfähigkeit den neueren Entwicklugen deutlich unterlegen, bot aber schon drei Eingänge und 3 Ausgänge an. Beim Aufbau der Systeme hat Lego mit diesem begonnen eine zentrale Recheneinheit mit externen Motoren und Sensoren zu ergänzen. Auf diese weise sind sehr flexible Konstruktionen möglich. Beim RCX wurde die Konstruktion der Bauteile auf die Art vorgenommen, das diese mit dem normalen Lego System kompatiebel sind. Für die Verbindung der Komponenten trifft dies ebenfalls zu, diese werden durch einen Lego "Block" versteckt (Abb. 3).

Mit der Lego Mindstorms NXT Serie welche im Jahr 2006 auf dem Markt erschienen ist, gab es deutliche Veränderungen gegenüber des RCX Roboters und seiner Anbauteile (Abb. 2). Die Integrationsmöglichheit in das normale Lego Stecksystem wurde auf das System von Lego Technik umgestellt. Bei den Sensoren wurden alle neu entwickelt ohne eine Abwärtskompatibilität zu bieten. Die NXT Serie bot neben analogen Sensoren erstmals digitale Sensoren welche die Messwerte intern bestimmen und per BUS-System an den NXT senden. An vielen Schulen und Universitäten fand der Lego NXT Abnehmer, hier wurde dieser für die Einführung in Programmierung verwendet. Bei den Verbindungen der Bauteile gab es gegenüber des RCX ebenfalls eine nicht Abwärtskompatibile Änderung, die Verbindung wurde von der Lego "Block" Verbindung zu einer Art RJ12 Stecker umgestellt.

Die aktuellste Entwicklung ,aus 2013, der Lego Mindstorms Serie ist der EV3 (Abb. 1). Dieser bietet ebenfalls wie der NXT eine integrationsmöglichkeit in das Lego Technik System. Bei dieser Entwicklung wurde ein größerer Wert auf Abwärtskompatibilität gesetzt. Dies gillt für die Sensoren wie für die Kabelverbindungen. Bei den Schnitstellen gab es eine Erweiterung auf die Möglichkeit 4 Motoren mit dem EV3 Verbinden zu können. Neben dieser Änderung wurde der EV3 mit mehr Tasten und stärkerer Rechen Hardware ausgestattet, sowie mehr Speicherplatz. Die digitalen Sensoren übermitteln die Messwerte beim EV3 via UART welches zu der I2C des NXT eine weitere Veränderung darstellt.

Lego EV3 Gyro-Sensor

Abb. 4: Lego EV3 Gyroskop

Bei dem Lego Gyrosensor (Abb. 4) handelt es sich um einen digitalen Sensor um Drehungen um die Hochachse ermitteln zu können. Diese kann bis zu einer Geschwindigkeit von 440 Grad/Sekunde gemessen werden. Die Messabweichung liegt in einem Bereich von Plus/Minus 3 Grad bei einer Drehung um 90 Grad. Die Bestimmung der Drehrate um andere Achsen ist mit diesem Sensor nicht möglich, es können nur Drehungen um die Hochachse (z-Achse) gemessen werden.

Bei der Kommunikation mit dem EV3 wurde auf die UART Schnittstelle zurückgegriffen, der Sensor beinhaltet einen 8 Bit Microkontroller welcher für die Datenverarbeitung und Datenversendung zuständig ist. Der Microkontroller übermittelt selbstständig 1000 Messwerte in der Sekunde. Der Sensor versendet Messwerte wann immer diese eine Änderung aufweisen, neben dieser selbstständigen Übermittlung ist es ebenfalls möglich das der EV3 den aktuellen Messwert abfragen kann.

Wird der Gyrosensor mit dem EV3 Verbunden, beginnt dieser damit sich beim EV3 als Gyrosensor "anzumelden". Wurde dies erfolgreich Durchgeführt übermittelt der Gyrosensor seine möglichen Messmöglichkeiten und Wertebereiche der gesendeten Messwerte. Nach dem Abschluss dieses Anmeldevorgangs startete der Gyrosensor mit der Übermittlung von Messwerten an den EV3. Es kann zwischen drei verschiedenen Modi gewechselt werden. Der Default Modus ist der Gyro Winkel Modus, hierbei wird kontinuierlich gemessen und die Winkelgeschwindigkeit akkumuliert, dies wird übersetzt in einen relativen Winkel. Der relative Winkel bezieht sich auf die Drehung seit dem letzten Zurücksetzen des akkumulierten Winkels. Wird der Gyrosensor zu langsam gedreht, oder schneller als die maximale Geschwindigkeit von 440 Grad/Sekunde, wird die relative Winkelmessung ungenau. Neben diesem Modus gibt es den Gyro Modus, bei diesem wird die Gierrate kontinuierlich bestimmt. Wenn sich der Sensor nicht dreht, ist dieser Wert Null. Die schnellste Rotationsgeschwindigkeit, die der Sensor bestimmen kann, beträgt 440 Grad/Sekunde. Der dritte Modus des Gyrosensors ist der Gyro und Winkel Modus, bei welchem die identischen Messungen wie in den zuvor behandelten Modi durchgeführt werden. Der Unterschied liegt darin das beide Messwerte gleichzeitig an den EV3 versendet werden.


Messprinzip

Ein Gyroskop, auch Kreiselinstrument bezeichnet, ist ein rotierender symmetrischer Kreisel, der sich in einem beweglichen Lager dreht. Dieser ist frei in einem Käfig beweglich aufgehanden. Aufgrund der Drehimpulserhaltung weist ein Kreisel ein hohes Beharrungsvermögen gegenüber äußeren Lageänderungen im Raum auf. Gyroskope werden als Navigationsinstrumente sowie zur aktiven Lageregelung eingesetzt, insbesondere in der Luftfahrt und Raumfahrt. Bei der Lageregelung von Raumflugkörpern wie Satelliten oder Raketen wird der Effekt genutzt, dass das Gesamtsystem aus Raumflugkörper und Gyroskop seinen Drehimpuls beibehält. Hierdurch kann die Drehimpulsübertragung zwischen beiden bestimmt werden und die Lage gesteuert.

Historisch

Abb. 5: Effekte an einer rotierenden Scheibe

Die bei Gyroskopen verwendeten Kreiselsysteme lassen sich als geschlossenes System betrachten. Der Drehimpuls dieses Systems bleibt konstant. Wird durch eine äußere Kraft versucht die Drehachse des Kreisels zu kippen, resultiert hierdurch ein Drehmoment (Abb. 5). Damit das System seinen Gesamtimpuls bewahren kann, kippt die Kreiselachse senkrecht zur angreifenden Kraft. Bekannt ist dies vermutlich jedem durch Spielzeugkreisel, dessen Achse durch die ihn kippen wollende Schwerkraft entlang eines Kegelmantels präzediert. Durch diesen Effekt, der Massenträgkeit und des Drallsatzes ist es möglich die Lageänderung eines Objektes zu bestimmen. Hierraus ergeben sich zwei Messprinzipien. Soll ein Bezug zur Lage hergestellt werden, kann die Stabilität der Kreiselachse verwendet werden. Durch das Bestreben eines symmetrischen Kreisels die Drehachse im Inertialraum beizubehalten, ist ein Bezug zur Lage gegeben. Dies ist bekannt vom z.B. künstlichen horizont in Flugzeugen. Das weitere Messprinzip ist die Präzession, hierbei kann eine Kraft gemessen werden die im direkten Zusammenhang zur Präzession steht. Hierdurch wird ebenfalls eine Lageänderung messbar.








Modern

Abb. 6: Kapazitiver Wandler für Gyroskope

Kreiselinstrumente haben den Nachteil das sie relativ großen Bauraum benötigen und dazu teuer sind. Der Verbau in Robotern oder Handys würde so nicht in Frage kommen. Moderne Gyroskope, wie es im Lego EV3 Gyrosensor verbaut ist, verwenden eine andere Technik zur Bestimmung einer Lageänderung und damit Drehrate. Die verwendete Technik wird MEMS genannt. Bei Gyroskopen mit dieser Technik dreht sich kein Kreisel mehr in einem Käfig, sondern wird ein Körper in eine definierte Vibration versetzt. Genutzt wird der Effekt der Corioliskraft, diese Besagt das bei jeder Drehbewegung im Raum die Größe von 2ωv entsteht. Hierbei handelt es sich um ω, die Drehrate, und v die Bahngeschwindigkeit. Zur Bestimmung der Lageänderung wird genutzt, dass, wenn ein vibrierendes Objekt im Raum gedreht wird die Corioliskraft diese Vibration verändert. Gemessen wird der Grad der Veränderung der Vibration durch die Corioliskraft. In Schwingung werden sehr kleine Bauteile gebracht, die Schwingung beträgt oft zwischen 16 kHz bis zu 32 kHz. Über den Schwingungsmodus lässt sich die Drehrate bestimmen. Die Veränderung des Schwingungsmodus wird oft, wie auch im Fall des Lego EV3 Gyroskop, kapazitiv bestimmt (Abb. 6). Es wird von einem kapazitiven Wandler gesprochen welcher die Veränderung der Vibration bestimmt und in die Drehrate umrechnet.

Aufbau

Gyroskop

Microkontroller

Kommunikation

Spannungswandler

Arduino

Verbindung der Komponenten

Matlab-Software

Matlab GUI

Datenverarbeitung

Datenauswertung