Welcome! Log In Create A New Profile

Advanced

Rapporto velocità ed accellerazione

Posted by ManuHC 
Rapporto velocità ed accellerazione
December 31, 2016 09:09AM
Buongiorno a tutti, oltre ad aprire questo thread con i miei migliori auguri di una BUONA FINE E BUON PRINCIPIO (non mi piace il classico "buon anno"..) vi domando quanto segue.

Sto sperimentando su una CNC la shield CNC protoneer v3.00 con codice GRBL al quale ho attribuito i valori di velocità, step x mm ed accelerazione che erano presenti nel precedente fw MarlinKimbra...

Ero convinto che bastasse riportare i valori ma non è stato così... volevo quindi capire da voi come determinare accelerazione e velocità di X Y e Z in maniera quanto più corretta;
Ovviamente i valori potrebbero variare in base alla macchina però immagino ci siano alcune regole di base da tener conto..

Attendo vostre indicazioni


Manuel
Prusa i3 - disassemblata
Ultimaker 2**HC (Marlin+ e3d 1.75 +estrusore made by Andrea Lillia)
SIENCI cnc
Re: Rapporto velocità ed accellerazione
January 01, 2017 12:41PM
Ciao, pensa che mi sono appena fatto una cultura su cosa sia l'accelerazione, velocità, jerk e di come siano gestite dal firmware in rapporto al concetto matematico-fisico..... ti consiglio la lettura della discussione nella sezione generale di questo forum (non della sezione italia ma del forum stesso)

[forums.reprap.org]

Purtroppo devi leggerla tutta perche' chi l'ha aperta non ha pensato di riassumere anche se parliamo di una discussione aperta nel 2014 con ultimo messaggio settembre 2016

Buona lettura
Re: Rapporto velocità ed accellerazione
January 01, 2017 03:51PM
Grazie ELSTAK per la discussione che hai linkato, era proprio ciò che cercavo perché ho passato questa ultima settimana a tarare per bene tutti i parametri della mia R2.
Son partito col tarare per bene il moltiplicatore dell'estrusione in modo da avere pareti precise di 0,5,poi ho tarato bene gli steps degli assi cercando di spaccare il centesimo... Cosa un po difficile...
Ora proverò ad utilizzare il metodo indicato nella discussione che hai linkato per trovare il migliore valore di JERK... Attualmente sta a 10 ma non avevo nen capito a cosa servisse.
Devo dire che per quanto riguarda la stampa negli angoli non ho mai avuto grosse imprecisioni, ma magari facendo dei tentativi si ottiene qualcosa di meglio.
Per quanto riguarda le accellerazioni e le velocità di punta avrei un po di paura a fare tentativi senza sapere a priori quali sono i valori limite da non superare, anche se ogni stampate ha meccaniche diverse, probabilmente i parametri presenti su MK indicano già i valori estremi ottenuti dopo test.


Marcello
Prusa I3 R2 (Nicola P) - Ramps 1.4 - Driver A4988/TMC2100 - Hotend E3D V6 1,75mm 0.4 - FW MarlinKimbra 4.3.28_Dev - Repetier Host/Simlify3d
Re: Rapporto velocità ed accellerazione
January 01, 2017 04:43PM
Beati voi che riuscite a capire l'inglese, io, ahimè, non lo mastico se non a livello scolastico. Oso troppo a chiedervi se qualcuno di voi sarebbe così cortese da tradurre la discussione o, quantomeno, scriverne un sunto comprensibile per noi tordoni italianoti?
Ciao e grazie


My Thingiverse

La mia stampante è una Geeetech Pro B, con scheda di controllo modello GT2560A con installato il Firmware Marlin, estrusore MK8 e piano di stampa Ultrabase della Anycubic.
Re: Rapporto velocità ed accellerazione
January 02, 2017 08:43AM
Ti perdono solo se hai piu' di 45 anni altrimenti....


stasera lo traduco smiling smiley
Re: Rapporto velocità ed accellerazione
January 02, 2017 08:49AM
Quote
FoxMar

