Recupero stampe interrotte

Sezione dedicata alla stampante 3D realizzata da Futura Elettronica in collaborazione con Elettronica In.
Ulteriori informazioni su http://3dprint.elettronicain.it/
Post Reply
User avatar
RobotEyes
Posts: 77
Joined: 20/04/2015, 18:39
Occupazione: Condulente Informatico
Home_Page: http://
Prov.: TO
Contact:

Recupero stampe interrotte

Post by RobotEyes »

Buongiorno a tutti, rieccomi qui con le solite pazzie di Carlo.....

A tutti è capitato di avere stampe interrotte per i più svariati motivi.
Si possono dividere le stampe in realmente interrotte (la macchina si ferma lì dov'è)
o estrusione interrotta (la macchina continua ma non esce materiale,
es. estrusore intasato, filamento rotto o finito)

Il primo caso è il più sempice:
1) Leggiamo sul pannello di Repetier la quota Z (supponiamo 33.6 mm)
2) salviamo il file con il gcode
3) con un editor cerchiamo la stringa Z33.600 (o 33.800, vediamo dopo quale) nel gcode,
facendo attenzione a non confonderla con eventuali retract.
io uso layer da 0,2 e retract da 0.5, oppure layer da 0,1 e retract da 5.05
così il retract non avrà mai il valore di un layer.
4) trovata la stringa, essa sarà probabilmente preceduta da un comando G29 E0
Es:

Code: Select all

.......
G1 X61.158 Y63.170 E24.77936 F1800.000 ; ultimo tratto del layer precedente notare E24.xxxx
G1 X61.465 Y63.064 F7800.000                 ;esegue movimento
G1 E23.77936 F1800.00000                       ;ritrae il filamento di 1 mm -> E23.xxxx
G92 E0                                            ; Azzera estrusore
G1 Z34.100 F7800.000                     ; Alza estrusore
G1 X63.389 Y63.904 F7800.000        ; si posiziona ad inizio layer (X e Y)
G1 Z33.600 F7800.000                     ; si abbassa al layer voluto
G1 E1.05000 F1800.00000                ; ripristina  il filamento retratto più 0.05mm <<<<< Cancellare
G1 X63.526 Y63.515 E1.05399 F3600.000  ; Inizia il layer
Mentre all'inizio del codice troveremo qualcosa come:

Code: Select all

.....
M190 S40 ; set bed temperature                              <<< Cancellare
M104 S205 ; set temperature                                  <<< Cancellare
G28 ; home all axes                                                <<< CANCELLARE ASSOLUTAMENTE
M109 S205 ; wait for temperature to be reached       <<< cancellare
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 E-1.00000 F1800.00000
.......
5) Ora cancelliamo tutto il codice tra il primo G92 E0 e quello subito prma del layer incriminato.
cancelliamo anche la riga di ripristino nozzle (lo faremo a mano)
cancellaimo infine, dalla parte iniziale, le righe indcate SOPRATTUTTO il G28 HOME
altrimenti andremo a sbattere. L'home lo faremo a mano.
6) Salviamo tutto in un altro file tipo DioMeLaMandiBuona.gcode
7) carichiamo il gcode su Repetier
8) alziamo l'estrusore SOPRA al nostro pezzo
9) accendiamo estrusore ed hot bed
10) facciamo zero X e zero Y --- NON HOME
11) facciamo Zero Z
12) alziamo con i comandi manuali l'estrusore qualche decimo sopra il punto di partenza.
13) aspettiamo che sia tutto caldo ed estrudiamo 5 mm di filamento
puliamo molto rapidamente incrociamo le dita e diamo start.
la stampante dovrebbe ripatrire dal punto interrotto.

Una nota....
Sul pannello di repetier c'è la quota del layer corrente, se è appena iniziato, facciamo meno danni a ripartire da lì
specie con un piatto su molle.
Se è quasi finito meglio iniziare dal prossimo, si salta un layer in parte della stampa, ma in genere non è gravissimo.

Chi vuole essere Moooooolto sofisticato, cerca anche le coordinate XY dell'arresto e toglie la parte di layer già fatta......
ma su un pezzo un po complesso non è per nulla facile.

Ultima cosa:
se la stampante ha proseguito e non posso leggere la quota Z come faccio ?
1) Accendo un cero alla Madonna (va bene anche nel primo caso)
2) Alzo l'estrusore sopra al pezzo con i comandi manuali
3) Proteggendo il pezzo con carta velina mi posiziono coi comandi manuali al punto XY da cui voglio misurare.
4) scendo a PICCOLI step fino a toccare appena.
5) leggo la quota e opero come detto prima.

