«

»

Giu 20

Stampa Articolo

Tutorial: motore bipolare passo-passo, riconoscere le fasi

Già in passato mi sono occupato di motori passo-passo sia bipolari che unipolari e su come riconoscere le fasi di questi motori quando te ne capita uno magari riciclato da una stampante o uno scanner.

le fasi di un motore passo-passo

Tuttavia questo tipo di motore, tanto utile in robotica, suscita sempre tanta curiosità e spesso le sole parole scritte negli articoli non sono sufficenti.

Ho realizzato questo Video Tutorial, che completo con qualche riga di contorno per aggiungere quello che un video da solo non può mostrarti.

la ricerca delle fasi la ottieni posizionando un tester o multimetro in modalità di misura delle resistenze ( Ω ) e testando a due a due i terminali del motore, solo quelli connessi ad una stessa fase faranno muovere la lancetta del tester o mostreranno un valore di resistenza sul display del multimetro.

Giusto per sicurezza dopo che hai individuato le singole fasi ( in un motore bipolare sono solitamente 2 ) è bene controllare che incrociando la misurazione sui terminali di due fasi differenti non ci sia alcuna resistenza misurabile, in questo modo sarai certo al 100% di aver riconosciuto le fasi in modo corretto.

Definite le fasi non ti resta che definire la sequenza di successione delle fasi per far ruotare il motore in senso orario ed in senso antiorario.

Per farlo puoi usare un alimentatore da 5v i cui terminali positivo e negativo avvicinati ai terminali prima della fase A e poi della fase B e successivamente invertiti sulla fase A e sulla Fase B, ti dovrebbero indicare come far succedere la sequenza di rotazione, ovviamente la sequenza contraria inverte la rotazione.

La sequenza di prova è:

+A-; +B-; -A+; -B+;  e così via per spostare il motore in un senso;

-B+; -A+; +B-; +A-; inverte la rotazione del motore.

Buona visione e buona sperimentazione.


Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/tutorial-motore-bipolare-passo-passo-riconoscere-le-fasi.html

16 comments

