microstepping e performance del motore passo-passo

Sezione dedicata all'elettronica in generale.
Rispondi
Avatar utente
hellfire39
God
God
Messaggi: 3920
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

microstepping e performance del motore passo-passo

Messaggio da hellfire39 » martedì 12 novembre 2024, 16:28

Nei giorni passati è ri-apparsa sul forum l’informazione che le prestazioni di un motore stepper dipendano dal micropasso impostato sul driver.
Si tratta di una informazione falsa.

Ma, perché falsa?
- Perché è una teoria che non trova giustificazioni nel modello teorico del motore.
- Perché lo affermano in modo esplicito i produttori (qui, qui, qui, qui).
- Perché si scontra con l'esperienza comune di (quasi) tutti gli utenti.
- Perché è facile confutarla con un semplice esperimento.
- Perché i micropassi non arrivano al motore, si fermano al driver: perché il motore dovrebbe reagire in modo differente se i segnali che lo pilotano sono pressoché identici?

Le frasi dei produttori sono chiare, non penso che abbiano bisogno di ulteriori commenti. Sono tutti concordi nell’affermare che l’utilizzo di micropassi non pone limiti prestazionali al motore.
Viceversa, in letteratura non si trova neanche un documento che affermi esplicitamente il contrario. Se l’effetto del micropasso fosse così penalizzante come affermato, ogni produttore di motori lo evidenzierebbe in modo estremamente chiaro.

La teoria
Come mostrato dalle curve coppia/rpm presenti in ogni datasheet dei motori stepper, le prestazioni del motore sono legate alla velocità di rotazione dell’asse. La coppia diminuisce all’aumentare della frequenza di rotazione con andamento più o meno lineare.

A cosa è dovuto questo comportamento?
Lo stepper è una macchina sincrona, l’asse del motore si muove in modo sincrono al campo magnetico generato dagli avvolgimenti. Il rapporto tra le loro velocità di rotazione è dato dal numero di poli del motore. Nel caso specifico di uno stepper che abbia 200 passi/giro, in ogni avvolgimento scorrerà una corrente la cui frequenza è 50 volte (50=200/4) la frequenza di rotazione dell’albero motore.
[perché diviso 4? Perché servono quattro passi prima che il ciclo si ripeta: A+ B+ A- B-
Uno stepper da 200 passi/giro ha 100 poli o 50 coppie polari]
In una macchina elettromagnetica, forza elettromotrice è dovuta alla corrente che scorre negli avvolgimenti.
Se il driver fosse sempre in grado di portare istantaneamente la corrente ai valori desiderati, il motore potrebbe avere sempre la stessa corrente (e quindi coppia) a prescindere dalla velocità di rotazione.
Nel mondo reale, gli avvolgimenti del motore hanno sempre una componente induttiva. Sappiamo che l’induttanza si oppone naturalmente alle variazioni di corrente e che l’effetto dell’induttanza è proporzionale alla frequenza del segnale. Per questa ragione, all’aumentare della frequenza, diminuisce la corrente che il driver è in grado di erogare al motore. E, minore corrente significa minore coppia.
Come mostrano chiaramente i datasheet, si può aumentare la coppia ad alti rpm aumentando la tensione di alimentazione, ma l’andamento decrescente della coppia al crescere della velocità rimane.
Per approfondire il concetto, questo sito descrive molto meglio di quanto potrei fare io quanto detto ed il ruolo della tensione nel facilitare il raggiungimento della corrente nominale.
https://linuxcnc.org/docs/devel/html/in ... ppers.html

Dalla teoria alla pratica
Abbiamo stabilito che le prestazioni del motore sono legate principalmente alla frequenza di rotazione del campo magnetico (ovvero la frequenza delle correnti negli avvolgimenti).
La domanda che dobbiamo porci è: se due configurazioni dei driver generano correnti che hanno la stessa frequenza, perché le prestazioni del motore dovrebbero essere differenti?

Ora, qualunque sia il micropasso impostato sul driver, data una frequenza di rotazione dell'albero motore (ad es. 150 rpm), avremo sempre la stessa frequenza del segnale sugli avvolgimenti motore.
Stessa frequenza della corrente degli avvolgimenti = stesse perfomance.
Ecco un esempio pratico: le immagini qui sotto mostrano la corrente di un avvolgimento con due differenti impostazioni del driver:
- micropasso: 1/4, 2000 pps in ingresso al driver, 125 Hz in uscita al driver;
- micropasso 1/32, 16000 pps in ingresso al driver, 125 Hz in uscita al driver.
La frequenza di rotazione del motore è, ovviamente, la stessa.
Come si può notare, l’unica differenza tra le due curve è l’aspetto, leggermente più squadrettato nel primo caso in cui si possono distinguere i 16 scalini (micropassi) che compongono un ciclo completo (un ciclo completo = quattro passi: A+ B+ A- B-; 4 passi x 4 micropassi = 16).
mp4.png
mp32.png

