Laborversuch Gyroskop mit DS1104

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Lars Engeln & Sven Brinkmann
Betreuer: Prof. Schneider


Einleitung

In diesen Praktikum wird ein Motor über einen Drehknopf bedient, damit die Drehgeschwindigkeit variabel eingestellt werden kann. Auf dem Motor wird ein Drehteller mit einer Gyroskop Halterung montiert,
sodass das Gyroskop im Stillstand (Ruheposition) kalibriert werden kann. In diesem Versuch wird das Gyroskop (GY-35-RC) verwendet. Die Vorrichtung dient zum Vergleichen der Winkelgeschwindigkeit, zwischen
dem Gyroskop und einer Referenzmessung. Diese Referenzmessung wird zunächst durch eine Einstellung in der Motorsteuerung realisiert, sollte diese Funktionsweise nicht standhalten wird auf eine Geschwindigkeitsmessung
mithilfe einer Drehachse und Lochscheibe z.B Speedsensor LM393 zurückgegriffen. Die berechneten Ergebnisse vom Gyroskop und der Referenzmessung werden auf einem Display angezeigt.

Anforderungen

Tabelle 1: Funktionale Anforderungen an der Gyroskop-Projekt
ID Inhalt Klasse Ersteller Datum Geprüft von Datum
1 Als Hauptsensor kommt ein analoges Gyroskop (GY-35-RC) zum Einsatz. Darauf verbaut ist ein muRata ENC-03RC Einachsgyro. Dies ist bereits vorhanden. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
2 Ein Motor dreht das Gyroskop mit konstanter Geschwindigkeit im Bereich von ±300 °/s. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
3 Die Drehgeschwindigkeit soll über einen Drehknopf eingestellt werden. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
4 Die wahre Geschwindigkeit (Referenz) wird mit einem Drehencoder auf ±0,1 °/s bestimmt. NFR Prof. Schneider 10.10.2023
5 Als Messwerterfassungskarte kommt eine dSpace DS1104 R&D Controller Board zum Einsatz. FR Prof. Schneider 10.10.2023
6 Mit der Messwerterfassungskarte werden die Gierrate des Gyro und des Referenzsystems erfasst. FR Prof. Schneider 10.10.2023
7 Referenzgeschwindigkeit und Messwert werden auf eine Display angezeigt. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
8 Der Messaufbau muss für Studentische Praktika robust und langlebig sein. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
9 Die digitale Signalverarbeitung erfolgt über MATLAB/Simulink. NFR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
10 Die Anzeige der Mess- und Referenzdaten erfolgt in dSpace ControlDesk. NFR Prof. Schneider 10.10.2023
11 Im Stillstand muss der Gyrooffset kalibriert werden. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
12 Die Messwerte Gierrate und Winkel sind mitsamt Messunsicherheit anzuzeigen. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
13 Die Spannungsversorgung kann über ein Labornetzteil erfolgen. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
14 Der Aufbau muss möglichst kompakt gestaltet werden, damit er platzsparend gelagert werden kann. FR Prof. Schneider 10.10.2023 Lars Engeln 11.10.2023
Bill of materials (BOM)
Teile Nr. Anzahl Komponente Preis Link
1 1 Arduino Uno 3 TBD https://funduinoshop.com/elektronische-module/sonstige/mikrocontroller/funduino-uno-r3-mikrocontroller-arduino-kompatibel
2 1 12V DC-Motor mit Encoder TBD https://www.amazon.de/dp/B09LGZ291M?ref=ppx_yo2ov_dt_b_product_details&th=1
3 1 Motor Treiber TBD https://www.roboter-bausatz.de/p/l298n-motortreiber-mit-doppelter-h-bruecke
4 1 Gyroskop GY-35-RC TBD https://www.christians-shop.de/GY-35-RC-einachsiges-Gyroskop-analog-ENC-03RC
5 1 Potentiometer TBD https://www.amazon.de/dp/B073PQ2G82?psc=1&ref=ppx_yo2ov_dt_b_product_details
6 1 Holzleiste TBD https://www.hornbach.de/p/furnierschichtholz-woodpro-35x35x2400-mm/5506216/
7 1 Holzplatte TBD https://www.hornbach.de/p/fixmass-sperrholz-pappel-1200x600x8-mm/5216016/
8 xx Einschlagmuttern M5 TBD https://www.hornbach.de/p/stahl-einschlagmutter-mit-gewinde-m5-7-mm-200-stueck/8673668/?searchTerm=Stahl-Einschlagmutter+mit+Gewinde+M5
9 1 12 V Netzteil TBD https://www.amazon.de/HOUHUI-Netzteil-100-240V-Stromversorgung-Funkger%C3%A4t/dp/B0BWXCQ67J/ref=sr_1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3BGGKPEHBCDX5&keywords=12+V+6a&qid=1703671142&sprefix=12+v+6a%2Caps%2C125&sr=8-2
10 1 Schleifring TBD https://www.amazon.de/dp/B07GCNK2XY?psc=1&ref=ppx_yo2ov_dt_b_product_details

