Go Down

Topic: Driver per stepper bipolare (Read 1 time) previous topic - next topic

astrobeed


I motori passo passo si possono pilotare in tensione o in corrente.


I passo passo si controllano esclusivamente in corrente, se vuoi farli funzionare bene, se li mandi a tensione fissa ti ritrovi con assorbimenti esagerati quando sono fermi, o girano lentamente, e con coppia molto bassa,  più l'impossibilità di raggiungere la velocità massima di targa, quando girano veloci.
In realtà si potrebbero controllare anche in tensione utilizzando un generatore variabile, meno tensione quando sono fermi e di più quando girano, però è esattamente quello che fa il generatore a corrente costante quindi si fa prima ad utilizzare questo :)

niki77



Scusami niki, stai facendo un po di confusione.



Sei sicuro che sono io ad aver fatto confusione ?  :smiley-mr-green:

Comunque io mi riferivo al gruppo driver-motore, e non al singolo motore.
Come si piloti correttamente un motore stepper direttamente lunge dai miei più fantasiosi pensieri visto che ci sono già tanti bei driver fatti apposta per pilotarli  ;)
Al limite giusto per scrupolo, so cosa fà il driver,ma niente di tanto approfondito !

E come puoi leggere sopra infatti ho consigliato di utilizzare un driver bello che fatto con la coppia 297+298 in maniera tale da semplificare al massimo le operazioni!
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

astrobeed

Per chi vuole approfondire l'argomento controllo stepper consiglio la lettura della Application Note AN1307 di Microchip dove viene illustrata bene anche la parte teorica del controllo e come diventa possibile attuarlo in modo più che ottimale tramite una mcu di fascia media, un dsPIC33, e un ponte H, è disponibile anche il sorgente del codice.
Da notare che l'implementazione del controllo corrente avviene tramite un pid e non con il semplice chopped mode, facile da implementare, ma meno efficiente del pid.

Ulteriori cenni teorici generici li trovate qui.

uwefed



Potrebbe andare bene secondo te un semplice l298 visto che non mi interessa avere anche il controller l297? Riuscirebbe a gestire le correnti in gioco? Sarebbero necessari anche degli altri componenti esterni?


Gli stepper si controllano in corrente e non in tensione, la tensione nominale del data sheet è quella necessaria per far scorrere 1.68A quando il motore è fermo, quando gira entra in gioco la f.c.e.m. che si va sottrarre alla tensione di alimentazione rendendo necessario un valore maggiore per consentire di mantenere la corrente costante.
C'è pure il fatto che per mantenere costante la corrente sulle fasi il modo più semplice è utilizzare il chopped mode, una specie di switching che sfrutta l'induttanza delle fasi, ed è bene che la tensione sia molto maggiore di quella realmente necessaria per velocizzare la risposta.
Non puoi usare solo il 298, ti serve anche un generatore di corrente costante e questo lo ottieni tramite l'accoppiata L297+L298, che ti semplifica pure il controllo del motore visto che ti servono solo due pin di Arduino, DIR e STEP, dato che genera lui le corrette sequenze per le fasi sia come full step che half step.
L'alternativa è utilizzare un IC stepper driver recente che al suo interno integra sia la parte di potenza che il generatore a corrente costante e il sequencer delle fasi, però questi IC non sono facilmente reperibili sfusi e sono esclusivamente in formato SMD, quindi non utilizzabili facilmente senza un apposito pcb a differenza del 297 + 298 che monti pure su una millefori.
Attenzione che con le correnti in gioco il 298 diventa molto caldo, è indispensabile un generoso dissipatore termico, meglio se ventilato.

Astrobeed
I motori si pilotano anche in tensione; per esempio quando usi un solo L293 o L298 o un Motore unipolare con 4 transistori o con un ULN2803.
Certi motori passo passo non riesci a pilotarli in correnete perché hanno una resistenza del avvolgimanto troppo grande (per esempio http://www.watterott.com/index.php?page=product&x56795=87c362b1154a18e6e71bb7c35105e40a&info=845 34 Ohm e 330 mA e 12V) 

Concordo con Te che un pilotaggo in corrente ha diversi vantaggi e con i Driver moderni é molto semplice realizzarlo e costano poco percui preferibile.

Ciao Uwe

astrobeed

#9
Nov 21, 2012, 06:45 am Last Edit: Nov 21, 2012, 06:48 am by astrobeed Reason: 1

I motori si pilotano anche in tensione; per esempio quando usi un solo L293 o L298 o un Motore unipolare con 4 transistori o con un ULN2803.


Che lo fanno è un conto, che è corretto è un altro conto, sul fatto che gli stepper vanno pilotati a corrente costante, se si vuole ottenere le prestazioni di targa, non ci piove sopra, qualunque testo relativo agli azionamenti dei motori dice questa cosa e ci sono anche le relative dimostrazioni matematiche.
E' un po come la storia dei 29x col pwm applicato sul'enable, è vero funziona lo stesso però perdi un buon 50% di efficienza, il fatto che molti lo fanno, incluse delle shield per Arduino, non significa che sia corretto, significa che chi ha fatto il progetto non ha studiato a sufficienza il componente.


Go Up