Quindi non ho limiti al microstepping?
TL;DR Si, ci sono limiti legati legati alle performance di controller e driver.

In questo approfondimento ci siamo limitati a verificare l’effetto (inesistente!) dei micropassi sul motore.
Ma l’intero sistema di controllo è composto anche da un controllore e da un driver.
Aumentare i micropassi comporta la generazione di impulsi a frequenze molto maggiori. Nell’esempio precedente, per avere 150 rpm passiamo da 2kHz (1/4 passo) a 16kHz (1/32 passo).
Sia il controllore che il driver hanno dei limiti di frequenza ben definiti che potrebbero essere superati con maggiore facilità nel caso di micropassi elevati.
A titolo di esempio riporto delle discussioni relative a due popolari SW basati su Arduino:
Qui https://www.grbl.org/single-post/how-fast-can-it-go il limite di frequenza per GRBL (Arduino, 8 bit)
Qui https://reprap.org/wiki/Step_rates il limite di frequenza per Marlin (ATMega 16MHz)
Parliamo di 30kHz nel primo caso e di 10kHz (fino a 40kHz in quad stepping) nel secondo. Come si vede, frequenze molto basse.

Un sistema di test

Nel caso si voglia verificare l’effetto dei micropassi su un motore, è necessario mettere in piedi un sistema che non sia affetto dai suddetti limiti. Inoltre è necessario effettuare tutti i test con lo stesso driver, variando solamente la configurazione dei micropassi, altrimenti si aggiunge una ulteriore variabile che falsa i risultati.
Ad esempio, se sostituisco il driver, come posso essere sicuro che sto applicando la identica corrente?
Per questa ragione i test che ho effettuato si sono basati sull’utilizzo di un controllore a 32 bit (eps32), con uno sketch apposito, capace di erogare passi fino a 200kHz (libreria FastAccelStepper) ed un piccolo driver DRV8825 che, da specifiche, è in grado di ricevere fino a 150kHz in ingresso.
Infine, la velocità di rotazione del motore è stata raggiunta con una rampa abbastanza dolce, in modo che nono fosse l’accelerazione a rappresentare un collo di bottiglia.

Contribuire alla discussione
In questo post ho cercato di spiegare la teoria che rende ridicola l'affermazione che il micropasso possa influire sulle prestazioni del motore ed ho portato affermazioni di costruttori che affermano esplicitamente la stessa cosa.
Microstepping has two principal benefits: it provides increased resolution without a sacrifice in top speed, and it provides smoother low speed motion.
In many applications microstepping can increase system performance, and lower system complexity and cost, compared to full- and half-step driving techniques. Microstepping can be used to solve noise and resonance problems, and to increase step accuracy and resolution.
There are still compelling reasons other than high resolution for microstepping. They include:

reduced Mechanical Noise.
gentler Actuation Mechanically
reduces Resonances Problems

In summary, although Microstepping gives the designer more resolution, improved accuracy is not realized. Reduction in mechanical and electromagnetically induced noise is, however, a real benefit. The mechanical transmission of torque will also be much gentler and resonance problems reduced. This gives better confidence in maintaining synchronization of the open loop system and less wear and tear on the mechanical transmission system.
Qualora si voglia contribuire alla discussione, o confutare queste affermazioni, mi aspetto che vengano fornite prove altrettanto forti. Non generiche formule o grafici mal-interpretati, ma testi che affermino in modo espicito che le prestazioni del motore si riducano in modo proporzionale al micropasso e, soprattutto, spieghino quale sia la teoria che giustifica un tale fenomeno.
Perché non basta affermare che un fenomeno esista, ma va dimostrato. E quanto più incredibile è l'affermazione, tanto più devono essere solide le prove a supporto.

Scusate per il post un po' lunghetto.
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
leomonti
Senior
Senior
Messaggi: 2363
Iscritto il: mercoledì 20 dicembre 2006, 19:04

Re: microstepping e performance del motore passo-passo

Messaggio da leomonti » martedì 12 novembre 2024, 17:54

Che importa se il post è lungo?
Piuttosto, lo trovo molto utile, come tutto ciò che fa chiarezza, sgombrando il campo da leggende metropolitane....
Il cervello è l'organo più sopravvalutato...(W.Allen)

Ganesh
Member
Member
Messaggi: 595
Iscritto il: giovedì 8 dicembre 2022, 18:54

