Zelf een CNC Pen Plotter Bouwen met Automatische Werkzeugwisselaar – DIY Tekenmachine Tutorial
In deze tutorial laat ik zien hoe ik een CNC pen plotter (tekenmachine) heb gebouwd, maar met één coole feature: automatische werkzeugwisselaar. De machine kan automatisch kleuren wisselen, zodat we echt coole dingen kunnen tekenen.
Bekijk de video of lees de tutorial hieronder.
Overzicht
De constructie is gebaseerd op mijn DIY CNC Laser Graveermachine uit een eerdere video, waar het doel was de simpelste CNC machine te maken met minimaal aantal onderdelen. Het gebruikt 3 NEMA 17 stapmotoren voor X, Y en Z-as beweging, en een kleine servo voor de gripper. De "hersenen" is een Arduino UNO bord in combinatie met een CNC shield en drie A4988 stapmotor drivers.

De werkruimte is vrij groot: 360x280mm, en het detaillniveau is indrukwekkend. Ik was verrast hoe goed en precies de tekeningen uitkwamen, vooral met een 0,6mm gelpen.

Nu leg ik alles uit over het bouwen van zo'n tekenmachine: ontwerp, elektronica, firmware, software en G-code genereren.
DIY CNC Pen Plotter 3D Model
Laten we kijken naar het ontwerp. Zoals gezegd, gebaseerd op mijn vorige CNC laser graveerder met zo min mogelijk onderdelen.

De twee hoofdcomponenten zijn MGN15H lineaire rails met passende glijblokken. De beweging voor X- en Y-as wordt gedreven door GT2 riemen en pulleys. Voor de Z-as is het een eenvoudige heen-en-weer beweging waar het bewegende deel op en neer glijdt op twee 6mm lineaire staven met lineaire lagers. Een kleine hobby servo wordt gebruikt voor het grijpen van de pen.
Een homing-procedure is essentieel omdat de penhouders een vaste positie hebben; de machine moet een startpunt hebben. Daarom heeft elke as een endschoakelaar (limit switch) nodig.
Je kunt dit 3D-model vinden, downloaden en in je browser bekijken op Thangs:

Download het montage 3D-model op Thangs.
Dank aan Thangs voor het sponsoren van deze tutorial.
Voor de STL-bestanden voor 3D-printen van de onderdelen, download ze hier:
De Machine Monteren
Hier zijn alle onderdelen voor het monteren van de pen plotter.

Lijst met benodigde componenten voor de mechanische montage. De elektronica-lijst vind je verderop in de schakelschema sectie.
- MGN15H Lineaire Rail Amazon / Banggood / AliExpress
- Lineaire Staaf 6mm
- Lineaire Lager 6mm / AliExpress
- Stapmotor – NEMA 17 Amazon / Banggood / AliExpress
- GT2 Riem + Tandpulletje Amazon / Banggood / AliExpress
- GT2 Idler Pulley Amazon / Banggood / AliExpress
- Afstandsbusjes Amazon / Banggood / AliExpress
- Bouten en Moeren set Amazon / Banggood / AliExpress of lokale bouwmarkt + Platte Kop Schroeven 3x16mm
Ok, laten we beginnen met monteren. Ik start met het bevestigen van de basisplaat en de beugel voor de lineaire rail met M3 bouten. Alle bouten zijn M3 met diverse lengtes, behalve een paar M5 bouten voor de GT2 pulleys.

Zodra de twee zijkanten klaar zijn, bevestigen we de X-as lineaire rail met twee bouten per kant. Deze MGN15H rails bieden zeer soepele en spelvrije beweging dankzij de kogels/rollers in de glijblokken.

Voor de installatie is het goed om ze goed te reinigen en te smeren.
De Y-as rail gaat bovenop het X-as glijblok. We bevestigen ze met een centrale montageplaat. Eerst de Y-as rail aan de centrale plaat met drie bouten.

Dan de twee NEMA 17 stapmotoren: een bovenaan, een onderaan de plaat. Voor de GT2 pulleys hebben we M5 bouten en moeren nodig. De twee pulleys hier zijn idler pulleys voor grip op de X-as riem, en de getande pulley op de stapmotor.

De pulley op de motor moet afgelijnd worden met de idler pulleys. Voor de Y-as hebben we maar één idler pulley nodig aan de andere kant van de rail, omdat de riem in een lus wordt gemonteerd.

Nu de twee assen verbinden: we bevestigen de centrale plaat aan het X-as glijblok met vier M3 bouten. De machine heeft nu zijn hoofdf vorm en het Y-as glijblok kan elke positie in het werkgebied bereiken.

Vervolgens de pen-lifter mechanism monteren. Dit bestaat uit twee delen: een vast deel gebout aan het Y-as glijblok, en een glijdend deel dat op en neer beweegt. Zodra het vaste deel vastzit, monteren we de Z-as stapmotor erop. Deze is ook een NEMA 17 maar korter (23mm ipv 40mm) om gewicht te besparen.

