Laborversuch Gyroskop mit DS1104: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 252: Zeile 252:
== Komponentenspezifikation ==
== Komponentenspezifikation ==


In diesem Kapitel werden die benötigten Komponenten Voraussetzungen beschrieben und Kaufteile definiert.
In diesem Kapitel werden die benötigten Komponenten mit ihren Voraussetzungen beschrieben und Kaufteile definiert.


=== Microcontroller ===
=== Microcontroller ===
Zeile 262: Zeile 262:
=== Motor ===
=== 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 nun die Angabe in der Anforderungsliste in die Einheit U/min umgerechnet<br>
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:<br>
1. 300 °/s * 60s = 18.000 °/min <br>
1. 300 °/s * 60s = 18.000 °/min <br>
2. Teilen wir diesen Wert nun durch 360° damit wir auf U/min kommen. <br>
2. Nun wird dieser Wert durch 360° geteilt, damit wir auf U/min kommen. <br>
3.Das entspricht 18.000 °/min : 360° = 50 U/min oder [RPM]
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-Seonsor 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 ===
=== Potentiometer ===


=== Mechanische Baugruppe ===
=== Mechanische Baugruppe ===

Version vom 27. Dezember 2023, 12:25 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

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 xx 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

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.

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-Seonsor 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

Mechanische Baugruppe

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. 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

Abbildung 6: Software-Umsetzung

Sollwert einstellen

Abbildung 7: Sollwertbestimmung
Abbildung 7: Sollwertbestimmung

Der Sollwert wird mittels 3 verschiedenen Drehknöpfen(Potentiometern) eingestellt. Es ist eine Anforderung an das Projekt, dass der Sollwert über einen Drehknopf eingestellt werden muss, jedoch mit einer Auflösung von 0,1°/Sekunde. Mit einem Drehknopf ist dies schwer zu realisieren und somit wurde Entschieden, dass der Sollwert mittel mehreren Drehknöpfen eingestellt wird. Diese Drehknöpfe haben alle eine verschiedene Auflösung, für eine möglichst genaue Sollwert-Einstellung.

  • Das erste Potentiometer kann bis zu 50 Umdrehungen/min einstellen
  • Das zweite Potentiometer kann bis zu 9 Umdrehungen/min einstellen
  • Das dritte Potentiometer kann bis zu 1 Umdrehung/min einstellen

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.



Rückkopplung

Abbildung 8: Rückkopplung

Die Rückkopplung besteht in diesem Fall aus nichts anderem als dem Output des Gyroskops. Der in diesem Projekt aufgestellte Regelkreis hat hervorgesehen, dass die Regelung der Drehgeschwindigkeit mit dem Gyroskop überprüft und angepasst wird. Somit wird von dem Sollwert der Istwert aus dem Gyroskop abgezogen und an die Regelung weitergegeben.


Regelung

Abbildung 9: 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

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.

Komponententest

Die zu testenden Komponenten sind

  • die Potentiometer
  • der Motor
  • das Gyroskop
  • der Arduino

Potentiometer

Motor

Gyroskop

Arduino

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


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