Benutzer-Werkzeuge

Webseiten-Werkzeuge


mechatronik:sose24:remote-plotter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mechatronik:sose24:remote-plotter [2024/07/26 02:37]
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        | 
 +| :::    | INS412        ​|
  
-===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 42: Zeile 54:
  
 ==Erster Arm== ==Erster Arm==
-Auf der Oberseite des Arms befindet sich eine Vertiefung für den Motor, welcher den zweiten Arm hält. +Auf der Oberseite des Arms befindet sich eine Vertiefung für den Motor, welcher den zweiten Arm hält.\\ 
-{{ :​mechatronik:​sose24:​rp_ersterarm_0.png?​240|Arm1 Oberseite }}\\+{{:​mechatronik:​sose24:​rp_ersterarm_0.png?​240|Arm1 Oberseite}}
  
 Um den Arm zu halten, befindet sich eine weitere Vertiefung in Form eines Zahnrads in welcher der Aufsatz der ersten Motorachse passt.\\ Um den Arm zu halten, befindet sich eine weitere Vertiefung in Form eines Zahnrads in welcher der Aufsatz der ersten Motorachse passt.\\
-{{ :​mechatronik:​sose24:​rp_ersterarm_1.png?​200|Arm1 Unterseite }}+{{:​mechatronik:​sose24:​rp_ersterarm_1.png?​200|Arm1 Unterseite}}
  
-**Anmerkung:​** Unser finales Model für Arm 1 ist nicht perfekt, denn die zwei dünnen Wände an der Motorhalterung mussten wir wegfeilen, damit der Motor richtig sitzt. Außerdem musste noch etwas Platz ,für die Kabel des Motors, freigebohrt werden.+**Anmerkung:​** Unser finales Model für Arm 1 ist nicht perfekt, denn die zwei dünnen Wände an der Motorhalterung mussten wir wegfeilen, damit der Motor richtig sitzt. Außerdem musste noch etwas Platz ,für die Kabel des Motors, freigebohrt werden.\\
  
-{{ :​mechatronik:​sose24:​mt_robo_bohren.jpg?​200|Magischer Stift }}+{{:​mechatronik:​sose24:​mt_robo_bohren.jpg?​200|bohrspass}}
 ==Zweiter Arm== ==Zweiter Arm==
 Auf der linken Seite ist das Loch für den Stift, in das eine Schraube gedreht werden kann, um den Stift zu fixieren. Auf der rechten Seite ist das Loch für die Motorachse. \\ Auf der linken Seite ist das Loch für den Stift, in das eine Schraube gedreht werden kann, um den Stift zu fixieren. Auf der rechten Seite ist das Loch für die Motorachse. \\
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 Halterungdie 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]
mechatronik/sose24/remote-plotter.1721954233.txt.gz · Zuletzt geändert: 2024/07/26 02:37 von Paul-Hoeft