Selbstregelndes Schwungrad: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(→‎Umsetzung (HW/SW): Optimierung der Motorsteuerung)
(→‎Umsetzung (HW/SW): Verwendung des Gyroskops MPU6050)
Zeile 123: Zeile 123:


Anfänglich erwogen wir den Einsatz eines Nema 17 Schrittmotors. Jedoch erwies sich die Ansteuerung der einzelnen Phasen in korrekter Reihenfolge und mit hoher Geschwindigkeit, besonders in Simulink, als sehr komplex. Letztendlich entschieden wir uns für einen Nidec 24h Servomotor. Ein entscheidender Vorteil dieses Motors ist der integrierte Treiber, der separate Anschlüsse für die Spannungsversorgung und die Steuerspannung bietet. Dies ermöglichte uns den Betrieb ohne zusätzlichen Motortreiber, was die Implementierung deutlich vereinfachte.
Anfänglich erwogen wir den Einsatz eines Nema 17 Schrittmotors. Jedoch erwies sich die Ansteuerung der einzelnen Phasen in korrekter Reihenfolge und mit hoher Geschwindigkeit, besonders in Simulink, als sehr komplex. Letztendlich entschieden wir uns für einen Nidec 24h Servomotor. Ein entscheidender Vorteil dieses Motors ist der integrierte Treiber, der separate Anschlüsse für die Spannungsversorgung und die Steuerspannung bietet. Dies ermöglichte uns den Betrieb ohne zusätzlichen Motortreiber, was die Implementierung deutlich vereinfachte.
=== Gyroskop ===
Das Gyroskop MPU6050 ist ein Sensor, der sowohl ein Gyroskop als auch einen Beschleunigungssensor integriert. Diese Kombination ermöglicht es ihm, präzise Informationen über die Orientierung, die Beschleunigung und die Rotationsbewegungen eines Objekts zu liefern.
Diese Eigenschaften machen das MPU6050 ideal für Anwendungen, bei denen präzise Bewegungsanalyse und Lagebestimmung erforderlich sind, wie in unserem Projekt zur Stabilisierung des Schwungrades. Durch die Nutzung des I2C-Busses für die Kommunikation kann der MPU6050 effizient mit Mikrocontrollern wie dem Arduino kommunizieren.
Mit Hilfe eines in der Simulink Arduino Library inkludierten Bausteins ist es uns möglich, die Daten des Gyroskops unkompliziert auszulesen. Diese Daten werden anschließend in unserem Regelkreis eingesetzt, um das Schwungrad immer senkrecht zu halten.
==== Schwungrad ====
==== Schwungrad ====
=== Software ===
=== Software ===
==== Gyroskop ====
==== DC-Motor ====
==== Regler ====
==== Regler ====



Version vom 4. Januar 2024, 10:52 Uhr

Autor: Bastian Hannappel, Paul Janzen
Betreuer: Prof. Göbel
Kategorie: Projekte ET MTR BSE WS2023


Einleitung

Das Projekt "Selbstregelndes Schwungrad" im Rahmen des Moduls Mechatronische Systeme 2 im 5. Semester des Studiengangs Mechatronik handelt von einem Schwungrad, welches durch einen Motor an einer Halterung angebracht ist. Die Halterung ist an einer Stelle mit dem Boden verbunden, kann aber entlang einer Ebene um diesen Punkt rotieren. Durch ein Gyroskop erkennt ein Arduino ob die Halterung senkrecht stehen. Sollte etwas die Halterung in eine Richtung kippen lassen, kann das Schwungrad durch gezielte Drehungen dem entgegenwirken und sich wieder senkrecht aufstellen.

Anforderungen

Teilanforderungen
Nr. Beschreibung Bereich Zuständig
1 Das selbstregelnde Schwungrad muss aus einem Schwungrad, montiert an einer Halterung bestehen. Hardware noch offen
2 Das Schwungrad muss von einem DC-Motor betrieben werden. Hardware noch offen
3 Das Gyroskop muss die Stellung der Halterung feststellen können. Hardware/Software noch offen
4 Eingabe, Verarbeitung und Ausgabe muss mit einem Arduino und Matlab Simulink realisiert werden. Software noch offen
5 Mithilfe eines PID Reglers muss sich das Selbstregelnde Schwungrad senkrecht ausrichten. Software noch offen
6 Optional: Das Schwungrad muss sich selber aus der Ruhestellung aufrichten können. Software noch offen

Funktionaler Systementwurf/Technischer Systementwurf

Im folgenden Systementwurf wird das Projekt in Systemkomponenten unterteilt:

  • Arduino: Programmiert mit Matlab Simulink.
  • Motor/Schwungrad: Steuerung des Motors bzw des Schwungrads
  • Gyroskop: Positionsabfrage mittels eines Gyroskops
  • Regler: Regler zur Senkrechtstellung



