Velocità passo-passo della vita reale


9

Mi chiedo della velocità che i miei stepper dovrebbero raggiungere nel normale funzionamento e quali siano i fattori determinanti, dai fatti / limiti teorici dell'hardware alle limitazioni del software che possono influenzare le prestazioni.

Conosco le proprietà di base dei motori passo-passo come la relazione di coppia con la velocità, che ho letto qualche tempo fa da questa fonte (per non incappare in questa domanda in seguito): https://www.geckodrive.com/gecko/images /cms_files/Step%20Motor%20Basics%20Guide.pdf

Finora Wikipedia ( https://en.wikipedia.org/wiki/Stepper_motor ) rivela facilmente le seguenti affermazioni riguardo alla mia domanda:

Pertanto, quando controllata da un azionamento L / R, la velocità massima di un motore passo-passo è limitata dalla sua induttanza poiché a una certa velocità, la tensione U cambierà più velocemente della corrente che posso mantenere.

e per i driver chopper:

Ciò richiede un'elettronica aggiuntiva per rilevare le correnti degli avvolgimenti e controllare la commutazione, ma consente ai motori passo-passo di essere guidati con una coppia maggiore a velocità più elevate rispetto agli azionamenti L / R

Ovviamente anche la quantità di passaggi / rivelazioni cambierà la velocità

Tuttavia, tutto ciò non mi aiuta a determinare quale dovrebbe essere la reale velocità di vita del mio stepper. Ulteriori parametri del firmware ingombrano ancora di più il mio cervello (per principianti) (e non mi sono ancora tuffato troppo in profondità). In generale, capisco che la frequenza che utilizziamo per inviare i passi allo stepper è il principale fattore determinante, anche 'ridotto' dal microstepping, se applicato. Non possiamo mantenere la corrente quanto necessaria a causa delle proprietà di temporizzazione / induttive / elettroniche dei motori, quindi perdiamo coppia o infine passi. Una tensione più elevata aiuta ad aumentare la corrente più velocemente, quindi la pendenza dell'incremento di corrente può anche limitare la frequenza massima applicabile. La frequenza stessa viene fornita dalla scheda del controller al driver del motore, quindi viene impostata nel firmware.

Tutto sommato, a parte ciò che ha senso utilizzare in una configurazione di stampante 3D, quali sono i fattori determinanti delle velocità stepper che possono essere realizzate e come si trasformano in valori di vita reali per le nostre stampanti? Inoltre sarei interessato a come i fattori determinanti influenzano l'affidabilità e la qualità di stampa indipendentemente dalle difficoltà meccaniche che sorgono con la velocità di stampa.

/ modifica:
ho riscontrato che esistono su electroncs SE:
/electronics/71270/ma maximum- speed- of- stepper-
motor /electronics/129064/slow down-stepper-motors-velocità-using-stepper-driver-DRV-8825

Tuttavia, penso che la domanda qui sia pertinente e abbastanza specifica da consentire la stampa 3D qui accanto.

Risposte:


11

I quattro limiti di velocità principali del motore in una stampante 3d sono:

  • Limiti di frequenza di generazione del passo del firmware
  • Effetti del pianificatore di movimento del firmware
  • Perdita di coppia e precisione a causa dell'induttanza della bobina del motore e degli effetti di retro EMF
  • Risonanza nella banda media

I limiti di velocità per la generazione dei passi dipendono dal firmware e dalla scheda controller utilizzati. Esiste una gamma significativa, in particolare quando i firmware a 32 bit e le piattaforme basate su RTOS come MachineKit vengono confrontati con i firmware a 8 bit in esecuzione su AVR Atmega. Qualche esempio:

  • Marlin su un Atmega a 16 bit a 8 bit Atmega può solo eseguire l'interruzione stepper a 10.000 hz senza rallentare il processore e bloccare altri algoritmi critici (come la pianificazione del movimento). Può generare rate di step fino a 40.000 hz pulsando la linea di step due o quattro volte per interrupt, il che abbassa efficacemente il livello di microstep nel software e fa funzionare i motori più rumorosamente / più forte.
  • Il ripetitore sullo stesso Atmega può eseguire l'interruzione stepper a 12.000 hz, perché è ottimizzato più per la velocità di esecuzione di Marlin.
  • Il ripetitore su un ARM Cortex-M3 a 32 bit a 84 MHz può eseguire l'interruzione stepper a 80.000 Hz.

Questi limiti in genere influiscono solo sulla velocità effettiva del passo-passo quando viene utilizzato un microstepping relativamente fine.Considera un esempio basato su una configurazione della stampante Marlin molto tipica. Il microstepping di almeno 1/4 è fortemente raccomandato per evitare problemi di risonanza, quindi iniziamo con 1/16 stepping. Ciò consente al quad-stepping di produrre in modo efficace 1/4 passaggi. Iniziare con un microstepping più fine diminuirà la nostra velocità massima e un microstepping più grossolano sarà più forte e potrebbe incontrare risonanza, quindi questo è un buon punto di partenza. Quindi ipotizzare una tipica puleggia da 32 mm per giro su un motore passo-passo da 1,8 gradi (200 gradini / giro). Questo sistema ha una risoluzione di 200 * 16/32 = 100 passi / mm. Con una frequenza di stepping totale di 40.000 Hz (quad-stepping a 10.000 Hz) possiamo teoricamente viaggiare a 400 mm / s prima di colpire il cappello duro di Marlin. Probabilmente sarà un RPM più alto di quello che vogliamo far funzionare il motore, quindi non è un limite molto impattante.

In confronto, se iniziassimo a un passo di 1/128 (come nel caso del chip driver THB6128), la nostra velocità massima con Marlin a 8 bit sarebbe di 50 mm / s. È abbastanza lento.

I pianificatori di movimento del firmware possono limitare ulteriormente la velocità del motore aumentando e diminuendo le curve e gli angoli. Se la geometria del modello presenta molte curve strette, è probabile che le velocità target comandate dal gcode non vengano mai effettivamente raggiunte. Solo i percorsi lunghi e rettilinei avranno abbastanza tempo per raggiungere l'obiettivo di velocità. Puoi vederlo tu stesso stampando un modello molto piccolo con una varietà di velocità di avanzamento e temporizzando la durata effettiva della stampa: a un certo punto, aumenti della velocità comandata non faranno alcuna differenza sui tempi di stampa effettivi.

Un altro vincolo che alcuni firmware impongono è la possibilità di rallentare in modo sicuro fino a un arresto entro la lunghezza di tutti i comandi di movimento nella coda del planner. Ciò consente alla stampante di gestire con grazia un'improvvisa perdita di input, ad esempio se il computer host smette di trasmettere comandi USB o se la scheda SD presenta una serie di errori di lettura. Se la stampante si interrompe bruscamente alla massima velocità quando esaurisce i comandi, è probabile che perda la posizione e rovini la stampa. Considerando che se può decelerare fino a una velocità di arresto sicura, potrebbe essere in grado di riprendere dopo che il flusso di comandi riprende.

In termini di comportamento effettivo del motore, l' induttanza e il back-EMF introducono limiti significativi perché riducono la coppia del motore a RPM più elevati. Questo produce una curva coppia / RPM che scende a velocità più elevate:

inserisci qui la descrizione dell'immagine http://www.geckodrive.com/support/step-motor-basics.html

Si noti che nella figura è presente una regione piatta a "corrente costante" sul lato sinistro a bassa velocità. Questa è la gamma in cui il driver di taglio sta limitando la corrente della bobina. Sul lato destro della curva, la corrente non è in grado di raggiungere l'obiettivo prima che debba essere disattivata per il passaggio successivo. Ciò riduce l'intensità di campo e quindi la coppia.

Ci sono due effetti separati da considerare qui:

  • Le bobine del motore sono induttori, il che significa che c'è un ritardo del primo ordine tra la tensione applicata e la corrente della bobina. Un motore passo-passo bipolare standard con un driver per microstepping deve aumentare la corrente della bobina da zero a max o da max a zero ogni passaggio completo (ad es. Ogni sedici 1/16 di microsteps). A velocità di passo elevate, non c'è abbastanza tempo per caricare completamente la bobina alla sua corrente massima prima che il passo successivo richieda la caduta della corrente. Senza sviluppare la corrente di bobina piena su ogni passo, la coppia viene persa.
  • Ogni motore è anche un generatore e la rotazione del rotore genera una tensione di ritorno EMF all'interno delle bobine del motore. Quella forma d'onda di tensione viene sovrapposta alla forma d'onda di tensione dell'inverter con uno spostamento di fase dipendente dalla posizione del rotore rispetto alla posizione di eccitazione della bobina. In termini semplici, questa tensione tenta di frenare il motore: fa sempre tutto ciò che rallenta il motore. Ciò significa che si oppone alla tensione di azionamento applicata quando il motore applica la coppia diretta o assiste la tensione di azionamento applicata quando il motore applica la coppia frenante.

Per una discussione pratica dei limiti di velocità, possiamo semplificare la situazione ipotizzando che la tensione back-EMF sia opposta alla tensione del convertitore applicata alle bobine. Ciò significa che la corrente della bobina aumenta / diminuisce di tensione in modo meno efficace e ci vuole più tempo per cambiare la corrente e si sviluppa meno corrente della bobina di quanto sarebbe il caso senza back-emf. Ciò riduce ulteriormente la curva coppia / RPM del motore. E quando la tensione EMF posteriore è circa della stessa grandezza della tensione del convertitore, può derivare una significativa instabilità del motore a causa di complessi effetti di retroazione tra la posizione del rotore e la tensione effettiva della bobina.

Puoi giocare con questi effetti usando diverse configurazioni e velocità del motore per alcuni popolari driver stepper per stampanti 3D usando il mio simulatore di driver stepper: https://github.com/rcarlyle/StepperSim

In applicazioni a circuito chiuso con feedback di posizione e driver di fascia alta in grado di smorzare varie modalità di instabilità, può essere corretto far funzionare lo stepper fino in fondo alla curva della coppia a RPM molto elevati. Nelle più tipiche applicazioni di stampa 3D ad anello aperto, in genere è meglio attenersi alla parte a basso numero di giri della curva di coppia prima che l'induttanza e il back-EMF assumano davvero il comportamento del motore. Perdere troppa coppia può facilmente significare saltare passi e perdere posizione, rovinando la stampa.

Un altro effetto importante per gli stepper è la risonanza nella banda media . Questa non è una normale risonanza meccanica, ma in realtà un effetto di risonanza elettromeccanica. È piuttosto complicato, ma la breve spiegazione è che uno stepper ha uno sfasamento intrinseco di 90 gradi tra posizione e coppia e quando le velocità salgono a un punto in cui l'induttanza della bobina introduce un ulteriore sfasamento di 90 gradi tra la corrente della bobina e la tensione applicata, il sistema elettromeccanico ha un ritardo di fase di 180 gradi altamente instabile e crea quindi un circuito di feedback negativo. Ciò può ridurre rapidamente la coppia del motore fino a quando il motore non perde sincronicità con la tensione applicata del conducente e si blocca.

La risonanza nella banda media si verifica solo quando la corrente della bobina è limitata dall'induttanza. Non può verificarsi nell'intervallo di azionamento a corrente costante perché non c'è abbastanza ritardo di fase tra la tensione applicata e la corrente della bobina.

inserisci qui la descrizione dell'immagine http://www.geckodrive.com/support/step-motor-basics.html

Sfortunatamente, le curve di coppia misurate disponibili dai produttori non mostrano quasi mai zone di risonanza, perché le curve sono prodotte caricando motori con freni a frizione che smorzano qualsiasi tipo di effetto di risonanza dall'edificio. Considerando che un carico di trasmissione di una stampante 3D è quasi completamente inerziale (accelerando una massa) che è molto più incline alla risonanza.

I driver di fascia alta possono rilevare e smorzare automaticamente la risonanza nella banda media, ma i driver di stampante 3D a basso costo tipici non dispongono di questa funzionalità.

È generalmente prudente evitare di entrare in un intervallo RPM in cui si può verificare una risonanza nella banda media. Ciò si ottiene facilmente aderendo al lato sinistro della curva di coppia, nella regione operativa a corrente costante. Ciò garantisce una coppia elevata e una buona stabilità.

Per un esempio concreto, si consideri il popolare stepper Kysan 1124090 con un alimentatore a 24v.

inserisci qui la descrizione dell'immagine https://ultimachine.com/content/kysan-1124090-nema-17-stepper-motor

Per mantenere una coppia elevata ed evitare la risonanza nella banda media, vorremmo mantenere gli RPM a circa 400 o meno. Per la stessa puleggia da 32 mm per giro menzionata sopra, ciò limiterebbe le velocità a circa 200-240 mm / s. Sono possibili velocità più elevate, ma potrebbero verificarsi problemi di affidabilità.

Questa velocità, ovviamente, presuppone che venga utilizzata una PSU a 24 V, per adattarsi alla curva di coppia misurata: una PSU a 12 V avrebbe una velocità massima significativamente inferiore prima che l'induttanza inizi a limitare la corrente della bobina, circa la metà della velocità. Una tensione di alimentazione più elevata aumenta notevolmente la velocità massima effettiva per il motore.

Ancora una volta, puoi simulare facilmente questo effetto (usando https://github.com/rcarlyle/StepperSim ). Questo diagramma di uscita del simulatore mostra come l'induttanza e il back-EMF impediscono alla corrente della bobina di raggiungere l'obiettivo:

inserisci qui la descrizione dell'immagine

Per la progettazione pratica della trasmissione, un simulatore di motore / driver è davvero lo strumento migliore nella casella degli strumenti per trovare il punto in cui le prestazioni inizieranno a degradare a causa dell'incapacità di raggiungere gli obiettivi attuali. È semplicemente troppo complesso applicare semplici equazioni o regole empiriche con precisione. Questi effetti elettrici e i limiti di generazione dei passi del firmware sono probabilmente le due principali restrizioni sulla velocità del motore per la maggior parte delle stampanti.

Naturalmente, la velocità con cui puoi fondere la plastica tenderà a limitare le velocità di stampa in modo significativo al di sotto dei limiti di velocità reali del motore, ma questa è una discussione diversa. Per il momento, possiamo semplicemente dire che la massima velocità del motore tende a non essere importante per i movimenti di stampa nelle tipiche stampanti cartesiane. Tuttavia, ci sono alcuni casi in cui è probabile che favoriscano le prestazioni della stampante:

  • Delta lineari, dove le carrozze potrebbero dover correre più volte più velocemente dell'effettore per determinate direzioni di movimento
  • Estrusori ad ingranaggi con elevato rapporto di riduzione (ad es. Molto superiore a 5: 1) per elevate velocità di retrazione
  • Viti a testa corta (o interamente filettate) che richiedono alte velocità di rotazione per ottenere velocità lineari moderate

++ Grazie, questo mi ha aiutato a capire cosa sta succedendo molto meglio di prima!
TextGeek

Questa risposta è epica. Anche il collegamento al calcolatore XLSX! Stavo per fare una domanda sul riproporre il mio vecchio stepper, dopo aver inserito i valori nel XLSX ho già ricevuto la mia risposta.
FarO,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.