Projekt 82: 3D-Schwenkeinheit für einen LiDAR-Lite v3: Unterschied zwischen den Versionen
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 29: | Zeile 29: | ||
== Einleitung == | == Einleitung == | ||
Dieser Wiki Artikel der Studenten [[Benutzer:Pia_Dommen| Pia Dommen]] und [[Benutzer:Luca_Riering| Luca Riering]] behandelt den Bau eines Prototypen einer 3D-Schwenkeinheit für einen LiDAR-Lite v3 im Rahmen des [[:Kategorie:ProjekteET_MTR_BSE_WS2018|GET-Fachpraktikums WS 18/19: Fachpraktikum Elektrotechnik (MTR)]] aus dem 5. Semester Mechatronik und stellt eine nachhaltige Dokumentation über die Vorgehensweise der Bearbeitung des Projektes dar. Für den neuen LiDAR des [[Carolo Cup| Carolo Cup]] Wagens muss eine drehbare Halterung konstruiert und hergestellt werden. Dies beinhaltet die Konstruktion der Halterung, sowie den Zusammenbau der einzelnen 3D gedruckten Bauteile. Wie auch die Ansteuerung des Servo-Motors und des Schrittmotors über den Arduino. Diese Motoren sollen sich in angepasster Geschwindigkeit und Genauigkeit (+-1° genau) rotieren lassen und über einen Drehgeber überwacht werden. Der Umgang mit diesem Mikrocontroller wurde durch das Praktikum vermittelt. Durch dieses Projekt wurden die erlangten Fähigkeiten vertieft. Der grundlegende Aufbau und die Umsetzung dieses Projektes wird in den nachfolgenden Punkten genauer betrachtet und erklärt. Des Weiteren befinden sich alle Inhalte und Dokumente zu diesem Projekt in dem dazugehörigen SVN-Verzeichnis. | Dieser Wiki Artikel der Studenten [[Benutzer:Pia_Dommen| Pia Dommen]] und [[Benutzer:Luca_Riering| Luca Riering]] behandelt den Bau eines Prototypen einer 3D-Schwenkeinheit für einen LiDAR-Lite v3 im Rahmen des [[:Kategorie:ProjekteET_MTR_BSE_WS2018|GET-Fachpraktikums WS 18/19: Fachpraktikum Elektrotechnik (MTR)]] aus dem 5. Semester Mechatronik und stellt eine nachhaltige Dokumentation über die Vorgehensweise der Bearbeitung des Projektes dar. Für den neuen LiDAR des [[Carolo Cup| Carolo Cup]] Wagens muss eine drehbare Halterung konstruiert und hergestellt werden. Dies beinhaltet die Konstruktion der Halterung, sowie den Zusammenbau der einzelnen 3D gedruckten Bauteile. Wie auch die Ansteuerung des Servo-Motors und des Schrittmotors über den Arduino. Diese Motoren sollen sich in angepasster Geschwindigkeit und Genauigkeit (+-1° genau) rotieren lassen und über einen Drehgeber überwacht werden. Der Umgang mit diesem Mikrocontroller wurde durch das Praktikum vermittelt. Durch dieses Projekt wurden die erlangten Fähigkeiten vertieft. Der grundlegende Aufbau und die Umsetzung dieses Projektes wird in den nachfolgenden Punkten genauer betrachtet und erklärt. Des Weiteren befinden sich alle Inhalte und Dokumente zu diesem Projekt in dem dazugehörigen SVN-Verzeichnis, welches unten verlinkt ist. | ||
== Projekt == | == Projekt == | ||
Zeile 63: | Zeile 63: | ||
=== Projektplan === | === Projektplan === | ||
Der erste Schritt dieses Projekt zu strukturieren war, einen Projektplan zu erstellen. Hierfür wurde eine [https://de.wikipedia.org/wiki/Gantt-Diagramm Gantt-Chart] erstellt, dies ist in dem SVN-Ordner zu finden. Durch ein Gantt-Chart kann gut die Abhängigkeit der Vorgänger und Nachfolger visualisiert werden. Der Umgang mit dieser Form der Projektplanung wurde im 3. Semester des Mechatronik-Studium im Modul Steuerungskompetenzen erlernt. Für die Erstellung dieses Planes wurde zunächst die grobe Einteilung des [https://de.wikipedia.org/wiki/Wasserfallmodell Wasserfall-Modelles] genutzt. Hier wird in die Planung, die Definition, der Entwurf, die Implementierung, das Testen und den Einsatz/Wartung eingeteilt. Um das Projekt mit den einzelnen Bearbeitungsstufen weiter einzuteilen, wurden zunächst alle anfallenden Aufgaben niedergeschrieben und dann in die richtigen Phasen unterteilt. Die zeitliche Abfolge wurde dann durch Erfahrungswerte aus der Praxis geschätzt. Auch wurde hierbei auf den im Modulhandbuch vorgeschriebenen Workload geachtet. | |||
Der erste Schritt dieses Projekt zu strukturieren war, einen Projektplan zu erstellen. Hierfür wurde eine [https://de.wikipedia.org/wiki/Gantt-Diagramm Gantt-Chart] erstellt. Durch ein Gantt-Chart kann gut die Abhängigkeit der Vorgänger und Nachfolger visualisiert werden. Der Umgang mit dieser Form der Projektplanung wurde im 3. Semester des Mechatronik-Studium im Modul Steuerungskompetenzen erlernt. Für die Erstellung dieses Planes wurde zunächst die grobe Einteilung des [https://de.wikipedia.org/wiki/Wasserfallmodell Wasserfall-Modelles] genutzt. Hier wird in die Planung, die Definition, der Entwurf, die Implementierung, das Testen und den Einsatz/Wartung eingeteilt. Um das Projekt mit den einzelnen Bearbeitungsstufen weiter einzuteilen, wurden zunächst alle anfallenden Aufgaben niedergeschrieben und dann in die richtigen Phasen unterteilt. Die zeitliche Abfolge wurde dann durch Erfahrungswerte aus der Praxis geschätzt. Auch wurde hierbei auf den im Modulhandbuch vorgeschriebenen Workload geachtet. | |||
[[Datei:Projekt 82 V-Modell.png|300px|thumb|left|V-Modell]] | [[Datei:Projekt 82 V-Modell.png|300px|thumb|left|V-Modell]] | ||
Um das Projekt konkreter zu planen, wurde außerdem das [https://de.wikipedia.org/wiki/V-Modell V-Modell] verwendet. Diese Art der Projektplanung wurde auch im 3. Semester im Modul der Steuerungskompetenz erlernt. Insbesondere eignet sich das V-Modell beim Strukturieren von mechatronischen Systemen, da dort die drei Teilbereiche der Mechatronik zur Geltung kommen. Die Mechanik, die Elektronik und die Softwareentwicklung.<br> | Um das Projekt konkreter zu planen, wurde außerdem das [https://de.wikipedia.org/wiki/V-Modell V-Modell] verwendet. Diese Art der Projektplanung wurde auch im 3. Semester im Modul der Steuerungskompetenz erlernt. Insbesondere eignet sich das V-Modell beim Strukturieren von mechatronischen Systemen, da dort die drei Teilbereiche der Mechatronik zur Geltung kommen. Die Mechanik, die Elektronik und die Softwareentwicklung.<br> | ||
Zeile 91: | Zeile 90: | ||
*'''Mechanisch''' | *'''Mechanisch''' | ||
Die erste Überlegung bei der Erstellung des mechanischen Teils des Projektes war es welches Material für die Erstellung der Schwenkeinheit verwendet werden kann. Es wurde sich für den [https://de.wikipedia.org/wiki/3D-Druck 3D-Druck] entschieden, dieser hat den Vorteil das Bauteile kostengünstig und schnell erstellt werden können, was sich für die Erstellung eines Prototypen bestens eignet. Der 3D-Druck ist eine additive Fertigung. Ein festes Material, Filament wird durch den Extruder aufgewärmt und auf das Druckbett aufgetragen. Dies geschieht Schicht für Schicht, durch diese schichtweise Herstellung können dreidimensionale Gegenstände gedruckt werden. Nach Absprache mit der Firma Trilux dürfen die Bauteile auf dem 3D-Drucker der Firma gedruckt werden. Es musste sich im nächsten Schritt über das Filament informiert werden. Besonders der Riemen stellte sich als schwierig heraus, da dieser elastisch sein muss um der dynamischen Belastung des Schrittmotors standzuhalten. | Die erste Überlegung bei der Erstellung des mechanischen Teils des Projektes war es welches Material für die Erstellung der Schwenkeinheit verwendet werden kann und wie dies bearbeitet werden kann. Es wurde sich für den [https://de.wikipedia.org/wiki/3D-Druck 3D-Druck] entschieden, dieser hat den Vorteil das Bauteile kostengünstig und schnell erstellt werden können, was sich für die Erstellung eines Prototypen bestens eignet. Der 3D-Druck ist eine additive Fertigung. Ein festes Material, Filament wird durch den Extruder aufgewärmt und auf das Druckbett aufgetragen. Dies geschieht Schicht für Schicht, durch diese schichtweise Herstellung können dreidimensionale Gegenstände gedruckt werden. Nach Absprache mit der Firma Trilux dürfen die Bauteile auf dem 3D-Drucker der Firma gedruckt werden. Es musste sich im nächsten Schritt über das Filament informiert werden. Besonders der Riemen stellte sich als schwierig heraus, da dieser elastisch sein muss um der dynamischen Belastung des Schrittmotors standzuhalten. | ||
Für alle Bauteile wird das ABS (Acrylnitril-Butadien-Styrol) verwendet, dieses hat die folgenden Eigenschaften (aus dem [https://ultimaker.com/download/67617/TDS%20ABS%20v3.011-ger-DE.pdf Datenblatt] entnommen).Für den Riemen wurde sich für das Material PLA (Polylactide) entschieden, da dieses elastischer ist als das ABS. | Für alle Bauteile wird das ABS (Acrylnitril-Butadien-Styrol) verwendet, dieses hat die folgenden Eigenschaften (aus dem [https://ultimaker.com/download/67617/TDS%20ABS%20v3.011-ger-DE.pdf Datenblatt] entnommen). Für den Riemen wurde sich für das Material PLA (Polylactide) entschieden, da dieses elastischer ist als das ABS. | ||
Die folgenden Eigenschaften zeigen, dass PLA ([https://ultimaker.com/download/67580/TDS%20PLA%20v3.011-ger-DE.pdf Datenblatt]).<br> | Die folgenden Eigenschaften zeigen, dass PLA ([https://ultimaker.com/download/67580/TDS%20PLA%20v3.011-ger-DE.pdf Datenblatt]).<br> | ||
{| class="wikitable" | {| class="wikitable" | ||
Zeile 136: | Zeile 135: | ||
| 6. [[Datei:Projekt 82 Sensorhalterung.PNG|links|100px|Befestigung des Sensors an der Halterung]] Befestigung des Sensors an der Halterung || An dieser Befestigung wird der LiDAR-Sensor mit der Halterung verbunden. | | 6. [[Datei:Projekt 82 Sensorhalterung.PNG|links|100px|Befestigung des Sensors an der Halterung]] Befestigung des Sensors an der Halterung || An dieser Befestigung wird der LiDAR-Sensor mit der Halterung verbunden. | ||
|- | |- | ||
| 7. [[Datei:Projekt 82 | | 7. [[Datei:Projekt 82 Stange.PNG|links|100px|Befestigung des Sensors an der Halterung]] || Diese Stange mit Grundplatte dient der Befestigung des LiDAR Sensor und der Verbindung mit dem Servomotor. Die Verbindungsform ist eine Übergangspassung. | ||
|- | |- | ||
| 8. [[Datei:Projekt 82 | | 8. [[Datei:Projekt 82 Platte unter den Zahnrädern.PNG|links|100px|Befestigungsplatte]] Befestigungsplatte || An dieser Befestigungsplatte werden alle Bauteile festgeschraubt. Die beiden Aussparungen sind zum einen für den Schrittmotor und zum anderen für den Slip-Ring. | ||
|- | |- | ||
| 9. [[Datei:Projekt 82 | | 9. [[Datei:Projekt 82 Riemen.PNG|links|100px|Riemen]] Riemen || Der Riemen sorgt für die kraftschlüssige Verbindung zwischen dem Encoder, dem Schrittmotor und der Halterung des Sensors. | ||
|- | |- | ||
| 10. [[Datei:Projekt 82 | | 10. [[Datei:Projekt 82 Einzelteile aus dem 3D Druck.jpeg|links|100px|Einzelteile des 3D-Drucks]] Einzelnen 3D-Druckteile || Dies ist eine erste Übersicht über die Bauteile aus dem 3D-Drucker, diese werden im nächsten Schritt zusammengebaut. | ||
|- | |- | ||
| 11. [[Datei:Projekt 82 Zusammengebaut.jpg|links|100px|Mechanische Baugruppe im fertigen Zustand]] Mechanische Baugruppe im | | 11. [[Datei:Projekt 82 Zwischenschritt Zusammenbau.jpg|links|100px|Zwischenschritt Zusammenbau]] Zwischenschritt des Zusammenbaues || Dies sind die ersten zusammengebauten Ergebnisse, hier werden die drei Zahnräder Befestigung und die „Befestigung des Sensors an der Halterung“ an den LiDAR angebracht. Der Schrittmotor wurde mit der „Befestigungsplatte“ verbunden. | ||
|- | |||
| 12. [[Datei:Projekt 82 Zusammengebaut.jpg|links|100px|Mechanische Baugruppe im fertigen Zustand]] Mechanische Baugruppe im Zustand des ersten Prototypen || Das Bild zeigt den mechanischen Aufbau im Endzustand, einige elektronische Arbeiten wurden außerdem schon erledigt. Dazu gehören das Löten der Anschlüsse und eine erste Verkabelung. | |||
|- | |||
| 13. [[Datei:Projekt 82 EndBild.jpg|links|100px|Mechanische Baugruppe im fertigen Zustand]] Mechanische Baugruppe im Zustand des zweiten Prototypen || Beim zweiten Prototypen ist die Befestigungsplatte erneuert worden. [[#Lessons Learned|Lessons Learned]] | |||
|} | |} | ||
Zeile 158: | Zeile 161: | ||
(LiDAR)<br><br><br><br><br><br><br><br>[[Datei:Projekt 82 Blockschaltbild.png|rechts|x450px|thumb|Blockschaltbild]]<br><br><br><br><br><br><br><br> | (LiDAR)<br><br><br><br><br><br><br><br>[[Datei:Projekt 82 Blockschaltbild.png|rechts|x450px|thumb|Blockschaltbild]]<br><br><br><br><br><br><br><br> | ||
Die Schwenkeinheit wird von einem Arduino UNO gesteuert. Dazu wird ein Schritt- und ein Servomotor verwendet. Für eine genauere Messung der aktuellen Position wird ein Drehgeber (Encoder) ausgelesen. Der Schrittmotor wird über einen Motortreiber versorgt und gesteuert. Der Motortreiber wird über die 5V Steuerspannung versorgt, sodass der Treiber Leistung zum regulierten Steuern des Schrittmotors hat. Zusätzlich hat der Motortreiber einen weiteren PIN für die Versorgungsspannung des Schrittmotors. Diese Spannung sollte zwischen 4. | Die Schwenkeinheit wird von einem Arduino UNO gesteuert. Dazu wird ein Schritt- und ein Servomotor verwendet. Für eine genauere Messung der aktuellen Position wird ein Drehgeber (Encoder) ausgelesen. Der Schrittmotor wird über einen Motortreiber versorgt und gesteuert. Der Motortreiber wird über die 5V Steuerspannung versorgt, sodass der Treiber Leistung zum regulierten Steuern des Schrittmotors hat. Zusätzlich hat der Motortreiber einen weiteren PIN für die Versorgungsspannung des Schrittmotors. Diese Spannung sollte zwischen 4.5V und 13.5V liegen. Da der Schrittmotor mindestens 7V Versorgungsspannung benötigt, bietet sich eine Spannung größer 7V an. Diese Versorgung erfolgt im Regelfall durch einen Akku. Beim aktuellen Prototyp erfolgt die Versorgung allerdings über den Vin PIN des Arduino UNO. Die Kommunikation zum Motortreiber und damit auch zum Motor ist unidirektional. Kommuniziert wird über 4 digitale Outputs, zwei davon PWM, welche die Informationen an den Treiber leiten, der diese verwertet und den Motor steuert. Mit dem Servomotor wird ebenfalls unidirektional kommuniziert. Dazu wird über einen digitalen PWM Output Informationen übertragen. Die Spannungsversorgung läuft über das 5V Netz des Arduino. Die Kommunikation zum Drehgeber (Encoder) ist bidirektional und läuft über 4 digitale I/Os. Drei davon, um die Information vom Drehgeber (Encoder) anzufordern und einen, um die Information zu empfangen. Dies geschieht getaktet, womit sich die 10 Bit Information, über ein Standard I/O abfragen lässt. Die aktuellen Positionen der Motoren werden über zwei digitale Outputs an den Arduino des [[Projekt_81:_Inbetriebnahme_und_Objekttracking_des_LiDAR-Lite_v3|Projektes 81]] übertragen. | ||
<br><br><br><br><br> | <br><br><br><br><br> | ||
*'''Programmierung | *'''Programmierung | ||
Zeile 192: | Zeile 195: | ||
Die letzten 6 Bit die der Encoder überträgt, sind Zustands- oder auch Status-Bits. Für dieses Projekt ist das Auslesen dieser Bits nicht notwendig, daher werden diese mit der zweiten for-Schleife übersprungen. | Die letzten 6 Bit die der Encoder überträgt, sind Zustands- oder auch Status-Bits. Für dieses Projekt ist das Auslesen dieser Bits nicht notwendig, daher werden diese mit der zweiten for-Schleife übersprungen. | ||
[[Datei:Projekt 82 Simulink ObereEbene.PNG|links|x1450px|thumb|Simulink-Code]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> | [[Datei:Projekt 82 Simulink ObereEbene.PNG|links|x1450px|thumb|Simulink-Code]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> | ||
Wir haben uns ebenfalls mit der Programmierung in Simulink befasst. Der Servo wird beispielsweise alle 200 Schritte um | Wir haben uns ebenfalls mit der Programmierung in Simulink befasst. Der Servo wird beispielsweise alle 200 Schritte um 1,8° bewegt. Der Schrittmotor dreht sich permanent im Kreis und der Encoder ließt permanent einen Wert aus. | ||
Der Encoder wird mittels eines Stateflow-Blockes ausgelesen, der wie folgt aussieht: | Der Encoder wird mittels eines Stateflow-Blockes ausgelesen, der wie folgt aussieht: | ||
[[Datei:Projekt 82 Simulink Encoder Block.PNG|links|1000px|thumb|Encoder-Stateflow-Diagramm in Simulink]]<br><br><br><br><br><br><br><br><br><br><br> | [[Datei:Projekt 82 Simulink Encoder Block.PNG|links|1000px|thumb|Encoder-Stateflow-Diagramm in Simulink]]<br><br><br><br><br><br><br><br><br><br><br> | ||
Letztendlich haben wir uns dafür entschieden die Schwenkeinheit mit der Arduino IDE zu programmieren, da der Code für uns übersichtlicher ist. Ein Grund dafür ist, das es für die Arduino IDE die Bibliothek Stepper.h gibt. Eine ähnliche Bibliothek für Simulink gibt es leider nicht. Außerdem ist es bei der Arduino IDE einfacher die Zyklen in der loop-Funktion nachzuvollziehen. | Letztendlich haben wir uns dafür entschieden die Schwenkeinheit mit der Arduino IDE zu programmieren, da der Code für uns übersichtlicher ist. Ein Grund dafür ist, das es für die Arduino IDE die Bibliothek Stepper.h gibt. Eine ähnliche Bibliothek für Simulink gibt es leider nicht. Außerdem ist es bei der Arduino IDE einfacher die Zyklen in der loop-Funktion nachzuvollziehen. | ||
=Test der Schwenkeinheit= | |||
[[Datei:Projekt 82 Testaufbau Skizze.png|links|x300px|thumb|Skizze des Testaufbaus]] | |||
Zum Testen der Genauigkeit, haben wir den Vorschlag unseres Betreuers umgesetzt und einen Laserpointer an der Schwenkeinheit angebracht. Die Schwenkeinheit steht bei diesem Test 1 Meter von einer Wand entfernt. Die Ausgangsposition des Laserpointerpunktes wird an der Wand markiert. Dann wird die Schwenkeinheit um einen gewissen Wert rotiert, der Wert des Encoders ausgelesen und der neue Laserpointerpunkt auf der Wand markiert. Mit Trigonometrie wird dann der Positionswert in Grad errechnet. Dieser Wert wird dann mit dem Wert des Encoders verglichen.<br> | |||
Bei den Tests ergab sich eine Durchschnittliche Abweichung von +-1,7°. Das liegt zum größten Teil an dem 3D gedruckten Riemen und Zahnrad, welche die Rotationsbewegung nicht gleichmäßig auf den Encoder und die Rotationsachse der LiDAR-Halterung überträgt.<br><br><br><br><br><br><br><br><br><br><br><br><br><br> | |||
== Ergebnis == | == Ergebnis == | ||
Das Ergebnis ist eine gut funktionierende Schwenkeinheit, welche sowohl die Rotation um die horizontale als auch die vertikale Achse vollführt, sowie genaue Positionswerte zurückgibt. Der Auslenkungswinkel um die vertikale Achse ist relativ exakt. Die Positionsgenauigkeit des Servomotors ist nicht ideal. Im weiteren Entwicklungsverlauf würde es sich lohnen einen performanteren Servomotor für mehr Geld zu kaufen. Die gedruckten Bauteile erfüllen ihren Zweck und sind für Prototypen gut geeignet. Bei einem finalen Modell sollten die Plastikteile durch Robustere mit einer langen Lebensdauer ersetzt werden. | |||
== Zusammenfassung == | == Zusammenfassung == | ||
Zusammenfassend lässt sich sagen, dass das Projekt 82 sich als schwieriger und umfangreicher als erwartet erwiesen hat. Dies lässt sich durch den Umgang und die Tiefe der zu bearbeitenden Aufgaben begründen. | |||
Schlussendlich haben wir das Projekt nach bestem Gewissen abgeschlossen und können auf der Messe in der HSHL eine funktionstüchtige 3D-Schwenkeinheit präsentieren. Wir konnten durch das Praktikum viele neue Kenntnisse erwerben und unser bisherig angeeignetes Wissen aus den voherigen Semestern anwenden. Dazu gehört das Wissen aus dem ersten Semester im Bereich der Mechanik und Konstruktion mit SolidWorks. Auch lassen sich die Informatikkenntnisse (Arduino IDE/Matlab Simulink) der ersten Semester dazu zählen und im Bereich des Projektmanagments die Projektplanung aus dem dritten Semester. | |||
=== Lessons Learned === | === Lessons Learned === | ||
[[Datei:Projekt 82 | {| class="galleryTable noFloat" | ||
|- | |||
| [[Datei:Projekt 82 Befestigung Encoder.PNG|links|x300px|thumb|Platte zum Befestigen des Encoders]] | |||
| [[Datei:Projekt 82 alte Platte.PNG|x300px|thumb|Befestigungsplatte der Bauteile]] | |||
| [[Datei:Projekt 82 Platte unter den Zahnrädern.PNG|x300px|right|thumb|Neue Version der Befestigungsplatte]] | |||
|} | |||
3D | Bei der Konstruktion und Anpassung von 3D Objekten haben wir gelernt mit Solid Works zu arbeiten und Dateien für den 3D-Druck zu erstellen. Besonders die Anpassung der Befestigungsplatte hat uns gezeigt wie Bauteile effizienter und sauber konstruieren kann. | ||
Beim Drucken der 3D-Teile haben wir gelernt, dasss die Drucklagen beim 3D-Druck nach oben ungenauer werden, weswegen sich beim 3D-Druck der Gedanke über das richtige Auslegen der Bauteile oft lohnt, um eine höhere Genauigkeit zu erzielen. Wir haben auch gelernt das flexible Bauteile, welche eine sehr hohe Verformbarkeit aufweisen müssen, nach Möglichkeit nicht gedruckt werden sollten, sondern bestellt werden sollten. | |||
Im Verlaufe des Projektes haben wir gelernt, dass bestimmte Teilaufgaben hätten auslagert werden können. Bei der Verbindung über den Zahnriemen hätte sich an einen erfahrenen Betrieb gewendet werden können oder eventuell hätten fertige Bauteile gekauft werden können. Dadurch wäre es möglich gewesen den Zeitplan besser einzuhalten und es hätte wahrscheinlicher eine Zusammenführung mit dem Projekt 81 gegeben. | |||
Bei der Programmierung haben wir gelernt, dass es theoretisch möglich ist das Projekt in Simulink zu programmieren, was uns auch relativ gut gelungen ist. Jedoch ist es in der Arduino Software wesentlich einfacher, da die Strukturierung vom Code wesentlich einfacher ist und somit auf bereits vorhandene Bibliotheken oder Code-Snippets zurückgreifen werden kann. | |||
Im Verlaufe des Projektes haben wir gelernt, dass | |||
== Projektunterlagen == | == Projektunterlagen == | ||
Zeile 221: | Zeile 232: | ||
== YouTube Video == | == YouTube Video == | ||
[https://youtu.be/3GjMOzbivS4 Youtube-Video] | |||
== Weblinks == | == Weblinks == |
Aktuelle Version vom 17. Januar 2019, 15:41 Uhr
![](/wiki/images/thumb/5/5c/Projekt_82_EndBild.jpg/230px-Projekt_82_EndBild.jpg)
Autoren: Pia Dommen; Luca Riering
Betreuer: Daniel Klein
→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)
Aufgabe
Realisierung eines Prototypen einer Schwenkeinheit für den LiDAR-Lite v3 Sensor des Carolo Cup Wagens (Projekt 81) mit Hilfe einer Baugruppe aus 3D-Bauteilen und einem Arduino UNO Mikrocontoller. Es soll eine „3D-Schwenkeinheit für einen LiDAR-Lite v3“ entwickelt und konstruiert werden. Die Tätigkeiten gliedern sich in diesem Projekt wie folgt:
-mechanischer Aufbau
-elektronischer Anschluss
-Umsetzung der Messung mit selbst entwickelter Software auf dem Arduino UNO
Erwartungen an die Projektlösung
- Planung einer stabilen mechanische Konstruktion der 3D-Schwenkeinheit
- Messung des horizontalen und vertikalen Rotationswinkels auf +-1° genau (z.B. Drehgeber)
- Beschaffung der Materialien
- Realisierung des Aufbaus und der Elektronik
- Schnittstelle der 3D-Schwenkeinheit zu Arduino, Matlab und Simulink
- Inbetriebnahme der Schwenkeinheit
- Softwareentwicklung nach HSHL Standard in SVN
- Darstellung der Funktion des LiDARs in einem YouTube Video
- Test und wissenschaftliche Dokumentation
- Live Vorführung während der Abschlusspräsentation
Hinweis: Projekt 81 beschäftigt sich mit der Datenauswertung des LiDAR. Sprechen Sie die Schnittstellen frühzeitig ab.
Einleitung
Dieser Wiki Artikel der Studenten Pia Dommen und Luca Riering behandelt den Bau eines Prototypen einer 3D-Schwenkeinheit für einen LiDAR-Lite v3 im Rahmen des GET-Fachpraktikums WS 18/19: Fachpraktikum Elektrotechnik (MTR) aus dem 5. Semester Mechatronik und stellt eine nachhaltige Dokumentation über die Vorgehensweise der Bearbeitung des Projektes dar. Für den neuen LiDAR des Carolo Cup Wagens muss eine drehbare Halterung konstruiert und hergestellt werden. Dies beinhaltet die Konstruktion der Halterung, sowie den Zusammenbau der einzelnen 3D gedruckten Bauteile. Wie auch die Ansteuerung des Servo-Motors und des Schrittmotors über den Arduino. Diese Motoren sollen sich in angepasster Geschwindigkeit und Genauigkeit (+-1° genau) rotieren lassen und über einen Drehgeber überwacht werden. Der Umgang mit diesem Mikrocontroller wurde durch das Praktikum vermittelt. Durch dieses Projekt wurden die erlangten Fähigkeiten vertieft. Der grundlegende Aufbau und die Umsetzung dieses Projektes wird in den nachfolgenden Punkten genauer betrachtet und erklärt. Des Weiteren befinden sich alle Inhalte und Dokumente zu diesem Projekt in dem dazugehörigen SVN-Verzeichnis, welches unten verlinkt ist.
Projekt
Anforderungsanalyse
Lasten-/Pflichtenheft
Lasten | Pflichten |
---|---|
1. Planung einer stabilen mechanischen Konstruktion der 3D-Schwenkeinheit | Bereits existierende Konstruktionen betrachten. Geeignetste Konstruktion auswählen um mit Hilfe von Solid Works für die Ziele des Projektes verändern. |
2. Überprüfung und Steuerung des vertikalen Rotationswinkels auf +-1° genau (z.B. Drehgeber) und Steuerung des vertikalen Rotationswinkels | Die Rotation der vertikalen Achse soll von einem Schrittmotor resultieren und von einem 1024PPR Encoder überwacht werden. Die Rotation, um die horizontale Achse soll mittels Servomotor realisiert werden. |
3. Beschaffung der Materialien | Eine BOM an den Verantwortlichen der Carolo Cup AG übermitteln. |
4. Realisierung des Aufbaus und der Elektronik | Der Aufbau soll aus gedruckten Teilen aus einem 3D-Druck und den elektronischen Komponenten zusammengesetzt werden. Zur Verbindung der Teile werden Schraub-, Kleb- und LÖtverbindungen verwendet. |
5. Schnittstelle der 3D-Schwenkeinheit zu Arduino, Matlab und Simulink | Als Programmierungsumgebungen werden die Arduino IDE und Matlab/Simulink verwendet. In der Arduino IDE wird auf die Bibliotheken Servo.h und Stepper.h zugegriffen. In Simulink werden die Bausteine des Arduino-Simulink Add-Ons verwendet. |
6. Inbetriebnahme der Schwenkeinheit | Die Inbetriebnahme erfolgt unter Verwendung der in Punkt 5 genannten Softwareumgebungen. Elektrisch wird ein Netzteil und ein Messgerät verwendet. |
7. Softwareentwicklung nach HSHL Standard in SVN | Die Software wird nach den in Informatik 1 und 2 gelernten Inhalten zur Programmierung gestaltet. |
8. Darstellung der Funktion des LiDARs in einem YouTube Video | Das YouTube-Video, das den Wiki-Artikel unterstützen soll, wird mittels Windows Movie Maker erstellt und unter Verwendung eines gmail-Accounts auf YouTube hochgeladen. |
9. Test und wissenschaftliche Dokumentation | Die wissenschaftliche Dokumentation erfolgt im SVN Projektorder sowie im Wiki-Artikel des Projekts. |
10. Live Vorführung während der Abschlusspräsentation | Für die Abschlusspräsentation werden Plakate gestaltet, Flyer ausliegen und eine Diashow mit Bildern auf einem Laptop gezeigt. Dies soll die Präsentation unterstützen. |
Um den ersten Einblick über die Erwartungen zu bekommen die dieses Projekt zu erfüllen hat, wurde ein Lasten- und Pflichtenheft verwendet. Auf der Seite der Pflichten sind hier die verwendeten Ressourcen niedergeschrieben worden. Mit diesem Lasten- und Pflichtenheft kann nun zur Projektplanung übergegangen werden.
Projektplan
Der erste Schritt dieses Projekt zu strukturieren war, einen Projektplan zu erstellen. Hierfür wurde eine Gantt-Chart erstellt, dies ist in dem SVN-Ordner zu finden. Durch ein Gantt-Chart kann gut die Abhängigkeit der Vorgänger und Nachfolger visualisiert werden. Der Umgang mit dieser Form der Projektplanung wurde im 3. Semester des Mechatronik-Studium im Modul Steuerungskompetenzen erlernt. Für die Erstellung dieses Planes wurde zunächst die grobe Einteilung des Wasserfall-Modelles genutzt. Hier wird in die Planung, die Definition, der Entwurf, die Implementierung, das Testen und den Einsatz/Wartung eingeteilt. Um das Projekt mit den einzelnen Bearbeitungsstufen weiter einzuteilen, wurden zunächst alle anfallenden Aufgaben niedergeschrieben und dann in die richtigen Phasen unterteilt. Die zeitliche Abfolge wurde dann durch Erfahrungswerte aus der Praxis geschätzt. Auch wurde hierbei auf den im Modulhandbuch vorgeschriebenen Workload geachtet.
![](/wiki/images/thumb/c/c0/Projekt_82_V-Modell.png/300px-Projekt_82_V-Modell.png)
Um das Projekt konkreter zu planen, wurde außerdem das V-Modell verwendet. Diese Art der Projektplanung wurde auch im 3. Semester im Modul der Steuerungskompetenz erlernt. Insbesondere eignet sich das V-Modell beim Strukturieren von mechatronischen Systemen, da dort die drei Teilbereiche der Mechatronik zur Geltung kommen. Die Mechanik, die Elektronik und die Softwareentwicklung.
Während des Projektes sind ein paar Abweichungen zum vorher erstellten Projektplan entstanden. Die Platte für den Drehgeber, die an die Grundplatte geschraubt werden sollte, passte von den Maßen nicht perfekt, weswegen sich dazu entschieden wurde die Grundplatte erneut zu drucken. Das gleich Gilt für die LiDAR Halterung, da der Servo nicht perfekt passte. Da wir zu diesem Zeitpunkt beschlossen neue Teile zu drucken, entschieden wir uns ebenfalls dafür die Befestigung des LiDARs über einen Zylinder zu lösen. Die Fertigstellung des Projektes verschob sich damit ein wenig nach hinten.
Nach der Strukturierung des Projekts wird nun ein Überblick über die benötigten Komponenten gegeben. Diese sind in der Tabelle aufgelistet.
Bill of materials (BOM) | Anbieter | Preis (Stand: November 2018) | Artikelbezeichnung | Link |
---|---|---|---|---|
Slip Ring - Schleifring mit 6 Drähten (2A) | Exp-tech | 16,66€ | EXP-R15-047 | Slip Ring |
Drehgeber 1024PPR | Mouser | 32,78€ | 652-EMS22A50-C20-LS6 | |
Schrittmotor | Eckstein | 12,95€ | ACT 11HS5406 | |
Motortreiber 4,5 – 13V | Reichelt | 5,60€ | DEBO MOTODRIVER3 |
Projektdurchführung
Die gesamte Durchführung dieses Projektes wird in die drei Teilbereiche der Mechatronik unterteilt. Der Elektronik, der Mechanik und der Informatik.
- Mechanisch
Die erste Überlegung bei der Erstellung des mechanischen Teils des Projektes war es welches Material für die Erstellung der Schwenkeinheit verwendet werden kann und wie dies bearbeitet werden kann. Es wurde sich für den 3D-Druck entschieden, dieser hat den Vorteil das Bauteile kostengünstig und schnell erstellt werden können, was sich für die Erstellung eines Prototypen bestens eignet. Der 3D-Druck ist eine additive Fertigung. Ein festes Material, Filament wird durch den Extruder aufgewärmt und auf das Druckbett aufgetragen. Dies geschieht Schicht für Schicht, durch diese schichtweise Herstellung können dreidimensionale Gegenstände gedruckt werden. Nach Absprache mit der Firma Trilux dürfen die Bauteile auf dem 3D-Drucker der Firma gedruckt werden. Es musste sich im nächsten Schritt über das Filament informiert werden. Besonders der Riemen stellte sich als schwierig heraus, da dieser elastisch sein muss um der dynamischen Belastung des Schrittmotors standzuhalten.
Für alle Bauteile wird das ABS (Acrylnitril-Butadien-Styrol) verwendet, dieses hat die folgenden Eigenschaften (aus dem Datenblatt entnommen). Für den Riemen wurde sich für das Material PLA (Polylactide) entschieden, da dieses elastischer ist als das ABS.
Die folgenden Eigenschaften zeigen, dass PLA (Datenblatt).
Acrylnitril-Butadien-Styrol (ABS) | Polylactide (PLA) |
---|---|
hohe Zugfestigkeit 1681,5 MPa | hohe Zugfestigkeit 2346,5 MPa |
hohe Oberflächenqualität | hohe Oberflächenqualität |
hohe Druckgeschwindigkeit sind möglich | hohe Druckgeschwindigkeit sind möglich |
geringe Biegefestigkeit 70,5 MPa | höhere Biegefestigkeit 103,0 MPa |
gute Haftung am Druckbett | schlechte Haftung am Druckbett |
geringes spezifisches Gewicht 1,10 g/cm³ | geringes spezifisches Gewicht 1,24 g/cm³ |
niedrige Schmelztemperatur 225 - 245˚C |
Die Auswahl des Filaments für den 3D-Druck fiel aufgrund der fest vorgegebenen Eigenschaften auf ABS. Dieses Filament wurde für alle Bauteile außer den Riemen genutzt.
Für diese Auswahl des Materials wurden zunächst die benötigten Anforderungen betrachtet, um dadurch ein geeignetes Material aufzufinden.
Die Anforderungen für die Bauteile, sind zum einen das die Bauteile eine geringe Dichte und somit auch ein geringes Gewicht haben, zum anderen ist eine hohe Festigkeit der Bauteile wichtig. Die Festigkeit der Bauteile ist von Nöten, da durch den Riemen viel Zugspannung auf die gesamte Baugruppe wirkt. Dieser Kraft müssen alle Bauteile standhalten. Um nach dem 3D-Druck ein ansprechendes Ergebnis und maßhaltige Bauteile zu bekommen, ist die Schmelztemperatur wichtig, diese sollte unter 280°C liegen, da der 3D-Drucker nur bis zu dieser Temperatur das Material erhitzen kann. Für eine hohe Oberflächenqualität sollte ein Material ausgewählt werden, dass eine hohe Haftung am Druckbett hat. Denn hohe diese Haftung würden die Teile zum einen nicht maßhaltig werden, da das Material „verrutscht“ und zum anderen würde die Oberfläche nicht ansprechend sein.
Diese Eigenschaften beinhaltet das ABS, wodurch sich dafür entschieden wurde. Ein weiteres Betrachtetes Filament war das PLA. Dieses Filament eignet sich jedoch nur eingeschränkt für die 3D-Schwenkeinheit, da es elastischer ist und sich schlechter drucken lässt, durch eine schlechte Haftung auf dem Druckbett. Das PLA eignet sich hingegen gut für den Riemen, diese benötigt eine hohe Biegefestigkeit. Das PLA hat ebenso wie das ABS ein geringes spezifisches Gewicht.
Fertigung der Bauteile
Bild | Beschreibung |
---|---|
1. ![]() |
Die konstruierten Bauteile für das Projekt sind auf einem 3d Drucker gedruckt worden. Diese Art der Bauteil-Erstellung ist besonders für Prototypen wie in diesem Projekt geeignet. Da die Herstellung kostengünstig und besonders schnell ist. |
2. ![]() |
Das Bild zeigt den Druckvorgang bei dem Drucken des Riemens mit dem Material PLA. |
3. |
Das Zahnrad, das zwischen dem Slip-Ring und der Haltung für den LiDAR-Sensor angebracht ist, hat eine Stabilisierung in den Zwischenräumen. Dort sind kleine Stege eingebracht, diese haben die Aufgabe den Riemen zu führen. |
4. |
Bei dem zweiten und dritten Zahnrad handelt es sich um die Verbindung über den Riemen, der Bauteile Encoder und Schrittmotor. |
5. |
Dieses Bauteil ist die Halterung des LiDAR-Sensors. Unter der Halterung ist der Slip-
Ring angebracht, damit die Kabel sich bewegen können. Oben in der Nut ist der Servo-Motor verbaut, der für die vertikale Schwenkrichtung erforderlich ist. |
6. |
An dieser Befestigung wird der LiDAR-Sensor mit der Halterung verbunden. |
7. |
Diese Stange mit Grundplatte dient der Befestigung des LiDAR Sensor und der Verbindung mit dem Servomotor. Die Verbindungsform ist eine Übergangspassung. |
8. |
An dieser Befestigungsplatte werden alle Bauteile festgeschraubt. Die beiden Aussparungen sind zum einen für den Schrittmotor und zum anderen für den Slip-Ring. |
9. |
Der Riemen sorgt für die kraftschlüssige Verbindung zwischen dem Encoder, dem Schrittmotor und der Halterung des Sensors. |
10. ![]() |
Dies ist eine erste Übersicht über die Bauteile aus dem 3D-Drucker, diese werden im nächsten Schritt zusammengebaut. |
11. ![]() |
Dies sind die ersten zusammengebauten Ergebnisse, hier werden die drei Zahnräder Befestigung und die „Befestigung des Sensors an der Halterung“ an den LiDAR angebracht. Der Schrittmotor wurde mit der „Befestigungsplatte“ verbunden. |
12. ![]() |
Das Bild zeigt den mechanischen Aufbau im Endzustand, einige elektronische Arbeiten wurden außerdem schon erledigt. Dazu gehören das Löten der Anschlüsse und eine erste Verkabelung. |
13. ![]() |
Beim zweiten Prototypen ist die Befestigungsplatte erneuert worden. Lessons Learned |
- Elektrisch
![](/wiki/images/thumb/6/62/Projekt82_Steckplatine.jpg/300px-Projekt82_Steckplatine.jpg)
EMS22A - Non-Contacting Absolute Encoder (Datenblatt)
Arduino (Offizielle Website)
Schrittmotor(Produkt auf der offizielle Website des Herstellers)
Motortreiber (Dokumentation)
Schleifring(Datenblatt)
Servo-Motor(Datenblatt)
(LiDAR)
![](/wiki/images/thumb/6/65/Projekt_82_Blockschaltbild.png/592px-Projekt_82_Blockschaltbild.png)
Die Schwenkeinheit wird von einem Arduino UNO gesteuert. Dazu wird ein Schritt- und ein Servomotor verwendet. Für eine genauere Messung der aktuellen Position wird ein Drehgeber (Encoder) ausgelesen. Der Schrittmotor wird über einen Motortreiber versorgt und gesteuert. Der Motortreiber wird über die 5V Steuerspannung versorgt, sodass der Treiber Leistung zum regulierten Steuern des Schrittmotors hat. Zusätzlich hat der Motortreiber einen weiteren PIN für die Versorgungsspannung des Schrittmotors. Diese Spannung sollte zwischen 4.5V und 13.5V liegen. Da der Schrittmotor mindestens 7V Versorgungsspannung benötigt, bietet sich eine Spannung größer 7V an. Diese Versorgung erfolgt im Regelfall durch einen Akku. Beim aktuellen Prototyp erfolgt die Versorgung allerdings über den Vin PIN des Arduino UNO. Die Kommunikation zum Motortreiber und damit auch zum Motor ist unidirektional. Kommuniziert wird über 4 digitale Outputs, zwei davon PWM, welche die Informationen an den Treiber leiten, der diese verwertet und den Motor steuert. Mit dem Servomotor wird ebenfalls unidirektional kommuniziert. Dazu wird über einen digitalen PWM Output Informationen übertragen. Die Spannungsversorgung läuft über das 5V Netz des Arduino. Die Kommunikation zum Drehgeber (Encoder) ist bidirektional und läuft über 4 digitale I/Os. Drei davon, um die Information vom Drehgeber (Encoder) anzufordern und einen, um die Information zu empfangen. Dies geschieht getaktet, womit sich die 10 Bit Information, über ein Standard I/O abfragen lässt. Die aktuellen Positionen der Motoren werden über zwei digitale Outputs an den Arduino des Projektes 81 übertragen.
- Programmierung
Funktion zum Auslesen des Encoders in der Arduino IDE:
void Encoder()
{
digitalWrite(PIN_CS, HIGH);
digitalWrite(PIN_CS, LOW);
pos_Encoder = 0;
for (int i=0; i<10; i++) {
digitalWrite(PIN_CLOCK, LOW);
digitalWrite(PIN_CLOCK, HIGH);
byte b = digitalRead(PIN_DATA) == HIGH ? 1 : 0;
pos_Encoder += b * pow(2, 10-(i+1));
}
for (int i=0; i<6; i++) { //status bits des Encoders "überspringen"
digitalWrite(PIN_CLOCK, LOW);
digitalWrite(PIN_CLOCK, HIGH);
}
digitalWrite(PIN_CLOCK, LOW);
digitalWrite(PIN_CLOCK, HIGH);
Serial.println(pos_Encoder);
}
Mit einer positiven Flanke auf den Eingang "CS" des Encoders wird die Kommunikation angetriggert.
Mit einer negativen Flanke auf den Eingang "Clock" des Encoders wird angefordert, dass der Encoder über den "Data" Ausgang einen Wert der 16 Bit Datenübertragung überträgt.
"In" den ersten 10 Bit steht die aktuelle Position des Encoders in Dezimal 2^10 = 1024. Das entspricht einer Auflösung von 360/1024 = 0,3515625. Diese 10 Bits werden von der ersten for-Schleife gelesen und zu einer Dezimalzahl zusammengerechnet. Die letzten 6 Bit die der Encoder überträgt, sind Zustands- oder auch Status-Bits. Für dieses Projekt ist das Auslesen dieser Bits nicht notwendig, daher werden diese mit der zweiten for-Schleife übersprungen.
Wir haben uns ebenfalls mit der Programmierung in Simulink befasst. Der Servo wird beispielsweise alle 200 Schritte um 1,8° bewegt. Der Schrittmotor dreht sich permanent im Kreis und der Encoder ließt permanent einen Wert aus. Der Encoder wird mittels eines Stateflow-Blockes ausgelesen, der wie folgt aussieht:
![](/wiki/images/thumb/d/d1/Projekt_82_Simulink_Encoder_Block.PNG/1000px-Projekt_82_Simulink_Encoder_Block.PNG.jpeg)
Letztendlich haben wir uns dafür entschieden die Schwenkeinheit mit der Arduino IDE zu programmieren, da der Code für uns übersichtlicher ist. Ein Grund dafür ist, das es für die Arduino IDE die Bibliothek Stepper.h gibt. Eine ähnliche Bibliothek für Simulink gibt es leider nicht. Außerdem ist es bei der Arduino IDE einfacher die Zyklen in der loop-Funktion nachzuvollziehen.
Test der Schwenkeinheit
![](/wiki/images/thumb/f/fb/Projekt_82_Testaufbau_Skizze.png/389px-Projekt_82_Testaufbau_Skizze.png)
Zum Testen der Genauigkeit, haben wir den Vorschlag unseres Betreuers umgesetzt und einen Laserpointer an der Schwenkeinheit angebracht. Die Schwenkeinheit steht bei diesem Test 1 Meter von einer Wand entfernt. Die Ausgangsposition des Laserpointerpunktes wird an der Wand markiert. Dann wird die Schwenkeinheit um einen gewissen Wert rotiert, der Wert des Encoders ausgelesen und der neue Laserpointerpunkt auf der Wand markiert. Mit Trigonometrie wird dann der Positionswert in Grad errechnet. Dieser Wert wird dann mit dem Wert des Encoders verglichen.
Bei den Tests ergab sich eine Durchschnittliche Abweichung von +-1,7°. Das liegt zum größten Teil an dem 3D gedruckten Riemen und Zahnrad, welche die Rotationsbewegung nicht gleichmäßig auf den Encoder und die Rotationsachse der LiDAR-Halterung überträgt.
Ergebnis
Das Ergebnis ist eine gut funktionierende Schwenkeinheit, welche sowohl die Rotation um die horizontale als auch die vertikale Achse vollführt, sowie genaue Positionswerte zurückgibt. Der Auslenkungswinkel um die vertikale Achse ist relativ exakt. Die Positionsgenauigkeit des Servomotors ist nicht ideal. Im weiteren Entwicklungsverlauf würde es sich lohnen einen performanteren Servomotor für mehr Geld zu kaufen. Die gedruckten Bauteile erfüllen ihren Zweck und sind für Prototypen gut geeignet. Bei einem finalen Modell sollten die Plastikteile durch Robustere mit einer langen Lebensdauer ersetzt werden.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass das Projekt 82 sich als schwieriger und umfangreicher als erwartet erwiesen hat. Dies lässt sich durch den Umgang und die Tiefe der zu bearbeitenden Aufgaben begründen. Schlussendlich haben wir das Projekt nach bestem Gewissen abgeschlossen und können auf der Messe in der HSHL eine funktionstüchtige 3D-Schwenkeinheit präsentieren. Wir konnten durch das Praktikum viele neue Kenntnisse erwerben und unser bisherig angeeignetes Wissen aus den voherigen Semestern anwenden. Dazu gehört das Wissen aus dem ersten Semester im Bereich der Mechanik und Konstruktion mit SolidWorks. Auch lassen sich die Informatikkenntnisse (Arduino IDE/Matlab Simulink) der ersten Semester dazu zählen und im Bereich des Projektmanagments die Projektplanung aus dem dritten Semester.
Lessons Learned
Bei der Konstruktion und Anpassung von 3D Objekten haben wir gelernt mit Solid Works zu arbeiten und Dateien für den 3D-Druck zu erstellen. Besonders die Anpassung der Befestigungsplatte hat uns gezeigt wie Bauteile effizienter und sauber konstruieren kann. Beim Drucken der 3D-Teile haben wir gelernt, dasss die Drucklagen beim 3D-Druck nach oben ungenauer werden, weswegen sich beim 3D-Druck der Gedanke über das richtige Auslegen der Bauteile oft lohnt, um eine höhere Genauigkeit zu erzielen. Wir haben auch gelernt das flexible Bauteile, welche eine sehr hohe Verformbarkeit aufweisen müssen, nach Möglichkeit nicht gedruckt werden sollten, sondern bestellt werden sollten. Im Verlaufe des Projektes haben wir gelernt, dass bestimmte Teilaufgaben hätten auslagert werden können. Bei der Verbindung über den Zahnriemen hätte sich an einen erfahrenen Betrieb gewendet werden können oder eventuell hätten fertige Bauteile gekauft werden können. Dadurch wäre es möglich gewesen den Zeitplan besser einzuhalten und es hätte wahrscheinlicher eine Zusammenführung mit dem Projekt 81 gegeben. Bei der Programmierung haben wir gelernt, dass es theoretisch möglich ist das Projekt in Simulink zu programmieren, was uns auch relativ gut gelungen ist. Jedoch ist es in der Arduino Software wesentlich einfacher, da die Strukturierung vom Code wesentlich einfacher ist und somit auf bereits vorhandene Bibliotheken oder Code-Snippets zurückgreifen werden kann.
Projektunterlagen
YouTube Video
Weblinks
- LIDAR-Lite v3 - 3D-Scan
- Projekt 81: Inbetriebnahme und Objekttracking des LiDAR-Lite_v3
- Controlling a Stepper Motor without stepper.h
- 3D-Drucker RepRap X400
Literatur
1. Buch HSHL-Bibliothek: Die elektronische Welt mit Arduino entdecken, Autor: Bartmann,Erik
2. Buch HSHL-Bibliothek: Arduino - Physical Computing für Bastler, Designer und Geeks, Autor: Mauel Odendahl; Julian Finn; Alex Wegner
3. Buch HSHL-Bibliothek: Arduino : Praxiseinstieg. Behandelt Arduino 1.0, Autor: Thomas, Brühlmann
4. Buch HSHL-Bibliothek: Arduino-Workshops : eine praktische Einführung mit 65 Projekten, Autor: Bartmann,Erik
5. Buch HSHL-Bibliothek: Handbuch der Robotik-Einsatz intelligenter Roboter, Autor: Mathias Haun
6. Buch HSHL-Bibliothek: Die elektronische Welt mit Arduino entdecken, Autor: John Boxall
7 Buch: Buch zu 3D-Druck: 3D-Druck-Verfahrensauswahl und Wirtschaftlichkeit Entscheidungsunterstützung für unternehmen ISBN:978-3-658-15196-6
---
→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)