Funktionaler Systementwurf/Technischer Systementwurf

Funktionaler Systementwurf

Im funktionalen Systementwurf wurde das System in mehrere Subkomponenten unterteilt, die jeweils für eine spezifische Teilaufgabe zuständig sind. Durch die Zusammensetzung dieser Komponenten wird die Gesamtaufgabe des Laborversuchs erfüllt. Die Unterteilung in spezifische Subkomponenten ermöglicht es, das Gesamtsystem übersichtlich und verständlich zu gestalten und die Entwicklung des Projekts zu strukturieren.

  • Arduino: Der Mikrocontroller wertet die Sensordaten aus und stellt Sie dem Anwender zur Verfügung. Mit dem Ergebnis wird das Display angesteuert.
  • Display: Das Display visualisiert dem Anwender die Messergebnisse.
  • Referenzmessung: Diese Komponente misst die Winkelgeschwindigkeit des Motors.
  • Motortreiber & Drehknopf: Der Motortreiber & Drehknopf steuert die Energiezufuhr des Motors und begrenzt somit dessen Leistung.
  • Schleifring: Der Schleifring dient zu Energieversorgung und Übertragung der Sensordaten des Gyroskop.
  • Mechanik-Baugruppen: Mit den Mechanik Baugruppen wird das gesamte Laborgestell beschrieben, es dient zum fixieren des Gyroskop sowie zum abdämpfen von Schwingungen.

In Abb.1 wird zunächst der funktionale Systementwurf dargestellt.
Bei dem Signalfluss in (Abb.2) werden zunächst ein Arduino und ein LCD-Display verwendet, da auf diese Weise die aktuellen Werte des Gyroskops und des Referenzwertes angezeigt werden können.

Technischer Systementwurf

Für den technischen Systementwurf ist nun Abb. 3 beschreibend. Es wird von dem Nutzer ein Sollwert über einen Drehknopf(Potentiometer) eingestellt. Dieser Sollwert wird dann an den Motortreiber weitergegeben, welcher den Motor antreibt. Der angetriebene Motor beginnt somit sich zu drehen, was dafür sorgt, dass das Gyroskop Werte bezüglich der Geschwindigkeit zurückgibt. Über diese Messung, wird das Signal Rückgekoppelt, um die Differenz des Soll- und Istwerts zu bestimmen und um den Motor zu Regeln.

Projektplan

Nachfolgend wird der erstellte Projektplan anhand eines Gantt-Charts dargestellt.

Komponentenspezifikation

In diesem Kapitel werden die benötigten Komponenten mit ihren Voraussetzungen beschrieben und Kaufteile definiert.
Eine Liste der Kaufteile befindet sich im oberen Teil des Artikels [BOM].

Microcontroller

Für den Versuch wird ein Microcontroller benötigt, welcher die den Motor antreibt und die ermittelten Messwerte aufnehmen und darstellen kann. In den Anforderungen wurde hierzu die DS1104 definiert, aufgrund der einfacheren Zugänglichkeit beim erstellen, als auch bei der Vorführung auf der Messe wird der Versuchsaufbau mit einem Arduino Uno 3 angefertigt. Die Umstellung auf die DS1104 Karte der Firma DSpace kann anschließend mit einem geringen Aufwand umgesetzt werden.

