3d-printer - Deel 6 - Toolchain en Printen

Door Milosonator op maandag 8 april 2013 12:19 - Reacties (2)
Categorie: 3d Printen, Views: 6.938

Dit is het zesde en voorlopig laatste deel in mijn blogserie over 3d-printen. Hieronder vind je een lijstje naar de vorige delen:

Het maken van een 3d-printer - Deel 1
Deel 2 - Het frame
Deel 3 - XYZ
Deel 4 - Hot-end en Extruder
Deel 5 - Elektronica

Toolchain

Om efficient en succesvol te kunnen printen met een 3d-printer, moet je een zogenoemde toolchain hebben. Dit is niet een ingewikkeld programma wat je moet installeren, maar de benaming voor de reeks tools die je gebruikt om van idee naar voorwerp te gaan. Ik zal mijn toolchain hier voorleggen en dan stap voor stap laten zien wat ik met de tools doe.
In het algemeen ziet de toolchain er zo uit:

Ontwerpen -> Slicen -> Gcode communiceren -> Uitvoeren

De ontwerpstap kan in principe ook gezien worden als de -download ontwerp van internet- stap.

Ontwerpen

Als je een idee hebt, dien je dit idee over te brengen naar je computer en moet je er een model van maken. Dit proces (modeleren) kan op vele verschillende manieren. Ik als Informaticus houd van een simpele wiskundige aanpak. Er zijn ontelbaar veel programma's om in te ontwerpen, maar mijn voorkeur gaat uit naar OpenScad. Dit gratis en open source programma staat toe door middel van functies te schrijven modellen te creeeren. Je typt bijvoorbeeld: cube([10,10,10]);, dit resulteert in een vierkant van 10 bij 10 bij 10. Simpel toch?
Het voordeel van het op deze manier objecten 'programmeren' is dat je veel wiskundige functies en variabelen kan gebruiken. Zo kan je je objecten 'parametrisch' maken. Door dit te doen zijn jouw objecten heel simpel aanpasbaar te maken, vergroten of een ander maat schroefje gebruiken? Geen probleem, je past wat variablen aan en rendert opnieuw het object.
Met OpenScad is heel erg veel mogelijk, en ik zal hier een simpel voorbeeld laten zien van hoe ik een object ontworpen heb die ervoor zorgt dat mijn douchekop niet gaat 'hangen' door de voorkomen dat de slang knikt.

Met de volgende code:
code:
1
2
3
4
difference(){
    cube([20,15,20]);
    translate([10,3,0]) cylinder(r=8,h=20);
}


Krijg je het volgende resultaat:
http://blog.stygia.nl/wp-content/uploads/douche-openscad.png

Zo eenvoudig is het dus. Ik zal verder niet dieper ingaan op de exacte syntax en het gebruik van OpenScad, maar voor meer informatie beveel ik je hun website aan.

Met de functie Design -> export STL... produceert OpenScad een .STL bestand (STereoLithography) wat een redelijk veelgebruikt bestand is voor 3d-modellen. Met dit bestand kunnen we met de volgende tool aan de slag.

Slicen

Bij het zogeheten 'slicen' gaan we een programma gebruiken dat ons .stl bestand inleest, om vervolgens dit model te vertalen in een reeks commando's die de firmware op de printer kan lezen. Ik gebruik hiervoor het programma Slic3r. Dit is weer een gratis open source programma dat makkelijk is in gebruikt, en goede resultaten oplevert. Er zijn natuurlijk meer (geavanceerder) programma's dit dit kunnen, maar hier zal ik niet verder op in gaan.
Het slicen moet zonder meer goed gebeuren, de kwaliteit van de instellingen die je in Slic3r opgeeft is erg bepalend voor de kwaliteit van het printen. Er zijn veel instellingen die je kan doen. De essentie is echter de afmetingen van de printer, de gebruikte nozzle en filament diameters en de gewenste temperaturen voor tijdens het printen.

http://blog.stygia.nl/wp-content/uploads/slic3r.png