Spero che ciò sia utile a qualcuno.
Io ci ho salvato un pezzo bloccato per BrownOut (abbassamento di tensione) dopo oltre 15 ore !!!!

La fortuna è stata che il brownout blocca tutto li e spegne anche l'HE.
Se l'HE non viene spento (es perdita di comunicazione USB)
ci saranno dei danni nel punto dove si è fermato.

Buone Stampe
Carlo
gianpaolo
Posts: 197
Joined: 07/02/2014, 11:54
Occupazione: commerciante
Home_Page: http://www.gianpaolobisci.it
Commento: appassionato di grafica 3d
Compleanno: 11 Nov 1963
Città: sava
Prov.: ta
Via: s. s. 7 ter km. 15+810
Location: Sava (TA)
Contact:

Re: Recupero stampe interrotte

Post by gianpaolo »

ciao,
sembra che il tuo post l'abbia messo a posta per me.. :D. Al mio ritorno la stampante era bloccata. Però non ho capito ancora capito dove si prende l'altezza in z dell'estrusore (premetto che ho premuto il tasto stop ed ho alzato l'estrusore perchè si era incollato l'ugello al pezzo)
User avatar
RobotEyes
Posts: 77
Joined: 20/04/2015, 18:39
Occupazione: Condulente Informatico
Home_Page: http://
Prov.: TO
Contact:

Re: Recupero stampe interrotte

Post by RobotEyes »

Purtroppo così ti sei perso la quota Z.
Se ti ricapita, prima di muovere annota X,Y,Z.
Ma... niente paura.
Ovviamente se stacchi l'oggetto dal piatto non recuperi più.
Segui queste indicazioni:
1 Sposta l'estrusore dove non fa danni (sopra il pezzo).
2 Fai lo zero in X e Y ma non in Z.
3 Fai lo Zero in Z.
4 riporta l'estrusore in alto,sopra il pezzo.
Portati sopra il pezzo e scendi a piccoli step fino a far toccare
tramite un foglio di carta (come fai per lo zero sul piano)
Vai a step di 0.01 quando sei quasi arrivato.
A questo punto leggi la quota Z e segui le istruzioni.
Ovviamente è quasi impossibile che trovi la quota al centesimo
Arrotonda il valore trovato al layer più prossimo (es layers 0.2,
valore trovato 23.42, arrotonda a 23.40, 36.58 diventa 36.60.)
Non dimenticare il cero alla Madonna (se è la Ciccone va bene lo stesso)

Ciao e auguri. .......
gianpaolo
Posts: 197
Joined: 07/02/2014, 11:54
Occupazione: commerciante
Home_Page: http://www.gianpaolobisci.it
Commento: appassionato di grafica 3d
Compleanno: 11 Nov 1963
Città: sava
Prov.: ta
Via: s. s. 7 ter km. 15+810
Location: Sava (TA)
Contact:

Re: Recupero stampe interrotte

Post by gianpaolo »

Per un pelo :( non ci riuscivo...ho azzeccato la zeta e la y, sulla x invece è risultato leggermente sfalsato..comunque grazie del suggerimento, per stampe molto lunghe conviene veramente provarci. Un saluto!
User avatar
federico.balugani
Posts: 73
Joined: 12/03/2015, 14:53
Occupazione: Ricercatore
Home_Page: http://

Re: Recupero stampe interrotte

Post by federico.balugani »

Mooooolto Interessante! Grazie per gli ottimi spunti!

Con retraction intendevi zlift? 0.2 per layer e 0.5 per lift sono un ottimo trucchetto :P
altrimenti fra le corrispondenze trovate per il nostro Zx.x dovremo capire, interpretando il codice, quali sono i lift e quale il posizionamento al layer.
Non è difficile, di solito gli zlift sono poi seguiti da un altro comando (poche righe sotto) in cui Z=Zx.x-Zlift.

Ci si potrebbe fare uno script e una piccola interfaccia :D
User avatar
RobotEyes
Posts: 77
Joined: 20/04/2015, 18:39
Occupazione: Condulente Informatico
Home_Page: http://
Prov.: TO
Contact:

Re: Recupero stampe interrotte

Post by RobotEyes »

Hai ragione é Zlift e non retract
(che é relativo al filamento).
In genere sono associati,
ma è più giusto così, son cose diverse.

Sì è vero si potrebbe scrivere qualche riga
di software per decodificare il gcode
per quanto riguarda l'asse Z.

Ma il problema è il tempo......

Visto che capita di rado, finora sono andato a mano.
Ma un programmino potrebbe ripartire da un certo punto
non solo da inizio layer.
A mano è difficile scandire tutte le righe e trovare
la posizione XY di partenza, ma il PC lo paghiamo
proprio per fare lavori noiosi e ripetitivi.

Ciao ciao.
Post Reply