DIY CNC Laser Graveerder

Opnieuw een leuk DIY project gevonden op Instructables, een mini CNC Laser graveerder. Leuk voor mijn crea-dea echtgenote die zelf al eerder zelf aan de slag was met een soort van soldeerbout en div. objecten, maar ook leuk voor mijzelf om te proberen zelf home-made printplaten te maken.

De basis voor de Laser Engraver vormen twee oude DVD-writers. Hieruit worden de steppenmotor en geleidesysteem gesloopt en zorgen ervoor dat het bed links en rechts kan bewegen terwijl de laser op een vast punt gemonteerd is. Het geheel wordt aangestuurd door een Arduino UNO met hierop een CNC Laser Engraver shield die je kan en klaar op Aliexpress kunt bestellen. De laser wordt aangestuurd door een MOSFET driver en om de rook te verdrijven wordt een klein ventilatortje geplaatst.

Uiteraard wil ik altijd een stapje verder gaan. In dit geval is het plan om een print server toe te voegen zodat de graveerder via WiFi te gebruiken is. Dit zal ik echter in een aparte tutorial uitwerken.

Links:

https://www.instructables.com/How-to-Make-Powerfull-Laser-Engraver/

Onderdelen

ArtikelAantalPriijsWaar
DVD-Writer26,00Marktplaats
Arduino UNO15,36AliExpress
Cnc Shield V3 Graveermachine/3D Printer / + 4 Stuks A4988 Driver Uitbreidingskaart Voor Arduino17,11AliExpress
Mosfet Module IRF52011,17AliExpress
Creality 3D 12V/24V High-Power Laser, 445 nm132,86AliExpress
MDF 240*320*1610Uit de schuur
Triplex 170*170*510Uit de schuur
M5 boutjes 25mm + M5 koppelmoer + 2 M5 carrosserieringen + M5 boutjes 12mm42,10Plat
M5 boutjes 12mm + 2 M5 carrosserieringen + M5 koppelmoer41,90 Plat
M3 boutjes 30mm + moer20,30 Plat
4.5 40mm houtschroef10Uit de schuur
Loctite super glue-314,29Gamma
KCD1 4foot schakelaar11,38AliExpress
Totaal 62,47 

Benodigdheden

  • Zaag
  • Boormachine + 3 en 5mm houtboortje + 2, 3 en 5 mm metaalboortje
  • Liniaal of Winkelhaak
  • Schroevendraaiers
  • Kniptang + Striptang
  • Soldeerbout + tin
  • Isolatietape
  • Arduino IDE versie 1.8.18 of hoger op een Windows 10/11 laptop/desktop
  • 3D printer + PLA

Stap 1. DVD-writers uit elkaar halen

Had voor 6 euro 3 DVD-writers van Marktplaats weten te scoren. Twee leken vrijwel identiek en van het zelfde merk, dus die twee uit elkaar gehaald. Eerst de 4 schroefjes aan de onderkant losgedraaid en het deksel verwijderd.

Daarna de flatcabels losgehaald van de printplaat. Let erop dat je het 4-polige bruine kabeltje niet beschadigd, die stuurt namelijk de steppenmotor aan en heb je straks nodig. De andere kabeltjes kun je eventueel ook afknippen.

Daarna kun je de printplaat eruit lichten door het zwarte nokje opzij te drukken. Je kunt daarna de printplaat er gewoon uitlichten. De printplaat zit aan de onderkant wederom met een flatcable vast, ook deze kun je losmaken of afknippen.

Open nu de DVD lade door het witte mechanisme rechts beneden naar je toe te halen. Verwijder vervolgens het voorfront door aan de zijkanten de twee zwarte nokjes met een schroevendraaier in te drukken.

Vervolgens kun je het binnenwerk uit zijn metalen behuizing tillen.

Draai het binnenwerk om en draai de 2 (of 4) schroefjes van de geleider met steppenmotor los. En haal de geleider voorzichtig uit de behuizing. Let op, soms blijven de rubberen doppen in de behuizing vast zitten, die kun je uiteraard er gewoon uittrekken. Die rubberen doppen ook van de geleider verwijderen, evenals de overbodige flatcabels afknippen.

