[[guide:junction_speed:junction_deviation]]

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
guide:junction_speed:junction_deviation [04/06/2018 08:50]
Simone Persiani
guide:junction_speed:junction_deviation [01/07/2018 22:00] (versione attuale)
Simone Persiani
Linea 15: Linea 15:
  
 ==== Configurazione dei parametri ==== ==== Configurazione dei parametri ====
-Per attivare questa funzionalità è necessario assicurarsi di aver abilitato l'​opzione ''​JUNCTION_DEVIATION''​. ​I parametri ​dell'​algoritmo ​sono i seguenti:+Per attivare questa funzionalità è necessario assicurarsi di aver abilitato l'​opzione ''​JUNCTION_DEVIATION''​. ​Il parametro ​dell'​algoritmo ​è il seguente:
 <​code>​ <​code>​
 #define JUNCTION_DEVIATION #define JUNCTION_DEVIATION
-#define JUNCTION_DEVIATION_MM 0.05 // valore decimale ​maggiore o uguale a 0 +#define JUNCTION_DEVIATION_MM 0.05 // valore decimale ​compreso tra 0.01 e 0.3 (estremi inclusi)
-//#define JUNCTION_DEVIATION_INCLUDE_E+
 </​code>​ </​code>​
  
-Per comprendere l'​opzione ''​JUNCTION_DEVIATION_MM''​ è strettamente necessario aver capito a fondo il funzionamento dell'​algoritmo. Si faccia riferimento alla guida di cui sopra è stato fornito il link. Si sappia che è un valore espresso in mm e che un range sicuro di possibili valori va da 0mm a 0,5mm. Ovviamente questi valori vanno testati sulla propria macchina procedendo per tentativi. Possono essere modificati anche senza ricompilare il firmware: basta utilizzare il comando ''​M205 J<?>''​. Al termine delle modifiche, se si è soddisfatti del valore impostato è possibile salvarlo permanentemente tramite comando ''​M500''​ (richiede l'​attivazione del supporto alla EEPROM). Si tenga presente che questo parametro rappresenta l'​errore di approssimazione del modello fisico utilizzato dall'​algoritmo. Porlo a 0mm significa utilizzare un modello accurato al 100%, con l'​inconveniente che in questo modo le <​m>​v_{junction}</​m>​ saranno molto limitate. Nella pratica conviene cercare di aumentare progressivamente questo valore in modo da aumentare la velocità nei cambi di direzione, facendo attenzione a scegliere una quantità che non porti la stampante a produrre troppo rumore o troppe vibrazioni. +=== JUNCTION_DEVIATION_MM === 
- +Per comprendere l'​opzione ''​JUNCTION_DEVIATION_MM''​ è strettamente necessario aver capito a fondo il funzionamento dell'​algoritmo. Si faccia riferimento alla guida di cui sopra è stato fornito il link. Si sappia che è un valore espresso in mm e che un range sicuro di possibili valori va da 0.01mm ​a 0,3mm. Ovviamente questi valori vanno testati sulla propria macchina procedendo per tentativi. Si tenga presente che questo parametro rappresenta l'​errore di approssimazione del modello fisico utilizzato dall'​algoritmo. Porlo a 0.01mm ​significa utilizzare un modello accurato ​quasi al 100%, con l'​inconveniente che in questo modo le <​m>​v_{junction}</​m>​ saranno molto limitate. Nella pratica conviene cercare di aumentare progressivamente questo valore in modo da aumentare la velocità nei cambi di direzione, facendo attenzione a scegliere una quantità che non porti la stampante a produrre troppo rumore o troppe vibrazioni. Aumentare questo valore significa infatti fornire più flessibilità all'​algoritmo,​ che potrà così decidere di percorrere i cambi di direzione con "​accelerazioni centripete"​ più alte
- +<WRAP center round info 100%> 
-Per fare in modo che per la valutazione dell'angolo di curvatura venga tenuto ​in conto anche l'avanzamento/​ritrazione del filamento, è necessario abilitare l'opzione ​''​JUNCTION_DEVIATION_INCLUDE_E''​. ​Questa opzione è <wrap em>​assolutamente sperimentale</wrap>! A quanto risulta dai test degli sviluppatori,​ abilitandola verranno gestite correttamente anche le <​m>​v_{junction}</​m>​ dell'​estrusore in uso. Ciò dovrebbe ridurre le perdite di passi del trascinatore del filamento e rendere il suo comportamento affidabile anche durante stampe molto lunghe. Si consiglia perciò di attivare questa opzione e di disattivarla **solo** in caso di evidenti problemi direttamente riconducibili alla sua attivazione.+''​JUNCTION_DEVIATION_MM''​ **è un parametro salvato ​in EEPROM e può essere modificato ​anche senza ricompilare il firmware:** basta utilizzare il comando ​''M205 J<?>''​. Al termine delle modifichese si è soddisfatti del valore impostato è possibile salvarlo permanentemente tramite comando ​''​M500'' ​(richiede l'attivazione del supporto alla EEPROM). 
 +</WRAP>
  
 +=== DEFAULT_MAX_ACCELERATION ===
 <wrap em>​Attenzione!</​wrap>​ Prima ancora di cominciare a sperimentare con i valori di ''​JUNCTION_DEVIATION_MM'',​ è assolutamente consigliabile ricontrollare i seguenti parametri: <wrap em>​Attenzione!</​wrap>​ Prima ancora di cominciare a sperimentare con i valori di ''​JUNCTION_DEVIATION_MM'',​ è assolutamente consigliabile ricontrollare i seguenti parametri:
 <​code>​ <​code>​
Linea 32: Linea 33:
 // Nell'​ordine:​ max. accel. dell'​asse X, Y, Z, E0, E1, E2, E3, E4 ed E5 // Nell'​ordine:​ max. accel. dell'​asse X, Y, Z, E0, E1, E2, E3, E4 ed E5
 </​code>​ </​code>​
-Il ''​Junction Deviation'',​ infatti, si preoccupa di limitare le accelerazioni su ciascun asse in base ai limiti qui impostati. Si rivela fondamentale,​ quindi, aver impostato questi valori nel modo corretto. Essi devono rispecchiare l'​inerzia di ciascun asse. Possono ​essere ​modificati ​anche senza ricompilare il firmware: basta utilizzare il comando ''​M201 X<?> Y<?> Z<?>''​. Al termine delle modifiche, se si è soddisfatti ​dei valori impostati ​è possibile ​salvarli ​permanentemente tramite comando ''​M500''​ (richiede l'​attivazione del supporto alla EEPROM). +Il ''​Junction Deviation'',​ infatti, si preoccupa di limitare le accelerazioni su ciascun asse in base ai limiti qui impostati. Si rivela fondamentale,​ quindi, aver impostato questi valori nel modo corretto. Essi devono rispecchiare l'​inerzia di ciascun asse. 
 +<WRAP center round info 100%> 
 +''​DEFAULT_MAX_ACCELERATION''​ **è un parametro salvato in EEPROM e può essere ​modificato ​anche senza ricompilare il firmware:** basta utilizzare il comando ''​M201 X<?> Y<?> Z<?>''​. Al termine delle modifiche, se si è soddisfatti ​del valore impostato ​è possibile ​salvarlo ​permanentemente tramite comando ''​M500''​ (richiede l'​attivazione del supporto alla EEPROM). 
 +</​WRAP>​
 ==== L'​analogia dell'​automobile da corsa ==== ==== L'​analogia dell'​automobile da corsa ====
 Se volessimo utilizzare un'​analogia per far comprendere meglio il significato dei primi due parametri, faremmo sicuramente riferimento ad un'​auto da Formula 1 che si appresta ad affrontare una curva. Se volessimo utilizzare un'​analogia per far comprendere meglio il significato dei primi due parametri, faremmo sicuramente riferimento ad un'​auto da Formula 1 che si appresta ad affrontare una curva.
  
-In questa analogia, liberamente ispirata dalla guida sopra citata, ''​JUNCTION_DEVIATION_MM''​ rappresenta la larghezza della pista rispetto a quella dell'​auto:​ impostarlo a zero significa imporre che la pista sarà della stessa larghezza della vettura, la quale sarà costretta (come se fosse su di un binario) a rallentare ​molto per affrontare la curva senza uscire dalla carreggiata. Viceversa, aumentare tale valore renderà la strada più larga e permetterà al bolide di scegliere una traiettoria più veloce (con la sola differenza che nel caso della stampante la traiettoria rimarrà ovviamente la stessa ma sarà percorsa a velocità maggiore).+In questa analogia, liberamente ispirata dalla guida sopra citata, ''​JUNCTION_DEVIATION_MM''​ rappresenta la larghezza della pista rispetto a quella dell'​auto:​ impostarlo a zero significa imporre che la pista sia della stessa larghezza della vettura, la quale sarà costretta (come se fosse su di un binario) a rallentare ​moltissimo ​per affrontare la curva correttamente. Viceversa, aumentare tale valore renderà la strada più larga e permetterà al bolide di scegliere una traiettoria più veloce (con la sola differenza che nel caso della stampante la traiettoria rimarrà ovviamente la stessa ma sarà percorsa a velocità maggiore).
  
 Questo parametro va quindi impostato tenendo conto del suo significato fisico/​geometrico. L'​utente è libero di sperimentare per trovare i valori limite della propria stampante ma il consiglio è quello di non allontanarsi troppo dai quelli di default, a meno che non si sappia esattamente cosa si stia facendo. Questo parametro va quindi impostato tenendo conto del suo significato fisico/​geometrico. L'​utente è libero di sperimentare per trovare i valori limite della propria stampante ma il consiglio è quello di non allontanarsi troppo dai quelli di default, a meno che non si sappia esattamente cosa si stia facendo.
  
 //Autore: [[iosonopersia@gmail.com|Simone Persiani]]//​ //Autore: [[iosonopersia@gmail.com|Simone Persiani]]//​