Direkt zum Hauptinhalt

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.

grafik.png

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

grafik.png grafik.png grafik.png grafik.png

Hardware

Übersicht
  • RAMPS 1.4 + Arduino Mega 2560
  • DRV8825 (1/16 Schritt) - 2x8 StepStick

grafik.png grafik.png grafik.png

Servomotoren (Miniatur-Servo)

grafik.png grafik.png

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

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

grafik.png grafik.png image.png

  1. zuerst den Hubschlitten bis ganz nach unten drücken (ohne Magnet)
  2. dann Stift locker einsetzen, sodass die Stiftspitze das Papier berührt
  3. den Stift zusätzlich etwa 1 mm nach unten drücken (Kraft) und dann mit der Stellschraube fixieren
  4. GCode testen und prüfen, ob der Stift richig abhebt oder ob jede Leerlauflinie mitgezeichnet wird
  5. 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) sollten folgende Dokumenteneinstellungen adäquat vorgenommen werden, um die Dimensionen XY zu beachten:

  • Blattbreite 346 mm
  • Blatthöhe 222 mm
  • Anzeigeeinheit mm
  • Dokumenteneinheit mm
  • Skalierungsfaktor 1,0

Die Achsen sind irgendwo zwischen A3 und A4 dimensioniert. Zur Einfachheit kann einfach mit A4 Format gearbeitet werden. Im folgenden Beispiel begrenzt der rote Rahmen das Motiv. Somit zeichnen wir nicht über das Blatt hinaus.

grafik.png

grafik.png

Diese Vorlage kann hier heruntergeladen werden (SVG).

5. Grafik barbeiten und GCode generieren

Der Plotter wird durch GCode gefüttert. Diesen generieren wir über das Plotty (GCode Generator for Pen Plotter).

Das alte, nicht mehr verwendete Plugin findet sich hier: 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.

grafik.png

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)

grafik.png grafik.png grafik.png grafik.png grafik.png

  • 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

Todos

  • Hochladen der Magnethalter
  • Dimensionen der beiden Magnethalter in eine SVG-Vorlage mit Größenbegrenzung (346x222, 297x210mm) einzeichnen -> vermeidet Kollision zwischen Werkzeug und Magnethalter (Achtung: Pufferzonen einplanen: links/rechts ein paar Millimeter, sowie Stiftdurchmesser)
  • ordentliches Koordinatensystem aufkleben (aktuell Malerkrepp)