Verwijder tenslotte de motor die de DVD ronddraait door de 3 schroefjes los te draaien.

Doorloop dezelfde stappen met de tweede DVD-writer.

Stap 2. Jumperkabels op steppenmotors solderen

Om de steppenmotoren van de geleiders aan te kunnen sluiten op het Arduino shield hergebruik ik de flat cable stekkers van één van de printplaten van de DVD writers. Deze stekkertjes zitten vastgelijmd op de printplaat en kun door er voorzichting een klein plat schroevendraaiertje tussen te steken eenvoudig losmaken.

Buig de pootjes van de stekkertjes weer recht en soldeer hier 4 female jumperkabeltjes op waarvan aan één zijde het stekkertje het afgeknipt. (Op een zijde van het stekkertje zitten wellicht nog lijmresten, hier hecht het soldeer uiteraard slecht op, gebruik de andere zijde van het stekkertje om de jumperkabels op te solderen). Fixeer de kabeltje met een stukje isolatietape of krimpkous om te voorkomen dat ze onderling contact maken.

Sluit het kabeltje aan op de flat cable van de steppenmotor

Stap 3. Geleiders op de bodemplaat monteren

Voor de bodemplaat gebruik is een stukje MDF van 16mm dik en ongeveer 24 bij 32 cm. Op de bodemplaat teken ik de bevestigingsgaten van de geleider af en boor er gaatjes van 5mm in. Aan de onderkant verzink ik de gaatjes enigszins zodat de koppen van de schroeven wegvallen. Daarna bevestig ik de geleider met M5 boutjes, koppelmoeren, carrosserieringen en boutjes op de bodemplaat.

Daarna de boven en onder geleider haaks op elkaar geplaatst en met een 4-mm metaal boor dwars door beide beweegbare koppen heen geboord, met een paar druppels Loctite super glue-3 de bovenste geleider op de onderste geleider gelijmd en met een M4-30mm bout en moer beide koppen gefixeerd. Let er op dat de twee geleiders vrijelijk kunnen bewegen. Draai eventueel één of beide geleiders om omdat te bewerkstelligen. Zorg er tevens voor dat de twee geleiders haaks op elkaar gemonteerd worden, anders krijg je vertekende beelden bij het graveren.

Tot slot een “werkblad” gemaakt van een stukje dun triplex, ongeveer 170mm bij 170mm. Voor het monteren van het werkblad op de bovenste geleider heb ik dezelfde techniek gebruikt als hierboven. Namelijk een M4-10mm bout gevolgd door een M4-carrosseriering door een gat van de bovenste geleider gehaald, vervolgens nogmaals een M4-carrosseriering met afgesloten met een M4-bout. En dit natuurlijk op alle 4 de hoeken van de geleider.

Vervolgens de posities van de M4-boutjes exact overgenomen op het triplex werkblad en met een 4-mm houtboortje gaatjes in geboord. Vervolgens het werkblad op de boutjes geschoven. Dit zet stevig genoeg, er hoeft niet een afsluitende M4-moer geplaatst te worden.

Stap 4. Laser houder en box voor de elektronica 3D printen

Ik heb de volgende STL-files gebruikt en met m’n 3D printer geprint:

OnderdeelSTL file
Laser houderhttps://drive.google.com/file/d/1V5x-jSi1Fid0eHcvXn7j-HZvF6dCxb29/view?usp=sharing
Box voor de elektronica – bodyhttps://drive.google.com/file/d/1LvN0KuLv07EVBuNUM0ZKoaIh7-MFazJU/view?usp=sharing
Box voor de elektronica – cover https://drive.google.com/file/d/1tk0h8azGuc4fkpZufMkOcLwY2gWaMus2/view?usp=sharing

Hierbij de volgende printersettings gehanteerd