Motor

Der benötigte Motor zum Projekt wurde über die Anforderungen insoweit definiert, das dieser mit einer Geschwindigkeit im Bereich von ±300 °/s drehen soll. Des Weiteren muss ein Weg gefunden werden, wie die tatsächliche Geschwindigkeit elegant bestimmt werden kann. Die im Internet kaufbaren Motoren werden üblich in der Einheit [RPM] zu deutsch, "Umdrehung pro Minute [U/min] " angegeben. Demnach haben wir die Angabe aus der Anforderungsliste in die Einheit U/min wie folgt umgerechnet:
1. 300 °/s * 60s = 18.000 °/min
2. Nun wird dieser Wert durch 360° geteilt, damit wir auf U/min kommen.
3. Das entspricht 18.000 °/min : 360° = 50 U/min oder [RPM]

Es muss nun ein Motor ausgewählt werden, welcher eine Geschwindigkeit von 50 U/min erreicht und die tatsächliche Geschwindigkeit als Signal ausgeben kann.

Nach einer Recherche konnten Motoren für den Modellbau gefunden werden, mit dem die gegebenen Voraussetzung erfüllt werden. Der Ausgewählte Motor ist ein Getriebemotor, welcher dank seiner Übersetzung auch höhere Drehmomente an der Narbe erzeugen kann. Die Geschwindigkeit des Motors wird durch einen Hall-Sensor ausgegeben. Der Hall-Sensor misst das Geschwindigkeitssignal vom Permanentmagnet-Gleichstrommotor. Wenn sich die Welle dreht, wird eine bestimmte Anzahl von Impulsen erzeugt, die von der Hall-Geräteschaltung ausgegeben werden und zu Zählimpulsen des Rotationszählers werden. Diese Zählimpulse können anschließend in eine U/min umgerechnet werden.

Gyroskop

Ein Gyroskop ist ein Instrument oder Sensor, das dazu dient, die Orientierung oder Rotationsrate eines Objekts im Raum zu messen. Es basiert auf den Prinzipien der Kreiselstabilität und kann in verschiedenen Formen vorkommen, darunter mechanische Gyroskope, elektronische Gyroskope und optische Gyroskope. Gyroskope werden häufig in Flugzeugen oder Schiffen genutzt.

GY-35-RC Ein einachsiges analoges elektronisches Gyroskop, auch als Rate-Gyroskop oder Gyrosensor bezeichnet, verwendet elektronische Sensoren, um die Rotationsrate um eine bestimmte Achse zu messen. Beim drehen des angeschlossenes Sensors wird über die Corioliskraft die Rotationsrate berechnet.

Das Gyroskop braucht eine Stromversorgung zwischen 3-5V. Dieses Gyroskop kann eine maximale Rotationsrate von ±300°/s ausgeben.


MPU-6050 Dieses Gyroskop ist ein digitales Gyroskop. Es kann sowohl die Beschleunigung ausgeben, als auch die Rotationsrate & Temperatur. Die Spannungsversorgung muss zwischen 3,3V und 5V sein und das Gyroskop kann hat einen variierenden Messbereich. Das heißt, dass es möglich ist den Messbereich festzulegen. Die Messbereiche sind ±250°/s, ±500°/s, ±1000°/s, ±2000°/s.

Potentiometer

Durch das bedienen eines Drehknopfs soll die IST - Geschwindigkeit des Motors eingestellt werden können. Hierzu wird ein lineares Potentiometer. Potentiometer können über lineare oder logarithmische Kegel verfügen. Bei einem linearen Kegel ändert sich die Spannung stets in gleich bleibenden Schritten in Abhängigkeit von der Drehung der Steuereinheit.

Mechanische Baugruppe

Laut der Anforderungsliste muss der Aufbau den Anforderungen studentischer Arbeiten standhalten, des Weiteren soll er möglichst platzsparend aufgebaut sein. Aufgrund der einfachen Zerspanbarkeit, wird Holz als Grundwerkstoff für die mechanischen Komponenten verwendet. Die Komponenten werden dabei mithilfe von Einschlagmuttern und Kreuzschlitzschrauben verbunden. Damit wird eine Abnutzung der Bauteile, durch Montage und Demontage, vorgebeugt. Der fertige Aufbau darf maximal Abmaße von 300x300x300 mm aufweisen, um als platzsparend akzeptiert zu werden.