Per quanto riguarda le accellerazioni e le velocità di punta avrei un po di paura a fare tentativi senza sapere a priori quali sono i valori limite da non superare, anche se ogni stampate ha meccaniche diverse, probabilmente i parametri presenti su MK indicano già i valori estremi ottenuti dopo test.


Allor anella peggiore delle ipotisi stampa male e se proprio devo essere drastico rishci che perda step in stampa... quindi niente di che, cmq sia il consiglio e' di partire dai valori di default e scendere per poi salire e vedere se tiene di piu'


tipo se nel firmware hai 10 prova a stampare con 9-8-7-6 e con 11-12-13-14 poi ti fai una valutazione, l'stl linkato nella discussione e' perfetto per le prove ti spiega anche come modificare a mano il gcode per fare diversi step nella stessa stampa
Re: Rapporto velocità ed accellerazione
January 03, 2017 08:11AM
Quote
Elstak
Ti perdono solo se hai piu' di 45 anni altrimenti....


stasera lo traduco smiling smiley

50 tondi tondi e se portessi tornare indietro studierei solo inglese, cazzarola. Grazie mille a buon rendere


My Thingiverse

La mia stampante è una Geeetech Pro B, con scheda di controllo modello GT2560A con installato il Firmware Marlin, estrusore MK8 e piano di stampa Ultrabase della Anycubic.
Re: Rapporto velocità ed accellerazione
January 03, 2017 08:13AM
Grazie mille per le risposte ed i link in questi giorni che son in ferie spero di poter leggere la discussione e capirci qualcosa in piùwinking smiley


Manuel
Prusa i3 - disassemblata
Ultimaker 2**HC (Marlin+ e3d 1.75 +estrusore made by Andrea Lillia)
SIENCI cnc
Re: Rapporto velocità ed accellerazione
January 03, 2017 08:36AM
Manu, come sai sto ancora aspettando la ramps 1.4 dalla Cina, ma ho una shield CNC 3 come quella sulla quale stai facendo prove tu; stasera farò prove e ti farò sapere cosa sono riuscito a fare, nel frattempo ti allego la schermata delle impostazioni del soft estlcam anche se 200 step per rivolution sono tanti (stasera proverò partendo da 80 e vedrò come va),
Ciao

Edited 1 time(s). Last edit at 01/03/2017 08:37AM by Pietrogramma.


My Thingiverse

La mia stampante è una Geeetech Pro B, con scheda di controllo modello GT2560A con installato il Firmware Marlin, estrusore MK8 e piano di stampa Ultrabase della Anycubic.
Re: Rapporto velocità ed accellerazione
January 03, 2017 08:40AM
Quote
Pietrogramma
Manu, come sai sto ancora aspettando la ramps 1.4 dalla Cina, ma ho una shield CNC 3 come quella sulla quale stai facendo prove tu; stasera farò prove e ti farò sapere cosa sono riuscito a fare, nel frattempo ti allego la schermata delle impostazioni del soft estlcam anche se 200 step per rivolution sono tanti (stasera proverò partendo da 80 e vedrò come va),
Ciao

Pietrogramma ti dirò di più ora nelle prove via GRBL ho 5 step per mm..non so come ma così si muove dei mm richiesti...
Mi lascia un po perplesso ..ecco perché del thread perché il settaggio delle velocità credevo fosse il medesimo....davvero molto strano..


Con la MPCNC come procede ?

Edited 1 time(s). Last edit at 01/03/2017 08:41AM by ManuHC.


Manuel
Prusa i3 - disassemblata
Ultimaker 2**HC (Marlin+ e3d 1.75 +estrusore made by Andrea Lillia)
SIENCI cnc
Re: Rapporto velocità ed accellerazione
January 03, 2017 10:33AM
ops, ho dimenticato l'allegato, eccolo.
Le prove di cui ti parlo si riferiscono proprio alla MCNC, per il momento l'avevo accantonata in attesa della Ramps ma oggi leggendo il tuo post mi è tornata voglia di smanettare sulla CNC shield 3


My Thingiverse

