Selbstregelndes Schwungrad: Unterschied zwischen den Versionen
(→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 === | ||
==== Regler ==== | ==== Regler ==== | ||
Version vom 4. Januar 2024, 11: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
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
-
Technischer Systementwurf
-
Funktionaler Systementwurf - Skizze
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)