Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
mechatronik:sose24:remote-plotter [2024/07/26 02:48] Paul-Hoeft |
mechatronik:sose24:remote-plotter [2024/07/31 10:41] (aktuell) TPfoch [Schritte für die Zukunft] |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
=====Idee===== | =====Idee===== | ||
- | Unsere Idee war es einen Arm mit zwei Gelenken zu bauen, welcher menschliche Zeichnungen von einem Computer/Tablett \\ | + | Unsere Idee war es ein Arm mit zwei Gelenken zu bauen, welcher oben an einer Tafel befestigt werden kann und menschliche Zeichnungen von einem Computer/Tablett bekommt und diese auf der Tafel selbstständig nachzeichnet. |
- | bekommt und diese in Echtzeit nachzeichnet. | + | |
=====Aufbau===== | =====Aufbau===== | ||
+ | Der Arduino soll durch die Steppermotoren die Winkel der Arme kontrollieren. Auf einem Computer nimmt ein Programm Zeichnungen eines Menschen an und konvertiert diese in eine Ansammlung von Punkten in einem Koordinatensystem. Der Arduino soll dann die Anweisung über geraden zwischen den Punkten zu zeichnen Ausführen, indem er die Koordinaten in Winkel seiner Arme umrechnet und die Motoren dementsprechend bewegt. Der Plotter soll einen Kopf haben, in welchen mit Servomotoren verschiedene Tolls ausgewählt werden können zb. Stift, Leer, Radierer und zukünftig verschiedene Farben. | ||
====Elektronik==== | ====Elektronik==== | ||
Zeile 13: | Zeile 13: | ||
===Pin Tabelle=== | ===Pin Tabelle=== | ||
- | ^ Pin ^ Pin ^ | + | ^ Motor ^ Funktion ^ Arduino ^ |
- | | x | a | | + | | Haupt | Direction | 2 | |
- | | y | b | | + | | ::: | Step | 3 | |
- | | z | c | | + | | Neben | INS1 | 9 | |
+ | | ::: | INS2| 10 | | ||
+ | | ::: | INS3| 11 | | ||
+ | | ::: | INS4| 12 | | ||
- | ===Erklärung=== | ||
- | todo | ||
- | ====Software==== | + | =====Software===== |
- | Die Software besteht aus zwei Komponenten; dem Teil der auf dem Computer bzw. Laptop läuft und dem Teil, der auf dem Aduino läuft. | + | Die Software besteht aus zwei Komponenten; dem Teil der auf dem Computer bzw. Laptop läuft (Frontend) und dem Teil, der auf dem Aduino läuft (Backend). |
- | + | ||
- | ===Computer Teil=== | + | |
- | todo | + | |
- | ===Aduino Teil=== | + | (Der gesamte Code ist unten im Reiter "Code" nochmal zu finden) |
- | todo | + | |
+ | ===Frontend=== | ||
+ | Unser [[https://github.com/POWERPAVEL05/ML-ZRobo/blob/main/frontend.py| Frontend-Skript]] stellt eine Nutzeroberfache bereit, auf welcher ein User auf einer Zeichenfläche mit der Maus oder Touchscreen zeichnen kann. | ||
+ | Die Zeichnung wird durch Punkte repräsentiert, welche über den SerialPort an den Arduino zur Verarbeitung gesendet werden. | ||
+ | |||
+ | ===Backend=== | ||
+ | Das Backend ist in zwei Klassen unterteilt | ||
+ | ==Axies== | ||
+ | [[https://github.com/POWERPAVEL05/ML-ZRobo/blob/main/Axies.hpp|Axies]] ist eine Abstraktion für Bewegung auf einem XY-Grid. | ||
+ | Im falle des Arms werden die XY-Koordiaten in Winkel umgerechnet, und an die beiden Motoren gesendet, um eine Position zu erreichen. | ||
+ | ==Gantry== | ||
+ | [[https://github.com/POWERPAVEL05/ML-ZRobo/blob/main/Gantry.hpp|Ganrty]] stellt den Kopf des Plotters dar, es können mit Servos verschiedene Tools ausgewählt werden eg. Stift, Farben, Radierer, Keins. | ||
+ | (In der Hardware ist der Gantry noch nicht implementiert :AUGENROLL: ) | ||
+ | ==Main== | ||
+ | Im [[https://github.com/POWERPAVEL05/ML-ZRobo/blob/main/main.cpp|Main]] Source wird der Roboter mit seinen Maßen initialisiert. Anschließend welches das Programm zum Read-Loop, in welchem aus dem Serial Befehle gelesen werden und vom Roboter ausgeführt werden. | ||
====Mechanik==== | ====Mechanik==== | ||
Zeile 65: | Zeile 77: | ||
{{ :mechatronik:sose24:rp_fehldruck.jpg?200 }} | {{ :mechatronik:sose24:rp_fehldruck.jpg?200 }} | ||
- | =====Ideen für die Zukunft===== | + | =====Schritte für die Zukunft===== |
* Robo zum malen bringen :( | * Robo zum malen bringen :( | ||
- | * App zum Malen wäre etwas Feines | + | |
- | * Bessere Halterung, die nicht von Gummibändern gehalten werden muss | + | * Der Hauptmotor scheint kaputt, muss ersetzt werden |
- | * Anheben von Stift durch Servo-Motor | + | * Plotter Kopf mit Stift muss implementiert werden |
* fester Halterung für Papier/Fläche und Roboter | * fester Halterung für Papier/Fläche und Roboter | ||
+ | * Bessere Halterung, die nicht von Gummibändern gehalten werden muss | ||
+ | * Mobil- und oder Webapp zum Malen wäre etwas Feines | ||
+ | * Support für verschiedene Farben im Werkzeugsatz | ||
+ | |||
=====Links===== | =====Links===== | ||
* [https://github.com/POWERPAVEL05/ML-ZRobo github] | * [https://github.com/POWERPAVEL05/ML-ZRobo github] |