De lifter wordt direct op de as van de stapmotor gemonteerd. De zetschroef was te lang, dus ik monteerde de lifter er zonder op; de opening past precies op de as. Ik heb het onderdeel later iets aangepast, maar je krijgt de geüpdatete versie in de downloadbestanden.
Vervolgens de vier lineaire lagers in het glijdende deel plaatsen en de micro servo bevestigen. Ook de penhouder naast de servo monteren.

Om het vaste en glijdende deel te verbinden: eerst de servo-draad door een gat in het vaste deel, dan de 6mm staven van boven door de lagers en het gat in het vaste deel. Tussen het vaste en glijdende deel plaatsen we een veer die het glijdende deel naar beneden duwt.

Dit zorgt voor betere contact van de pen met het tekenoppervlak. Aan de onderkant van het vaste deel zitten openingen voor M3 moeren om de 6mm staven te bevestigen.
Nu de penhouder-eenheid monteren die aan de zijkant van de machine gaat. Boven- en onderdeel met openingen voor maximaal 12 pennen.

Dan de riemen installeren. Eerst afmeten en knippen. Voor het bevestigen van de riem aan het glijblok maakte ik coole riemconnectors: de riem gaat om een holle as en tussen twee wanden die de riem vastzetten.

Met een M3 bout bevestigen we de eerste connector aan één kant van het blok, en herhalen voor de andere kant. We kunnen de connectors along de gleuven schuiven om de riem te spannen.

Voor de X-as loopt de riem in een rechte lijn van de ene naar de andere kant, door de pulleys voor spanning/grip met de motorpulletje.

Voor het spannen van de X-as riem maakte ik connectors die de vorm van de riem hebben, zodat we ze aan de zijkanten van de machine kunnen vastdraaien.

Nu de endschoakelaars (limit switches) installeren.

Ik moest de Z-as limit switch iets lager zetten. Voor X en Y gebruikte ik de switches van mijn vorige project die al bedrading hadden.
De Elektronica Aansluiten
De mechanische kant is klaar; nu de electronica.
Zoals gezegd: Arduino Uno + CNC shield + drie A4988 drivers.

Voor het bevestigen van de Arduino aan de machine maakte ik een extra 3D-geprint deel aan de zijkant. Arduino met twee M3 bouten bevestigen, en de CNC shield erbovenop.

We plaatsen drie jumpers per stapmotordriver voor 1/16 stapresolutie, en steken de drivers in de shield.
Dan de motoren aan de CNC shield aansluiten. Voor de micro limit switches: draden direct gesoldeerd, aan de andere kant female pin headers van jumperdraden.

Voor de servo motor: servo verlengkabels zodat het de CNC shield bereikt. Voor voeding: 12V voeding. Hier is het schakelschema van hoe alles verbonden moet worden.
DIY CNC Pen Plotter Schakelschema

Je kunt de benodigde componenten voor dit project via de onderstaande links verkrijgen:
- Stapmotor – NEMA 17 Amazon / Banggood / AliExpress
- Stapmotor – NEMA 17 23mm Amazon
- A4988 Stapmotordriver Amazon / Banggood / AliExpress
- Servomotor Amazon / Banggood / AliExpress
- Arduino CNC Shield Amazon / Banggood / AliExpress
- Arduino Uno Amazon / Banggood / AliExpress
- Limit Switch Amazon / Banggood / AliExpress
- DC Voeding Amazon / Banggood / AliExpress
Samenvattend: Arduino UNO + CNC Shield + 3x A4988 drivers. Drie micro limit switches voor homing, een servo voor de gripper. 12V voeding van minimaal 2A.
De Montage Afwerken
Enkele afrondende details. Hier monteur ik de pengripper die direct op de servo hoorn zit.

Voor kabelbeheer van de pen-lifter gebruikte ik een eettafelmatje: materiaal was stevig maar flexibel, perfect voor de job.

Onze tekenmachine is compleet. Maar een paar opmerkingen: omdat de Y-as rail aan één kant onondersteund is en 3D-print PLA niet zo stijf is, was de pen-lifter aan de vrije kant 4mm lager dan aan de ondersteunde kant.

Te veel spel, maar opgelost door de voorkant van de machine iets op te tillen. Verschil teruggebracht tot ~1mm, acceptabel. Als je deze grote rails gebruikt, raad ik aan de Y-as rail ook aan de andere kant te ondersteunen.

Een ander punt: de penhouder, want de pennen blijven niet goed zitten. Ik zou de bovenste openingen groter maken en zacht materiaal aan de zijkanten toevoegen zodat de pennen wel vastzitten maar makkelijk te grijpen zijn.

Ten slotte een plaat onder de hele machine leggen voor een vlak oppervlak.

En dat is het, onze machine is compleet.
DIY Pen Plotter Firmware en Besturingssoftware
Nu nog leven inblazen: firmware op de Arduino voor bewegingsbesturing, en besturingssoftware om G-codes te sturen.

De populairste keuze voor DIY CNC is de open-source GRBL firmware. Maar voor deze pen plotter hebben we een aangepaste versie nodig die de servo kan besturen: "grbl-servo". Deze verandert de standaard PWM frequentie van de spindle control pin (digitale pin 11) van 1kHz naar 50Hz, nodig voor deze servo.
Na downloaden en installeren van deze GRBL firmware in de library map van de Arduino IDE, moeten we het config.h bestand aanpassen om 3-as homing in te schakelen (standaard is 2-as).