Schleifring

Die Verkabelung der Meisten Komponenten ist Starr, damit ist gemeint, dass die Kabel keiner Rotation oder Bewegung ausgesetzt sind. Bei der Versorgung des Gyroskop ist eine dynamische Verkabelung bzw. Übertragung notwendig, da hier die Kabel einer Rotation ausgesetzt sind. Ein Schleifring ermöglicht die notwendige Stromversorgung des Gyroskops, des Weiteren können die aufgenommenen Daten an den Microcontroller wiedergegeben werden. Der Schleifring muss genügend Anschlussmöglichkeiten bieten und sollte in seiner Bauweise wenig Platz benötigen.

Umsetzung (HW/SW)

Programm-Ablauf-Plan

Abbildung 5: Programm-Ablauf-Plan

In Abbildung 5 ist der Programm-Ablauf-Plan dargestellt. Dieser gibt wieder wie das Programm und damit die Regelung mit unserer Hardware funktionieren soll.

In diesem Programm-Ablauf-Plan läuft das Gyroskop nicht mit in die tatsächliche Regelung ein, sondern es wird nur am Anfang kalibriert um das Offset zu Eliminieren. Dafür muss zunächst Messwerte über das Gyroskop im Stillstand aufgenommen werden und in dem Workspace(MATLAB) der Mittelwert der Messwerte gebildet werden, welcher zukünftig von den fortlaufenden Messwerten abgezogen wird.

Nach diesem Teil des Programms kommt der tatsächliche Regelkreis ins Spiel. Nachdem das Programm Neugestartet wurde, kann nun die Solldrehgeschwindigkeit des Motors über einen Drehknopf(Potentiometer) eingestellt werden. Anschließend muss von dem Benutzer noch die Drehrichtung eingestellt werden, damit der Motor sich tatsächlich dreht. Die eingegebene Solldrehgeschwindigkeit muss dann in eine Pulsweite umgewandelt werden, damit der Motor über eine Motorsteuerung tatsächlich angesteuert werden kann. Dazu muss wird dann noch überprüft, ob die Pulsweite >50 ist, da bei allen Pulsweiten unter 50 der Motor sich nicht dreht oder sehr langsam und sich das Gerät nicht "gesund" anhört. Demnach wurde zum Schutz der Komponente dieser Grenzwert gesetzt. Wenn nun die Pulsweite über 50 liegen sollte, dann dreht sich der Motor in die eingestellte Richtung. Nebenbei wird ein Signal von dem Motor abgegriffen, welches dazu dient die Drehgeschwindigkeit zu messen. Wenn der gemessene Wert und der eingestellte Wert übereinstimmen dreht sich der Motor ganz normal weiter. Wenn jedoch die Messwerte von den Sollwert abweichen, wird der Messwert zurückgeführt und von dem Sollwert abgezogen, wodurch, sich die Drehgeschwindigkeit des Motors ändert.

Das Programm läuft dann so lange, bis der Benutzer das Programm beendet.



Software

Abbildung 6: Software-Umsetzung


Sollwert einstellen

Abbildung 7: Sollwertbestimmung

Der Sollwert wird mittels eines Drehknopf(Potentiometer) eingestellt. Es ist eine Anforderung an das Projekt, dass der Sollwert über einen Drehknopf eingestellt werden muss. Die maximale Umdrehung die der angeschlossene Motor ausgeben kann ist 60 Umdrehungen/min.

Der Wert der bei den Potentiometern ausgelesen werden kann beträgt maximal 210-1 und somit 1023. Die eingehenden Signale werden dann immer durch 1023 geteilt um maximal eine 1 auszugeben. Dieser Wert wird mit den oben genannten Umdrehungen multipliziert um die Entsprechenden Umdrehungen die Minute zu bekommen.

