Laborversuch Gyroskop mit DS1104: Unterschied zwischen den Versionen
Zeile 330: | Zeile 330: | ||
<br clear = all> | <br clear = all> | ||
==== | ==== Messung der Drehgeschwindigkeit an dem Motor==== | ||
[[Datei:Rückkopplung.png|400px|thumb|right|Absatz|Abbildung 8: | [[Datei:Rückkopplung.png|400px|thumb|right|Absatz|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. | |||
<br clear = all> | <br clear = all> |
Version vom 2. Januar 2024, 16:23 Uhr
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
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 |
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.
-
Abb. 1 Funktionaler Systementwurf
-
Abb.2 Funktionaler Systementwurf Signalfluss
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.
-
Abb. 3 Technischer Systementwurf Regelkreis
-
Abb. 4 Technischer Systementwurf Verkablung
Projektplan
Nachfolgend wird der erstellte Projektplan anhand eines Gantt-Charts dargestellt.
-
Abb. 4 Projektplan
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.
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
In Abbildung 5 ist der Programm-Ablauf-Plan dargestellt. Dieser gibt wieder wie das Programm und damit die Regelung mit unserer Hardware funktionieren soll. Zu beachten dabei sind folgende Abfragen
- Ist ein Offset bei dem Gyroskop zu erkennen?
- Ja -> Das Offset muss korrigiert werden
- Nein -> Motor kann in Betrieb genommen werden
- Entspricht die derzeitige Geschwindigkeit der Soll-Geschwindigkeit? (Gemessen am Motor)
- Nein -> dann wird die Drehgeschwindigkeit angepasst
- Ja -> Es kann die Referenzmessung mit dem Gyroskop genommen werden
- Stimmen die Geschwindigkeiten überein? (Gyroskop gemessen und Motor eingestellt)
- Nein -> Der Motor muss geregelt werden
- Ja -> Der Motor läuft wie eingestellt weiter
Software
Sollwert einstellen
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
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.
Regelung
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
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.
Komponententest
Die zu testenden Komponenten sind
- die Potentiometer
- der Motor
- das Gyroskop
Potentiometer
-
Abbildung 11: Komponententest Potentiometer
-
Abbildung 12: Potentiometer Funktionalität
-
Abbildung Jucktnicht Angeschlossenes Potentiometer
Motor
-
Testbericht_Motor_Motorsteuerung
-
Abbildung schießmichtot Pinbelegung Motorsteuerung
-
Abbildung interessiertmichnicht Verkablung Test:Arduino-Motorsteuerung
Gyroskop
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 23/24: Angewandte Elektrotechnik (BSE)