La mia stampante è una Geeetech Pro B, con scheda di controllo modello GT2560A con installato il Firmware Marlin, estrusore MK8 e piano di stampa Ultrabase della Anycubic.
Attachments:
open | download - cnc.jpg (319.9 KB)
Re: Rapporto velocità ed accellerazione
January 03, 2017 10:59AM
Quote
Pietrogramma
ops, ho dimenticato l'allegato, eccolo.
Le prove di cui ti parlo si riferiscono proprio alla MCNC, per il momento l'avevo accantonata in attesa della Ramps ma oggi leggendo il tuo post mi è tornata voglia di smanettare sulla CNC shield 3

Ti dirò la Shield 3 la trovo molto immediata ed adatta al mio caso grazie anche all'immediatezza con la quale è possibile variare i valori GRBL, tuttavia non capisco bene il perchè i valori non corrispondano..
Onestamente non ho pensato al collegamento con ESTLCAM dato l'impiego di F360 ...

Ora son costretto a riprendere in mano le altre schede perché ho un lavoro da fare entro il 14/01 ....


Manuel
Prusa i3 - disassemblata
Ultimaker 2**HC (Marlin+ e3d 1.75 +estrusore made by Andrea Lillia)
SIENCI cnc
Re: Rapporto velocità ed accellerazione
January 03, 2017 02:45PM
Quote
Elstak
Ciao, pensa che mi sono appena fatto una cultura su cosa sia l'accelerazione, velocità, jerk e di come siano gestite dal firmware in rapporto al concetto matematico-fisico..... ti consiglio la lettura della discussione nella sezione generale di questo forum (non della sezione italia ma del forum stesso)

[forums.reprap.org]

Purtroppo devi leggerla tutta perche' chi l'ha aperta non ha pensato di riassumere anche se parliamo di una discussione aperta nel 2014 con ultimo messaggio settembre 2016

Buona lettura

Ho effettuato il test che viene indicato in questa discussione, stampando quell'oggetto tutto pieno di spigoli e modificando il valore di XY jerk ma devo dire che la differenza in fase di stampa è minima

Ho stampato l'oggetto mettendo un altezza di 25mm, layer 0,25 partendo con un valore di JERK di 2 e modificandolo ogni 10 layer con multipli di 2 sino a 20.
Ho effettuato una stampa a 60mm/s e una a 90.

L'unica cosa che ho notato è che con il salire del valore di JERK aumentavano delle righine verticali che si presentavano subito dopo una svolta, praticamente come se l'estrusione in fase di accelerazione dopo la curva non uscisse in modo costante ma a singhiozzo, quindi penso che dipenda più che altro dall'acclerazione dell'estrusore che ho lasciato costante, ma magari dico una fesseria.

E poi si sono verificate delle costanti rientranze e sporgenze in corrispondenza degli angoli che non so spiegare.
Allego le foto anche se non si vede benissimo.

Inoltre ho provate a stampare un cubo 20x20 usando jerk 6 per portarlo di colpo a 20 per vedere se si verificavano variazioni più evidenti ed anche in questo caso con l'aumentare del valore sono aumentate le onduline verticali in fase di accellerazione subito dopo la curva.....insommma...gli mancava qualche cavallo!!!!


Marcello
Prusa I3 R2 (Nicola P) - Ramps 1.4 - Driver A4988/TMC2100 - Hotend E3D V6 1,75mm 0.4 - FW MarlinKimbra 4.3.28_Dev - Repetier Host/Simlify3d
Attachments:
open | download - IMG_20170103_193008.jpg (405.8 KB)
open | download - IMG_20170103_193103.jpg (233.7 KB)
open | download - IMG_20170103_193154.jpg (226.4 KB)
open | download - IMG_20170103_193258.jpg (366 KB)
open | download - IMG_20170103_193340.jpg (577.5 KB)
open | download - IMG_20170103_193407.jpg (447.1 KB)
open | download - IMG_20170103_194118.jpg (477.4 KB)
Re: Rapporto velocità ed accellerazione
January 16, 2017 06:30AM
Chiedo scusa a tutti mi sono perso la discussione.... e anche la traduzione l'avevo iniziata ma probabilmente fra un crash e l'altro del pc me la sono persa, stasera appena rientro mi rimetto a farla.


