Perché abbiamo bisogno di una rampa per il motore passo-passo?


9

Sono un principiante e sto cercando di capire come posso far funzionare un motore passo-passo. Il concetto che avevo in mente era che gli stepper hanno bisogno di impulsi digitali per funzionare, e l'ho provato anche io. Sono stato in grado di eseguire lo stepper che sto usando molto facilmente. Ma ultimamente mi sono imbattuto in un collegamento in cui hanno usato una rampa per avviare uno stepper che lo giustifica dicendo questo

"se proviamo ad avviare il motore passo-passo con impulsi rapidi, allora si ferma lì e canticchia non girando, dobbiamo avviare lentamente lo stepper e aumentare gradualmente la velocità dei gradini (accelerando)". Fonte: http://www.societyofrobots.com/member_tutorials/book/export/html/314

La mia domanda è: perché lo stepper si avvia con impulsi quadrati regolari? Perché abbiamo bisogno di una rampa? Tutti gli altri forum e tutorial parlano sempre di fornire impulsi digitali allo stepper per avviarlo, perché il concetto di generazione di rampe non è discusso qui? È una cattiva pratica eseguire stepper con impulsi digitali?


2
Penso che tu stia confondendo la "rampa" con forme a "onda quadra". Il controllo è ancora per onda quadra, solo la velocità / velocità di variazione di questi passi di controllo viene aumentata da zero ai passi previsti al secondo o qualunque velocità si stia cercando di ottenere.
KyranF,

Supponiamo che l'onda quadra stepper assomigli a un segnale a 3 KHz. Invece di passare da un punto morto a un piano, dovresti iniziare con una bassa frequenza (o uno spazio più lungo tra gli impulsi). La pedalata di un pedale dell'acceleratore per auto richiede circa mezzo secondo e fuma le gomme (in marcia bassa) o impiega un po 'a rispondere (in marcia alta).
Alan Campbell,

Sì, ho confuso la rampa con gli impulsi, grazie per il feedback ragazzi!
alexhilton,

Risposte:


8

Quando il controller fa un passo sul motore, il rotore deve spostarsi abbastanza (angolo) in modo tale che quando la bobina successiva (o coppia di bobine) viene eccitata, tirerà il rotore nella direzione corretta. Se il rotore non si è spostato attraverso un angolo sufficiente, le bobine tireranno indietro il rotore e il motore siederà lì e ronza. Puoi trovare molte illustrazioni e animazioni online che spiegano come funziona il normale funzionamento, immagina se il rotore si sposta solo di una frazione della quantità prevista.

Il rotore, l'albero e tutto ciò che è collegato all'albero hanno tutti inerzia e c'è attrito di vario tipo.

La velocità massima che lo stepper può ruotare sull'albero è correlata alla coppia disponibile dal motore e alla coppia richiesta per girare l'albero (la coppia disponibile diminuisce all'aumentare del numero di giri e la coppia richiesta generalmente aumenta all'aumentare del numero di giri). Questo non è direttamente correlato all'inerzia.

Per raggiungere effettivamente il massimo (o una parte di esso) è possibile solo accelerare gli RPM così velocemente senza perdere passaggi. L'accelerazione massima è correlata all'inerzia e alla coppia disponibile in eccesso a un dato regime di giri. Se il motore sta facendo tutto il possibile solo per tenere il passo con gli attuali RPM, non è più possibile accelerare. Se gli RPM sono abbastanza bassi, non è necessario aumentarli, è possibile semplicemente dirlo al passo, ma in genere sarà solo una frazione degli RPM di cui il motore è in grado. Spesso le rampe lineari vengono utilizzate per semplicità, ma una curva più convessa sarebbe ottimale.

Ecco una curva di coppia del motore di Oriental Motor (un importante produttore giapponese):

http://www.orientalmotor.com/technology/articles/article-speed-torque-curves-for-step-motors.html

Per prevedere la massima velocità di accelerazione è necessario conoscere la coppia e il momento di inerzia della massa . Se si supera la velocità massima di accelerazione a un determinato carico, il motore perderà i passaggi, quindi una buona idea è un margine di sicurezza ragionevole.


Grazie Sphero per una risposta così dettagliata, in realtà mi stavo confondendo con due cose importanti, lavorerò su un modo per selezionare la frequenza dei passaggi per creare una rampa!
alexhilton,

Hai della letteratura?
Carlton Banks,

@CarltonBanks Dai un'occhiata al link sopra per Oriental Motor.
Spehro Pefhany,

Non menziona necessariamente il motivo per cui è meglio la rampa che no, (se non altro, menziona solo la selezione per quanto posso leggere) Voglio dire per quanto capisco si potrebbe microstepare il motore e non ramparlo, la differenza sarebbe la coppia non essendo così potente.
Carlton Banks,

Se non ti interessa la velocità massima, non c'è motivo di salire. La rampa consente di ottenere una velocità massima più elevata per una data inerzia + coppia senza perdere passi.
Spehro Pefhany,

2

Sembra che la descrizione che hai letto stia parlando di aumentare la velocità , in altre parole, la frequenza dei passi. Gli impulsi per ogni passo sono ancora quadrati.