Re: microstepping e performance del motore passo-passo

Messaggio da Ganesh » martedì 12 novembre 2024, 19:24

Io sono una capra in elettronica, ma sono nel commercio da tanti anni e di una cosa sono sicuro: se la coppia diminuisse all'aumentare dei micro passi, i produttori non creerebbero dei datasheet con un grafico che mostra la coppia e la velocità di un motore accoppiato ad un driver impostato su 800 o 1600 micropassi. Ma lo imposterebbero al minimo per poter vendere un grafico dal quale si evinca una coppia più alta possibile. Per esempio se si guardano quelli di stepperonline sono sempre impostati con un numero pittosto alto di micropassi. E quella è una ditta cinese che ha come target soprattutto hobbisti che spesso non ne sanno niente, guardano il dato e basta. Figurati se potendo non avrebbero creato dei datasheet con una coppia molto più alta per i loro prodotti.
L’imperfezione è bellezza, la pazzia è genialità, ed è meglio essere assolutamente ridicoli che assolutamente noiosi.
(Marilyn Monroe)

Avatar utente
MauPre75
God
God
Messaggi: 3099
Iscritto il: venerdì 1 dicembre 2017, 14:43

Re: microstepping e performance del motore passo-passo

Messaggio da MauPre75 » martedì 12 novembre 2024, 19:43

Hellfire hai commesso un errore gravissimo, ESPLICITO SI SCRIVE CON LA L, per tutto il resto non apro bocca :lol: :lol: :lol:

safe60
Senior
Senior
Messaggi: 756
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: microstepping e performance del motore passo-passo

Messaggio da safe60 » mercoledì 13 novembre 2024, 16:47

Prima di tutto faccio i miei complimenti a HellFire : grazie per aver acceso una luce nel buio della mia ignoranza in fatto di elettronica.
Ben vengano thread come questo che aggiungono valore al forum.
Ex arduis perpetuum nomen.

Delu02
Member
Member
Messaggi: 389
Iscritto il: domenica 19 aprile 2020, 12:32
Località: Monza e Brianza

Re: microstepping e performance del motore passo-passo

Messaggio da Delu02 » mercoledì 13 novembre 2024, 20:17

Un post semplicemente spettacolare, nient’altro da aggiungere. Questo me lo salvo ❤️

barik
Junior
Junior
Messaggi: 152
Iscritto il: domenica 4 agosto 2019, 13:25
Località: Jesolo (VE)
Contatta:

Re: microstepping e performance del motore passo-passo

Messaggio da barik » mercoledì 13 novembre 2024, 21:00

Sono pienamente convinto di quello che hai concretamente spiegato e vorrei che tu estendessi la spiegazione sulla effettiva convenienza dei micropassi elevati io personalmente avevo notato che a passo intero specie con accelerazione elevata in inversione di senso i motori tendono a perdere passi piu facilmente perche secondo me ce da considerare l'accelerazione del passo intero che nel caso di micropassi e piu dolce e frazionata secondo te e vero o e una falsa percezione lo chiedo cosi valorizziamo l'uso del micropasso con il limite massimo della generazione degli impulsi che il sistema PC riesce a generare trovo che questa discussione possa andare avanti per comprendere meglio l'insieme delle cose e sfatare che l'uso del micropasso lo si faccia per migliorare solo la precisione (che non e assolutamente vero) visto che la precisione e contenuta solo nel passo intero .

Avatar utente
MauPre75
God
God
Messaggi: 3099
Iscritto il: venerdì 1 dicembre 2017, 14:43

Re: microstepping e performance del motore passo-passo

Messaggio da MauPre75 » mercoledì 13 novembre 2024, 21:08

Se non ricordo male questa precisazione cosi dettagliata Hellfire l' ha fatta in almeno tre discussioni differenti ed in molte altre meno dettagliata ma pur sempre chiara, quelli che seguono il forum quotidianamente credo che possano confermare.

barik
Junior
Junior
Messaggi: 152
Iscritto il: domenica 4 agosto 2019, 13:25
Località: Jesolo (VE)
Contatta:

Re: microstepping e performance del motore passo-passo

Messaggio da barik » giovedì 14 novembre 2024, 9:58

Era mia intenzione continuare l'approfondimento in modo che in un unico post fosse racchiuso un insieme di conoscenze che eviterebbe certe dichiarazioni inesatte che fanno arrabbiare hellfire39 al quale devo riconoscere una grande competenza e bravura nel reperire documentazioni che rendono seri gli argomenti trattati

Avatar utente
hellfire39
God
God
Messaggi: 3920
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: microstepping e performance del motore passo-passo