@Fox

Allora il jerk ha proprio quello scopo, cercare di ridurre le oscillazioni date dall'accelerazione. quando acceleri la cinghia si tende poi la testina si muove e la cinghia ritorna nella posizione original e(intendo la tensione) poi la stampante accelera ancora e la cosa si ripete..... si ripete ogni volta che fa uno step di accelerazione, se diminuisci il jerk diminuisci quelle linee ma ottieni unt empo maggiore per accelerare quindi spesso lo spazio non basta per arrivare alla velocità massima in quanto è già il momento di frenare, per gli angoli assicurati di avere un accelerazione molto alta sull'estrusione e anche il jerk, così nei cambi di direzione avrai meno problemi di estrusione.


Fai una stampa metà con accelerazione bassa e jerk a 1, metà con accelerazione bassa e jerk a 25 poi ripeti con accelerazione alta in questo modo sai da che parte andare
Re: Rapporto velocità ed accellerazione
January 16, 2017 02:06PM
Quote
Pietrogramma
Quote
Elstak
Ti perdono solo se hai piu' di 45 anni altrimenti....


stasera lo traduco smiling smiley

50 tondi tondi e se portessi tornare indietro studierei solo inglese, cazzarola. Grazie mille a buon rendere

Questa e' la prima parte, quella che si è conclusa nel 2012, a settembre 2016 un utente l'ha riaperta, domani traduco anche quella ma non aggiunge nulla di diverso, semplicmente viene ribadito quanto gia detto e approfondito su alcuni aspetti


Qualcuno può spiegare la differenza tra l'accelerazione massima ed il jerk in Marlin e quali sono i rischi se fossero troppo alti o bassi per favore?

1) Il Jerk è la variazione istantanea della velocità, l’accelerazione è il rate con cui cambia la velocità fra l'impostazione Jerk e la velocità richiesta
2) La velocità è il coefficente di variazione della posizione. L'accelerazione è il coefficente di variazione della velocità. Jerk è il coefficente di variazione di accelerazione.
3) Sì in un certo senso, matematico, sono tutti i derivati di tutti

Ci sono anche i termini "snap", "crackle" e "pop" per descrivere il quarta, quinta e sesta derivate. Non credo che questi siano mai realmente utilizzati in applicazioni pratiche, anche se penso che è possibile una loro applicazione nel trovare il percorso ottimale intorno agli oggetti (a seconda che cosa si sta cercando di ridurre al minimo, che si tratti di forze di accelerazione, potenza richiesta, la velocità o la distanza, ecc)

correggetemi se sbaglio, ma sono abbastanza sicuro che l’implementazione (del jerk NDR) nelMarlin non è la derivata di accelerazione e "jerk" è solo la più alta variazione istantanea ammissibile del vettore velocità.

Dato che su una stampante 3D tutte le parti sono descritte (disegnate NDR) da un sacco di piccole linee rette, ci sono centinaia di angoli che la toolhead percorre quando, per esempio, va attorno ad un cerchio. Non ci sono curve morbide, anche quando si utilizza il codice specifico della curva nel G-Code, il controller divide la curva verso il basso in un sacco di linee piccole, più piccole di quanto si potrebbe trovare in qualsiasi STL di una certa dimensione. Matematicamente, se giri intorno ad un angolo ad una certa velocità la tua accelerazione e il Jerk (reale) andrebbe all'infinito.

Quindi, per gestire la matematica, non si può andare girare intorno ad un angolo ad una certa velocità e devono mantenere l'arresto, si puo’ arrotondare gli angoli leggermente per evitare infinita JERK / Accel, o semplicemente stravolgeresti completamente la matematica. Cio’ che l'impostazione JERK fa non è altro che imporre un limite alla variazione di velocità istantanea ad ogni angolo e poi la stampante accelera ad una velocità costante da lì. Questo consente alla stampante di andare molto veloce intorno superfici leggermente curve, in quanto la variazione di velocità vettore è molto piccolo ad ogni vertice, e gli permette di andare in modo lento controllato intorno spigoli vivi. Il JERK che attualmente la tua stampante vede sarà definito dal suo “springyness” (la traduzione non è possibile, è sleng non inglese credo si riferisca alla flessione del telaio della stampante inteso come coefficiente di flessione, con “la tua stampante vede” è inteso il valore che puoi impostare riferito alla domanda con cui il thread èè stato aperto).

