Marlin Evitare che l’estrusore tocchi la parete della Stampante 3d con il firmware marlin 2
Ricapitolando . Grazie ai comandi qui di sopra siamo riusciti a fare si che :
- La direzione di avanzamento delle assi x y z sia giusta
- Calibrato HomeX HomeY HomeZ
Voglio aggiungere i comando che segue :
#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
Il comando : NO_MOTION_BEFORE_HOMING ci dice ” Attiva lo spostamento delle assi solo dopo che sarà effettuato la procedura di torna a casa delle stese, ovvero la procedura HomeX HomeY HomeZ ” .
Succede che una volta che tutte le assi sono nella posizione di casa (HOME), marlin 2 mette in funzione i comandi che si chiamano “software endstops “.
Cosa sono i comandi “software endstops” ?
Questi comandi sono già attivi come default nel firmware gli aggiungo qui di seguito solo per farli vedere :
// Min software endstops constrain movement within minimum coordinate bounds #define MIN_SOFTWARE_ENDSTOPS #if ENABLED(MIN_SOFTWARE_ENDSTOPS) #define MIN_SOFTWARE_ENDSTOP_X #define MIN_SOFTWARE_ENDSTOP_Y #define MIN_SOFTWARE_ENDSTOP_Z #endif // Max software endstops constrain movement within maximum coordinate bounds #define MAX_SOFTWARE_ENDSTOPS #if ENABLED(MAX_SOFTWARE_ENDSTOPS) #define MAX_SOFTWARE_ENDSTOP_X #define MAX_SOFTWARE_ENDSTOP_Y #define MAX_SOFTWARE_ENDSTOP_Z #endif
In pratica questi comandi impediscono alle assi di avanzare oltre le dimensioni della stampante 3d .Nel mio caso io ho già impostato le dimensioni della mia stampante X: 225mm Y: 145mm Z:150mm , riscrivo i comandi qui di seguito per rendere l’idea:
#define X_BED_SIZE 225 #define Y_BED_SIZE 145 #define Z_MAX_POS 150
Ancora una volta per evitare che l’asse tocchi la parete della Stampante 3d, basterà attivare il comando NO_MOTION_BEFORE_HOMING dopodiché il firmware farà tutto il resto :
#define NO_MOTION_BEFORE_HOMING
di seguito il video dimostrativo:
Come si vede nel video una volta caricato il firmware apro “pronterface” per fare dei test :
- Appena accendo la stampante provo a fare avanzare le assi . Risultato, il firmware non mi permette di farlo ,ottimo era quello che volevo !
- Porto nella posizione casa (Home) tutte le assi x y z . Risultato, tutte le assi vanno nella posizione casa correttamente
- Provo a fare avanzare le assi in tutte le direzioni . Risultato , ora si muovono in tutte le direzioni ottimo
- Provo a fare avanzare le asse x oltre la soglia 225 mm. Risultato , l’asse x non avanza oltre la soglia 225 mm . Ottimo era quello che volevo
- Disattivo la protezione “software endstops” lanciando da “pronterface” il comando M211 S0. Risultato, come si vede alla fine del video l’asse x avanza oltre la soglia 225mm . Ottimo era quello che volevo
Ora ho notato un altro problema da risolvere … le assi non avanzano correttamente mi spiego con un esempio … Se io chiedo alla stampante 3d di far ‘avanzare l’asse 20mm ,invece poi misuro e risulta che l’asse è avanzata 22mm . Vuol dire che il passo motore dell asse deve essere calibrato . Come fare a calibrarlo lo spiego su questo articolo