Projektplanung

Projektmanagement

Das Projekt begann mit der Auswahl einer effektiven Projektmanagementmethode. Um die Teamaufgaben zu organisieren, Fristen festzulegen und einen klaren Überblick über den Fortschritt zu behalten, entschieden wir uns für die Kanban-Methode, umgesetzt durch die Webanwendung Trello. Dieses Tool ermöglichte es nicht nur den Teammitgliedern, sondern auch externen Interessierten, den aktuellen Projektstand einzusehen, was zu einer transparenten Darstellung unseres Vorhabens führte, insbesondere bei der Entwicklung unseres Projekts "Selbstregelndes Schwungrad".

Kanban wurde dabei in drei Säulen umgesetzt: "Offen", "In Bearbeitung" und "Fertig". Anfangs wurden alle aus den Projektzielen abgeleiteten Aufgaben in absteigender Priorität in "Offen" einsortiert. Die Teammitglieder verschoben eigenständig Aufgaben in "In Bearbeitung", sobald sie daran arbeiteten, und in "Fertig" bei Fertigstellung.

Das Trelloboard ist öffentlich zugänglich und kann über diesen Link erreicht werden.

Bauteile

Nr. Bauteil Kosten Link
1 Arduino MEGA 2560 38,50€ Reichelt.de
2 L298N Motortreiber mit doppelter H-Brücke 2,65€ Roboter-Bausatz.de
3 3-Achsen Beschleunigungs-/ Lagesensor - GY-521 MPU-6050 2,95€ Roboter-Bausatz.de
4 DC Motor 12V 9800 RPM 0.16A 1,45€ Roboter-Bausatz.de
5 Breadboard 0,95€ Roboter-Bausatz.de
6 Flanschkupplung 3mm 2,76€ GTech-Shop.de

Zusätzliche Komponenten, wie ein Holzbrett, Verbindungskabel sowie verschiedene Schrauben und Muttern, waren bereits vorhanden. Daher ist eine detaillierte Auflistung dieser Teile nicht möglich. Die Halterung und das Schwungrad wurden mithilfe eines 3D Druckers aus PLA Gedruckt und sind somit ebenfall nicht genau zu beziffern.

Umsetzung (HW/SW)

Hardware

Motor

Am Anfang unserer Projektarbeit lag der Fokus auf der Motorsteuerung. Wir planten zunächst, ein Schwungrad mittels eines einfachen 12V DC Motors zu betreiben. Dazu sollte ein L298N Motortreiber mit doppelter H-Brücke verwendet werden, um ein PWM-Signal vom Arduino zu empfangen und auf 12V zu verstärken. Allerdings stellten wir in Tests fest, dass dieser Motor nicht leistungsfähig genug war und insbesondere schnelle Richtungswechsel nicht bewältigen konnte. Daher mussten wir uns nach einer Alternative umsehen.

Anfänglich erwogen wir den Einsatz eines Nema 17 Schrittmotors. Jedoch erwies sich die Ansteuerung der einzelnen Phasen in korrekter Reihenfolge und mit hoher Geschwindigkeit, besonders in Simulink, als sehr komplex. Letztendlich entschieden wir uns für einen Nidec 24h Servomotor. Ein entscheidender Vorteil dieses Motors ist der integrierte Treiber, der separate Anschlüsse für die Spannungsversorgung und die Steuerspannung bietet. Dies ermöglichte uns den Betrieb ohne zusätzlichen Motortreiber, was die Implementierung deutlich vereinfachte.

Gyroskop

Das Gyroskop MPU6050 ist ein Sensor, der sowohl ein Gyroskop als auch einen Beschleunigungssensor integriert. Diese Kombination ermöglicht es ihm, präzise Informationen über die Orientierung, die Beschleunigung und die Rotationsbewegungen eines Objekts zu liefern. Diese Eigenschaften machen das MPU6050 ideal für Anwendungen, bei denen präzise Bewegungsanalyse und Lagebestimmung erforderlich sind, wie in unserem Projekt zur Stabilisierung des Schwungrades. Durch die Nutzung des I2C-Busses für die Kommunikation kann der MPU6050 effizient mit Mikrocontrollern wie dem Arduino kommunizieren. Mit Hilfe eines in der Simulink Arduino Library inkludierten Bausteins ist es uns möglich, die Daten des Gyroskops unkompliziert auszulesen. Diese Daten werden anschließend in unserem Regelkreis eingesetzt, um das Schwungrad immer senkrecht zu halten.

Schwungrad

Software

Regler

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 23/24: Projekte GET Fachpraktikum (MTR)