motore passo-passo : alimentarlo a "metà" ?

Premetto che sono abbastanza ignorante in materia.

Dovrei usare questo motore passo passo ( http://www.mitsumi.co.jp/latest/Catalog/compo/motor/m42sp6nk_e.html ).
Nelle specifiche c'è scritto :

 Rated Current/Phase  : 400mA (PEAK)

Nella mia fantasia, significa che per lavorare al massimo della velocità il motore richiede 400 mA.
Dovrei usarlo accoppiato a questo transistor ( http://www.robot-italy.com/product_info.php?cPath=6_33&products_id=196 ), che al massimo pare sparare appunto 200 mA.

Domanda : se lo alimentassi a 200 mA, girerebbe lo stesso?

Alle brutte, basterebbe aggiungere un condensatore?

_Infrarozzo

condensatore? O.o.... non sono neanche io molto bravo in elettronica, anzi forse ne so meno di te...probabile, ma con un condensatore non so cosa potresti risolvere....ti conviene un mosfet no?

Pensa che ho imparato solo oggi come funzionano ( molto alla buona ) i transistor :D.
Il fatto è che sto facendo un ordine comune con un' amico su questo sito e questi sono i transistor più economici...considera che me ne servono un bel po', la differenza fra questi e i mosfet si fa sentire, considerano che pago tutto in monetine xD

capisco, ma comunque con i condensatori non risolvi nulla, non so se il motore funzioni con la metà della corrente richiesta, in teoria si, ovviamente perderai di prestazioni, di logica perderai la metà di esse, se ad esempio ha una forza da poter spostare 3 KG, ammesso che con la metà della corrente funzioni ne sposterà al massimo 1.5KG...se non meno..

va benissimo...immagino che farò storcere il naso ai puristi, ma i servi mi servono solo a premere dei bottoni :).
Immagino ci siano maniere più eleganti, ma per ora voglio usare questa, perchè è a costo zero.

l293 ognuno comanda un motore passo passo suppongo sia ancora più economica che la tua scelta

è un idea, ma per ora vorrei restare con i singoli transistor...solo che ancora non ho ancora la certezza sulla fattibilità della cosa.

E' un motore passo passo bipolare, non puoi controllarlo usando solo dei transistor, servono due ponti H completi, ovvero DEVI usare un L293 e ci vuole pure un L297 per generare le corrette sequenze per le fasi, ma sopratutto per gestire la corrente.
Per quanto riguarda la corrente 200 mA possono andare bene, ma attenzione che i motori passo passo funzionano in corrente e non in tensione, serve un generatore a corrente costante che ottieni con la coppia L293+L297.
Non so cosa devi fare con questi motori, ma non hai scelto la strada semplice ne, tantomeno, a basso costo.

grazie :frowning:

@astrobeed
Non serve un L297. puoi creare la sequenza di pilotaggio anche con l' arduino. Le librerie dei Motor Shield lo fanno giá.
Il L297 in combinazione col L293 non gestisce le correnti. Per quello devi usare un L297 con un L298.
La cosa piú semplice per limitare la corrente é un Easydriver v4.3 Easy Driver stepper motor driver lo trovi da alcuni negozi internet che vendono Arduino.

@InfraRozzo
Scusami la franchezza; mi sembra che non hai nessun idea come funziona un motore passo passo.
Un motore passo passo ha 2 avvolgimenti che possono essere cablati in diversi modi. con 4 cavi alle estremitá dei avvolgimenti (4 cavi, allore é un motore bipolare) oppure avere oltre dei cavi alle estremitá anche dei collegamenti a metá degli avvolgimneti (ha 5 o 6 cavi e si chiama unipolare)
Il rotore é magnetico e si gira seguendo il campo magnetico che i due avvolgimenti generano.
Possono essere alimentati uno alla volta oppure uno tutti due l' altro ecc con polaritá diverse.

Da questo alcune caratteristiche dei motori passo passo:
Tirano sempre la stessa corrente indipendente dal carico.
Vanno a scatti e girandolo a mano senza alimentazioni senti che vanno a scatto.
Fanno un passo ad ogni impulso elettrico.
Sopra una certa velocitá e/o carico si bloccano e devi spegnerli del tutto per farli ripartire.
Consumano corrente anche da fermo.

Ciao Uwe

uwefed:
Il L297 in combinazione col L293 non gestisce le correnti. Per quello devi usare un L297 con un L298.

Non è esatto, è possibile usare il 297 assieme al 293 come se fosse un 298, basta usare la versione E, quindi L293E, che ha anche il current sense.
E' vero che è possibile generare le sequenze delle fasi da Arduino, ma rimane sempre il problema della regolazione corrente quindi tanto vale usare un 297 che fa tutte e due le cose.

ciao astrobeed

Ok :slight_smile:
ma non puoi consigliare a InfraRozzo che secondo me non era consapevole del principio di funzionamento dei mori Passo Passo una combinazione di due integrati che trovi pocchissimi esempi e che lui deve anche dimensionare. :wink:
Dovresti almeno dargli un schema di esempio.

La sua richiesta di fare andare il motore a 200mA anziche a 400mA era solo dato dal transistore che lui pensava di utilizzare. Percui quando lui usa un integrato o schedina apropriata dará al motore la corrente nominale.

La soluzione allora á un motor shield con un L239D e la rispettiva libreria.

Un consiglio buono per avere una limitazione di corrente é il easydriver 4.3 che pilota da 150 a 750mA e si potrebbe usare anche microstepping, che sconsiglierei all inizio a InfraRozzo, oppure per motori piú grandi la Pololu motor shield che puó pilotare fino 2A.
Tutte due le schedine hanno come entrate un segnale per la direzione e un secondo per i passi dove a ogni passaggio L-H il motore fa un passo. Altre entrate sono per selezionare i microstep e altro.

:wink: :wink: Ciao Uwe

uwefed:
La soluzione allora á un motor shield con un L239D e la rispettiva libreria.

Con quella shield non puoi controllare uno stepper bipolare, anche se nella relativa pagina dicono stepper unipolari e bipolari in realtà ci puoi controllare solo gli unipolari e comunque in modo non ottimale.

uwefed:
@InfraRozzo
Scusami la franchezza; mi sembra che non hai nessun idea come funziona un motore passo passo.

è, o almeno era, esattamente così.

Vi ringrazio per le risposte :slight_smile:

ciao astrobeed

allore chiariamo i termini:
motore bipolare:

Ha 4 fili e 2 avvolgimenti. Servono 2 ponti H per pilotarlo. Il L293, L298, il A3967 e il A4983 sono Driver con 2 ponti H.

motore unipolare:

ha 5 o 6 fili, 2 avvolgimenti con un contatto centrale. servono 4 transistori per pilotarlo.

Percui:
il L293D puó pilotare motori bipolari e unipolari anche se l' uso per motori unipolari mi lascia perplesso. perche viene cortocircuitato metá avvolgimento.
Il datasheet descrive il pilotaggio di motori bipolari. HTTP 301 This page has been moved

Qui trovi il pilotaggio sia di motor bipolari che monopolari:
http://users.ece.utexas.edu/~valvano/EE345L/Lectures/LLec09_Stepper.pdf

ciao Uwe

uwefed:
il L293D puó pilotare motori bipolari e unipolari anche se l' uso per motori unipolari mi lascia perplesso. perche viene cortocircuitato metá avvolgimento.

Non ci siamo capiti, è la shield che non è adatta per controllare gli stepper bipolari perché non prevede nessun controllo della corrente, questa tipologia di motori deve essere alimentata a corrente costante.
Il L293 da solo è semplicemente un IC con dentro due H Bridge, o volendo un 4 half bridge, che può essere impiegato in vari modi anche se è stato progettato specificatamente come driver di potenza per gli stepper.

Ciao astrobeed
no, qua Ti sbagli.

Puoi pilotare i motori bipolare sia in tensione che in corrente.
Se li piloti in tensione la tensione deve essere cosí piccola che la corrente dei avvolgiemnti nn supera la corrente nominale del motore.

Se un motore lo piloti in corrente Ti serve una tensione almeno 4 volte piú grande della tensione nominale.
I motori costruiti per essere pilotati in corrente hanno tensioni nominali e resistenze del avvolgimento piccole.

Il vantaggio del pilotaggio in corrente é che l'aumento della resistenza dell'avvolgimento dato dall a induttanza a frequenze di pilotaggio alte non diminuisce la corrente attraverso l' avvolgimento e percui la potenza del motore resta piú alta rispetto a un motore pilotato con tensione costante. Oltre questo puoi usare la modalitá di microstepping. ( si regolano le correntee dei avvolgiemnti da poter avere dei passi intermedi.

Ciao Uwe

Io non mi sbaglio, ma non perchè lo dico io, ma perchè così dicono tutti i testi, quelli seri, che parlano del controllo dei motori stepper :slight_smile:
Il problema è che se alimenti lo stepper con una tensione costante, o quasi, perdi moltissima coppia quando è in rotazione perché nelle condizioni statiche, cioè a motore fermo, la corrente dipende esclusivamente dalla resistenza ohmmica degli avvolgimenti e dalla tensione di alimentazione (legge di ohm I=V/R)
Al contrario, mentre lo stepper gira, quindi è in regime dinamico, entra in gioco anche l'impedenza degli induttori costituiti dalle fasi dello stepper riducendo notevolmente la corrente se non viene incrementata la tensione, che poi è quello che fa un generatore a corrente costante.
Aggiungo che anche il carico meccanico, cioè la coppia richiesta, gioca a sfavore, un conto è far girare lo stepper a vuoto e un è conto farlo girare sotto sforzo, nel secondo caso serve una tensione ancora maggiore per mantenere costante la corrente.
Per farla breve, dato che la resistenza ohmmica delle fasi spesso e volentieri è molto bassa ne consegue che per ottenere la corrente nominale si devono usare tensioni basse, pochi Volt, col risultato che non appena lo stepper gira e va sotto carico la corrente scende rapidamente a valori notevolmente più bassi di quella desiderata con conseguente perdita di coppia e velocità massima raggiungibile.
Infatti nel controllo microstepping si paga un pesante prezzo in termini di coppia disponibile e velocità massima, per compensare solitamente si usano stepper molto più performanti del necessario.
Comunque il microstepping viene usato solo in applicazioni dove serve una grande precisione di movimento, poca forza ed è un problema ridurre meccanicamente lo stepper; soluzione, quest'ultima, che permette di incrementare precisione e forza a discapito della velocità massima e nel contempo usare stepper più piccoli oltre che meno costosi e meno avidi di energia.

Ciao astrobeed

Il problema è che se alimenti lo stepper con una tensione costante, o quasi, perdi moltissima coppia quando è in rotazione perché nelle condizioni statiche, cioè a motore fermo, la corrente dipende esclusivamente dalla resistenza ohmmica degli avvolgimenti e dalla tensione di alimentazione (legge di ohm I=V/R)

Hai ragione in questo, questo lo avevo scritto come svantaggio del pilotaggio in tensione.

Allora mi spieghi come piloteresti per esempio questo motore:

datasheet: http://www.sparkfun.com/datasheets/Robotics/SM-42BYG011-25.pdf
Secondo il datasheet ha i seguenti dati: 12V, 0,4A e 34 Ohm per fase. Avendo 4 cavetti é un motore bipolare.

Ciao Uwe

Dipende da che risposta vuoi :slight_smile:
Se è rivolta ad un principiante il consiglio è di usare la coppia L297+L293E (o meglio un L298) se è in grado di montarsi da solo il tutto, altrimenti si compra un controller commerciale come la EasyDriver che hai segnalato.
Tra parentesi la EasyDriver usa un Allegro A3967 che, guarda caso, pilota il motore a corrente costante e non certo a tensione costante.
Sulla EasyDriver la corrente si regola tramite l'apposito trimmer in funzione della Vref misurabile sull'apposito test point con un normale tester.
Il fatto stesso che la scheda che tu hai consigliato usa il controllo a corrente costante dovrebbe bastare a porre termine a questa discussione.
Che poi, se uno proprio vuole, sia possibile far funzionare uno stepper a tensione costante, facendo in modo che da fermo non assorba più corrente di quella massima, ovviamente è possibile, ma è il modo sbagliato.