Verander je 3D-printer in een self-runner - met auto-ejection, printwachtrijen en eindeloze loops!
Laten we meteen aan de slag gaan! Als je een Klipper-printer hebt, is het allemaal supergemakkelijk - omdat deze functies rechtstreeks in de Klipper-firmware zijn geïntegreerd. Toch worden ze vaak over het hoofd gezien.
Voor deze handleiding gebruiken we de Orca Slicert, maar het werkt ook met elke andere slicer.
‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️
De volgende instructies hebben betrekking op het bewerken van G-code en firmware. Als je hier fouten maakt, kun je je printer beschadigen. Vanaf nu handel je op eigen risico!
‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️ WAARSCHUWING ‼️
Een printwachtrij instellen
Open de Orca Slicer en ga naar de apparaatinstellingen. Ga vervolgens naar de machineopties (voor Mainsail) of configuratie (voor Fluidd) in de linker werkbalk. Open daar het bestand moonraker.conf en voeg het volgende toe:
[job_queue]
load_on_startup: True
automatic_transition: True
job_transition_delay: 10
job_transition_gcode: CLEAR_BED
Zorg er ook voor dat het volgende is opgenomen:
[file_manager]
queue_gcode_uploads: True
enable_object_processing: False
Sla het bestand op en start het systeem opnieuw op.
Dit stelt de wachtrij in - de ene printtaak volgt automatisch op de volgende. Dit is precies wat de eerste twee regels doen. De overgangsvertraging zorgt ervoor dat er een pauze van 10 seconden is tussen de printtaken - je kunt deze waarde natuurlijk naar wens aanpassen. De zogenaamde Transition-G-code is de G-code die wordt uitgevoerd tussen twee printtaken. Je moet hier dus opgeven dat de printer de voltooide print automatisch uitwerpt voordat de volgende start.
Ga nu terug naar de machine en open het bestand gcode_macro.cfg. Voeg daar het volgende in:
[gcode_macro CLEAR_BED]
G-Code:
M190 S30 #wait for bed temp to be 30
G91 #relative positioning
G1 Z10 #Raise Z10
G90 #absolute positioning
G1 X110 Y218 F3000 #Move printhead to middle and back
G1 Z1 #Move printhead down
G90 #absolute positioning
G1 X110 Y1 Z1 F2400 #Push Print off
Deze macro maakt het printbed schoon tussen twee prints. De eerste opdracht wacht tot het bed is afgekoeld tot 30°C. 30°C werkte goed voor ons - we gebruikten een getextureerde PEI-plaat van 3DJake. Als je een andere plaat of filament gebruikt, moet je hier misschien een beetje experimenteren. Voor onze tests hebben we alleen onze 3DJake ecoPLA gebruikt.
G91 activeert relatieve positionering - dit betekent dat alle volgende bewegingsopdrachten verwijzen naar de huidige positie van de printkop. Met G1 beweegt de printkop iets omhoog en weg van het geprinte onderdeel. G90 schakelt dan terug naar absolute positionering - de printkop beweegt nu naar vaste XY-coördinaten in het printgebied, ongeacht waar hij zich op dat moment bevindt. Het volgende G1 commando beweegt de printkop precies naar het midden van de X-as en helemaal achteraan het printbed met een snelheid van 3000 mm/min. Dan beweegt de printkop naar beneden tot 1 mm boven het bed met G1, en met de laatste opdracht G90 duwt hij het voltooide model naar voren.
Dat is het in principe! Nu hoef je alleen nog maar één bestand voor te bereiden en te printen - en dan meteen het volgende te versturen. Op de apparaatpagina zie je dat er een wachtrij is gestart. Zodra de eerste print klaar is, wordt automatisch de macro CLEAR_BED gestart. De printer wacht dan tot het bed is afgekoeld tot 30°C en verwijdert dan het model. Zonder enige actie van jouw kant!
Één print herhalen in een eindeloze lus
Oké, we hebben de wachtrij onder controle. Maar wat als je hetzelfde bestand steeds opnieuw wilt printen? Daar is het SD_LOOP commando voor.
Ga hiervoor naar printer.cfg en voeg ergens de sectie [sdcard_loop] toe - de exacte locatie maakt niet uit. Dit activeert de optie om prints in een lus te laten lopen. Nu is er alleen nog een geschikt G-code commando nodig om het geheel te starten. De beste manier om dit te doen is direct in de slicer - ik zou aanraden om hiervoor een apart printprofiel te maken. Op deze manier kun je gemakkelijk heen en weer schakelen tussen "normaal printen" en "loop-printen".
Ga in je printerprofiel naar de G-codes van de machine en voer in de start-G-code het volgende in: SDCARD_LOOP_BEGIN COUNT=5. In dit geval wordt het printen 5 keer herhaald. Je kunt de waarde natuurlijk aanpassen - en als je wilt dat de print oneindig vaak wordt herhaald, stel je gewoon COUNT=0 in.
We gebruiken geen printwachtrij, maar je kunt nog steeds dezelfde G-code macro gebruiken om het printbed leeg te maken. Je hebt hier twee opties: Of je kopieert de inhoud van de macro die we eerder hebben gemaakt rechtstreeks naar de G-code aan het einde van je slicer - of je schrijft gewoon het commando CLEAR_BED in de G-code aan het einde, ervan uitgaande dat je de macro al hebt gemaakt in je macro.cfg.
Heel belangrijk: SDCARD_LOOP_END moet aan het einde van je G-code staan. Dit is het signaal aan de printer dat de lus hier eindigt. Alles tussen SDCARD_LOOP_BEGIN COUNT=5 en SDCARD_LOOP_END wordt dienovereenkomstig herhaald.
En nu opslaan - en dan gewoon beginnen met printen. Je loop wordt automatisch uitgevoerd!
Wanneer het printen is voltooid, blijft de voortgangsbalk gewoon op 99 % staan totdat de temperatuur van het bed is gedaald tot 30°C. Pas dan wordt het model automatisch verwijderd - en dan begint de volgende loop.
Als je de lus na de huidige printrun wilt stoppen, kun je gewoon SDCARD_LOOP_DESIST in de console invoeren. De volgende print wordt dan niet meer gestart.
Marlin printers
En wat als je geen Klipper printer hebt? Geen probleem - je kunt iets doen dat erg lijkt op wat we zojuist hebben laten zien. Je hoeft alleen maar de End-G code aan te passen zodat je printer de voltooide print automatisch uitwerpt. Het basisidee is hetzelfde, maar de waarden kunnen verschillen afhankelijk van het printermodel.
Laten we eens verder kijken:
M190 S30 #wait for bed temp to be 30
G91 #relative positioning
G1 Z10 #Raise Z10
G90 #absolute positioning
G1 X110 Y218 F3000 #Move printhead to middle and back
G1 Z1 #Move printhead down
G90 #absolute positioning
G1 X110 Y1 Z1 F2400 #Push Print off
Je kunt de commando's die hier staan in principe voor elke printer gebruiken - maar let op: De G1 commando's voor X en Y (regel 5 en 8) zijn alleen geschikt voor de K1 printer of vergelijkbare CoreXY printers met identieke inbouwruimte.
Je moet weten hoe groot je inbouwruimte is. Als je printbed bijvoorbeeld 250 mm breed is, moet regel 5 er als volgt uitzien:
G1 X125 Y248 F3000 #Move printhead to middle and back
Dit verplaatst de printkop naar het midden van de X-as (d.w.z. 125 mm van de rand) en helemaal naar achteren op de Y-as, slechts 2 mm van de achterste rand.
Regel 8 zou er dan zo uit moeten zien:
G1 X125 Y1 Z1 F2400 #Push Print off
Hierdoor blijft de printkop in het midden van de X-as, maar wordt hij helemaal naar voren verplaatst, op slechts 1 mm van de voorste rand, om de print van het bed af te duwen.
Let op: deze methode is bedoeld voor duwen met de printkop. Je hoeft echter niet per se de printkop hiervoor te gebruiken - vaak is het zelfs beter om het hele gantry frame te gebruiken om te duwen.
Dit is echter problematisch bij de K1 omdat de riemen in de weg zitten. Daarom moet er zo min mogelijk kracht worden uitgeoefend op de gantry - daarom raden we aan bij de K1 de printkop te gebruiken om te duwen.
Als je met de gantry wilt duwen, hoef je alleen de positie van de printkop op de X-as te veranderen. Verplaats hem gewoon naar de zijkant. Voor een printbed met een breedte van 250 mm zouden regels 5 en 8 er als volgt uit zien:
Regel 5: G1 X1 Y248 F3000 #Move printhead to middle and back
Regel 8: G1 X1 Y1 Z1 F2400 #Push Print off
En hoe zit het met looping met Marlin? Als je een Marlin-printer hebt, kun je in principe precies hetzelfde doen als met looping bij Klipper - alleen met het M808-commando. Het principe blijft hetzelfde: je stelt de lus in met behulp van de start- en eind-G-code in je slicer. Je kunt ook meer gedetailleerde informatie en voorbeelden vinden op de Marlin website - het is de moeite waard om daar eens een kijkje te nemen als je je hierin wilt verdiepen.
Looping voor niet-Klipper printers
Als je geen Klipper-printer hebt, kun je nog steeds een loop opzetten - door simpelweg verschillende G-code bestanden aan elkaar te koppelen en ze via de SD-kaart af te drukken. Als alternatief kun je het geheel ook exporteren als een .3mf-bestand - dit is in feite gewoon een gecomprimeerde map.
Dit is hoe het werkt met Orca Slicer:
Slice je print zoals gewoonlijk en exporteer het dan als een "Plate Sliced File". Je kunt dit bestand openen met een unpacker zoals WinRAR - je vindt dan de G-code in de metadata map. Open het bestand in een teksteditor. Nu kun je de volledige inhoud kopiëren. Als je hetzelfde bestand meerdere keren wilt printen, plak je de gekopieerde code gewoon meerdere keren achter elkaar. Als je een printwachtrij met verschillende modellen wilt maken, moet je ook de andere modellen slicen, hun G-code exporteren en dan plakken na de eerste G-code.
Sla nu het bewerkte tekstbestand op en sluit het. WINRAR zal je vragen of je het archief wilt bijwerken met de wijzigingen - klik op "ja" en je wijzigingen worden toegepast. Open vervolgens het .3mf bestand opnieuw in Orca Slicer. In de preview kun je nu zien dat de modellen elkaar overlappen en de printtijd is ook veranderd - en dat is precies wat we willen!
Nu hoef je het bestand alleen nog maar naar je printer te sturen - en die zal het model printen en automatisch uitwerpen zo vaak als je de G-code hebt ingevoegd.
► Als je het hele proces uitvoert met een Bambu Lab printer uit de A-, P- of X-serie - is het proces in principe hetzelfde. Maar: we kunnen je aanraden om de video's van Factorian Design te bekijken. Hij gaat extreem gedetailleerd op alles in en heeft echt veel werk gestoken in het maken van de nodige G-code aanpassingen om perfect te passen bij de Bambu printers. Het is zeker de moeite waard als je het goed wilt doen!
- Automatisering voor de Bambu Lab P1/X1-serie - video door Factorian Design
- Automatisering voor de Bambu Lab A-serie - video door Factorian Design
Een paar dingen om in gedachten te houden:
► Bewerk End-G-code
Je kunt een foutmelding krijgen dat de printer alle assen moet thuisbrengen voordat de CLEAR_BED macro kan worden uitgevoerd. In ons geval was dit omdat er een M84-commando in de END_PRINT macro in de End-G-code stond. En dit kan ook bij jou gebeuren - veel printers gebruiken macro's in de End-G-code in plaats van elke regel G-code apart te schrijven.
Wat te doen? Zoek in je macro.cfg naar de overeenkomstige macro (bijv. END_PRINT) en bewerk hem daar direct. Als de volledige G-code in het veld End-G-code staat, kun je deze daar gewoon aanpassen.
► End-G-code volledig vervangen
Voor sommige printers - vooral die waarbij je geen toegang hebt tot de macrobestanden - kan het nodig zijn om de G-code aan het einde volledig te vervangen. In zulke gevallen is een zeer eenvoudige code vaak voldoende, bijvoorbeeld:
M104 S0 ; extruder heater off
M140 S0 ; heated bed heater off (if you have it)
G91 ; relative positioning
G1 E-1 F300 ; retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ; move Z up a bit and retract filament even more
G28 X0 Y0 ; move X/Y to min endstops, so the head is out of the way
M84 ; steppers off
G90 ; absolute positioning
Als jouw printer een nozzle wiper heeft, kun je gewoon een paar G1-commando's invoegen om de nozzle er na het printen overheen te bewegen en schoon te maken.
► Let op de benodigde ruimte
Om de printkop het model van het bed te laten duwen, moet hij zichzelf van tevoren goed positioneren - met andere woorden, hij heeft genoeg ruimte nodig om dicht genoeg bij het bed te komen voordat hij naar voren beweegt en het model eraf duwt.
In onze test hebben we de printkop aan de achterkant van het bed geplaatst. In het geval van de K1 betekent dit dat de achterste 55 mm van de installatieruimte niet gebruikt kan worden vanwege de grootte van de printkop. Zorg er dus voor dat je de speling van je printkop meet voordat je het uitprobeert - en zorg ervoor dat je model zich niet in deze gevarenzone bevindt.
Ook belangrijk: de modelgrootte zelf. Hele kleine of platte modellen met een groot contactoppervlak hechten vaak te sterk - het is bijna onmogelijk om ze eraf te duwen. Zeer grote modellen kleven ook extreem sterk en zijn moeilijk weg te duwen. In zulke gevallen is het meestal beter om het hele portaalframe te gebruiken om te duwen - dit levert aanzienlijk meer kracht en is effectiever voor grote modellen dan alleen de printkop.
► Hechting aan het printbed
Zowel een slechte als een te goede hechting kan een probleem worden: Als de hechting te zwak is, zal het moeilijk zijn om meerdere prints na elkaar te maken op precies dezelfde plek - het model kan loskomen of wegglijden bij de tweede doorgang. Als de hechting te sterk is, kan de printkop het onderdeel niet losmaken - en in het ergste geval kan dit zelfs je printer beschadigen.
De oplossing? Een goed printbed (bijv. een PEI-plaat van hoge kwaliteit) en een perfect afgestelde Z-offset zijn absoluut cruciaal als je deze auto-ejection-methode betrouwbaar wilt gebruiken.
► Geschikte filamenten
Filamenten die een gesloten behuizing vereisen zijn niet geschikt voor deze methode - omdat de printerdeur open moet blijven zodat het model uitgeworpen kan worden. Dit betekent dat ABS, nylon, ASA en soortgelijke materialen niet geschikt zijn. Zelfs PETG kan problematisch zijn omdat het vaak extreem goed hecht en moeilijk van het bed te verwijderen is.
► Purge lines
Als je printer een purge line trekt voor elke printstart, moet je die vervangen door iets anders. Wij hadden bijvoorbeeld een KAMP purge line geactiveerd op onze K1. Als deze bij elke lus opnieuw wordt geprint zonder te worden verwijderd, kan dit tot problemen leiden.
Maar: De printer MOET voor elke afdruk materiaal voorschieten om de nozzle voor te bereiden. Daarom onze tip: Vervang de purge line door een klein randje (bijv. 2 mm) - dit wordt dan samen met het model uitgeworpen.
► Warme hotend, oozing-gevaar
Zorg ervoor dat de hotend uitschakelt wanneer het verwarmingsbed afkoelt - anders kan er materiaal uit blijven lekken (oozing) en kan jouw eerste laag geruïneerd worden. Dit kan gebeuren als je de END_PRINT macro volledig verwijdert. In dat geval wordt de opdracht om de hotend uit te schakelen niet meer automatisch uitgevoerd.
Voeg een M104 S0 commando in je End-G code in - dit commando schakelt het verwarmingsblok uit. Let op: De opdracht moet vóór SDCARD_LOOP_END worden geplaatst, anders wordt deze niet correct uitgevoerd.
► Gebruik de zwaartekracht!
Als het model niet volledig van het bed valt tijdens het uitwerpen, kun je gewoon gebruikmaken van de zwaartekracht! Een lichte hoek van de printer - zoals te zien is in de video van Factorian Design - kan de betrouwbaarheid van de automatische uitwerping aanzienlijk verhogen.
Maar wees voorzichtig: als je je printer kantelt, doe het dan stabiel en veilig - en zorg ervoor dat je daarna een nieuwe kalibratie van de invoervorm uitvoert om schone printresultaten te blijven krijgen!
► Naar beneden rollen - maar doe het goed!
Als je een bedslinger hebt, kan het gebeuren dat het uitgeworpen deel vastloopt tussen het bed en de printerbehuizing. Plaats gewoon een stuk papier of karton stevig onder het printbed - zo kan het model netjes naar beneden rollen zonder ergens vast te komen zitten.
► Pusher plate - de uitwerpversterker
Als je nog meer betrouwbaarheid wilt bij het uitwerpen, kun je een kleine pusher plate printen - een opschroefbare plaat voor de printkop die de print beter van het bed kan duwen. Maar: let op het maximale bewegingsbereik van je printer! De plaat mag nergens tegenaan stoten of botsen - anders krijg je snel een crash.
Bijpassende artikelen
- 4.5 (908)
3DJAKE ecoPLA Wit, 1,75 mm / 1000 g
Bestseller- Made in EU
- Hoge kwaliteit
- Gemakkelijk te printen
€ 20,49 (€ 20,49 / kg)Bezorging uiterlijk op 30. mei
- 4.5 (990)
3DJAKE ecoPLA Zwart, 1,75mm / 1000 g
Bestseller- Made in EU
- Hoge kwaliteit
- Gemakkelijk te printen
€ 20,49 (€ 20,49 / kg)Bezorging uiterlijk op 30. mei
- € 20,49 (€ 20,49 / kg)
Bezorging uiterlijk op 30. mei
- € 20,49 (€ 20,49 / kg)
Bezorging uiterlijk op 30. mei
Uit ons magazine:
-
Nederland: Gratis standaardverzending vanaf € 54,90
-
Gratis
retourneren -
Bezorging in 3 werkdagen.
Meer dan 10.650 producten