Anschließend werden die Ergebnisse der Umrechnung durch 60 Umdrehungen dividiert und mit 360° multipliziert. Die Drehgeschwindigkeit ist damit in °/min eingestellt.


Messung der Drehgeschwindigkeit an dem Motor

Abbildung 8: Messen der Drehgeschwindigkeit an dem Motor

Mit dem Programmteil in der Abbildung 8, wird die eingestellte Geschwindigkeit von dem Motor berechnet. Anschließend wird die Geschwindigkeit angezeigt als auch Integriert um den derzeitigen Winkel des Motors zu bestimmen. Damit kein Winkel über 360° oder unter -360°, wird der "mod"-Block verwendet.


Ansteuerung des Motors

Abbildung 9: Ansteuerung des Motors

In der Regelung (Abbildung 9) wird die vorher berechnete Drehgeschwindigkeit in eine Pulsweite umgewandelt. Dafür wird zunächst die angegebene Drehgeschwindigkeit in °/min durch 360° geteilt und mit 255 multipliziert. Der Wert muss 255 sein, da die Pulsweite eine Spanne von 0-255 hat, mit der dann das Signal an die Motorsteuerung gegeben wird. Dazu wird erst ein Signal an die Motorsteuerung gegeben, wenn die Pulsweite größer als 50 ist. Die Spannung die benötigt wird um den Motor zu bewegen ist unter 50 zu niedrig, was von dem Motorsteuergerät abhängig ist.

Bestimmen der Drehrichtung

Abbildung 10: Richtungsvorgabe

Der Motor soll laut den Anforderungen in beide Richtungen drehbar sein. Damit dies realisiert werden kann, muss an die Pins 9 oder 10 ein Signal eingehen. Damit der Motor sich in eine Richtung dreht, muss einer der Pins eine 1 übergeben bekommen und der andere eine 0. Der Motor dreht sich nicht, wenn beide Pins eine 0 oder eine 1 übertragen bekommen.

Eliminierung des Offsets beim Gyroskops und messen der Rotationsgeschwindigkeit

Abbildung 11: Gyroskop-Offset-Drehgeschwindigkeit-Winkel

Zuerst muss die richtige Achse des digitalen Gyroskops ausgewählt werden, die davon abhängt, wie das Gyroskop in der Halterung befestigt wurde. Danach darf das Gyroskop nicht bewegt werden und das Simulationsprogramm muss gestartet werden. Dort können ca. 10s lang Messwerte aufgenommen und an den aktuellen Arbeitsbereich gesendet werden. In der Variablen "T" ist dann der Mittelwert der aufgenommenen Messwerte festzuhalten. Bei der nächsten Inbetriebnahme wird dieser Mittelwert von den eingehenden Messwerten subtrahiert. Damit ist der Offset des Gyroskops weitgehend korrigiert. Die Toleranz des Rohmesssignals beträgt nun ±0,05°. Damit nicht nur die Drehzahl ausgegeben wird, werden die Messsignale noch integriert, was dazu führt, dass nun der Drehwinkel berechnet wird. Hierbei ist zu beachten, dass sich ab einer Messdauer von 60s ein Fehler einschleicht. Je länger die Messzeit ist, desto größer wird die Messunsicherheit des angezeigten Winkels. Wenn nun eine volle Umdrehung vom Gyroskop erfasst wird, soll der Winkel wieder 0 anzeigen. Dazu wird der Block "mod" verwendet, der ein Modulo darstellt.




Hardware

In diesem Abschnitt werden die erstellten Hardware Komponenten vorgestellt.

Komponententest

Die zu testenden Komponenten sind

  • die Potentiometer
  • der Motor
  • das Gyroskop

Potentiometer

Abbildung 11: Komponententest Potentiometer


Motor

Testbericht_Motor_Motorsteuerung



Gyroskop GY-35-RC

Der Test des analogen Gyroskops (GY-35-RC) hat beim Testen keine brauchbaren Messwerte ausgegeben. Trotz richtigen Anschließens des Gyroskops, wurden keine Werte angezeigt, sobald das Gyroskop gedreht wurde.

Abbildung asdasd


Gyroskop


Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 23/24: Angewandte Elektrotechnik (BSE)