Messaggio da hellfire39 » giovedì 14 novembre 2024, 10:06

Passo intero e mezzo passo non andrebbero mai utilizzate in quanto fanno vibrare il motore e tendono ad innescare più facilmente le risonanze.
C'è scritto bene in una delle citazioni che ho riportato nel primo post.

L'utilizzo dei micropassi incrementa anche la risoluzione ma fino ad un certo punto: dipende dalla coppia resistente.
Qui subentra il concetto della coppia incrementale, anch'essa descritta nei documenti che ho linkato.

In un sistema ad anello aperto, il driver è "cieco" e genera le correnti di fase secondo una tabella. Possiamo immaginare come se l'asse motore fosse collegato in modo elastico a questa posizione, non in modo rigido.
Per questa ragione, se c'è molta coppia resistente, l'asse rimarrà indietro, rispetto alla direzione di rotazione di una quantità proporzionale alla coppia resistente.
Se questa supera la coppia massima, il motore perderà passi.
Ma se la coppia è bassa, l'incremento di risoluzione è effettivo.

P.S. attenzione a non confondere i termini risoluzione e precisione.

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: microstepping e performance del motore passo-passo

Messaggio da Pedro » giovedì 14 novembre 2024, 10:33

innanzi tutto complimenti per la disanima =D>

Azzardo, credo che comunque qualcosa del genere sia stato fatto: lasciando perdere la risoluzione dei microstep, compensabile con rapporti meccanici, se supponiamo un driver che fa solo passi interi, e quindi in condizioni migliori di holding, ma ci arrivasse in micropassi? Avremmo in via teorica il vantaggio di step interi, quindi holding torque maggiore, e migliore e più fluido movimento e ritengo anche, per quanto si possa ottenere in open loop, ripetibilità e precisione
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
hellfire39
God
God
Messaggi: 3920
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: microstepping e performance del motore passo-passo

Messaggio da hellfire39 » giovedì 14 novembre 2024, 12:04

Nel "micro" è quello che fanno i driver TMC. Non per passi interi, ma per "micro-micro" passi.
Li configuri a 1/16 di passo, ma loro interpolano comunque a 1/256.

Il discorso che fai tu ha senso se ci si muove molto, ma molto lentamente, altrimenti, dovendo subito muoverti da un passo al successivo, ottieni comunque la forma d'onda sinusoidale.

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: microstepping e performance del motore passo-passo

Messaggio da Pedro » giovedì 14 novembre 2024, 12:21

si conosco i driver TMC, era pura speculazione (forse ci proverò o forse no, boh). Comunque, e vado tanto OT scusatemi, ho trovato a un prezzo "umano" un torsiometro dinamico e una frizione elettromagnetica, prima o poi farò il banco prova, o il tutto sarà ricettacolo di polvere :lol:
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
Fiveaxis
God
God
Messaggi: 6216
Iscritto il: sabato 15 gennaio 2011, 12:08
Località: Monza e Brianza

Re: microstepping e performance del motore passo-passo

Messaggio da Fiveaxis » venerdì 15 novembre 2024, 7:52

barik ha scritto:
giovedì 14 novembre 2024, 9:58
dichiarazioni inesatte che fanno arrabbiare hellfire39
Naaa! Passerebbe la vita arrabbiato, visto e considerato che le "dichiarazioni inesatte" sono quotidiane ed abbondanti e...Il cortisolo, alla lunga, fa male alla salute! :badgrin:

Invece io ho il sospetto che Hellfire ci sguazzi nelle dichiarazioni - a sua detta - inesatte. :wink:

Ad ogni modo ben vengano i contributi utili...
La macchina conta...ma la differenza la fa il "manico"!

Avatar utente
hellfire39
God
God
Messaggi: 3920
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: microstepping e performance del motore passo-passo

Messaggio da hellfire39 » venerdì 15 novembre 2024, 9:17

a sua detta
Mi fai un esempio di "a sua detta"? In questo post non ci sono mie opinioni.

Se ti riferisci a questo post e a quelli correlati, non c'è nulla che sia farina del mio sacco. Mi limito a riportare cosa dice la fisica e l'ingegneria.
Chi fornisce opinioni personali che contrastano con l'esperienza comune e con tutta la letteratura scientifica non sono mica io.

Per altro, converrai che anche nel post di qualche tempo fa, sono sempre intervenuto argomentando sempre in modo scientifico le mie osservazioni.
Anzi, sarei ben felice di avere un tuo parere in merito all'argomento specifico.

P.S. in questo caso non utilizzerei proprio il termine inesatte.

Rispondi

Torna a “Elettronica”