Door op export Gcode te drukken gaat Slic3r aan de slag om een .gcode bestand te produceren. Een Gcode bestand bevat regels text (commando's) die de firmware van de printer sequentieel kan uitvoeren. Dit bestand kunnen we in de volgende tool gebruiken om de commando's uit het .gcode bestand te versturen naar de printer.
Hier een paar regels Gcode om je een impressie te geven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
M190 S65 ; wait for bed temperature to be reached
M104 S205 ; set temperature
G28 ; home all axes
M109 S205 ; wait for temperature to be reached
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0
M82 ; use absolute distances for extrusion
G1 F1080.000 E-2.50000
G92 E0
G1 Z0.350 F4200.000
G1 X112.750 Y110.570
G1 F1080.000 E2.50000
G1 X112.400 Y110.850 F450.000 E2.51415


Je ziet hier een fragment uit het bestand douche.gcode. In het begin wordt er vooral meta-informatie gestuurd, de rest van het bestand is saaier en ziet er meer uit als regel 11 ;).

Communicatie naar de printer

http://blog.stygia.nl/wp-content/uploads/pronterface.png

Met het programma 'Printer Interface' (of Pronterface) kan je communiceren met de printer. De standaard-workflow is simpel: Verbinden met de printer, bestand inladen en tot slot de print starten.
Verder biedt het programma nog functionaliteit om bijvoorbeeld eerst een print naar de SD-kaart te kopieren en vervolgens een print vanaf de SD-kaart te starten. Ook kan je de temperaturen instellen en handmatig alle assen bewegen.
Dit is de laatste stap in de toolchain om tot een print te komen. Echter er is nog een klein detail wat ik hier niet uitgebreid zal bespreken en dat is de firmware. De firmware is een Arduino project waarin wat instellingen gedaan moeten worden en vervolgens naar de printer geupload moet worden met behulp van de Arduino IDE.

Resultaat

Na een half uurtje printen is hij er dan:
https://tweakers.net/i/cZZmPwT21qsKNrvEztCmd8EuCjs=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/3JYIsCq1p8MHj5JKl0n6sIre.jpg?f=user_large
In actie:
https://tweakers.net/i/xRxjJO9W4Hl3ulfYd6loMqajwwI=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/oQgY2UxLoF9pVgo171Me5B7e.jpg?f=user_large

Slot

Dit concludeert mijn verhaal over open source 3d-printen. Ik hoop dat ik wat mensen heb kunnen inspireren door het lezen van mijn verhaal. Voor iedereen die geïnteresseerd is geraakt, raad ik aan rond te kijken op de volgende sites. Bezoek vooral ook eens #reprap op freenode.net .
Thingiverse
RepRap Wiki
Makerbot
RepRap blog
YouTube kanaal van Neil Underwood
Website van Josef Prusa
OpenSource 3D printing op GoT

Verder moedig ik aan tot het stellen van vragen en het voeren van discussie. Dat kan hier beneden, maar ook op het OpenSource 3d printing topic op GoT.

}:O

Volgende: 3d-printer - Filmpje 04-'13 3d-printer - Filmpje
Volgende: 3d-printer - Deel 5 - Elektronica 02-'13 3d-printer - Deel 5 - Elektronica

Reacties


Door Tweakers user holygame, maandag 8 april 2013 12:39

Ik had eigenlijk gehoopt op een resultaat. Heb je dit object ook daadwerkelijk geprint?
Tevens wil ik even vermelden dat ik je reeks blogs erg gewaardeerd heb, erg mooi om te lezen!

Door Tweakers user Milosonator, maandag 8 april 2013 15:57

holygame schreef op maandag 08 april 2013 @ 12:39:
Ik had eigenlijk gehoopt op een resultaat. Heb je dit object ook daadwerkelijk geprint?
Tevens wil ik even vermelden dat ik je reeks blogs erg gewaardeerd heb, erg mooi om te lezen!
Ja ik heb dit (niet exact, model stond op mijn computer die nu stuk is) ook daadwerkelijk geprint, zal spoedig een fotootje of twee plaatsen. Bedankt voor de suggestie, maakt het inderdaad wel een beetje af.

Edit: Hij staat erbij! Fijn dat je de serie kon waarderen.

[Reactie gewijzigd op maandag 8 april 2013 18:58]


Reageren is niet meer mogelijk