SettingWaarde
Extruder temperature200o
Hotbed temperature50o
Layer height0,2 mm
Infill density20% cubic
Wall/Top thickness0,8 mm
Generate supportUitgevinkt
RetractionAangevinkt
Printing Speed80mm/s
Cooling100%

Het resultaat

Stap 5. Laser houder gemonteerd

Het midden van MDF-bodemplaat opgezocht, en ongeveer 5cm afstand gehouden tussen de onderste geleider en de plek voor de Laser houder. Hier m.b.v. een 3mm houtboortje een gaatje geboord en met een verzinkboor verzonken. Tevens m.b.v. een 2,5mm metaalboortje in het midden van de Laser houder een gaatje voorgeboord. Door het geheel een 4.0 40mm houtschroef gedraaid.

Elektronica box met twee 12mm houtschroeven vastgezet op de bodemplaat

Stap 6. Elektronica monteren

Als eerste zetten we de Arduino en het CNC shield in elkaar. Plaats de headers van het CNC shield op de Arduino headers en schuif ze in elkaar. Nu gaan we de steppenmotor drivers op het CNC shield monteren, te beginnen met de X-as. Maar voordat we dat doen gaan we eerst de step-grootte van de steppenmotors in stellen. Dit met behulp de 6 pins die zich onder de steppenmotor driver bevinden. Je kunt de step-grootte instellen op basis van onderstaande tabel

Pololu A4988 Stepper Driver configuration:

MS0MS1MS2Microstep Resolution
LowLowLowFull step
HighLowLowHalf step
LowHighLowQuarter step
HighHighLowEighth step
HighHighHighSixteenth step

Door jumpers op de pin-paren te plaatsen zet je de waarde op “High”, door de jumper weg te laten op “Low”. Ik kies er voor om met een 16-de step te beginnen en plaats dus op alle 3 pin-paren een jumper.

Vervolgens kunnen we de A4988 steppenmotor driver plaatsen. Let daarbij op en de pin met EN linksboven komt te zitten (in overeenstemming met de EN markering op het CNC shield).

Plak tot slot de aluminium heatsink op de chip van de steppenmotor driver

Herhaal dit voor de steppenmotor driver van de Y-as.

Om de steppenmotors van de geleiders aan te kunnen sluiten moeten we eerst de aderparen van de beide “coils” vaststellen. Met behulp van een multimeter is dit eenvoudig vast te stellen. Zet de multimeter in de stand “Continue meten”, op mijn Velleman DVM832 multi-meter wordt dit aangegeven met een soort WIFI-symbool op zijn kant . Werk van links naar rechts, of van rechts naar links. Pak de eerste draad en sluit deze aan op de zwarte lead. Test m.b.v. de rode lead vervolgens de volgende draden op rij totdat je een beep hoort. Zodra je een geluidssignaal van de multi-meter hoort heb je een aderpaar te pakken. In mijn geval lagen de aderparen gewoon naast elkaar, dus A2, A1, B1, B2 (wit, paars, blauw, groen). Als je twee verschillende DVD-branders hebt gebruikt moet je dit wellicht herhalen voor de andere geleider. In mijn geval lagen ook voor de tweede DVD-brander de aderparen mooi op rij, dus A2, A1, B1, B2 (wit, bruin, rood, oranje).

Sluit nu de jumperkabels van de twee geleiders aan op het CNC shield. Onderste geleider op de Y-as, en bovenste geleider op de X-as. De headers hiervoor zitten naast de steppenmotor driver, boven de X, van beneden naar boven dus A2, A1, B1, B2 (de labels bevindt zich onder de X-as steppenmotor driver)

Herhaal dit voor de Y-as. Sluit een 12v, minimaal 1A, voeding aan op de voedingsaansluiting, zie hierboven. Sluit tevens een USB kabel aan op de Arduino en je laptop/desktop.

De laser en koelingsfan worden aangestuurd middels een IRF520 Mosfet Driver

Pinout

