CNC frezen met open source software

Ik ben altijd op zoek naar nieuwe projecten om met mijn 3D printer te maken. Toen ik onlangs een nieuw ontwerp zag voor een computergestuurde numerieke code (CNC) freesmachine die voornamelijk 3D-geprinte onderdelen gebruikt, was ik geïntrigeerd. Toen ik zag dat de machine werkt met open source software en de controller een Arduino is met open source software, wist ik dat ik er een moest maken.

CNC freesmachines zijn precisie snijgereedschappen die worden gebruikt bij het maken van matrijzen, gravures en modellen. In tegenstelling tot andere freesmachines kunnen CNC machines op drie assen bewegen: de Z-as beweegt verticaal, de X-as horizontaal, en de Y-as beweegt heen en weer.

DIY your CNC

Hoewel veel van de onderdelen van deze CNC machine 3D geprint zijn, moeten verschillende onderdelen besteld worden om hem te laten werken. De maker, Nikodem Bartnik, heeft een lijst met onderdelen op de Thingiverse-pagina van het project, samen met links om de STL-bestanden van de 3D-geprinte onderdelen te downloaden.

Ik heb de benodigde onderdelen besteld en het wachten is begonnen. Ze werden vanuit het buitenland verzonden, dus sommige onderdelen lieten een maand op zich wachten. In de tussentijd 3D-printte ik de andere onderdelen.

De CNC machine is gebouwd op een Arduino controller met de open source GRBL motion-control software. De GRBL controller ontvangt CNC G-code (een op tekst gebaseerde lijst van instructies voor de CNC molen) en vertaalt deze in beweging door de stappenmotoren aan te sturen. De machine heeft één stappenmotor voor de Z-as (op en neer), één stappenmotor voor de X-as (links en rechts), en twee stappenmotoren voor de Y-as (achteruit en vooruit). De GRBL website heeft documentatie voor het laden van GRBL op het Arduino bord.

Ik zal niet ingaan op de details van de CNC hardware montage, omdat Nikodem een serie video’s heeft die het in detail uitleggen. In plaats daarvan zal ik me richten op de open source software die kan worden gebruikt om ontwerpen voor de CNC machine te maken en te draaien. Samen met Fedora als mijn basis besturingssysteem, zijn de andere stukken open source software die ik heb gebruikt GRBL, Inkscape, jscut, en CNCjs.

Voor deze tutorial, zal ik uitleggen hoe je een CNC gefreesde, houten versie van Larry Ewing’s Linux Tux logo maakt.

Maak je bestanden

De eerste stap voor het maken van een houten Tux is het downloaden van een zwart-wit versie van het logo in PNG-formaat van Wikimedia Commons.

cnc_bw-tux.png

Tux-logo van Wikimedia Commons

Het startpunt van het project, een PNG-afbeelding van Tux van Wikimedia Commons, gemaakt door gg3po, met een licentie onder de GPL v2.

Om het Tux-logo op de CNC-machine te laten werken, converteer je het Tux PNG-bestand naar een SVG-bestand met Inkscape door het PNG-bestand naar het Inkscape-venster te slepen. Gebruik dan Inkscape’s Trace Bitmap optie om de afbeelding om te zetten naar SVG paden. Dit creëert duplicaatkopieën van de afbeelding-één is een padenkopie, de andere is een bitmap-verwijder de bitmapkopie. Gebruik de Break Apart optie en verwijder de Fill eigenschap voor de omtrek van Tux en Tux’s mond; je hebt dan een SVG afbeelding die er uitziet als het omgekeerde van de originele afbeelding.

cnc_inverse-svg.png

Inverse Tux bestand gemaakt in Inkscape

Inverse Tux gemaakt in Inkscape. De zwarte secties zullen worden uitgefreesd door de CNC machine.

Volgende, zet het SVG-bestand om naar CNC G-code, wat een lijst met instructies is die de CNC machine vertelt hoe het gewenste ontwerp moet worden gemaakt. Ik heb de open source jscut software gebruikt, een web-based computer-aided manufacturing (CAM) programma. Je kunt de software downloaden en op je lokale machine draaien of de web-gebaseerde versie op jscut.org gebruiken, wat ik heb gedaan.