Als besturingssoftware gebruiken we GRBL-Plotter, speciaal voor plotters met een grafische converter om G-code te genereren uit afbeeldingen. Ook open-source, te downloaden van GitHub.

Eerst de Arduino verbinden via de juiste COM-poort. Na "Kill Alarm" knop zien we de huidige GRBL parameters op de seriële monitor. We moeten enkele aanpassen aan onze machine.
GRBL Parameters
Eerst de bewegingsresolutie (stappen/mm). Dit hangt af van stapmotor type, stapresolutie en transmissie (GT2 riem/pulley). Voor onze machine: 80 stappen/mm voor X en Y voor nauwkeurigheid. Voor Z-as stel ik 40 in (niet nauwkeurig voor echte beweging, maar ons reciprocere beweging kan dat niet beter).

Parameter 23 op 0 zetten (limit switch locatie), maximum voedersnelheid, versnelling, maximum reissnelheid, en parameter 1 op 255 (stappenmotoren altijd actief). Let op: met Z-as motor altijd actief, stel de stroombegrenzing van de A4988 driver op minimum, want de kortere NEMA 17 wordt snel heet.
GRBL-Plotter Instellen
Nu de controller instellen. Veel opties, wat overweldigend kan zijn. Eerst Pen up/down vertaling instellen op Z-as met waarden voor Op en Neer positie.

In het Tool table tabblad definiëren we de penkleuren en hun posities. Let op: deze waarden zijn voor G53 (machine coördinatensysteem), gedefinieerd door de harde limit switches en de maximum reikwijdte uit de GRBL parameters.

Voor de positie van elke pen gebruikte ik offset waarden: 0 voor X en 277 voor Y. Dit plaatst de gripper voor de eerste pen, en dan definieer ik de Y-waarde per pen (21,7mm in negatieve richting).

We kunnen ook voedersnelheid en up/down positie per pen apart instellen voor verschillende pentypes.
In de Tool change tab selecteren we "Perform tool change on Tx M06", wat de machine laat wisselen wanneer deze commando in de G-code voorkomt.

De "x" waarde na de T geeft het hulpmiddelnummer uit de tool table. Voor tool change moeten we "select" en "remove" scripts opnemen, uitgevoerd bij Tx M06. Hierin definiëren we de gripperbewegingen voor nemen/terugleggen van de pen.

Bij selecteren: gripper positioneert voor de pen (absoluut machine coördinaten uit tool table), servo opent gripper, beweegt 4mm omhoog, beweegt naar pen in X en iets in Y richting, gripper sluit, tillt pen op, keert terug naar startpositie. Bij verwijderen: omgekeerde volgorde.

Alle parameters hangen af van de pen afmetingen en houder. Alleen testen en corrigeren werkt.
G-code Genereren voor CNC Pen Plotter met Automatische Werkzeugwisseling
Tot slot: hoe genereren we G-code uit afbeeldingen met GRBL-Plotter.

Na het laden van de afbeelding klikken we op "Preview with colors from table" om te zien hoe het eruitziet. In de Image correction tab kunnen we Heldersheid, Contrast, Gamma en Saturatie aanpassen voor kleuren die lijken op de echte afbeelding. We stellen de uitvoergrootte in mm in, en in de Color replacing tab verwijderen we kleuren die we niet willen gebruiken.

Bijvoorbeeld: apricot kleur (wit in de afbeelding) verwijderen. Dan op "Create G-Code" klikken en de G-code wordt gegenereerd.
We kunnen ook G-code genereren uit SVG-bestanden: sleep en zet neer, en de software genereert direct.

Voor het plotten: zet de 0-positie waar je wilt in het werkgebied en klik op Play.

De pen plotter begint te werken en we kunnen genieten van de magie.

Ik hoop dat je van deze video hebt genoten en iets nieuws hebt geleerd. Stel vragen in de reacties hieronder.
Productieproces
- CNC-Machines: Geschiedenis, Ontwerp en Toekomsttrends
- Bouw een Volledig Functionele CNC-machine met Arduino Nano R3
- Bouw Je Eigen Universele CNC Machine – Complete DIY Handleiding
- Drie bewaarde technieken voor het bouwen van vijf-as CNC-machines
- Top 10 Precisie-onderdelen Geproduceerd door CNC-werktuigmachines
- CNC Machinegereedschappen Selecteren: Professionele Gids Voor Tool Levensduur En Productiviteit
- CNC-frezen onder de knie: complete handleiding voor bediening en instelling
- Maximaliseer CNC-machine nauwkeurigheid: Een praktische gids voor precisie en betrouwbaarheid
- Snelle Vergelijking van CNC Freesgereedschappen: Frezen, Draadfrezen & Meer
- Top-Turn S50 hellingbed CNC draaibanken: Precisie bewerking voor lange werkstukken
- Lange werkstukken met precisie draaien met hellingbed CNC draaibanken