CNC ShieldIRF520 Mosfet driverToelichting
SpnEn +SIG
SpnEn – GND
12-36v +VIN
12-36v –GND
V+Naar Fan + Laser
V-Naar Fan + Laser

De Creality Laser die ik besteld heb is tevens geschikt om gemonteerd te worden op mijn Creality Ender 5 Pro 3D-printer. De Laser wordt geleverd met een speciale beschermende bril, een verloopkabeltje om hem aan te kunnen sluiten op het moederbord van de Creality Ender 5 Pro, 3 stukjes triplex en een reserve magneet. Op de laser is een fan voor gemonteerd. Voor het kunnen monteren op de metalen printkop van de Creality Ender 5 Pro zijn 3 magneetjes op de achterkant van de laser gemonteerd. Dit bracht mij op het idee om de CNC Laser Engraver tevens te voorzien van een metalen plaatje waarop ik de Laser kan vastklikken. Dan kan ik de Laser naar behoefte op de Engraver of de 3D printer plaatsen.

Zo gezegd zo gedaan. Had nog een metalen standaard voor mijn soldeerbout liggen die ik niet nodig had, die had de ideale maat voor dit doeleinde. Met een 3mm metaalboor er 2 gaatjes ingeboord, en die gaatjes tevens in de kop van de laserhouder geboord. Door het geheel twee M3 30mm boutjes gestoken en vastgezet met 2 moertjes.

Vervolgens een stukje rood-zwart draad van zo’n 15cm aan beide kanten gestript en vertind. Daarna een tweevoudige mail JST stekker op één van de uiteinden gesoldeerd en de solderingen afgedekt met een stukje krimpkous. Het andere einde op de V+ en V- terminal van de IRF520 Mosfet module vastgeschroefd.

Tot slot alle elektronica en bedrading in de elektronicabox gestopt, de Arduino Uno en Mosfet driver met een paar kleine zelftappende schroeven vastgezet in de elektronicabox. De schakelaar voor het aan- en uitschakelen van het apparaat is nog in bestelling, dus tijdelijk de bedrading van de 3,5mm jack en de voeding van de CNC shield even met een kroonsteentje aan elkaar verbonden. Daarna het deksel op de elektronicabox geschroefd.

Stap 7. GRBL firmware installeren op Arduino Uno

GRBL is een acronym voor “Garble”, en is CNC firmware voor de Arduino. GRBL is te downloaden van Github: https://github.com/grbl/grbl.

Download de laatste versie van de GRBL repository van https://github.com/gnea/grbl/releases/, kies voor de zip-file met de source code. Ik heb de v1.1h versie gedownload van https://github.com/gnea/grbl/archive/refs/tags/v1.1h.20190825.zip

Open met de verkenner de gedownloade zip file, en kopieer de map gbrl naar de libraries map van je Arduino IDE installatie

Start nu Arduino IDE op en open de GRBL sketch “grblUpload” m.b.v. Bestand -> Openen uit de directory …\Arduino\libraries\grbl\examples\grblUpload. Selecteer het juiste board type met Hulpmiddelen -> Board: -> Arduino AVR boards -> Arduino Uno. Controleer of de Sketch en bijbehorende bibliotheken te compileren zijn met Schets -> Verifieer/Compileer, als het goed is krijg je onderaan in Arduino IDE het volgende te zien:

De schets gebruikt 29762 bytes (92%)  programma-opslagruimte. Maximum is 32256 bytes.
Globale variabelen gebruiken 1633 bytes (79%) van het dynamisch geheugen. Resteren 415 bytes voor lokale variabelen. Maximum is 2048 bytes.
Weinig geheugen beschikbaar, er kunnen zich stabiliteitsproblemen voordoen

Als alles goed is gegaan, sluit als je dat nog niet gedaan hebt de Arduino Uno aan m.b.v. een USB kabel. Selecteer de juiste COM poort met Hulpmiddelen -> Poort. En upload de GRBL sketch met Schets -> Upload. Als alles goed is gegaan staat onderin in Arduino IDE de volgende boodschap:

