Messaufbau mit Arduino: Gyroskop
Author: Syed Rafsan Ishtiaque
Art: Praxissemester
Dauer: 02.05.2023 - 21.08.2023
Betreuer: Prof. Dr.-Ing Ulrich Schneider
Einleitung
Das Gyroskop-Projekt wird es uns ermöglichen, die Daten einer kontinuierlichen Drehung eines Gyroskops zu erfassen und sie zur Analyse an unsere Steuereinheit zu senden. In diesem Projekt werden wir das Gyroskop drehen und seine Daten über einen Schleifring übertragen. Das Hauptaugenmerk des Projekts liegt darauf, die Daten an das DS1104 R&D Controller Board zu senden. Und dafür brauchen wir ein robustes System, das einen Schleifring und einen Encoder enthält. Die größte Herausforderung beim Aufbau des Systems ist die Hardware-Montage. Wir werden uns also mehr darauf konzentrieren.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1 | Ein Haltebereich für PCB zwischen der Hauptstruktur und der Gyro-Struktur | Marc Ebmeyer | 27.07.2023 | Rafsan | 07.08.2023 |
2 | Ein Servomotor (SG 90) zum Drehen des Gyroskops, des Rades des Inkrementalgebers und des Schleifrings | Marc Ebmeyer | 27.07.2023 | ||
3 | Einem Inkrementalgeber (FC 03) zur Messung der Drehung des Servomotors (SG 90) und des Gyro (GY 35) | Marc Ebmeyer | 27.07.2023 | ||
4 | Ein Gyro (GY 35), der in der gleichen Achse wie das Servo und der Schleifring platziert ist und über einen Draht mit dem Schleifring verbunden ist | Marc Ebmeyer | 27.07.2023 | ||
5 | Ein Schleifring (SN M022A-06), der über eine Welle mit dem Servo verbunden ist, um die Daten vom Gyro zu übertragen | Marc Ebmeyer | 27.07.2023 | ||
6 | |||||
7 | |||||
8 |
Funktionaler Systementwurf/Technischer Systementwurf
-
Abb. 2: Dieser Entwurf zeigt die Wechselwirkungen zwischen den Komponenten des Systems
Komponentenspezifikation (Elektronische Komponenten)
Sensor
GY-35-RC one-axial Gyroscope/ Analog ENC-03RC
Der Sensor, den wir verwenden werden, hat die Modellnummer GY-35. Auf ihm ist ein ENC-03RC-Chip montiert. Der GY-35 ist ein einachsiges Gyromodul, das heißt, ein Modul kann nur eine Achse messen. Die Spannungsversorgung beträgt 3 bis 5 V. Die Größe beträgt 10mm × 17.5mm [1] [2]. Eine Alternative zum Sensor GY 35 kann der Sensor MPU 6050 oder GY 521 sein.
-
Abb. 4a: GY 35 ENC-03RC
-
Abb. 4b: Installierte GY 35 im System
Inkrementalgeber (FC 03)
Wir haben einen Encoder-Drehzahlsensor verwendet. Er besteht aus dem Chipsatz und dem Rad. Das Hauptziel des Encoders in unserem System ist es, die Geschwindigkeit des Servomotors zu messen. Das Rad ist oben auf dem Servomotor befestigt, und der Chip des Encoders ist auf einem Halter an der Seite des Rads montiert. Das von uns verwendete Modell ist FC 03 [3]
-
Abb. 5a: Encoder Geschwindigkeit Optische Kopplung FC-03 Sensor
-
Abb. 5b: Installierte FC 03 mit Rad im System
Servo motor
Wir haben den normalen Servomotor, der normalerweise in Arduino-Projekten verwendet wird, so verändert, dass er sich kontinuierlich um 360 Grad drehen kann. Wir verwenden Tower Pro micro servo 9g SG90 [4] . Der Änderungsprozess ermöglicht es uns, das Servo kontinuierlich in beide Richtungen zu drehen. Wir können auch die Geschwindigkeit kontrollieren [5]
-
Abb. 6a: Servomotor 9g SG90 (von uns modifiziert)
-
Abb. 6b: Installierte Servomotor 9g SG90 im System
Slip ring
Für unser Messsystem ist es sehr wichtig, dass das GY 35 kontinuierlich gedreht wird. Dafür haben wir den Servomotor modifiziert. Aber dann standen wir vor einer Herausforderung. Da der GY 35 mit der Steuereinheit verbunden ist, würde eine kontinuierliche Drehung die Drähte, die mit der Steuereinheit (PCB/Arduino) verbunden sind, verwickeln. Um das Problem zu lösen, haben wir einen Schleifring installiert. Dieser Schleifring hat 6 Drähte auf beiden Seiten, was bedeutet, dass 4 verschiedene Arten von Anschlüssen des GY 35 leicht mit einer der beiden Seiten verbunden werden können. Wir haben die dünnere, drehbare Seite des Schleifrings gewählt, um den GY 35 anzuschließen. Die maximale Stromstärke, die er übertragen kann, beträgt 2A. Außerdem kann er sich mit bis zu 300 rpm drehen [6].
-
Abb. 7b: Installierte Schleifring im System
Controller unit (PCB oder Mikrokontroller)
In diesem Projekt werden wir zunächst einen Mikrocontroller und später eine Leiterplatte verwenden, die alle für das System benötigten Steuereinheiten enthält. Wir verwenden Funduino Uno
Umsetzung (Hardware)
Die Systemgrundlage
Die Hauptbasis des Systems ist der Boden, der alle Komponenten trägt. Sie ist in zwei Teile unterteilt, einer ist der Haltebereich für Servo, Gyro, Encoder und Schleifring. Der andere ist die Erweiterung, die die Leiterplatte aufnimmt. Die Leiterplatte fungiert als Hauptsteuergerät. Wir können auch einen Arduino anstelle der Platine einsetzen.
Der Grund
Der Boden ist der Bereich, in dem sich die Komponenten befinden
PCB-Halter-Verlängerung
Wir haben den vorgesehenen PCB-Erweiterungsbereich. Dieser überbrückt den Leiterplattenhalter und den Hauptkörper des Systems.
-
Abb. 5: Der wichtigste Aufbewahrungsort für alle Komponenten
-
Abb. 6: Die Verlängerung der Hauptstruktur, die die Leiterplatte hält
Schleifring-Halter
Der Schleifringhalter ist so konzipiert, dass er den Schleifring auf dem Servo und dem Gy35 in der gleichen Achse hält. Er hat 3 Flügel, die ihn mit der Säule verbinden und einen Haltebereich für den Schleifring.
Tragsäule für Schleifringhalter
Wir haben drei Stützsäulen auf dem Boden montiert. Sie stützen den Schleifringhalter.
-
Abb. 7: Der Haltebereich für den Schleifring
-
Abb. 8a: Säule zur Unterstützung des Schleifringhalters
-
Abb. 8b: Die Verbindung zwischen Schleifringhalter und Säule und der Welle
Servomotor (SG 90) Halterung
Wir haben eine Halterung für das Servo, es ist auf dem Boden montiert. Er hat einen Platz für die Drähte, die aus dem Servo kommen. Außerdem gibt es ein kleines Teil zur Stabilisierung des Motors. Bei der Konstruktion des Servohalters mussten wir die genauen Maße berücksichtigen, denn wenn der Halter nicht stabil ist, wird unser ganzes System keine gute Leistung erbringen.
-
Abb. 9: Die Halterung für den Servomotor
-
Abb. 10: Montierter Servomotor im Inneren des Halters
Der Schaft
Die Welle ist ein einzigartiges Design, um die Verbindung zwischen Schleifring, Gy35, Encoder und Servo herzustellen. Sie besteht aus drei Teilen.
Schleifring- und Gyroskophalter-Anschluss
Der erste Teil ist ein abgerundetes zylinderförmiges Verbindungsstück zwischen dem dünneren Ende des Schleifrings und dem Gy35-Halter. Seine Hauptfunktion besteht darin, den rotierenden Teil des Schleifrings zu drehen. Es hat auch ein Vakuum im Inneren für die Drähte, die aus dem Schleifring kommen. Das andere Ende dieses Teils ist mit dem kastenförmigen GY 35-Halter verbunden.
Gyroskop (GY 35) Halterung
Der mittlere Teil der Welle ist der kastenförmige Halter. Er hat zwei Aufgaben. Zum einen hält er den GY 35 auf der gleichen Achse wie das Servo und zum anderen dient er als Brücke zwischen dem Schleifring und dem Servo
-
Abb. 11: Der rot markierte Bereich zeigt den Stecker und die Kabel, die durch ihn gehen
-
Abb. 12: Die rot markierte Kastenform, die den Halter GY 35 kennzeichnet
Servo- und Gyroskophalter-Anschluss
Der untere Teil der Welle ist die Verbindung zwischen dem kastenförmigen GY 35 Halter und dem darunter liegenden Servo. Dieser Teil hat ebenfalls zwei Unterteile. Das eine ist mit dem Kopf des Servomotors verbunden. Dieses Teil geht auch durch das Mittelloch des Geberrades (FC 03). Dann gibt es noch ein zweites Teil. Es ist mit dem GY 35 Halter verbunden und der untere Teil geht in diesen hinein.
-
Abb. 13: Der obere Teil des dritten Steckers, der den GY 35-Halter und den unteren Teil, der das Geberrad hält, verbindet
-
Abb. 14a: Der untere Teil des 3. Teils der Welle. Er enthält das Geberrad und ist mit dem Servokopf verbunden
-
Abb. 14b: Das Servo und der untere Anschluss der Welle
Inkrementalgeber (FC 03) Halterung
Wir haben einen Halter für den Inkrementalgeber (FC 03) entworfen. Es ist eine Wand geformt. Wir haben den FC 03 mit einer Schraube an der Wand befestigt. Die Wand selbst wird mit dem Sockel des Systems verschraubt. Wir haben die Wand flexibel gehalten, so dass wir die Position verändern können.
-
Abb. 15: Der Halter für den Inkrementalgeber FC 03
-
Abb. 16: Der FC 03 ist auf dem Halter montiert
Der vollständige Aufbau des Gyroskop-Messsystems
Dies ist das System nach der Fertigstellung. Wir können sehen, dass alle Teile, die wir oben beschrieben haben, angeschlossen und installiert sind. Dieses Bild wurde nach der Installation der Hardware aufgenommen. Hier sind die Drähte nicht angeschlossen. Das Bild der angeschlossenen Kabel wird im Wiki hochgeladen, nachdem der Software- und Programmierteil abgeschlossen ist.
-
Abb. 19: Der Aufbau des Gyro-Messsystems (Frontansicht)
-
Abb. 20: Der Aufbau des Gyro-Messsystems (Draufsicht)
Umsetzung (Software)
Programmierung
Link zum Quelltext in SVN
Systemtest
Komponententest
Test im Labor
Projektunterlagen
Projektplan
Produktionskosten pro Einheit (Incomplete)
- Servo motor: Tower Pro Micro Servo 9g SG90 (3 to 5 euro depending buying quantity)
- Gyroscope: GY 35 ENC 03-RC (3 to 5 euro)
- And we can use Adafruit mini slip ring :
- 12 mm, 6 wires = 20 euro apprx.
- 22 mm, 6 wires = 17 euro apprx.
Künftige Entwicklung: LC- und RC-Filter zur Rauschunterdrückung
Wenn der GY35-Sensor mit dem Schleifring verbunden wird, erwarten wir Geräusche (hohe und niedrige Frequenzen), die das System stören können. Um sie zu beseitigen, planen wir die Einführung eines Geräuschunterdrückungssystems. Unser anfänglicher Plan ist es, eine Schaltung oder ein Untersystem mit einem Satz von 3 Kondensatoren und 2 Induktoren auf der GY35-Schleifring-Seite des Hauptsystems zu bauen. Wir werden auch einen ähnlichen Aufbau auf der Schleifring- Arduino Seite des Systems machen. Diese beiden Sätze von Entkopplungskondensatoren werden uns helfen, das Rauschen zu reduzieren und die Stromversorgung zu stabilisieren. Jeder Kondensatorensatz besteht aus einem 0,1 µF, einem 1 µF und einem 10 µF Kondensator. Wir werden Keramikkondensatoren verwenden. Der Kondensator mit dem niedrigsten Wert (0,1 µF) wird in der Nähe des GY35 platziert, um hochfrequente Störungen herauszufiltern. Dann der mittlere (1 µF) und der letzte (10 µF), um das niederfrequente Rauschen herauszufiltern. Wahrscheinlich werden wir die üblichen Keramikkondensatoren verwenden.
Dann haben wir die Spule, zwei davon. Sie werden die hochfrequenten Geräusche zusammen mit den Kondensatoren abstoßen. So entsteht ein LC-Filter zur Rauschunterdrückung. Zunächst wollen wir unser System mit Induktivitäten verschiedener Werte (z. B. zwischen 10 und 100 µH) testen. Diese werden in Reihe mit der Vcc und dem GND geschaltet. Wir schlagen vor, Ferritperlen zu verwenden, da sie sich gut für die Unterdrückung von Hochfrequenzrauschen eignen.
Ein weiterer wichtiger Aspekt ist die Implementierung eines RC-Low-Level-Filters. Es wird das Rauschen vom analogen Ausgang des GY35 beseitigen. Dafür haben wir hauptsächlich ein Paar von ??KΩ-Widerständen und ??nF-Kondensatoren (ca.) gewählt [wir haben die Grenzfrequenzberechnung verwendet, Grenzfrequenz = 1/(2πRC)] oder [Messwert] KΩ-Widerstand und [Messwert] nF-Kondensator (ca.) Diese Werte des Widerstands und des Kondensators des RC-Filters hängen von der Grenzfrequenz ab, die wir erreichen müssen. Für den Kondensator im RC-Filter könnten wir Folienkondensatoren verwenden, da unser Ziel die Filterung des Signals ist und Keramikkondensatoren eine gute Leistung haben.
Zusammenfassung
Literature
- ↑ https://www.christians-shop.de/GY-35-RC-one-axial-Gyroscope-analogue-ENC-03RC
- ↑ https://www.lxxtech.com/gy-35-rc-axis-gyroscope-analog-gyro-module-enc-03rc-module-p299.html
- ↑ https://techmaze.romman.store/product/99187844
- ↑ https://datasheetspdf.com/pdf/791970/TowerPro/SG90/1
- ↑ https://www.youtube.com/watch?v=JhHSXCLsN4k&t=13s
- ↑ https://www.adafruit.com/product/736#description
→ zurück zum Hauptartikel: Messaufbauten mit Arduino