V-Plotter: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Vater (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Astro (Diskussion | Beiträge) K (→Aufbau) |
||
Zeile 19: | Zeile 19: | ||
=== Aufbau === | === Aufbau === | ||
Ein [[Raspberry Pi 2]] steuert über 8 Pins 2 [[wikipedia:de:Schrittmotor|Steppermotor]]en 28BYJ-48 (5V DC) via 2 passender H-Brücken. Und ein | Ein [[Raspberry Pi 2]] steuert über 8 Pins 2 [[wikipedia:de:Schrittmotor|Steppermotor]]en 28BYJ-48 (5V DC) via 2 passender [[wikipedia:de:Vierquadrantensteller|H-Brücken]]. Und ein | ||
; | ; Pinbelegung: | ||
:; MOTOR_LEFT: | :; MOTOR_LEFT: | ||
:* _pins[0] = 11 | :* _pins[0] = 11 |
Version vom 9. November 2015, 21:00 Uhr
Ein V-Plotter, auch hanging wall plotter genannt, ist
- eine Wand zum Befestigen von Papier,
- zwei Rollen mit ansteuerbaren Motor,
- eine Halterung für ein Zeichengerät, die an den Fäden der Rollen hängt und
- eine Steuerung von den Motoren (mit Stromversorgung).
plotbert
Zur Codeweek EU#2015, wurde in einem Workshop für Kinder und Jugendliche begonnen ein V-Plotter, gesteuert von einem entsprechenden Raspberry Pi zu bauen.
#plotbert steht dem HQ für allerlei Spielereien zur Verfügung.
Grundsätzlich ist #plotbert als Stiftplotter angedacht.
Aufbau
Ein Raspberry Pi 2 steuert über 8 Pins 2 Steppermotoren 28BYJ-48 (5V DC) via 2 passender H-Brücken. Und ein
- Pinbelegung
-
- MOTOR_LEFT
- _pins[0] = 11
- _pins[1] = 10
- _pins[2] = 13
- _pins[3] = 12
- MOTOR_RIGHT
- _pins[0] = 5
- _pins[1] = 4
- _pins[2] = 9
- _pins[3] = 8
Verwendung
Verbinden mit plotbert
ssh pi@172.22.99.103
raspberry
Starten des C++ Kommandointerpreters
vplotter
- l <length> // direct control, left motor
- r <length> // direct control, right motor
- m <dx> <dy> // move relative to current position
- g <x> <y> // move to absolute coordinate
- c // calibrate printer position
- u // move pen up
- d // move pin down
- w
- s <level> // set servo to this pwm level
- h // move to calibration point
Parameter der Zeichenfläche und des Plotters sind in der main.cpp hard gecodet: (Koordinatenursprung ist 0:0)
- Position des Kalibrierungspunktes
- Entfernung der Motoren vom Kalibrierungspunkt aus
- Größe der Zeichenfläche
- Quellen sind unter
/home/pi/V-Plotter
- Oder bei Github
script interface: Klassen Definition (Ruby)
Um bessere damit spielen zu können, haben wir eine Ruby Schnittstelle gebaut:
class VPlotter
- Laden der richtigen Konfiguration (config) für unseren Plotter
VPlotter.selectPlotter("plotbert")
- Aufsetzen vom Stift
VPlotter.penUp()
- Absetzen vom Stift
VPlotter.penDown()
- Rotieren lassen vom (linken oder rechten) Motor
-
- Wert>0 = abrollen
- Wert<0 = aufrollen
VPlotter.rotateLeftMotor( int Entfernung in 1/10 mm)
VPlotter.rotateRightMotor( int Entfernung in 1/10 mm)
- absolute Bewegung vom Koordinatenursprung aus
VPlotter.goto(x,y)
- relative Bewegung von aktueller Position
VPlotter.move(x,y)
- Fahren zum Kalibrierungspunkt
VPlotter.home()
- Schreiben des Wortes Test an der aktuellen Position
VPlotter.test()
servo motor position für definierte Stiftposition
VPlotter.setPen(int 0-100)
- Neues Kalibieren der Stiftspitze
-
- Fahren zum Kalibrierungspunkt und Ausführen von
calibrate()
- Fahren zum Kalibrierungspunkt und Ausführen von
VPlotter.calibrate()
- unter Angabe der Rahmenparameter ist es auch möglich andere Plotter damit zu steuern
VPlotter.customConfig(posMotorRight(x,y), posMotorLeft(x,y), calibrationPoint(x,y), height, width)
- Ändern der Geschwindigkeit vom Zeichen
-
- default=10
- langsam=1
- Werte über 10 sind möglich aber können zu übersprungenen Steps führen die die Zeichnung zerstören
VPlotter.printSpeed(int [1-10-∞])