Writing | ################################################## | 100% 5.30s

avrdude: 29762 bytes of flash written
avrdude: verifying flash memory against C:\Users\spost\AppData\Local\Temp\arduino_build_938068/grblUpload.ino.hex:
avrdude: load data flash data from input file C:\Users\spost\AppData\Local\Temp\arduino_build_938068/grblUpload.ino.hex:
avrdude: input file C:\Users\spost\AppData\Local\Temp\arduino_build_938068/grblUpload.ino.hex contains 29762 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 4.27s

avrdude: verifying ...
avrdude: 29762 bytes of flash verified

avrdude done.  Thank you.


Sluit Arduino IDE af.

Je bent nu klaar voor de eerste testen. Dit testen doen we met behulp van de terminalemulator software “PUTTY”. Start PUTTY op en kies voor Serial, COM<jouw comport>, Speed 115200.

Voordat je connectie maakt is het handig om “Local echo” aan te zetten, anders zie je straks niet welk GBRL-commando je hebt ingevoerd. Kies links onder Category voor “Terminal” en zet “Local echo:” op de optie “Force on”

Klik daarna op “Open” om de connectie te openen, de Arduino reageert met de prompt “Gbrl 1.1h …”. Type nu het GBRL commando “X1” in om de bovenste geleider 1mm naar rechts te laten bewegen. Type daarna het GBRL commando “X-1” in om de bovenste geleider 1mm naar links te laten bewegen. Herhaal dit met de commando’s “Y1” en “Y-1” om de onderste geleider te laten bewegen.

Check of je alles goed hebt aangesloten, wissel eventueel jumperkabels als de commando’s niet overeenkomen met de beweging. In de volgende stappen gaan we wat uitgebreider testen.

Stap 8. Laserweb software downloaden en installeren

Download Laserweb v4.0.999-138 of hoger, voor windows de 64-bits verie, van Github: https://github.com/LaserWeb/LaserWeb4-Binaries/releases/latest

Na het downloaden kreeg ik gelijk een melding van Microsoft Defender dat het een onbekend app betreft, gekozen om deze melding te negeren en toch te installeren. Na het installeren start Laserweb direct op en krijg ik wederom een melding van Microsoft Defender Firewall dat Laserweb communicatie nodig heeft met mijn thuis netwerk, dit toegestaan

Daarna is Laserweb klaar voor gebruik:

Kies links bovenin Laserweb voor “Comms” en vul de volgende waarden in onder Machine Connection:

  • Machine Connection: USB
  • USB/Serial Port: <de com poort waar je je Arduino Uno op hebt aangesloten>
  • Baudrate: 115200

Klik daarna op “Connect” om de verbinding te testen, als de verbinding succesvol tot stand is gekomen zie je links onderin Laserweb het volgende staan:

Je bent nu klaar om een proefafdruk te maken

Stap 9. Proefafdruk maken

Kies in Laserweb eerst onder Settings -> Machine Profiles voor “Generic GRBL machine”, en klik op Apply. Bevestig dat je de huidige instellingen wilt overschrijven.

Stel vervolgens onder Settings -> Machine de dimensies van je Laser graveerder in. In mijn geval is het werkblad van de Laser graveerder 170 bij 170mm, zie ook hierboven. Dus stel ik de dimensies als volgt in:

  • Machine width: 170 mm
  • Machine heigth: 170 mm

De rest van de instellingen laat ik nog even default en stel ik eventueel bij na de proefafdruk, open nu een file met een proefplaatje die je bijvoorbeeld hebt gemaakt met WordArt in Microsoft Word (Selecteer de tekst die je gemaakt hebt met WordArt, en kopieer die naar het klembord. Open Paint en plak de WordArt tekst en sla de proefafdruk op als .jpg file !)

Open nu deze file in LaserWeb met Files -> Documents -> Add Document

Maak de test groter en centreer die door het plaatje te selecteren, naar het midden te slepen en de Size aan te passen

<nog verder uitwerken>

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.