Il motivo è che un motore passo-passo può generare solo tanta coppia. Quando superiamo questa coppia massima, il motore perde i passi.

Inoltre, l'accelerazione del motore richiede la coppia secondo la seconda legge del moto di Newton : la forza è uguale all'accelerazione di massa:

F=ma

Per un sistema rotante i termini cambiano un po ', ma sono per lo più analoghi: la coppia è uguale al momento di inerzia per l'accelerazione angolare:

τ=Iα

La conseguenza è che accelerare istantaneamente il motore richiederebbe una coppia infinita che non è possibile. Pertanto, dobbiamo limitare l'accelerazione, ovvero "aumentare" la velocità, per limitare la coppia richiesta a qualcosa che il motore può generare senza passi mancanti.


1

Due anni dopo ... volevo aggiungere alcuni dettagli sulla velocità tipica rispetto alle vibrazioni / al rumore per qualsiasi motore passo-passo.

Quando si fa un passo molto lentamente, come uno al secondo, l'albero si sposterà nella nuova posizione e si supererà, quindi si scosterà molte volte fino a stabilizzarsi su quel gradino. Il processo si ripete su ogni nuovo passaggio.

La tensione / corrente elettrica deve essere sufficiente per il carico e la dimensione del motore deve essere selezionata in base alla coppia richiesta.

Una volta che il motore non ha bisogno di muoversi, la tensione / corrente può essere ridotta di circa il 50% al 75% per mantenere quella posizione. Nei casi in cui l'attrito è dominante o si utilizza un qualche tipo di ingranaggio, il motore può essere completamente diseccitato. Questo è simile ai relè che richiedono ad esempio 12 volt per l'attivazione, ma che mantengono facilmente attivato il contatto con solo 9 volt.

Aumentando la velocità a circa 20 al secondo, la vibrazione / rumore la raggiunge al massimo. Questa è una velocità che la maggior parte degli ingegneri cercherà di evitare.

All'aumentare della velocità, diminuiscono anche le vibrazioni / il rumore, con la coppia. Se tracciate il rumore rispetto alla frequenza, la forma mostrerà una chiara direzione verso il basso con alcuni massimi locali, spesso a frequenza armonica.

Supponiamo che un valore tipico superiore a 100 passi al secondo, la vibrazione sia abbastanza bassa da essere tollerabile e diciamo che la coppia diventa troppo debole per un funzionamento affidabile sopra i 500 hertz.

È possibile avviare immediatamente un motore passo-passo utilizzando una di queste frequenze, senza aumentare la velocità da 100 Hz a 500 Hz. Allo stesso modo, puoi interrompere bruscamente i passaggi, indipendentemente dalla frequenza. La corrente di mantenimento è sufficiente per bloccare il motore in quella fase.

La rampa è necessaria quando si desidera superare la frequenza massima. Dato il numero "tipico" sopra riportato, potresti scoprire che il tuo motore ha ancora una coppia sufficiente, se accelerato in modo smoot, per funzionare da 500 Hz a 700 Hz. Il trucco per un funzionamento affidabile è avviare la rampa da qualche parte come 400 Hz, quindi lasciarla aumentare fino a 700 Hz. Tienilo a quella velocità fino a quando non ti avvicini alla posizione target.

Quindi, decelerare uniformemente da 700 Hz a 450 Hz. Se la posizione target non è ancora raggiunta, mantenere il motore a quella velocità. Quindi, da 450 Hz, puoi fermarti. Mantenere il motore eccitato alla massima corrente / tensione per 0,1 secondi a 1 secondo per assicurarsi che tutte le fonti di vibrazione siano dissipate.

La rampa lineare è più facile da creare. Ma l'ottimale è la forma a "S". Si inizia alla frequenza di sicurezza, all'inizio si aumenta lentamente e si cambia la velocità di aumento esponenziale della velocità fino a raggiungere il massimo.

Quando è il momento di rallentare, si applica lo stesso algoritmo, diminuendo la velocità lentamente ed esponenzialmente cambiando la velocità di riduzione della velocità, smettere di diminuire la velocità quando si raggiunge la velocità di sicurezza, che consente di arrestare il motore bruscamente.

Il codice effettivo che faceva tutto ciò, usando un microcontrollore motorola 68HC05, stava prendendo circa 500 byte (la EPROM interna era totale 8K e la RAM era 128 byte). È stato scritto in assembler.

Se hai l'hardware per il micro-stepping, puoi ignorare tutte le menzioni su rumore e vibrazioni. Hai ancora bisogno di un'accelerazione a "S" se vuoi superare la normale velocità massima. Ma poiché non c'è vibrazione, indipendentemente dalla velocità, puoi rallentare la decelerazione come desideri.

Le lezioni apprese dalla trasmissione ad onda quadra sono ancora valide. Pertanto, per il modo più efficiente per raggiungere la destinazione, si desidera che la decelerazione si trovi alla frequenza appena sotto il punto in cui la coppia del motore è sufficiente per l'arresto e l'avvio bruschi.

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.