XY-Stiftplotter - "Plotty"
Unser selbstgebauter Stiftplotter wurde nach dem Vorbildern von Open Source Projekten wie AxiDraw und 4xiDraw von einem Mitglied des Fablabs gebaut (2017). Der Plotter verfügt über eine X- und Y- Achse, auf denen er sich mit Hilfe von Schrittmotoren bewegt. Zur Höhenverstellung des eingespannten Stiftes ist ein Miniatur-Stellmotor (Servo) installiert. Außer Stiften können theoretisch auch kleinere Werkzeuge eingespannt werden.
Zweck des Plotters ist neben dem Zeigen eines DIY-Projekts, bestehend aus 3D-Druckteilen, Open Source Hardware und Open Source Software, das Zeichnen von Grafiken auf Elementen. Sinnvolle Anwendung ist beispielsweise das Vorzeichnen von Grafiken mit dem Plotter auf Holzplatten, um diese z.B. per Hand mit Laubsäge oder Dekupiersäge auszusägen.
Die Elektronik von Plotty besteht aus einer Gut&Günstig-Kopie eines Arduino Mega 2560, einem preiswerten RAMPS 1.4 Shield und zwei DRV8825-Schrittmotorentreibern. Das LCD-Display mit integriertem SD-Kartenslot erlaubt die Verwendung des Plotters komplett ohne via USB-Serial verbundenen PC. Als Firmware nutzt der Plotter eine Repetier Firmware, die GCode verarbeiten kann. Dieser Code ist letztendlich das Zeichenprogramm, das die Maschine nach und nach ausführt und die entsprechenden Koordinaten auf dem Papier (oder einem anderen Untergrundmaterial) befolgt. Der GCode wird durch ein selbst modifiziertes InkScape-Plugin (siehe unten) erstellt.
Unser Plotter ist ein gutes Beispiel dafür, dass man auch mit wenig Geld beeindruckende Maschinen bauen kann. Die Kunststoffteile haben wir selbst angefertigt!
Plottbeispiele
Hardware
Übersicht
- RAMPS 1.4 + Arduino Mega 2560
- DRV8825 (1/16 Schritt) - 2x8 StepStick
Servomotoren (Miniatur-Servo)
Orange = signal
Red = +
Brown = -
Wie bekannt, bietet das RAMPS 1.4 via D4, 5, 6 und 11 vier Servo´s zu steuern.
M340 P0 S500 (-1, -90°)
M340 P0 S2500 (+1, +90 °)
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.
Firmware / Repetier GCode
- Für manuelle Anpassungen im GCode hilft die GCode Referenz Repetier Firmware 1.0.3.
- Repetier 1.0.3 (08.08.2019)
Parameter
- Blattbreite: 346 mm
- Blatthöhe: 222 mm
- Baudrate: 115200
- Feedrate: 7000 mm/min
HowTo
1. Nivellieren des Gerätes
Dieser Schritt ist nur notwendig, wenn sich das Maschinengestell verzogen hat oder die Maschine vom Bett demontiert wurde)
→ mit 1 mm Fühlerlehreblatt an allen Ecken, wo der Stift eingespannt ist, den gleichen Abstand einstellen (an den Gestellfüßen der Maschine kann Klebeband angetaped werden)
2. Stift einspannen
- zuerst den Hubschlitten bis ganz nach unten drücken (ohne Magnet)
- dann Stift locker einsetzen, sodass die Stiftspitze das Papier berührt
- den Stift zusätzlich etwa 1 mm nach unten drücken (
Kraft draufgeben)Kraft) und dann mit der Stellschraube fixieren - GCode testen und prüfen, ob der Stift richig abhebt oder ob jede Leerlauflinie mitgezeichnet wird
- Magnet unter Stiftspitze schieben und die Spitze darin auslagern, damit diese nicht dauerhaft auf dem Papier ausläuft
3. Koordinatensystem auf den Tisch kleben (am besten mit Tape) → X.max = 346 mm, Y.max = 222 mm
4. Zeichnung erstellen
Für die korrekte Skalierung der Zeichnung (und damit das Einhalten der maximalen Maschinenkoordiaten - dies ist wichtig) müssen folgende Dokumenteneinstellungen adäquat vorgenommen werden:
- Blattbreite 346 mm
- Blatthöhe 222 mm
- Anzeigeeinheit mm
- Dokumenteneinheit mm
- Skalierungsfaktor 1,0
Sollte die Skalierung der Grafik nicht stimmen, kann diese in Inkscape 1.0+ geöffnet werden und die Plugins Apply Transformations und Normalize Drawing Scale angewendet werden.
5. Grafik barbeiten und GCode generieren
Siehe Plaster (Inkscape Plugin für Plotty XY-Stiftplotter)
Der Plotter wird durch GCode gefüttert. Diesen generieren wir über das Plaster (Inkscape Plugin für Plotty XY-Stiftplotter).
6. Plotten: Per GCode auf SD-Karte oder Pronterface
Dafür brauchen wir ein Pronterface:
sudo apt update
sudo apt install python3-wxgtk4.0 python3-pip python3-venv
cd ~/
python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install --upgrade pip
pip install Printrun
#Pronterface starten
nohup ~/venv/bin/pronterface.py &
Falls die USB-Verbindung nicht möglich ist, fehlen ggf. Berechtigungen. Siehe https://wiki.stadtfabrikanten.org/link/725#bkmrk-usb-anschluss
Minimales Funktionsbeispiel
G90
G28 X Y; home XY
G21; millimeters
M340 P0 S500; PEN UP
G4 P100; 1s dwell
G1 F7000.0 X50 Y200; travel move
G4 P100; 1s dwell
M340 P0 S1500; PEN DOWN (WITH FORCE)
G1 F4000.0 X125 Y200; paint
G4 P100; 1s dwell
G1 F4000.0 X125 Y150; paint
G4 P100; 1s dwell
G1 F4000.0 X50 Y150; paint
G4 P100; 1s dwell
G1 F4000.0 X50 Y175; paint
G4 P100; 1s dwell
M340 P0 S500; PEN UP
G1 F7000.0 X100 Y200; travel move
G4 P100; 1s dwell
M340 P0 S1500; PEN DOWN (WITH FORCE)
G1 F4000.0 X175 Y180; paint
G4 P100; 1s dwell
G1 F4000.0 X175 Y130; paint
G4 P100; 1s dwell
G1 F4000.0 X120 Y130; paint
G4 P100; 1s dwell
G1 F4000.0 X120 Y155; paint
G4 P100; 1s dwell
M340 P0 S500; PEN UP
G28 X Y; home XY
M340 P0 S0; PEN OFF
Changelog
Der Plotter hat über die letzten Jahre mehrere Anpassungen erfahren:
Changelog anzeigen
2022.08 - Magnetisches Blech
Für eine ideale Befestigung hat unser Stiftplotter nun eine magnetische Blechplatte erhalten. Damit lassen sich mit Neodymmagneten einfach Papierbögen befestigen.
2022.04 - Grundplatte
Aus Stabilitätsgründen wurde dem Plotter 2022 von Tino eine Untergrundplatte hinzugefügt, die dafür sorgt, dass der Abstand zwischen Stifthalter und Bett an allen Koordinaten möglichst gleich ist. Nur so ist der Stiftdruck überall annähernd konstant.
2019.09.25 - Elektronik-Fix (Kondensator für Servomotor)
- 12V zu 5V Spannungsregelung (2x 47µF Kondensator + 7805 Transistor) eingebaut, da der Arduino Mega zu wenig Power für den Servo liefert. Deshalb sind nur noch GND und Signal am RAMPS-Board installiert. Die Versorgung kommt nun direkt vom Netzteil
-
Elektrolytkondensator 2200µF / 16v direkt zwischen 5V und GND installiert ("Zwischenbatterie")
Stückliste
Stückliste anzeigen
| Menge (Stück) | Postenpreis Netto | Benennung |
| 1 | 0,20 € | Radialkugellager 639/3-2Z (693-2Z) |
| 2 | 8,36 € | Präzisionswelle Ø8 x 350 mm - X46Cr13 |
| 2 | 3,86 € | Texas Instruments DRV8825 |
| 2 | 0,61 € | Mechanischer Endschalter - Makerbot v1.2 |
| 3 | 0,03 € | PTFE Schlauch Ø3 x Ø6 mm |
| 4 | 0,33 € | DIN 6923 - M10 |
| 4 | 0,88 € | Selbstklebender Gerätefuß - 10,2 x 10,2 x 2,5 mm |
| 14 | 0,10 € | Spanplattenschraube 3 x 10 mm - Torx |
| 2 | 13,80 € | Nema 17 Schrittmotor 17HS4417 - 1,8° |
| 8 | 0,16 € | Kabelbinder 150 mm - Orange |
| 6 | 0,10 € | ISO 4762 - M2 x 3 |
| 2 | 0,05 € | ISO 4762 - M2 x 8 |
| 2 | 0,02 € | ISO 4762 - M3 x 10 |
| 2 | 0,03 € | ISO 4762 - M3 x 20 |
| 4 | 0,08 € | ISO 4762 - M3 x 22 |
| 1 | 0,02 € | ISO 4762 - M3 x 35 |
| 1 | 0,01 € | ISO 4762 - M3 x 8 |
| 4 | 0,08 € | ISO 4762 - M4 x 12 |
| 4 | 0,06 € | ISO 4762 - M4 x 8 |
| 3 | 0,01 € | ISO 7093-1 - 3 |
| 1 | 0,01 € | ISO 7093-1 - 4 |
| 4 | 0,06 € | ISO 10642 M3 x 16 |
| 9 | 0,00 € | ISO 10642 M3 x 35 |
| 7 | 0,01 € | ISO 7092 - 3 |
| 5 | 2,17 € | DIN 705 - Stellring - Form A - Ø8 x Ø16 x 8 mm - M4 Gewinde |
| 2 | 0,87 € | DIN 705 - Stellring - Form A - Ø8 x Ø16 x 8 mm - M4 Gewinde |
| 6 | 2,60 € | DIN 705 - Stellring - Form A - Ø8 x Ø16 x 8 mm - M4 Gewinde |
| 18 | 0,52 € | DIN 562 - M3 |
| 5 | 0,06 € | ISO 10511 - M3 |
| 2 | 0,02 € | ISO 10511 - M4 |
| 5 | 4,00 € | Umlenkrolle Ø3 x Ø13 x 8,5 mm - Laufdurchmesser 9,68 mm |
| 1 | 4,14 € | Zahnriemen Gates 2GT - 2 mm Teilung, 6 mm breit |
| 1 | 3,80 € | RAMPS 1.4 - RepRap Arduino Mega Pololu Shield - 12 V |
| 1 | 8,17 € | Arduino Mega 2560 8-Bit 16 MHz |
| 1 | 5,80 € | RAMPS 1.4 LCD RepRapDiscount Smart Controller + Smart Adapter |
| 2 | 2,20 € | DIN 653 - Rändelschraube, niedrige Form - M4 x 20 |
| 8 | 7,42 € | Lineargleitlager igus RJ4JP-01-08 |
| 1 | 0,26 € | Gewindestange M10 x 470 mm - verzinkter Stahl |
| 2 | 10,06 € | Präzisionswelle Ø8 x 450 mm - X46Cr13 |
| 2 | 2,32 € | Riemenscheibe 2GT - 16 Zähne - Ø5 mm Bohrung - Ø12,7 mm |
| 2 | 0,18 € | Distanzbolzen mit Innengewinde - M4 x 5 mm |
| 1 | 0,09 € | Druckfeder Ø4,5 x Ø6,3 x Ø0,9 mm - 9,3 mm lang - D-144A |
| 4 | 1,34 € | [3D] CABLE_LEAD_CLAMP |
| 1 | 1,00 € | [Laser] CABLE_LEAD_X |
| 1 | 1,00 € | [Laser] CABLE_LEAD_Y |
| 1 | 0,00 € | CONTROLLER-HOUSING |
| 2 | 1,47 € | [3D] MOTORMOUNT |
| 1 | 1,50 € | [3D] TOOL-BASE |
| 1 | 1,53 € | [3D] TOOL-CLAMP |
| 1 | 1,56 € | [3D] TOOL-HOLDER |
| 1 | 1,59 € | [3D] TOOL-SLIDE |
| 1 | 1,63 € | [3D] X-SLIDER |
| 1 | 1,66 € | [3D] Y-END1 |
| 1 | 1,69 € | [3D] Y-END2 |
| 1 | 1,72 € | [3D] Y-SLIDER |
| 2 | 0,27 € | Doppelseitiges Klebeband - Tesa Powerbond Mirror - 19 mm breit |
| 1 | 1,16 € | TowerPro sg90 9g Servomotor mit Getriebe und Hebel |
| 2 | 0,00 € | Welle Ø3 mm - 93 mm lang |
| 2 | 0,01 € | ISO 4032 - M2 |
| 1 | Netzteil PA-1905-001 |


