4)l’unico problema con un valore troppo basso di jerk su X e Y è che le stanpe richiedono piu’ tempo
5)IN RISPOSTA AL 4: in realtà è la principale causa di blobs (in inglese macchia/massa informe riferita al materiale sovra estruso) negli angoli e in altre parti (della stampa NDR) Se si aumento l’impostazione Jerk si vedranno le blobs sparire

6) in risposta al punto 2: No jerk è la variazione istantanea della velocità (non accelerazione). In linea di prioncipio è fisicamente impossibile; ma rimane sensato provare comunque. Sia perche’ il jerk è inferiore alla risoluzione del motore passo-passo o perche’ il telaio della stampante fletterà un po’ per compensare

7)in risposta a 6: Questo potrebbe essere quello che pensi, ma non corrisponde all’uso generale [it.wikipedia.org]) Credo che la spiegazione di konwiddaks sia corretta (la 3)

8)io uso un tra 20 e 35 per il jerk. e 1 per l’asse z. questo è giusto per la mia macchina. ogni impostazione più alta influisce sulla qualità finale e ho parti che iniziano a sciogliersi. Serve un valore più alto possibile per stampe piu’ veloci. ci sono un sacco di brevi movimenti in un lavoro di stampa. questa impostazione impatta i brevi spostamenti. L’accelerazione (qui usano kicks in inteso come spingere avanti, quello che vuole dire è che la cosa successiva che influenza la velocità di stampa è l’accelerazione) lo farà in seguito. Credo che le impostazioni predefinite sono circa 15. Al momento ho impostato la mia ultima stampante un Prusa a 25 per x, y, 1 per z.

9)In risposta a 7: Sì, il termine è usato male nel firmware e non corrisponde alla definizione matematica.
Se si guarda il codice del firmware è la variazione istantanea della velocità.
Presumo che cio che preoccupa qui è come viene utilizzato nel firmware non la definizione matematica.

10)Il jerk è importante anche per E (estrusori)?
11) Inn risposta a 10: si e no perché il firmware deve muovere tiutti gli assi in sincronia quindi sei sempre vincolato dall’asse piu’ lento. Tuttavia i movimenti di E sono normalmente piccoli e con basi velocità di passo, così la maggior parte delle impostazioni significheranno che il movimento è vincolato a XY e non a E

12) In risposta a 11: Jerk e accelerazione di E sono usati durante le ritrazioni quindi sono importanti ed impattano sulla stampa in qualche modo. Ho l’accelerazione a 10000 per E con 100 di Jerk perche devo ritrarre 5.5mm con il bowden e voglio che sia istantaneo. Questo potrebbe non funzionare per tutte le stampanti in quanto sulle macchine bowden l’elasticità del filamento è sufficiente per accelerare all’indietro in maniera veramente veloce e previene possibile step saltati durante la ritrazione.

13)In risposta a 9: ho effettuato il porting (si definisce “port” o “porting” la tecnica usata per prendere del codice sorgente scritto per un dato sistema e lo si trasporta/porta in un altro adattandone il linguaggio al nuovo ecosistema NDR) del codice derivato da GRBL e risolto diversi bug quindi ho familiarità con il codice. Il cambio di velocità e ovviamente l’accelerazione che sia istantanea o meno. Cio che il Firmware attualmente fa e uno specifico intervento per ridurre la velocità nelle giunzioni per permettere il cambio di direzione (ovvero accelerazione). Il Jerk è (qui usano fudge [cheat, defraud, swindle, palter, fudge] che tradotto sta per falso) un valore finto che di fatto riduce l’accelerazione in questo caso specifico. Questo è lo stesso obbiettivo del/di/della “third order motion profile” non so tradurla credo si riferisca a qualcosa nell’ambito del controllo numerico ma non ha molta importanza. Quindi non diverso dal jerk reale è solo una rapida stima invece che un calcolo completo. Però in un movimento o se ci sono diversi movimenti sulla stessa linea allora la velocità segue un profilo/percorso trapezioidale e non c’e’ alcuna limitazione del Jerk.