Open het SVG bestand op jscut.org met behulp van het Open SVG drop-down menu. Klik vervolgens op een of meer delen van de SVG afbeelding en klik dan op Bewerking maken. Kies het type bewerking (graveren, buiten, zak, enz.) en de diepte van de snede, en klik op Generate. De verschillende soorten bewerkingen bepalen waar de snede wordt gemaakt; u kunt de effecten van de verschillende bewerkingen zien door naar het tabblad Simulate GCODE te gaan, dat een voorbeeld toont van hoe de snede eruit zal zien. Voor Tux heb ik verschillende bewerkingen gemaakt voor verschillende delen van het ontwerp.

cnc-jscut.png

Het genereren van de Tux CNC G-code met jscut

Het genereren van de Tux CNC G-code met jscut.

Stel de eigenschappen van uw snijbit in onder de sectie Gereedschap; deze omvatten het specificeren van de diameter van de bit en hoe snel de snede moet worden gemaakt. Een beperking van jscut is dat je geen verschillende bitmaten kunt opgeven voor verschillende bewerkingen. Om Tux te maken, moest ik twee verschillende bits gebruiken: een kleinere bit om details te graveren zoals de ogen, neus en mond, en een grotere bit om de omtrek van Tux helemaal door de houten plank te snijden. Ik gebruikte jscut twee keer om twee verschillende G-code bestanden te genereren: een om de gravures te maken met de kleinere bit en een andere om de omtrek van Tux uit te snijden met de grotere bit.

Nadat je de twee G-code bestanden hebt gemaakt, is de volgende taak om CNC controller software te krijgen. Ik gebruikte de open source CNCjs. CNCjs is web-based, makkelijk te gebruiken, en ondersteunt interfacing met GRBL controllers. Nadat het is geïnstalleerd, opent u CNCjs in een webbrowser en verbindt u het met uw Arduino GRBL controller.

Klik op Upload G-Code en specificeer het bestand dat u hebt gemaakt met jscut. Als eerste heb ik het G-code bestand geladen dat de gravures bovenop Tux maakt.

Get ready to cut

Je bent bijna klaar om te beginnen met snijden! Omdat je helemaal door het hout gaat snijden, is het slim om een “afval plank” te gebruiken – een plank die bovenop de CNC machine ligt en waar je niet in wilt snijden. Dit is omdat wanneer de machine Tux uitsnijdt, het helemaal door en in de plank eronder zal gaan. De afvalplank kan indien nodig worden vervangen.

cnc-wasteboard.jpg

Afvalplank

Afvalplank met eerdere zaagsneden.

Bevestig de afvalplank stevig aan uw CNC machine om beweging te voorkomen, bevestig vervolgens het stuk hout dat u gaat gebruiken voor Tux. Er zijn vele manieren om het hout te bevestigen – ik gebruik dubbelzijdig tapijttape voor zwaar gebruik.

De laatste stap voordat je gaat snijden is om de bit op de spindel uit te lijnen met het stuk hout dat je gaat snijden. Gebruik de CNCjs assen knoppen om de spindel fysiek te verplaatsen, zodat de X, Y, en Z coördinaten van de bit zijn uitgelijnd met de linkerbovenhoek van uw hout. De Z-as moet net boven het hout liggen; u moet een stuk papier tussen het hout en de bit kunnen schuiven, maar u moet voelen dat de bit over het papier sleept als hij schuift.

Als alles is uitgelijnd, stelt u de werkpositie-offsets voor de X-, Y- en Z-assen in op nul door op de Set-knop voor elke as te klikken.

cnc-set-axes.png

Instellen werkpositie assen op nul

Instellen werkpositie op nul voor de X-, Y-, en Z-assen.

Druk op de Z+ knop in CNCjs om het bit een beetje omhoog te zetten zodat de spindel geen markering in het hout maakt wanneer deze wordt aangezet.

Om te beginnen met zagen, zet u uw veiligheidsbril, gehoorbescherming en een stofmasker op. Vervolgens zet u de spindel aan, en klikt u op de Play knop in CNCjs.

Tijdens het snijden houdt u de machine nauwlettend in de gaten en heeft u een plan om snel de stroom naar de CNC machine en spindel af te sluiten indien nodig. Wees klaar met een stofzuiger ook, want het zal veel zaagsel te creëren.

Nadat de eerste G-code bestand voltooit de gravures op Tux, zet de spindel uit en druk op de X0Y0 knop in CNCjs om de spindel terug te keren naar de thuisbasis X-en Y-as werkpositie. Dan overschakelen naar de grotere bit, upload het G-code bestand dat zal uitsnijden Tux omtrek, en volg hetzelfde proces uit te voeren.