Rendi fluida la tua stampante 3D con espulsione automatica, code di stampa e loop infiniti!
Cominciamo subito! Se si possiede una stampante Klipper, la cosa è semplicissima, perché queste funzioni sono integrate direttamente nel firmware Klipper, anche se spesso vengono trascurate.
Per questo tutorial utilizzeremo Orca Slicer, ma funzionerà con qualsiasi slicer di tua scelta.
‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️
Le seguenti istruzioni si riferiscono alla modifica del G-code e del firmware. Se commetti degli errori, potresti danneggiare la stampante. D'ora in poi agisci a tuo rischio e pericolo!
‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️ ATTENZIONE ‼️
Impostazione di una coda di stampa
Apri Orca Slicer e vai alle impostazioni del dispositivo. Poi vai alle opzioni della macchina (per Mainsail) o alla configurazione (per Fluidd) nella barra degli strumenti a sinistra. Apri il file moonraker.conf e aggiungi quanto segue:
[job_queue]
load_on_startup: True
automatic_transition: True
job_transition_delay: 10
job_transition_gcode: CLEAR_BED
Assicurati inoltre che sia incluso quanto segue:
[file_manager]
queue_gcode_uploads: True
enable_object_processing: False
Salva il file e riavvia il sistema.
In questo modo viene impostata la coda: un lavoro di stampa segue automaticamente il successivo. Questo è esattamente ciò che fanno le prime due righe. Il ritardo di transizione garantisce una pausa di 10 secondi tra i lavori di stampa: naturalmente è possibile regolare questo valore a piacere. Il cosiddetto Transition-G-code è il G-code che viene eseguito tra due processi di stampa. Qui è necessario specificare che la stampante espella automaticamente la stampa completata prima che inizi quella successiva.
Ora torna alla macchina e apri il file gcode_macro.cfg. Qui aggiungi quanto segue:
[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
Questa macro pulisce il piano di stampa tra due processi di stampa. Il primo comando attende che il letto si raffreddi a 30 °C. Per noi la temperatura ideale è stata di 30 °C: abbiamo utilizzato una piastra PEI testurizzata di 3DJake. Se si utilizza una piastra o un filamento diverso, potrebbe essere necessario fare qualche esperimento. Per i nostri test abbiamo utilizzato esclusivamente il nostro 3DJake ecoPLA.
G91 attiva il posizionamento relativo, ovvero tutti i comandi di movimento successivi fanno riferimento alla posizione corrente della testina di stampa. Con G1 la testina di stampa si sposta leggermente verso l'alto e si allontana dalla parte stampata. Dopodiché, G90 torna al posizionamento assoluto: la testina di stampa si sposta ora su coordinate XY fisse nell'area di stampa, indipendentemente dalla sua posizione attuale. Il successivo comando G1 sposta la testina di stampa esattamente al centro dell'asse X e indietro fino al bordo del piano di stampa a una velocità di 3000 mm/min. Quindi la testina di stampa si sposta verso il basso di 1 mm sul letto con G1 e con l'ultimo comando G90 spinge in avanti il modello finito.
Questo è tutto! Ora non ti resta che preparare e stampare un file e subito dopo inviare quello successivo. Nella pagina del dispositivo vedrai che è stata avviata una coda. Non appena termina la prima stampa, viene automaticamente attivata la macro CLEAR_BED. La stampante attende quindi che il letto si raffreddi a 30 °C e quindi rimuove il modello. Senza alcuno sforzo da parte tua!
Ripeti una stampa in un ciclo infinito
Ok, abbiamo visto cosa fare con le code di stampa. Ma cosa succede se si desidera stampare lo stesso file più volte? Ecco a cosa serve il comando SD_LOOP.
Per fare ciò, basta andare al file printer.cfg e inserire la sezione [sdcard_loop] da qualche parte. La posizione esatta non ha molta importanza. In pratica, questo consente di eseguire stampe in loop. Ora tutto ciò che serve è un comando G-code adatto per avviare il tutto. Il modo migliore per farlo è direttamente nello slicer: per questo consiglio di creare un proprio profilo di stampa. In questo modo è possibile passare facilmente dalla "stampa normale" alla "stampa in loop".
Nel profilo della stampante, vai ai G-code della macchina e inserisci quanto segue nello Start-G-code: SDCARD_LOOP_BEGIN COUNT=5. In questo caso la stampa viene ripetuta 5 volte. Naturalmente puoi regolare il valore e, se vuoi che la stampa venga ripetuta all'infinito, imposta semplicemente COUNT=0.
Anche se non utilizzi una coda di stampa, puoi comunque utilizzare la stessa macro G-code per pulire il piano di stampa. Qui hai due possibilità: puoi copiare il contenuto della macro creata in precedenza direttamente nell'End-G-code del tuo slicer oppure puoi semplicemente scrivere il comando CLEAR_BED nell'End-G-code, presupponendo che tu abbia già creato la macro nel tuo macro.cfg.
Molto importante: SDCARD_LOOP_END deve trovarsi alla fine dell'End-G-code. Questo è il segnale alla stampante che il ciclo termina qui. Tutto tra SDCARD_LOOP_BEGIN COUNT=5 E SDCARD_LOOP_END viene quindi ripetuto con la stessa frequenza.
Ora salva e poi inizia a stampare. Ora il tuo loop verrà eseguito automaticamente!
Una volta completata la stampa, la barra di avanzamento rimane semplicemente al 99% finché la temperatura del piano di stampa non scende a 30 °C. Solo allora il modello verrà rimosso automaticamente e avrà inizio l'esecuzione successiva.
Per interrompere il ciclo dopo la stampa corrente, è sufficiente digitare SDCARD_LOOP_DESIST nella console. In questo caso la stampa successiva non verrà avviata.
Stampante Marlin
E se non si dispone di una stampante Klipper? Nessun problema: puoi fare qualcosa di molto simile a quello che abbiamo appena mostrato. Tutto ciò che devi fare è regolare il G-code finale in modo che la stampante espella automaticamente la stampa finita. L'idea di base è la stessa, ma i valori possono variare a seconda del modello di stampante.
Diamo un'occhiata più da vicino:
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
Fondamentalmente puoi usare i comandi mostrati qui per qualsiasi stampante, ma fai attenzione: i comandi G1 per X e Y (righe 5 e 8) sono adatti solo per la stampante K1 o stampanti CoreXY simili con identico volume di stampa.
Devi sapere quanto è grande lo spazio di costruzione. Se il tuo letto di stampa, ad esempio, è largo 250 mm, la riga 5 dovrebbe apparire così:
G1 X125 Y248 F3000 #Move printhead to middle and back
In questo modo la testina di stampa viene spostata al centro dell'asse X (a 125 mm dal bordo) e completamente indietro sull'asse Y, a soli 2 mm dal bordo posteriore.
Quindi la riga 8 dovrebbe apparire così:
G1 X125 Y1 Z1 F2400 #Push Print off
In questo modo la testina di stampa rimane al centro dell'asse X, ma si sposta completamente in avanti, a solo 1 mm dal bordo anteriore, per spingere la stampa fuori dal letto.
Da tenere presente: questo metodo è pensato per spingere con la testina di stampa. Tuttavia, non è necessario utilizzare necessariamente la testina di stampa per questa operazione: spesso è addirittura meglio utilizzare l'intero telaio del portale per la spinta.
Tuttavia, con il K1 questo è problematico perché le cinghie danno fastidio. Pertanto, si dovrebbe esercitare la minor forza possibile sul portale: ecco perché consigliamo di spingere il K1 con la testina di stampa.
Per spostare il portale è sufficiente modificare la posizione della testina di stampa sull'asse X. Quindi basta spostarlo di lato. Per un piano di stampa con una larghezza di 250 mm, le linee 5 e 8 potrebbero apparire così:
Riga 5: G1 X1 Y248 F3000 #Move printhead to middle and back
Riga 8: G1 X1 Y1 Z1 F2400 #Push Print off
E che dire del looping a Marlin? Se hai una stampante Marlin, puoi sostanzialmente fare la stessa cosa del looping in Klipper, solo con il comando M808. Il principio rimane lo stesso: si imposta il ciclo utilizzando il G-code iniziale e finale nello slicer. Informazioni più dettagliate ed esempi sono reperibili anche sul sito web di Marlin: vale la pena dargli un'occhiata se si desidera approfondire.
Looping per stampanti non Klipper
Se non si dispone di una stampante Klipper, è comunque possibile impostare un ciclo semplicemente concatenando più file G-code e stampandoli dalla scheda SD. In alternativa, puoi esportare il tutto come file .3mf, che in pratica è solo una cartella compressa.
Ecco come funziona con Orca Slicer:
Fai lo slice della tua stampa come di consueto e poi esportalo come "Plate Sliced File". Puoi aprire questo file con un decompressore come WinRAR: troverai quindi il G-code nella cartella dei metadata. Apri il file in un editor di testo. Ora puoi copiare l'intero contenuto. Se si desidera stampare lo stesso file più volte, è sufficiente incollare il codice copiato più volte di seguito. Se si desidera creare una coda di stampa con modelli diversi, è necessario suddividere anche gli altri modelli, esportare il loro G-code e quindi inserirli dopo il primo G-code.
Ora basta salvare il file di testo modificato e chiuderlo. WINRAR ti chiederà se desideri aggiornare l'archivio con le modifiche: fai clic su "Sì" e le modifiche verranno applicate. Quindi apri nuovamente il file .3mf in Orca Slicer. Nell'anteprima ora puoi vedere che i modelli si sovrappongono e anche il tempo di stampa è cambiato: è esattamente ciò che volevamo!
Ora non ti resta che inviare il file alla stampante: questa stamperà ed espellerà automaticamente il modello tante volte quante sono le volte in cui hai inserito il G-code.
► Se si esegue il tutto con una stampante Bambu Lab, ovvero un modello della serie A, P o X, il funzionamento è sostanzialmente lo stesso. Ma ti consigliamo vivamente di guardare i video di Factorian Design: entra nei dettagli e ha lavorato duramente per apportare le modifiche necessarie al G-code in modo perfetto per le stampanti Bambu. Ne vale sicuramente la pena se vuoi farlo bene!
- Automazione per la serie Bambu Lab P1/X1 – Video di Factorian Design
- Automazione per Bambu Lab A-Series – Video di Factorian Design
Alcune cose da tenere a mente:
► Modifica l'End-G-code
Potrebbe essere visualizzato un messaggio di errore che indica che la stampante deve riportare tutti gli assi alla posizione iniziale prima che la macro CLEAR_BED possa essere eseguita. Nel nostro caso, ciò è avvenuto perché la macro END_PRINT conteneva un comando M84 nell'End-G-code. E questo potrebbe succedere anche a te: molte stampanti utilizzano macro nell'End-G-code invece di scrivere singolarmente ogni riga del G-code.
Cosa fare? Cerca nel tuo macro.cfg la macro corrispondente (ad esempio END_PRINT) e modificala direttamente lì. Se il codice G completo si trova nel campo End-G-code, è possibile modificarlo semplicemente lì.
► Sostituisci completamente l'End-G-code
Per alcune stampanti, in particolare quelle in cui non si ha accesso ai file macro, potrebbe essere necessario sostituire completamente l'End-G-code. In questi casi, spesso è sufficiente un codice molto semplice, ad esempio:
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
Se la stampante è dotata di un Nozzle-Wiper, è possibile inserire facilmente alcuni comandi G1 per spostare l'ugello sopra di esso e pulirlo dopo la stampa.
► Considerare i requisiti di spazio
Affinché la testina di stampa possa spingere il modello fuori dal letto, deve prima posizionarsi correttamente, ovvero deve avere sufficiente libertà di movimento per avvicinarsi sufficientemente al letto prima di avanzare e spingere via il modello.
Nel nostro test abbiamo posizionato la testina di stampa nella parte posteriore del letto. Nel caso della K1, ciò significa specificamente: i 55 mm posteriori dello spazio di stampa non sono utilizzabili a causa delle dimensioni della testina di stampa. Prima di provare questa soluzione, assicurati di misurare lo spazio libero della testina di stampa e di verificare che il tuo modello non si trovi in questa zona pericolosa.
Altrettanto importante: la dimensione stessa del modello. I modelli molto piccoli o piatti con un'ampia superficie di contatto spesso aderiscono troppo, rendendo quasi impossibile l'estrazione. Anche i modelli molto grandi aderiscono in modo molto tenace e sono difficili da rimuovere. In questi casi, di solito è meglio utilizzare l'intero telaio del portale per la spinta: ciò fornisce molta più potenza ed è più efficace per i modelli di grandi dimensioni rispetto alla sola testina di stampa.
► Adesione al piano di stampa
Sia un'adesione scarsa che una troppo buona possono rappresentare un problema: se l'adesione è troppo debole, sarà difficile eseguire più stampe di seguito esattamente nello stesso punto e il modello potrebbe staccarsi o scivolare durante la seconda stampa. Se l'adesione è troppo forte, la testina di stampa non riuscirà a rimuovere il pezzo e, nel peggiore dei casi, potrebbe addirittura danneggiare la stampante.
La soluzione? Per utilizzare in modo affidabile questo metodo di espulsione automatica, è fondamentale disporre di un buon piano di stampa (ad esempio una lastra PEI di alta qualità) e di uno offset Z perfettamente regolato.
► Filamenti adatti
I filamenti che richiedono un alloggiamento chiuso non sono adatti a questo metodo, perché lo sportello della stampante deve rimanere aperto per consentire l'espulsione del modello. Ciò significa che sono esclusi ABS, nylon, ASA e materiali simili. Anche il PETG può rappresentare un problema perché spesso aderisce molto bene ed è difficile rimuoverlo dal letto.
► Purge Lines
Se la stampante traccia una Purge Line prima di ogni stampa, è opportuno sostituirla con qualcos'altro. Ad esempio, nella nostra K1 viene attivata una KAMP Purge Line. Se questa viene ristampata a ogni loop senza essere rimossa, potrebbero verificarsi dei problemi.
Ma la stampante DEVE far avanzare il materiale prima di ogni stampa per preparare l'ugello. Ecco perché il nostro consiglio è quello di sostituire la Purge Line con un piccolo bordo (ad es. 2 mm), che verrà espulso insieme al modello.
► Hotend caldo = rischio di oozing
Assicurati che l'hotend si spenga quando il piano riscaldato si raffredda, altrimenti il materiale potrebbe continuare a fuoriuscire (colando) e rovinare il primo strato. Ciò può accadere se si rimuove completamente la macro END_PRINT. In questo caso il comando per spegnere l'hotend non viene più eseguito automaticamente.
Aggiungi un comando M104 S0 all'End-G-code: questo comando disattiva il blocco riscaldante. Importante: assicurati di posizionarlo prima di SDCARD_LOOP_END, altrimenti non verrà eseguito correttamente.
► Usa la gravità!
Se il tuo modello non cade completamente dal letto quando viene espulso, puoi semplicemente sfruttare la gravità a tuo vantaggio! Una leggera angolazione della stampante, come mostrato nel video di Factorian Design, può aumentare significativamente l'affidabilità dell'espulsione automatica.
Ma attenzione: se inclini la stampante, fallo in modo costante e sicuro e assicurati di eseguire in seguito una nuova calibrazione dell'input shaping per continuare a ottenere risultati di stampa puliti!
► Fai scendere il modello, ma fallo nel modo giusto!
Se si dispone di un Bedslinger, la parte espulsa potrebbe rimanere incastrata tra il letto e il corpo della stampante. Basta posizionare saldamente un pezzo di carta o di cartone sotto il piano di stampa: ciò consentirà al modello di rotolare giù senza problemi, senza incastrarsi da nessuna parte.
► Pusher Plate – il booster di espulsione
Per ottenere un'affidabilità ancora maggiore durante l'espulsione, è possibile stampare una piccola Pusher Plate, ovvero una piastra avvitabile per la testina di stampa in grado di spingere la stampa fuori dal letto in modo più efficace. Ma in questo caso fai attenzione al raggio di movimento massimo della tua stampante! La piastra non deve toccare o urtare in nessun punto, altrimenti si verificherà rapidamente un crash.
Prodotti a tema
- 4.5 (908)
3DJAKE ecoPLA Bianco, 1,75 mm / 1000 g (1.000 grammi)
Topseller- Made in EU
- Alta qualità
- Facile da stampare
€ 20,49 (€ 20,49 / kg)Consegna entro il giorno 28 maggio
- 4.5 (990)
3DJAKE ecoPLA Nero, 1,75 mm / 1000 g (1.000 grammi)
Topseller- Made in EU
- Alta qualità
- Facile da stampare
€ 20,49 (€ 20,49 / kg)Consegna entro il giorno 28 maggio
- 4.7 (213)
3DJAKE ecoPLA Arancione, 1,75 mm / 1000 g (1.000 grammi)
- Made in EU
- Alta qualità
- Facile da stampare
€ 20,49 (€ 20,49 / kg)Consegna entro il giorno 28 maggio
- 4.7 (330)
3DJAKE ecoPLA Rosso, 1,75 mm / 1000 g (1.000 grammi)
- Made in EU
- Alta qualità
- Facile da stampare
€ 20,49 (€ 20,49 / kg)Consegna entro il giorno 28 maggio
Il nostro blog:
-
Italia: spedizione standard gratuita a partire da € 49,90
-
Reso
gratuito -
Consegna in 2 giorni
Più di 10.650 prodotti