14) in risposta a 13 “Il Jerk è un valore finto che di fatto riduce l’accelerazione in questo caso specifico”
Amenoche’ non mi sono perso qualcosa si sostanziale GRBL/Marlin/Sprinter muovono, ad eccezione di G2/G3, solo linee dritte. Con le linee rigorosamente rette, bisogna fermarsi ad ogni angolo o stravolgerai la fisica. Perché ogni cambiamento improvviso della velocità o direzione richiederebbe accelerazione infinita, che è fisicamente impossibile.

Il valore del Jerk del firmware sostituisce alcune accelerazioni controllata da un importo (regolabile) di questo inganno (sempre tradotto da fudge in questo caso fudging). Ha un certo senso, in pratica, ma non è matematicamente pulito.

A causa di questo, i motion controller più avanzati, come EMC, EMC2 o controllori CNC industriali, non hanno alcuna impostazione Jerk. Si appoggiano alla fisica e fornisocno il G64 G-code: [geekbraindump.blogspot.de]

15) anche marlin calcola l'arco attraverso una linea che interseca un un'altra linea con un angolo diverso, in modo da andare intorno ad un angolo quando x si ferma e y inizia, vi è l’opportunità per l'accelerazione di essere in anticipo per y, attorno all'angolo dell'arco . I comandi arco da host richiedeìono meno dati per elaborare e mantenere il buffer pieno, e si può facilmente prevedere la velocità e l'accelerazione, perché ci si trova in un arco di un angolo specificato. questo è già parte di grbl, su cui Marlin si basa . Il marlin aggiunge le informazioni di compensazione dell’estrusione, che significa E si muove in anticipo per creare il flusso prima dei movimenti di XY.

16)in risposta a 15: Si c’e’ l’opportunità ma GRBL non la prende. Per essere sicuro ho semplicemente buttato un occhio ai sorgenti di GRBL ed ho trovato cose come questa
-----------------------------------------
Line 95, motion_control.c:
// The arc is approximated by generating a huge number of tiny, linear
segments.
------------------------------------------

GRBL non puo’ fare line curve. G”/G3 riduce le comunicazioni dall’host ma non puo’ approsimare curve al livello di singolo passo.
----------------------------------------------------
NOTE: This is basically an exact path mode (G61), but it doesn't come to a complete stop unless
// the junction deviation value is high. In the future, if continuous mode (G64) is desired, [...]
--------------------------------------------------------

Qui specificano chiaramente che loro non combinano i percorsi o fanno angoli arrotondati.
Guardando il file stepper.c linea 276ff, dove effettivamente si generano gli impulsi passo-passo, non riesco nemmeno a trovare un algoritmo di accelerazione costante. Accelerano sottraendo un valore costante dal’intervallo di tempo tra due impulsi (velocità più elevate) o semplicemente dividendo l'intervallo per 2 (velocità più basse).

Combinare due segmenti lineari è possibile, ma non esattamente banale quando si utilizza l'algoritmo Bresenham. Ho provato molte volte e sempre fallito finora. Bresenham dipende da un "asse veloce", che è l'asse con il maggior numero di impulsi di step. Questo asse fornisce la velocità, ma può variare tra due segmenti lineari.
Ora, grbl ha un vantaggio qui, utilizza una sorta di asse virtuale ( "event_count") che non è direttamente legato ad un motore passo-passo. L'asse virtuale è per i calcoli di velocità, soltanto. siccome devo smettere di scrivere questo commento da qualche parte aggiungo solo questo: un asse virtuale viene fornito con nuovi problemi, soprattutto su macchine con molti e differenti passi / mm su assi distinti.


Edited 1 time(s). Last edit at 01/16/2017 02:07PM by Elstak.
Sorry, only registered users may post in this forum.

Click here to login