Welcome! Log In Create A New Profile

Advanced

Aiuto per configurazione firmware

Posted by gek 
gek
Aiuto per configurazione firmware
September 14, 2019 02:22AM
Ciao a tutti.

Metto il post nella sezione corretta e chiedo agli amministratori di chiudermi quello nella sezione sbagliata (Elettronica e meccanica)

Ho una stampante Core XY autocostruita e recentemente ho cambiato elettronica/driver.
Prima avevo una ramps con drv8825, ora ho la ruramps con tmc2130.
Vorrei dei consigli riguardo dei parametri da mettere nel firmware configurator di Mago.

STEPPER
Jerk X moves 10 mm/s
Jerk Y moves 10 mm/s
Jerk Z moves 0.4 mm/s
--> posso aumentarli? Di quanto? La stampante è bella solida :-)

X AXIS STEPPER MOTOR
Current 1000 mA
--> ho questo valore ricavato da una vecchia Prusa i3 R2, da cui ho ereditato i motori: lascio questa?
Feedrate 600 mm/s
--> con la ramps + drv8825 e 1/32 microstep avevo 300 mm/s, con la ruramps e sempre 1/32 microstep l'ho raddoppiato: come faccio a trovare il valore corretto?
Max Acceleration 3000 mm/s2
--> posso aumentarli? Di quanto?

Z AXIS STEPPER MOTOR
Current 1000 mA
--> stesso discorso: lascio questa?
Feedrate 8 mm/s
--> con la ramps + drv8825 e 1/32 microstep avevo 4 mm/s, con la ruramps e sempre 1/32 microstep l'ho raddoppiato: come faccio a trovare il valore corretto?
Max Acceleration 50 mm/s2
--> posso aumentarli? Di quanto?

AVANZATE
Minimum Stepper Pulse 0 us
Maximum stepper rate 400000 Hz
Direction Stepper Delay 50 ns
--> ho messo quello come indicato nelle "info": è corretto?

E0 AXIS STEPPER MOTOR
Current 1000 mA
--> stesso discorso: lascio questa?
Feedrate 100 mm/s
--> con la ramps + drv8825 e 1/32 microstep avevo 50 mm/s, con la ruramps e sempre 1/32 microstep l'ho raddoppiato: come faccio a trovare il valore corretto?
Max Acceleration 5000 mm/s2
Retraction Acceleration 10000 mm/s2
--> posso aumentarli? Di quanto?

LCD
Display Controller RepRap Full Graphic Smart Controller
Encoder pulses per step 5
Encoder pulses per step 1
--> cosa indicano?

Grazie e scusate il papiro!
Re: Aiuto per configurazione firmware
September 15, 2019 07:51AM
Tutti i valori di cui parli sono modificabili via gcode, va solo provato.
Gli step per mm non si raddoppiano perché hai una Ruramps, se lavori sempre a 1/32 di microstep rimangono quelli che avevi con gli 8825.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
gek
Re: Aiuto per configurazione firmware
September 15, 2019 09:03AM
Ciao Mago, speravo proprio in una tua risposta smiling smiley

Ti spiego cosa è successo per il Feedrate degli assi XY:
Se impostavo 300 mm/s, 1/32 microstep e gli step/mm che avevo con la ramps vecchia i motori non si muovevano.
Allora ho messo 1/16 microstep ed i motori si muovevano ma la testa di stampa si spostava del doppio di quello impostato. Dimezzati gli step/mm tutto ok.
Quindi per deduzione logica ho rimesso 1/32 microstep, gli step/mm che avevo nella ramps, e 600 mm/s di feedrate. Non so se ho fatto bene o no siceramente, anche perchè non ho trovato su internet spiegazioni riguardo il feedrate.
Re: Aiuto per configurazione firmware
September 16, 2019 12:52PM
Il feedrate è solo la velocità max che tu dichiari la tua meccanica + elettronica possa raggiungere.

In pratica dice al controller che tutti i comandi di spostamento che poi gli verranno dati devono essere eseguiti stando sotto a quel limite.
Se hai 200 mm/s di feedrate sugli assi e poi gli dai un comando G1 che cerca di spostare gli assi a 1800 mm/min (alias 300 mm/s) allora stampante non cercherà di andare a 300 mm/s ma eseguirà il comando come se tu avessi chiesto 1200 mm/min ossia la velocità max che tu (tramite il feedrate) hai dichiato essere possibile sulla meccanica + elettronica

Il numero di micropassi non è direttamente collegato ma può influire sul feedrate max realmente raggiungibile se l'elettronica non ci sta dietro.
Es. a 32 micro passi una barra M8 (asse z) richiede 5120 passi (o meglio micropassi) per fare uno spostamento di 1 mm.
Ora se ti vuoi muovere a 600 mm/min (10 mm/s) devono essere generati 51200 passi al secondo ed un Arduino Mega non ce lo farà a farlo con evidenti problemi se ci provi davvero.
Quindi per evitare difetti di funzionamento dovrai impostare un feedrate più basso (5-6 mm/s) per evitare che l'elettronica tenti di fare qualcosa che non è in grado di fare.
Oppure dovrai usare un controllore a 32 bit (come hai fatto tu con la ruramps + arduino due) che è in grado di generare molti più passi al sec (ma ha un limite max anche lui).