Vai al modulo dei commenti

  1. sh4d0w

    Ciao,
    complimenti per la qualità del materiale che offri attraverso il tuo sito,
    leggendo i tuoi articoli ho deciso di improntare un piccolo test per motori stepper, ne ho ricavato uno smontando una vecchia stampante, il motore è un mitsumi m42sp-5a, analizzandolo ho riscontrato un’anomalia, ovvero il motore presenta 4 fili in uscita, con il tester ho appreso che essi sono continui due a due, ovvero sembrerebbe un motore bipolare, ma dal datasheet(che si trova in rete)si legge chiaramente Excitation Method 2-2 Phase excitation (Unipolar driving) , non so come trattarlo, ho ipotizzato anche che la carcassa funzionasse da comune(per assurdo) ma il tester non mi ha dato nessuna continuità, quindi da escludere.

    Grazie anticipatamente.

    1. Mauro Alfieri

      Ciao sh4d0w,
      Spero il tuo nome non sia davvero sh4d0w 🙂
      Scherzi a parte il motore che hai si fa in 2 versioni, come riportate dal sito ufficiale: http://www.mitsumi.co.jp/latest/Catalog/pdf/motor_m42sp_5_e.pdf

      Probabilmente il tuo è il bipolare, confermato anche dai test che hai eseguito. Ottima l’intuizione che l’involucro potesse essere il polo comune, anche se solitamente non si usa.

      Spero che il mio suggerimento ti sia stato utile.

      Mauro

  2. Maurizio

    Ciao Mauro,

    innanzitutto complimenti e grazie per l’aiuto che offri a chi come me ha cominciato a sbizzarrirsi con Arduino e dintorni!
    Ho da poco “ripreso” in mano la programmazione in C e così mi sono voluto dedicare alla piattaforma Arduino perchè mi è sembrata abbastanza comprensibile e meno complessa di altre.
    Ho creato uno sketch per poter gestire un motore stepper bipolare secondo l’uso che dovrei farne.
    Ho bisogno che ad un determinato segnale il motore compia un esatto numero di giri in una direzione e ad un altro segnale faccia gli stessi giri ma in direzione opposta.
    Inoltre non deve mai poter girare due volte dalla stesa parte, ma una volta in una direzione e una volta nell’altra.
    Fino a qui direi di esserci riuscito, se porto LOW al PIN 2 il motore effettua 2 giri in senso orario (400 step), se porto LOW il pin 4 stessa cosa ma in direzione contraria.
    Dovrò poi sviluppare un altra parte di codice poichè questi segnali dovranno essere dati da un tastierino numerico, ma sono ancora all’inizio e devo lavorarci un bel pò!
    Voglio chiederti un informazione importante perchè non sono riuscito a trovare una risposta.
    Io utilizzo la shield motor Arduino R3 con un motore stepper, ma nel mio progetto mi occorrerebbero due motori stepper ed ho acquistato 2 shield motor con 2 motori.
    Il problema è capire se posso gestire i due motori installando le due shield una sopra l’altra e come compilare lo sketch.
    I due motori devono fare precisamente la stessa cosa, vorrei però gestirli separatamente, ma se non fosse possibile si può trovare un modo per pilotare i due motori con una sola shield?
    Ricapitolo perchè magari ti ho confuso: la scheda arduino UNO può gestire due shield motor arduino R3? Se non è possibile si può gestire due motori stepper con una sola shield?
    I motori che ho sono motori stepper bipolari a 4 fili WANTAI 42BYGHW811.
    Voglio di nuovo ringraziarti di tutto e se troverai il tempo di rispondermi ti sarò molto grato.

    A presto, Maurizio

    1. Mauro Alfieri

      Ciao Massimo,
      puoi collegare due shield a castello su arduino, avendo i medesimi pin usati per il controllo otterrai che i due motori si muoveranno all’unisono.
      Se devi controllare motori passo-passo ti consiglio driver specifici tipo easydriver o pololu, sono più adatti, usano meno pin e sono anche più semplici da gestire.

      Mauro

  3. teodor

    Ciao, come posso collegare un motore passo-passo ad arduino uno??

    1. Mauro Alfieri

      Ciao Teodor,
      nel blog trovi molti articoli in cui descrivo come farlo, esistono tanti metodi.

  4. Francesco

    Salve.
    Complimenti innanzitutto per il lavoro che fa con questo blog: è grazie a lei che sto muovendo i miei primi passi nel mondo Arduino.
    Venendo al caso specifico, ho a che fare con un motore passo passo bipolare che ho collegato all’ assieme Arduino + motorshield fe. L’alimentazione è esterna 12 V dc e credo di aver fatto i collegamenti in maniera corretta, ma il rotore non ruota. Ho utilizzato lo sketch base da lei proposto in un altro articolo, facendo attenzione alla corrispondenza dir e pwr, ma niente. Ovviamente il ponticello di alimentazione è su ext.
    Dove potrebbe stare l’inghippo ? Premetto che ho due motori e ho provato con entrambi per escludere che il primo fosse bruciato (a meno di sfiga eccessiva escludo che siano entrambi andati).
    Ho individuato quelli che in inglese vengono chiamati common (dovrebbero essere le fasi ??), A e B quindi a meno dell’ordine, il posizionamento c’è. Ringrazio in anticipo.

    1. Mauro Alfieri

      Ciao Francesco,
      non mi è chiaro perché hai dei common se è un motore bipolare.
      Sei sicuro di aver compreso come è fatta la geometria di un motore passo-passo e come riconoscere e fasi ?
      I motori bipolari non hanno i fili detti common o comuni ( in italiano ) quello che descrivi sembra un passo-passo unipolare a 6 o più fili.

  5. Claudio

    Fantastico non vedo l’ora di tornare a casa e mettermi a provare.. tutto chiaro vediamo che riesco a combinare.. 😉

    1. Mauro Alfieri

      Bene Claudio,
      buona sperimentazione.

  6. Bais

    CIao Mauri,
    ho acquistato un “nema 17” da un sito cinese per farne il motore tirafili di una stampante 3d pero’ quando e’ arrivato mi sono accorto che non era ne marchiato e con i cavi di colori a fantasia…
    Mi sono imbattuto nel tuo video e ti ringrazio molto, la fase 2 pero’ non riesco a farla, ho provato una batteria da 5 volt e un alimentatore per cellulari nokia da 5.7 volt, quando tocco con i poli le 2 coppie di fasi vedo solo gli scintillii del corto e non si muove nulla. Dove sbaglio? Premetto che mi sono guardato tutti i video di spiegazione dei motorini passo passo. Ora ho messo lo schema A B ma non posso mettere le fasi, inoltre mi manca un altro passaggio, negli schemi per le stampanti 3d (tipo su firmware tipo Marlin) c’e’ scritto X_STEP_PIN , X_DIR_PIN, X_ENABLE ma io nel motorino ho 4 cavi, come faccio a passare dal tuo schema una volta capito come muoverlo, a questo tipo di comandi?
    Scusa se non sono stato chiaro ma non sono un mago dell’elettronica, piu’ un babbano 🙂

    1. Mauro Alfieri

      Ciao Federico,
      non sono certo di aver capito, provo a rispondere su quanto mi è chiaro dividendo i problemi:
      1. colori differenti: può capitare che acquistando motori non marcati;
      2. movimento con 5v: sei sicuro che funzioni a 5v? sei sicuro di aver trovato le fasi in modo corretto?
      3. stampanti 3D: è un discorso complesso, i motori passo-passo, nelle stampanti 3D, sono connessi a dei driver che con 2 pin controllano le 2 fasi ( 4 fili ) ti consiglio di leggere e documentarti meglio sul loro funzionamento approfondendo con la documentazione che trovi in internet

  7. Nicola

    Salve ho un Motore passo passo nema con 4 fili le seguenti caratteristiche tecniche 57 stepping motor 1.8° 2.25 3A 0.75 mi servirebbe un controller per fallo funzionare, mi interessa solo fallo muovere in un verso e se possibile regolare la velocità, fatemi sapere GRAZIE.

    1. Mauro Alfieri

      Ciao Nicola,
      dalle caratteristiche che scrivi non comprendo bene di che motore si tratti, i valori:
      57
      2.25
      0.75

      cosa indicano?

  8. Roberto

    Ciao Mauro,
    Ho dei grossi dubbi sulla tensione di alimentazione dei motori passo passo.
    Le caratteristiche dei miei nema 23 della sonceboz, sono
    1,05A per fase, e 4,8 ohm per fase.
    I motori sono bipolari a 4 fili.
    Dovranno funzionare con Arduino , driver pololu A 4988 montati su shield V3.0
    La domanda : a quale tensione devo alimentare l’impianto ?
    Grazie per la risposta e per i blog che pubblichi.
    Roberto

    1. Mauro Alfieri

      Ciao Roberto,
      il datasheet del produttore dovrebbe dirti anche la tensione di alimentazione per fase.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>