O in alternativa (e forse soluzione migliore) riduci il numero di micropassi (cosa comoda da fare su TMC2130) ad un valore ben più basso (es 4 micropassi che comunque gestiscono precisioni di 1.5 millesimi di mm) e lasci che il TMC interpoli per un movimento silenzioso.

Edited 2 time(s). Last edit at 09/16/2019 12:59PM by FabryR.
gek
Re: Aiuto per configurazione firmware
September 22, 2019 09:07AM
Ciao Fabry.

Mi sono dimenticato di rispondere confused smiley

Ma perchè con Arduino Mega, Ramps e drv8825 a 1/32 microstep e 4 mm/s feedrate i motori si muovevano benissimo, mentre con Arduino due, Ruramps e tmc2130 invece devo o dimezzare i microstep o raddoppiare il feedrate per farli andare?
Re: Aiuto per configurazione firmware
September 22, 2019 11:59AM
In realtà quello che dici NON dovrebbe succedere.
A parità di impostazioni Arduino e ArduinoDue devono spostare i motori con la stessa velocità, al max può succedere che elevate (non basse) velocità funzionino sul Due ma non sul Mega.

Feedrate è la velocità Max oltre la quale non andare ed il parametro di step per mm (non i microstep) sono i tuoi rapporti del cambio.

Se hai 32 microstep e 160 step per mm (es. cinghe GT2), la velocità (e lo spostamento lineare) è lo stesso qualunque CPU sia usata.
Se non è così penserei che c'è qualche problema (o altro parametro del fw) che cambia il vero valore di step emessi nell'unità di tempo.

Ossia per muoverti a 100mm/s con parametro 160 step per mm devi emettere 16.000 impulsi di movimento (Step) al secondo.
E questo non dipende dalla cpu (tranne nel caso la cpu non ce la faccia a fare 16.000 Step/sec, ma il allora dovrebbe essere il mega ad andare più piano non il due).

Poi è giusto che se abbassi i microstep i movimenti diventano più veloci.
Questo perché il parametro dei microstep è già compreso nel parametro degli step per mm e quando modifichi uno devo correggere anche l'altro (in realtà potevano anche fare che impostato uno, l'altro si autocorreggesse).
Ossia 160 step/mm (caso GT2) considera già che tu abbia 32 microstep impostati.
Se tu abbassi i microstep a 16, allora è giusto che la velocità aumenta (raddoppia esattamente) perché ora al posto di 160 dovevi metterci 80 (perché ci vogliono 80 microstep per fare un mm).
Se non lo fai (quindi tu lasci 160 gli fai usare un valore che è il doppio del necessario) quando gli chiederai di spostarsi di 1 mm per errore si sposterà invece di 2mm (e quindi se chiederai 50mm/s lui in realtà viaggierà a 100mm/s).

Invece alzare il feedrate (che è inteso come "max feedrate") non dovrebbe aumentare la velocità per nulla, salvo solo il caso che tu chiedevi velocità oltre il feedrate.

Quindi se hai messo 150mm/s di feedrate e poi lo alzi a 300mm/s non deve cambiare nulla per tutte le velocità sotto 150mm/s
Ossia se gli chiedi di spostarsi a 100mm/s esso si sposterà a 100mm/s (se con parametri microstep e step per mm corretti) sia che il feedrate sia 150 e sia che sia 300
Lo stesso se gli chiedi si spostarsi a 150mm/s, esso si sposterà a 150mm/s (se con parametri microstep e step per mm corretti) sia che il feedrate sia 150 e sia che sia 300
Mentre se gli chiedi si spostarsi a 250mm/s esso si sposterà a 150mm/s se il feedrate è 150mm/s ed a 250mm/s se il feedrate è 250mm/s o superiore.

Edited 1 time(s). Last edit at 09/22/2019 12:04PM by FabryR.
gek
Re: Aiuto per configurazione firmware
September 22, 2019 05:03PM
Ok grazie per la spiegazione.

Ma dici quindi di passare a 1/16 microstep?
Non solo per z ma xy ed estrusore?
Re: Aiuto per configurazione firmware
September 22, 2019 06:38PM
Si di default io rimarrei a 16 (prima anche io usavo 32 ma di recente ho ridotto, anche perché sull'asse z mi limitava), poi però visto che con i TMC si può cambiare a run time l'impostazione e che hanno l'interpolazione interna (disattivabile) a 256 micropassi, io sperimenterei valori bassi di microstep.

I microstep alti si usavano solo per avere un movimento fluido e non scattoso del motore non per aumentare la precisione (che oltre un certo valore è oltre le possibilità della meccanica), ma avendo l'interpolazione il movimento fluido dovrebbe rimanere pure senza micropassi (alias step interi).

Il problema è se l'interpolazione funziona bene ed è adatta a cambi di direzione repentini (ho letto qualche commento che forse l'interpolazione usata dai TMC non è adatta alla stampa 3D).

Comunque appena ho tempo (penso ad Ottobre o al più Nov.) personalmente io vorrei provare 4x o al più 8x per gli assi x,y e 1x (senza micropassi) per l'asse z.
Tanto a 4x su x ed y si ha una precisione di calcolo a 5 centesimi (alias mezzo decimo) che credo sia sufficiente e su asse z a 1x si ha ancora una precisione elevata (1/200 di mm per chi ha barre da passo 1mm/giro ed al più 1/25 di mm per chi ha le barre a passo 8mm/giro).
Quindi se non escono effetti collaterali si può scendere di microstep benissimo, guadagnando poi di poter fare velocità max più elevate (vero soprattutto su Mega) meccanica permettendo
gek
Re: Aiuto per configurazione firmware
September 29, 2019 03:36AM
Ciao.

Ho messo 16 micropassi, come attivo l'interpolazione interna?
Volevo attivare anche l'opzione ibrida tra Stealthchope e Spreadcycle, basta decommentare la riga #define HYBRID_THRESHOLD??
Grazie!
Re: Aiuto per configurazione firmware
September 29, 2019 08:37AM
L'interpolazione è accesa di default, poi la puoi spegnere con
#define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256
messo a false

Al contrario di Marlin2 (che parte con StealthChop acceso) Mk4Duo parte invece con StealthChop spento (ossia sei sempre in SpreadCycle)
Se lo vuoi accendere basta cambiare
#define X_STEALTHCHOP   false
#define Y_STEALTHCHOP   false
#define Z_STEALTHCHOP   false
#define E0_STEALTHCHOP  false
in true

e poi per avere opzione ibrida decommentare
//#define HYBRID_THRESHOLD

e regolare la sensibilità come ti serve
#define X_HYBRID_THRESHOLD     100
#define Y_HYBRID_THRESHOLD     100
#define Z_HYBRID_THRESHOLD       2
#define E0_HYBRID_THRESHOLD     30

Edited 3 time(s). Last edit at 09/29/2019 09:11AM by FabryR.
gek
Re: Aiuto per configurazione firmware
September 29, 2019 08:42AM
Scusa ti faccio una domanda per vedere se ho capito:
per la modalità ibrida non devo solo decommentare anche #define HYBRID_THRESHOLD ma impostare su true tutte e 4 i #define xx_STEALTHCHOP??
Re: Aiuto per configurazione firmware
September 29, 2019 08:47AM
La modalità ibrida dovrebbe servire ad una cosa tipo "finché non superi i xx mm/s stai in StealthChop mentre se li superi vai in SpreadCycle"
Però se StealthChop è disattivo ovviamente non ha senso una modalità ibrida.

In pratica con
#define X_STEALTHCHOP   false
#define Y_STEALTHCHOP   false
#define Z_STEALTHCHOP   false
#define E0_STEALTHCHOP  false
//#define HYBRID_THRESHOLD

stai sempre in SpreadCycle (il default con Mk4Duo fw)

con
#define X_STEALTHCHOP   true
#define Y_STEALTHCHOP   true
#define Z_STEALTHCHOP   true
#define E0_STEALTHCHOP  true
//#define HYBRID_THRESHOLD
stai sempre in StealthChop

mentre con
#define X_STEALTHCHOP   true
#define Y_STEALTHCHOP   true
#define Z_STEALTHCHOP   true
#define E0_STEALTHCHOP  true
#define HYBRID_THRESHOLD
Hai StealthChop sotto soglia e SpreadCycle sopra soglia

Inoltre non sei obbligato ad accendere la modalità su tutti i 4 motori (magari XY li fai uguali, ma Z e E0 possono fare quello che vogliono es. stare in SpreadCycle sempre)

PS
xx mm/s è regolato dalle soglie impostate con gli altri parametri che se non ritocchi sono
100mm/s su X e Y, 2mm/s su Z e 30mm/s su estrusore

Quote

L'interpolazione è accesa di default, poi la puoi spegnere o dal menu TMC su LCD o credo da comando GCODE, non mi pare di aver mai visto una opzione in fase di compilazione.
Ricordavo male, sul menù LCD l'opzione non c'è (non ho verificato il gcode invece) mentre c'è nel config
#define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

Edited 3 time(s). Last edit at 09/29/2019 09:10AM by FabryR.
Re: Aiuto per configurazione firmware
September 29, 2019 03:06PM
M942 è il comando che ti cambia l'interpolazione on off.. Per ogni asse, quindi M942 X1 Y0 Z0, X interpolato Y e Z no.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Sorry, only registered users may post in this forum.

Click here to login