Motori passo-passo bipolari con Arduino – prima parte

Finita la serie di articoli sui Giochi di luce con Arduinoecco un articolo sui motori passo-passo. E’ molto tempo che non mi occupavo di motori passo-passo ed erano rimasti esclusi i motori bipolari.

Motore passo-passo a 4 fili

Iniziamo subito riprendendo un mio precedente articolo in cui hai imparato a riconoscere i motori di tipo passo-passo. Dopo averli riconosciuti avrai letto come pilotare i motori di tipo unipolare, ma se hai riconoscuito che il tuo motore è di tipo bipolare, probabilmete ti sei chiesto … e adesso come lo piloto questo?

Ecco quindi un articolo su come pilotare i motori passo-passo bipolari.

I motori passo-passo bipolari di base presentano 4 avvolgimenti collegati come in figura, questo significa che se hai un motore a 5 o 6 fili puoi utilizzarlo come bippolare, facendo una forzatura e non utilizzando i 2 comuni, o se hai un motore a 8 fili puoi eseguire i collegamenti tra gli avvolgimenti per poterlo utilizare come bipolre.

A questo punto ti occorre un driver per pilotare questo tipo di motori, sul sito ufficiale Arduino ho trovato una pagina interessante, in cui sono rappresentati due integrati o driver utilizzabili per pilotare questi motori, per semplicità elettronica, non ci sono componenti extra da utilizzare, io ho deciso di utilizzare l’integrato SN754410NE:

motori bipolari stepper a  quattro pin SN754410NE

Realizzandolo su di una breadboard puoi seguire i collegamenti come nelle figre sotto:

Motori bipolari primi collegamenti SN754410NE

Collega i pin 4,5,12 e 13 a massa (GND), il pin 16 a Vcc (+5v) ed i pin 1 e 9 ai +5v ricordando che questi ultimi due sono l’enable del primo e del secondo avvolgimento, per cui potresti decidere di pilotarli con un segnale digitale da Arduino, per semplicità nello schema sono collegati al +5v ossia sempre abilitati.

Avrai notato che anche il pin 8 è connesso al +5v, questo pin dell’SN754410NE è destinato all’alimentazione esterna del motore, per cui se il tuo motore stepprer funziona a 12v è a questo pin che dovrai connettere tale alimentazione, nel mio esempio ti indico di connetterlo ai +5v perchè io ho utilizzato un motore funzionante a tale voltaggio.

Motori bipolari alimentazione SN754410NE

Ed ecco come collegare l’SN754410NE ad Arduino, come anticipavo se anche il tuo circuito funziona a 5v collegherai il positivo ai +5v ed il negativo a massa (GND) di Arduino. Se non hai un circuito in funzione a 5v ricordati di collegare i +5v di arduino ai pin 1,9 e 16 e il pin 8 all’alimentazione esterna; Il negativo del cirduito devi collegarlo sia al GND di Arduino sia al negativo dell’alimentazione esterna, altrimenti non otterrai nessun movimento del motore.

Passa a collegare ad uno ad uno i pin di INPUT dell’SN754410NE ad Arduino, rispettivamente 7,2,10 e 15 del driver sui pin 8,9,10 e 11 di Arduino, come nelle figure seguenti:

Motori bipolari pin 8 Arduino su SN754410NE

Motori bipolari pin 9 Arduino su SN754410NE

Motori bipolari pin 10 Arduino su SN754410NE

Motori bipolari pin 11 Arduino su SN754410NE

Non ti resta che collegare il motore passo-passo al driver, prima di eseguire il collegamento dobrai aver chiaro quali siano i due distinti avvolgimenti del motore, se hai letto i miei articoli non avrai problemi di alcun genere, non potrai tuttavia determinare quale terminale del primo avvolgimento sia A+ e quale A- così anche per il secondo, occorreranno alcune prove invertendo i collegamenti mentre Arduino è in funzione, per determinare quali siano i pin corretti.

Non scoraggiarti se ti è chiaro come funziona un motore bipolare non ci metterai molto a capirlo, io ho impiegato poche decine di secondi, e ti consiglio di eseguire i test una coppia alla volta per non fare confusione.

Ecco come collegarli:

Motori bipolari collegare la Fase A

Motori bipolari collegare la Fase B

Se tutto è collegato correttamente quando caricherai lo sketch su Arduino vedrai muoversi il tuo motore passo-passo bipolare.

In questo articolo lo sketch lo pubblico per non asciarti in sospeso il lavoro e per farti verificare subito che tutto funziona, lasciandoti ai tuoi esperimenti per determinare come sono collegati gli avvolgimenti del motore, nel prossimo articolo analizzerai linea per linea lo sketch comprendendone il funzionamento.

Ecco lo sketch:

int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 100;

void setup() {
  Serial.begin(9600);
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
}

void loop() {
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, HIGH);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, HIGH);
  delay(delayTime);
}

Buon lavoro.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/motori-passo-passo-bipolari-con-arduino-prima-parte.html

101 commenti

4 ping

Vai al modulo dei commenti

    • Salvatore il 8 Febbraio 2012 alle 00:30
    • Rispondi

    Ho letto con interesse il articolo e vorrei provare a realizzare il controller.

    Al momento non riesco a reperire un integrato SN754410NE ma ho a disposizione un L293NE
    Che tu sappia é funzionalmente equivalente? richiede accortezze particolari?

    1. Ciao Salvatore,
      l’SN754410NE non è di facilissimo reperimento, io l’ho ordianto da Farnell.
      Ho recuperato il datasheet del L293D:
      http://www.datasheetcatalog.org/datasheets/90/69628_DS.pdf
      non ho trovato l’L293NE, in ogni caso a meno di qualche collegamento differente tra i due tipi dovrebbe andar bene.

      Sicuramente un’accortezza è quella di controllare l’assorbimento delle fasi e verificare che non assorbano più di quello che l’integrato può erogare, ed in ogni caso prevedere una aletta di raffreddamento adeguata.

      Lascio ad altri utenti del blog l’invito a correggere o integrare con le proprie conoscenze ed esperienza sull’argomento.

      Ciao
      Mauro

  1. Quello che mi hai indicato penso proprio sia il datasheet di tutta la famiglia di integrati L293.

    Guardando ancora un po’ in rete ho trovato quanto segue

    D = diode

    L293D has output clamping diodes for inductive transient suppression while the L293NE does not. Since you’re going to drive a motor you will want to use clamping diodes to avoid inductive spikes from the motor killing the output transistors in the chip.

    If you can only find the L293NE you can add your own diodes. See the datasheet for how they are connected.

    Secondo te posso usare l’IC senza diodi per fare qualche test o ci vogliono? E nel caso che diodi? Uno per ogni uscita verso i motori? Grazie.

  2. Salve io vorrei sapere un’informazione devo attaccare 5 motori passo passa con questo integrato: SN754410ne su arduino peró ci sono riuscito solo con un motore. Ho provato ha copiare il listato uno sotto l’altro per 5 volte ovviamente cambiando le uscite ma niente come posso fare Per risolvere ????? Grazie

    1. Ciao Manuel,
      come hai collegato i 5 integrati? Tutti in parallelo?

      Mauro

    • gabriele il 13 Luglio 2012 alle 18:00
    • Rispondi

    ho recuperato unb motore della ventola dell’unità esterna di un condizionatore. pensavo ne uscissero tre fili,i soliti ma ne escono ben 5,due bianchi,un rosso ,un blu,un giallo.provando col tester tutti e cinque risultano collegati agli altri,cioè hanno continuità.(spero di usare termini giusti).come faccio a farlo funzionare collegandolo ai normali tre fili(fase,neutro,terra,)?per favore mi risponda alla mail…grazie

    1. Ciao Gabriele,
      prima di tutto devi capire ne tipo di motore sia, da come scrivi sembra un passo-passo unipolare, nel blog trovi tutti gli articoli per “riconoscere i motori passo-passo” prova a leggerne qualcuno.
      Un motore passo-passo quando fai ruotare l’alberino a mano e senza alimentazione lo senti spostarsi a piccoli scattileggeri, non in modo fluido.

      Se si tratta di un passo-passo non puoi collegarlo con 3 fili. Prova a documentarti nel blog.

      P.S. Non mettere la tua email come testo dei commenti, mi arriva già compilando il campo email. in un commento rischi che malintenzionati la prendano per inviarti spam 🙂

    • Fabio il 29 Settembre 2012 alle 15:08
    • Rispondi

    Ciao Mauro, volevo chiederti una cosa, ma si può utilizzare un’altro integrato oltre a questo? Se si, quale? Grazie

    1. Ciao Fabio,
      si, é possibile di integrati adatti ad essere usati come driver di potenza per motori passo passo c’è ne sono migliaia.

      La Motor shield Fe usa ad esempio un L298p ed io ho scritto dei tutorial per pilotar i motori passo passo.

      Puoi anche leggere l’articolo di settimana scorsa sul l’easydriver prodotto sparkfun e distribuito sul sito robot-domestici.

      Ci sono poi i driver della pololu, se cerchi in un sito di elettronica e robotica come quello indicato sopra ne troverai tanti altri.

      Mauro

        • Fabio il 30 Settembre 2012 alle 11:36
        • Rispondi

        Ok, capito, grazie 🙂

    • Leandro il 19 Novembre 2012 alle 16:47
    • Rispondi

    Ciao MAuro, ho seguito con molta attenzione tutti i tuoi tutorial sul pilotaggio dei motori passo passo e li ho trovati molto interessanti.
    Purtroppo io sono in possesso di un motore passo passo bipolare che richiede una tensione di alimentazione di 2,8 V. Sarebbe possibile pilotarlo utilizzando il driver SN754410NE?
    Che differenza c’è con il drivere L293DNE?
    Sei per caso a conoscenza di qualche sito dove poter eventualmente reperire delle informazioni per potersene realizzare uno da soli utilizzando componenti discreti?
    Grazie
    Saluti

    1. Ciao Leandro,
      ho dato un occhio ai datasheet dei due integrati, entrabi doppio ponte-H, il motore che tu possiedi ha una tensione di alimentazione molto bassa ma la caratteristica che dovresti valutare è la corrente ( A ) assorbita, è in funzione della corrente puoi definire che tipo di integrato ti occorre.

      In merito al circuito, sul mio blog ci sono alcuni circuiti per l’SN754410NE realizzati non solo da me, poi puoi seguire i circuiti descritti nei datasheet e valutare se un EasyDriver può fare al caso tuo con pochi euro è già realizzato e sul blog trovi dei codici per utilizzarlo.

      Mauro

        • Leandro il 20 Novembre 2012 alle 12:44
        • Rispondi

        Ciao Mauro,
        grazie mille per la risposta.

        La mia perplessità maggiore era proprio quella di riuscire a capire se gli integrati indicati erano in grado di fornire in uscita i 2,8 V necessari, perchè sui datasheet mi è parso di capire che in uscita non si può scendere sotto i 4,5 V. Oltretutto non saprei come collegare il piedino corrispondente dell’integrato visto che la scheda arduino uno non fornisce 2,8 V in uscita ma solo 5 o 3,3.
        Non so proprio come fare….

        1. Ciao Leandro,
          i 2,8v come tutte le tensioni per alimentare i motori passo-passo con gli integrati SN754410NE o L293 deve essere esterna.
          La funzione di tali integrato è proprio alimentare separatamente i motori passo-passo, arduino non ha sufficente corrente per alimentare i motori sopratutto sotto sforzo.

          Resta valido che se non sai quanto assorbe ogni motore è impossibile definire alcun tipo di controllo.

          Mauro

    • Albano il 8 Dicembre 2012 alle 21:16
    • Rispondi

    Ciao Mauro

    Volevo chiedere quanti ampere per fase (massimi) di un passo-passo puo soportare l’integrato SN754410NE
    e visto che è di difficile reperimento se si puo al suo posto usare EASY DRIVER e come si collega ad ARDUINO ed al motore senza pulsanti (come in uno dei tuoi tutor) per girare diciamo ad 1/2 passo.
    Grazie!

    1. Ciao Albano,
      si puoi sostituire l’SN754410NE con l’Easy Driver.
      Trovi alcuni articoli sul blog dedicati a questo driver per motori passo-passo.
      Tra gli ultimi articoli c’è anche come utilizzare l’easy driver con il 1/2 passo, 1/4 di passo, 1/8 di passo.

      Buona lettura
      Mauro

    • arnaldo il 1 Giugno 2013 alle 09:39
    • Rispondi

    Ciao Mauro, ancora un piccolo aiuto sugli steppe. Per l’unipolare ho fatto parecchie prove con diversi sketc a tutto va bene grazie a te. Per il bipolare ho qualche problema e per evitare di agire pappagalescamente ti chiedo un chiarimento.
    Dalla scheda dell’integrato L293 leggo che i pin logici sono ( come del resto tu indichi nel tutorial, il: 2-7-10-15 che ho collegato rispettivamente ai pin digitali di Arduino 8-9-10-11 ——
    Stepper: ho individuato le fasi… ed ho collegato i quattro terminali del motore ai pin 3-6 e 11-14 dell’integrato.
    Poi: VCC1 ai 5V e VCC2 al positivo della batteria ( al Vin di Arduino).
    Credo di non avere fatto errori ma la verità è cosi non mi gira.
    La domanda è anche: i pin 1 e 9 dell’L293 non corrispondono all’ ENABLE dei motori?

    Dovremmo collegarli entrambi al Power o no?Ho provato a collegarli na anche così nisba.
    Spero veramente di non rompere….e mi scuso.
    Dimmi almeno se i miei ragionamenti sono validi o se c’è qualche errore di concetto.
    Un cordiale saluto
    Arnaldo

    1. Ciao Arnaldo,
      non ricordo a memoria la piedinatura dell’L293
      Da quanto ricordo sono 6 pin da collegare, alcuni schemi usano dei diodi di protezione e dei transistor per ridurre a 4 i pin.

      Prova a guardare gli schemi della Motor shield fe o della Motor shield arduino, mi sembra che entrambe usino l’integrazione L293 con soli 4 pin.

      Mauro

    • arnaldo il 1 Giugno 2013 alle 15:56
    • Rispondi

    Ciao Mauro, è destino che dopo averti disturbato io risolva il problema…..me ne scuso vivamente….Non c’era nessun errore ma un difetto di contatto dell’integrato sulla breadboard…Mi tocca tenerlo pressato con una biro…
    Ciao e Buona Domenica

    1. Ciao Arnaldo,
      sono solo contento che tu risolva sempre da solo le tue difficoltà dimostra che la tenacia e la sperimentazione ripagano e tu le applichi egregiamente.

      Se vuoi puoi provare con una tecnica che io uso quando sono difronte ad un ostacolo, mi fermo, distolgo l’attenzione per qualche minuto o anche ora, dipende dal mio tempo, ritorno sul progetto e riprovo prima di cercare nel web la soluzione.
      Solitamente funziona, a volte trovo la soluzione solo sul web.

      Detto questo, puoi scrivermi tutte le volte che lo desideri, io cercò di aiutarti quando posso e come posso, poi sei sempre gentile ad avvisarmi quando risolvi.

      Mauro

    • dario il 29 Ottobre 2013 alle 22:03
    • Rispondi

    ciao mauro volevo chiederti se anche un integrato di tipo ULN2003A da te consigliato per motori unipolari puo essere usato per motori bipolari

    grazie

    1. Ciao Dario,
      io per i motori bipolari preferisco usare un driver specifico, meglio ancora i driver della sparkfun o della pololu.

      Mauro

    • dario il 30 Ottobre 2013 alle 16:48
    • Rispondi

    Ho capito cosa intendi ma vuol dire che non posso usare il sopra indicato integrato oppure posso usarlo?
    grazie in anticipo

    1. Ciao Dario,
      non sono così bravo in elettronica per poterti dare questa certezza.
      Lascio il tuo commento on-line in modo che altri appassionati possano aiutarti 🙂

      Mauro

    • dario il 30 Ottobre 2013 alle 21:47
    • Rispondi

    Grazie e allo stesso tempo scusa della domanda poiché cercando su internet ho trovato su un forum riguardante Arduino il perché non si possa usare quel tipo di integrato
    adesso userò quello consigliato nel tuo articolo .

    Dario

    1. Ciao Dario,
      ti va di condividere ciò che hai appreso descrivendolo brevemente in un commento, servirà ad altri appassionati.

      Grazie
      Mauro

    • dario il 2 Novembre 2013 alle 15:59
    • Rispondi

    d ‘accordo ( il forum e in inglese e la traduzione di google non è molto accurata ).
    https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.instructables.com%2Fanswers%2FI-want-to-ask-Is-it-possible-to-run-bipolar-step%2F&ei=yhB1UsGULI7G7AbZnoGABw&usg=AFQjCNE_5gez-4MB_53PfFChhxs2BRJjEQ&bvm=bv.55819444,d.ZGU

    non e molto chiaro ma bene o male spiegano che l’integrato ULN2003A non e consigliabile per i motori bipolari ma solo per quelli unipolari deduco.

    volevo anche chiederti se questo integrato e uguale a quello che tu usi per i motori bipolari
    http://www.ebay.it/itm/SN754410NE-SN-754410-Arduino-come-L293-driver-motori-DC-e-stepper-fino-1A-/261318412214?pt=Componenti_elettronici_attivi&hash=item3cd7ca87b6

    Grazie in anticipo

    1. Ciao Dario,
      grazie per il primo link.
      Il componente usato in alcuni dei miei esperimenti con i motori bipolari è SN754410NE, il link che mi hai inviato è di un oggetto scaduto, in ogni caso è un componente che trovi facilmente da un rivenditore di elettronica o su siti on-line di rivendita componenti elettronici.

      Mauro

    • dario il 2 Novembre 2013 alle 17:25
    • Rispondi

    ciao mauro volevo sapere se potevi risolvere un mio interrogativo:
    ditro al mio motore bipolare c’è scritto 2,4v(volt )/phase e 2.0A(ampere)/phase
    devo quindi alimentarlo a 2.4 volt e 2 ampere ?
    posso alimentarlo con arduino ?
    o devo usare un alimentazione esterna?
    potresti spiegarmi inoltre come dovrei collegare il polo positivo e negativo dell’alimentazione esterna alla breadboard
    (inoltre come facci a ottenere da un alimentazione esterna esattamente 2.4 volt e 2 ampere ammesso che il voltaggio e amperaggio siano quelli ?)

    grazie
    dario

    1. Ciao Dario,
      trovi sul blog un articolo dedicato alla corrente erogata dai singoli pin arduino.
      Certamente con 2A per fase avrai difficoltà di controllo anche con alcuni driver di controllo motori; prova a verificare la BigEasyDriver che dovrebbe controllare motori fino a 3A per fase ma non ricordo se la tenzione può essere inferiore agli 8v.

      Mauro

    • Alberto il 24 Novembre 2013 alle 00:46
    • Rispondi

    Ciao Mauro,ho seguito il tuo corso base a Novembre, riuscire a movere un motore P-P era un mio desiderio, sebbene non avessi esperienza in elettronica ho seguito i tuoi consigli ed il motore ha mosso i primi passi.
    Grazie mille!!! Ciao da Alberto.

    1. Ciao Aberto,
      sei bravissimo il tuo commento mi riempie di gioia.
      Ti sei impegnato e sarai entusiasto del tuo risultato.

      Oggi si svolgerà un corso simile a quello a cui hai partecipato e il tuo commento é il miglior incoraggiamento che potessi ricevere.

      Mauro

  3. Ciao Mauro,
    premetto che sono entrato nel mondo di arduino da meno di 24 ore e con l’elettronica sono molto a diguno.
    detto questo provo a chiederti la soluzione ad un problema, forse per te, anche troppo semplice.

    Ho la scheda Arduino Uno, una breadboard, un integrato L298N e un motore passo passo recuperato da una vecchia inkjet espon siglato EM-434.

    Con questi pochi elementi posso azionare tale motore e se si, sapresti indicarmi con cablare l’integrato ad arduino e al motore?

    Grazie mille per la risposta e le tue preziose guide che sto seguendo con molto interesse.

    Ciao
    Mirco

    1. Ciao Mirco,
      ho usato un motore simile per alcuni dei miei tutorial, ti invito a leggerli.
      Se sei a digiuno con l’elettronica e vuoi imparare di più ti consiglio di leggere il mio corso on-line gratuito.

      Ti anticipo che il motore in tuo possesso è un bipolare e troverai dei tutorial per controllarlo con altri integrati, tuttavia compresa la logica di funzionamento potrai usare anche un L298 come mostro nei tutorial con i passo-passo e le varie motor shield.

      Mauro

    • Federico il 5 Febbraio 2014 alle 15:13
    • Rispondi

    Ciao Mauro, innanzi tutto mi complimento con te per il fantastico sito! Pieno d’informazioni!
    Adesso veniamo al punto… Come faccio a sostituire il delay con millis in modo tale che il programma non venga rallentato? Ho provato parecchie volte ma non riesco.

    Ciao, grazie!

    1. Ciao Federico,
      millis() e dalay() sono due funzioni molto differenti, per applicare la sostituzione dovrai ragionare in modo completamente differente tra millis() e delay().
      Prova a leggere il mio articolo dedicato al millis()

      Mauro

        • Federico il 6 Febbraio 2014 alle 15:01
        • Rispondi

        Grazie per la risposta,
        il tuo articolo l’avevo già letto e avevo provato ad applicarlo ad un mio programma (inseguitore fotovoltaico con duo motori passo passo).
        Il problema è che non mi funziona… Potrei postarti o mandarti via mail il programma cosi vedi se riesci a darmi un aiuto?

        Grazie mille.
        Ciao!

        1. Ciao Fede,
          io offro consulenza gratuita sul sito per capire come risolvere eventuali incomprensioni degli sketch che scrivo e siccome siete tanti ( 1700 al giorno circa ) non posso analizzare gli sketch di tutti anche se vorrei.

          Ti invito a ragionare su cosa vuoi ottenere e cosa ottieni al fine di capire dove si trova l’errore e correggerlo, se non sai come correggerlo posso darti qualche dritta su cosa leggere del blog ma prima dovrai impegnarti da solo a realizzare ciò che desideri.

          Mauro

    • skourkos il 11 Febbraio 2014 alle 23:04
    • Rispondi

    Thank you Mauro!

    1. You are welcome Skourkos !!

    • Claudio il 11 Aprile 2014 alle 20:22
    • Rispondi

    Ciao Mauro,

    come uno scemo ho comprato un motore passo-passo bipolare senza prima leggere la tua guida, e l’ho preso da 7,4V, quindi non funziona. Ho letto però che potrei collegare il pin 8 ad un’alimentazione esterna. Mi puoi spiegare come lo posso fare?

    Grazie mille,

    Claudio

    1. Ciao Claudio, non comprendo perché non debba funzionare, basta usarlo come bipolare e non cercare di usarlo in altro modo; se ti riferisci al collegamento diretto ad arduino io lo sconsiglio anche per i motori passo-passo a 2v perché comunque la corrente per fase richiesta dal motore rischia di bruciarti arduino. Per l’alimentazione esterna usa un driver tipo Easydriver o driver della pololu, trovi sul sito tanti articoli.

        • Claudio il 12 Aprile 2014 alle 11:13
        • Rispondi

        Il motore non l’ho collegato direttamente ad Arduino, ma ho seguito le tue istruzione con il driver integrato nello starter kit (L293D). I cavi del motorino li ho invece connessi ai pin 3, 6, 11 e 14 del driver, ma quando carico lo sketch il motore fa piccole rotazioni come se non funzionasse…

        Ti ringrazio ancora (e mi scuso per la mia ignoranza in materia),

        Claudio

        1. Ciao Claudio in questo articolo non utilizzo l’integrato L293D ma un SN754410NE probabilmente é per questa differenza che lo sketch si comporta i modo differente..

        • Claudio il 12 Aprile 2014 alle 11:26
        • Rispondi

        Ho sbagliato, scusa, i pin del driver sono il 2, il 7, il 10 e il 15

        1. Ciao Claudio, se é sempre l’L293D che stai usando dovrai senza dubbio cambiare sketch, prova con quelli che ho scritto per controllare i motori passo-passo con la motor shield arduino che é basata su un driver più simile al tuo.

    • Andrea Guzzini il 30 Aprile 2014 alle 10:37
    • Rispondi

    Buongiorno Mauro,
    innanzitutto complimenti.
    Il tuoi tutorial sono molto chiari anche per me che sono alquanto digiuno sia di elettronica che di programmazione, ma ho molta voglia di sperimentare.

    Sono un appassionato di astrofotografia e userò arduino come controller di un motore passo passo bipolare che muova una “tavoletta equatoriale”, ossia un supporto della macchina fotografica che compensa esattamente la rotazione terrestre e consente tempi di posa lunghi delle stelle (dell’ordine di molti minuti…) (per intenderci, una cosa tipo questa http://davetrott.com/inventions/double-arm-barn-door-drive/) In pratica il motore dovrei pilotarlo a “mezzo passo” (eccitazione 2:1, come detto in un altro post) a 1 rpm, per azionare la vite che muove la tavoletta.

    A tal fine ho comprato tutti i componenti e sto realizzando sia l’hardware che lo sketch … Quando avrò finito (a patto che funzioni 😉 ) sarei felice di condividerlo con il tuo sito.

    MA … ora ho un dubbio AMLETICO anche se abbastanza idiota…

    il motore funziona a 12V, arduino a 5V … ho già fatto due linee di alimentazione con le tensioni adeguate. Ma non mi è chiaro il tuo passaggio sul collegamento a massa del circuito integrato SN754410NE:

    ” Il negativo del cirduito devi collegarlo sia al GND di Arduino sia al negativo dell’alimentazione esterna, altrimenti non otterrai nessun movimento del motore”

    cioè? collego i pin 4,5,12,12 del circuito integrato SN754410NE contemporaneamente SIA al negativo della linea di alimentazione a 5V SIA al negativo di quella a 12V.

    Magari sto chiedendo una stupidaggine, ma prima di bruciare tutto, essendo un praticone, meglio domandare …

    1. Ciao Andrea,
      bel progetto e spero di poterlo pubblicare quando avrai finito, vorrà dire che funziona.
      In risposta al tuo quesito devi considerare che il pin negativo è anche detto massa, gnd o comune.
      L’ultimo nome è quanto mai adeguato al suo significato ossia è il collegamento “comune” a tutto il circuito.

      Per capirci se hai una alimentazione a 5v ed una a 12v i terminali negativi di entrambe devono essere connessi tra loro, siccome la 5v alimenta Arduino e la 12v alimenta il tuo driver il collegamento è fatto.

        • Andrea Guzzini il 2 Maggio 2014 alle 11:02
        • Rispondi

        Buongiorno Mauro,
        in questi giorni ho lavorato al controller del motore passo passo per l’astroinseguitore, dopo aver fatto i collegamenti come suggerito.
        Come detto, usa uno stepper da 12V, 0,33 A per fase, 1.8° per step.
        Ci ho aggiunto un deviatore on-off-on che consenta di commutare il controllo da inseguimento (1 rpm con moto orario “half pass”) a ritorno (25 rpm “2 fasi” con moto antiorario), oltre a due pulsanti normalmente aperti di fine corsa che arrestano il moto quando premuti. Inoltre ho aggiunto una funzione controllo del led di arduino in modo da farlo funzionare come indicatore (con l’astroinseguitore devo farci foto di notte, quindi … al buio!)

        Potrei sottoporti lo sketch (che mi sembra funzionare)? Come posso inviarlo?

        Due domande:

        – con il motore in moto, ho notato un accentuato riscaldamento sia del circuito integrato SN754410NE (ho misurato con il tester una temperatura di circa 60°C) e del motore. E’ normale? (il circuito integrato dovrebbe supportare fino a 1A di corrente, se ho letto bene le specifiche: eccitando due fasi a 12V, dovrei avere al massimo 0,66A e ci dovrei stare, esatto?)

        – durante l’arresto del motore, ho scelto di lasciare tutte le fasi ad un livello LOW (spente): è corretto? Tanto la coppia che si esercita sulla vite che fa girare l’astrinseguitore non dovrebbe vincere l’inerzia del rotore …

        1. Ciao Andrea,
          se vuoi condividere il progetto pubblicandolo sul blog puoi inviare alla casella info del blog la descrizione del progetto, lo sketch con descrizione, le foto, eventuale video in modo che io possa pubblicarlo.

          In merito ai componenti che scaldano è normale che questo accada, se la temperatura resta costante raggiunto un picco non mi preoccuperei, se, al contrario, continua a crescere al passare delle ore di utilizzo allora potrebbe esserci qualche errore nei collegamenti o nei calcoli di assorbimento.
          In ogni caso io prevederei un’aletta di raffreddamento per l’SH754410NE.

          In merito alle fasi è tutto dipendente dal sistema meccanico che hai utilizzato, se come dici, la coppia della vite è inferiore alla coppia necessaria a far spostare l’asse del rotore puoi lasciare le fasi a riposo durante i periodi di attesa.

            • Andrea Guzzini il 2 Maggio 2014 alle 15:34

            Grazie Mauro.
            Allora dividerò il lavoro in due parti.
            Fatte le dovute prove e raccolto il materiale ti invierò la parte relativa al controller del motore passo passo.

            Poi mi dedicherò alla costruzione “fisica” della tavoletta equatoriale (astroinseguitore) e, per completezza, ti invierò anche questa parte. Speriamo di farcela in tempi non lunghi (questa seconda parte richiede una meccanica abbastanza precisa e non vorrei fare lavori grossolani).

            Per l’aletta di raffreddamento, vedo se riesco a fare qualcosa di autocostruito con una lamina di rame.
            In merito ala coppia della vite, verificherò una volta costruita la tavoletta, Ad occhio mi sembrerebbe così.
            Se non fosse, ci sono problemi a lasciare il carico induttivo acceso per lunghi periodi (a parte il consumo di corrente …)?

          1. Ciao Andrea,
            non vedo l’ora di poter pubblicare il tuo lavoro.
            In merito al carico induttivo sicuramente, come scrivi, consumerai più corrente e potresti ottenere un surriscaldamento da parte del motore e del driver se la meccanica cercasse di spostare l’albero ed il motore dovesse essere costretto a opporre costantemente forza per non spostarsi.

    • gianmarco il 15 Maggio 2014 alle 22:14
    • Rispondi

    Qualche esperienza con il chip LMD 18200 di TI (o anche NI) ? La documentazione dice che può essere usato per il controllo di motori passo a passo con il vantaggio che arriva a gestire fino a 3A per fase (quindi motori più grossi). Non sono riuscito a trovare nessuno schema che lo impieghi per i motori bipolari e questo è strano perché è molto citato.
    Grazie

    1. Ciao Gianmarco,
      hai già provato a verificare se esiste un datasheet consultabile?
      Io non lo conosco e non l’ho mai usato, tuttavia se, come dici, è molto citato dovresti trovare il datasheet on-line.

    • Fabio il 28 Maggio 2014 alle 13:08
    • Rispondi

    Ciao, ottimo articolo!
    Ho bisogno di pilotare due motori passo passo e vorrei provare con due integrati SN754410NE che lei ha mostrato nell’articolo. Poiché ho vincoli di ingombro è possibile collegare questi con Arduino direttamente? (Ossia senza breadboard)
    Grazie.

    1. Ciao Fabio,
      si puoi collegare questi integrati su una basetta millefori.
      Considera che per un uso continuativo sono consigliati anche altri componenti aggiuntivi, il mio è solo un test.

      Se hai problemi di ingombro ti consiglio i driver Pololu o EasyDriver che sono già completi e testati per funzionare correttamente a lungo.

        • Fabio il 28 Maggio 2014 alle 14:58
        • Rispondi

        Grazie mille per la risposta, opterò per i driver Pololu o EasyDriver.
        In ogni caso, cosa devo sapere per poter scegliere un driver adatto alle mie necessità? (oltre costi ed ingombro)
        Grazie ancora

        1. Ci sono molte informazioni che ti occorrono, solo per citarne alcune: coppia, numero di passi, alimentazione, assorbimento per fase …
          Direi che la cosa migliore è leggere della documentazione su un motore passo-passo da internet e studiare bene le sue caratteristiche prima di sceglierlo.

    • Johny il 31 Maggio 2014 alle 22:04
    • Rispondi

    Salve non mi è chiaro questo punto
    “Il negativo del cirduito devi collegarlo sia al GND di Arduino sia al negativo dell’alimentazione esterna”
    il mio motore funziona a 12 volt, quindi al pin numero 8 ci attacco i 12 volt e la massa del mio alimentatore esterno la collego alla massa di arduino? Per il negativo del circuito cosa intende? Grazieee

    1. Ciao Johny, la massa é anche detta negativo, comune, Gnd, terra é sempre lo sesso polo ed é l’unico che in un circuito deve essere comune a tutti i componenti e alimentazioni.
      Attenzione: i pin Arduino tollerano al Max 5v, NON collegare 12v a nessun pin digitale o analogico arduino.

    • Carmelo il 10 Luglio 2014 alle 11:52
    • Rispondi

    Buon giorno, io ho acquistato un l293d, lo posso utilizzare come driver per motori passo passo?
    Grazie in anticipo.
    Saluti Carmelo

    1. Ciao Carmelo, é il meno indicato per questo scopo ma con qualche accorgimento software puoi farlo, io ho scritto dei tutorial in cui spiego come ho fatto.

    • SIMONE il 3 Marzo 2015 alle 21:10
    • Rispondi

    io ho collegato il motore passo passo bipolare ad arduino,ma non fa i giri che dovrebbe fare,vibra solo senza girare

    1. Ciao Simone,
      potrebbe essere dovuto ad un tempo di pausa tra un passo ed il successivo troppo esiguo per cui il motore non riesce ad eseguire i passi che gli chiedi di eseguire.
      In alternativa potresti semplicemente aver invertito le fasi o il loro collegamento per cui ti sembra che vibri ma in realtà esegue un passo in senso orario ed uno in senso antiorario così velocemente da simulare una vibrazione.
      Prova in ogni caso ad aumentare a 1000 millisecondi il tempo tra un passo ed il successivo.

    • Alberto il 4 Agosto 2015 alle 13:33
    • Rispondi

    Salve, Ho collegato tutto come descritto nella sua guida. I motori sono questi http://………/itm/3-pz-Motore-passo-passo-NEMA-17-stepper-motor-arduino-rep-rap-ART-CN09-/261561200850?pt=LH_DefaultDomain_101&hash=item3ce64330d2 .
    Il driver è il sn754410ne, come in descrizione. L’ho collegato ad una batteria del motorino da 12V, 7.2Ah.
    Il fatto è che quando metto tutto in funzione il motore non fa che vibrare (cioè fa avanti e indietro). Ma la cosa più strana è che se collego i fili, nello stesso ordine, direttamente ad arduino mi funziona. (ovviamente ha una coppia molto bassa). Come è possibile?
    Ho fatto alcuni esperimenti di collegamento ed ho notato che collegando la prima bobina (verde e nero) al driver e la seconda bobina (rosso e blu) direttamente ad arduino, il motore gira lo stesso. Ma appena inserisco anche la seconda bobina inizia a vibrare.
    Non riesco a capire come mai. Forse devo cambiare driver? Grazie in anticipo, Alberto.

    1. Ciao Alberto,
      è vietato introdurre nei commenti link a siti di aste online o siti generalisti di vendita o annunci in quanto poi quei link scadono o spariscono ed altri appassionati non riescono a trovare i riferimenti necessari.
      Il comportamento del tuo motore con questo driver potrebbe essere dovuto ad un pausa troppo breve tra una fase e la successiva che induce il motore a vibrare anziché muoversi.
      Prova ad aumentare il tempo tra una fase e la successiva e se rilevi che il motore si muove puoi decidere di usare un differente driver per questo motore come l’easy driver o i pololu.

    • Demis il 26 Novembre 2015 alle 19:09
    • Rispondi

    Ciao Mauro,
    io ho un motore bipolare 57STH56 NEMA-23 con un controller PoStep 25-32 da collegare ad Arduino, vorrei controllare la velocità con un potenziometro ma non riesco a capire i collegamenti giusti.
    il controller ha i seguenti pin:
    -Enable,
    -DIR,
    -STP,
    -Error (from PoStep to controller) O.C.
    -e 5 GND
    a quanto ho capito si collegano ad arduino e configurati come Output High o low
    riesci a darmi una mano?
    Grazie mille..

    1. Ciao Demis,
      non conosco quel controller, hai verificato che il produttore/venditore non abbia rilasciato degli esempi di sketch con cui utilizzarlo?
      Posso consigliarti di provare con uno degli sketch che ho descritto per easyDriver o drv8825 adattandoli al tuo driver.
      Secondo me può funzionare ma va provato dopo aver compreso bene come adattare circuito e sketch.

        • Demis il 30 Novembre 2015 alle 14:22
        • Rispondi

        Grazie Mauro, ora do un occhiata grazie mille

        • Demis il 1 Dicembre 2015 alle 14:05
        • Rispondi

        Ciao Mauro,
        Sono riuscito a farlo girare con alcuni sketch ma non alla velocità di 3000 RPM come descritto dal motore sai darmi consiglio?

        1. Ciao Demis,
          dipende molto dal tipo di driver che utilizzi e dai tempi che imposti nello sketch.

            • Demis il 2 Dicembre 2015 alle 18:33

            il driver è Postep 25-30, il motore è 57STH56 NEMA-23, vuoi i link?

          1. Ciao Demis,
            mi spiace ma non lo conosco, non l’ho mai provato.

            • Demis il 3 Dicembre 2015 alle 20:46

            Ok, Grazie ancora.

    • roberto il 25 Dicembre 2015 alle 22:39
    • Rispondi

    sempre riguardo i motorini controllo minimo sulle auto: è possibile collegare 2 motorini passo passo con 1 solo cavo a 4 fili, per farli muovere contemporaneamente? cioè solamente duplicando il cavo si può muovere 2 motorini simultaneamente, in modo che facciano lo stesso spostamento? questi motorini fanno uno spostamento lineare di circa 10 mm, non incontrano nessuna resistenza, semplicemente aprono un foro per passaggio aria, eventualmente come posso replicare i segnali di un motore per far funzionare l’altro allo stesso modo?grazie anticipatamente dell’ eventuale risposta

    1. Ciao Roberto,
      sulle stampanti 3D ad esempio si usa controllare 2 motori in parallelo con un unico driver di controllo sdoppiando i collegamenti.

    • Eduardo il 6 Gennaio 2016 alle 11:09
    • Rispondi

    Salve, volevo sapere come posso controllare un motore passo a passo di 3,6 volt e 6 ampere.. quale driver ( scheda) posso usare?? sa darmi qualche dritta a riguardo?? Grazie !

    1. Ciao Eduardo,
      in ambito makers o non professionale non conosco schede in grado di controllare motori con 6A per fase e voltaggio inferiore ai 6v.
      Ti consiglio di orientare la tua ricerca in un ambito semi-professionale o professionale.

    2. Ciao Eduardo,
      in ambito makers o non professionale non conosco schede in grado di controllare motori con 6A per fase e voltaggio inferiore ai 6v.
      Ti consiglio di orientare la tua ricerca in un ambito semi-professionale o professionale.

    • armando il 9 Gennaio 2016 alle 17:27
    • Rispondi

    ciao,

    ti ringrazio per tutte le tue pubblicazioni che mi sono state utili ma sui motori passo passo non ho idea da dove iniziare, tra l’altro lo devo pilotare con arduino mega che lavora 3,3 volt, supponendo di alzare i livelli logico o di trovare un driver adeguato volevo chiederti alcuni concetti base che mi sfuggono

    n1. nello sketch sopra il motore fa un giro completo a ogni ciclo ? a me servirebbero fare una regolazione più accurata. come si fa ?
    n2. se arduino lo blocca il ciclo e il motore sta fermo con l’alimentazione mantiene la posizione anche sotto un piccolo sforzo ? se no come si fa ?

    grazie in anticipo

    1. Ciao Armando,
      ti consiglio di approfondire l’argomento sui motori passo-passo leggendo tutti i miei articoli e comprendendone i concetti di funzionamento.
      Troverai tutte le risposte.

  4. ciao. è possibile pilotare un passo passo bipolare con 4 transistor invece dell’integrato? con l’unipolare lo so fare ma con questo?

    1. Ciao Davide,
      non ho mai provato, trovo più semplice usare dei driver.

    • Claudio il 31 Gennaio 2016 alle 20:42
    • Rispondi

    Buonasera Michele,

    Sto sperimentando un po’ seguendo i tuoi tutorial. Ho qualche motore nema 17 su cui sto provando a pilotare con l’integrato L293C del kit basic Arduino.
    Il motore nominale ha 0.65 A/phase, step 1.8°, coppia 1800 g*cm
    Lo alimento con un alimentatore 12V (qui sotto l’immagine) sul pin dell’integrato
    http://www.4shared.com/download/htj-4y_Zba/Foto_31-01-16_16_52_07.jpg?sbsr=0ff15930e88336068fb290bd1be8571b964&lgfp=3000
    Qui l’immagine del circuito:
    http://www.4shared.com/download/eg73u196ba/Foto_31-01-16_16_53_22.jpg?sbsr=7f4b942e8009f3e95e9a1ad71a1eaf6e964&lgfp=3000
    Ho provato ad utilizzare la libreria Stepper, impostando come nr step 200 e come velocità 60 rpm (ne ho provate diverse, maggiori e inferiori). Il loop fa girare di un giro completo il motore in un senso e poi nell’altro.
    Il problema è che il motore compie i primi 3 giri correttamente, poi inizia a vibrare e compie dei giri parziali, si ferma, riparte, …ha un funzionamento anomalo. Ho provato per scrupolo un altro motore simile (ma non identico, con corrente 0.6 A/ph)….ma il problema è lo stesso. Ho postato un video qui
    http://www.4shared.com/video/SX1_b0pMce/Video_31-01-16_16_51_23.html
    Qualche suggerimento/verifica? Grazie

    1. Ciao Claudio,
      io non uso la libreria Stepper in questo esempio e potrei non essere preciso nella risposta.
      Il comportamento che evidenzi sembra essere legato all’assorbimento del motore, controlla il datasheet del SN754410NE non penso vada oltre i 40/50mA

        • Claudio il 1 Febbraio 2016 alle 14:14
        • Rispondi

        Grazie Michele, il datasheet ST indica:
        600mA OUTPUT CURRENT CAPABILITY
        PER CHANNEL
        1.2A PEAK OUTPUT CURRENT (non repetitive)
        PER CHANNEL
        Il motore che sto utilizzando è 0,6 A/ph. ll “channel” presumo includa l’output dei pin collegati alle fasi. Quindi in teoria non dovrei avere problemi, è borderline (=600 mA)….
        Ho provato cmq anche seguendo il tuo esempio, modificando il Delay tra gli step, usando valori bassi (10 ms), quello dell’esempio (100 ms) e più elevati (500 ms) , ma non ho riscontrato differenze di comportamento significative….dopo un paio di giri abbondanti (….500 steps all’incirca) inizia a perdere sincronismo, a vibrare, e peggiora a tal punto da indurmi a staccare l’alimentazione…

        1. Ciao Claudio,
          Michele ha un altro blog 🙂 io sono Mauro.
          Si sei borderline, sul datasheet che ho trovato io della TI il valore massimo è 60mA, mentre typ. 33mA

          In ogni caso hai verificato la temperatura del motore quando perde colpi ed ha comportamenti errati ?
          Prova anche a raffreddare il componente stesso.

    • Claudio il 1 Febbraio 2016 alle 18:11
    • Rispondi

    Speravo non te ne accorgessi che ti ho chiamato per ben due volte Michele Sì, il motore si scalda subito, non è bollente ma dopo pochi secs è bello caldo. Sul datasheet sono abbastanza sicuro perchè l’ho scaricato dal sito Arduino. Provo un motorino ancora più piccolo e vedo se cambia qualcosa…

    1. Ciao Claudio,
      il datasheet deve essere del componente che possiedi non del sito arduino.

        • Claudio il 4 Febbraio 2016 alle 16:31
        • Rispondi

        Ciao Mauro,

        Il componente è parte del kit arduino basic starter, é il chip L293D della ST. In ingresso sul pin di alimentazione motore accetta 10-30V e la max corrente in uscita per canale è di 600mA (=0,6A). Tecnicamente non capisco se in uscita il chip “riduce” la corrente in base al carico collegato o invece alimenta il motore con tutta la corrente che arriva dall’alimentatore. Quest’ultimo eroga max 20A ai suoi 12V in uscita stabilizzati. Quindi come tensione è nel range che accetta l’integrato. Gli collego un motore bipolare con corrente per fase pari a 0,4A (quindi al disotto dei 0,6A max del datasheet), motore alimentabile a 9,6V (dal datasheet del motore, con resistenza di 24ohm/fase). Mi sembra che “sulla carta” tutto quadri, eppure il motore si scalda molto e perde subito steps girando random…non riesco a capire se mi sfugge qualche altro aspetto. Per l’integrato L293D la tensione di alimentazione del motore in ingresso al pin Vss deve essere esattamente la stessa di alimentazione del motore tal quale? Come se alimentassi il motore direttamente senza il chip? Grazie

        1. Ciao Claudio,
          perdonami ma non comprendo perché tu stia utilizzando un codice scritto per il SN754410NE su un componente differente.
          Usa i codici e le connessioni presenti nel kit arduino o quanto meno codici adeguati al driver che possiedi.

    • Claudio il 5 Febbraio 2016 alle 14:06
    • Rispondi

    Grazie Mauro,

    I chip sono analoghi, due ponti H, e i codici vanno bene per entrambi. Comunque grazie per la disponibilità, continueró a seguirti

    Ciao, Claudio

    1. Ciao Claudio,
      sono analoghi, come scrivi, ed il codice non penso sia la causa del problema.
      Il comportamento che ottieni sembra causato dal surriscaldamento del componente e/o del motore, proverei a raffreddarli entrambi.

    • Mauro il 15 Febbraio 2016 alle 11:44
    • Rispondi

    ciao Mauro
    Grazie al tuo articolo/i sono riuscito a far funzionare motore stepper s35v2 recuperato scanner hp.
    Funziona tutto perfettamente. MA o notato casualmente una cosa che mi preccupa.
    Stacando accidentalmente l’alimentazione 12 vcc(piedino 12 – l293D) il motore continua a funzionare nat + lentamente.
    i collegamenti sono giusti e controllati allo sfinimento…. Non mi sembra normale…
    Ti ringrazio ancora per gli ottimi e “chiari” articoli

    1. Ciao Mauro,
      se hai alimentato il chip con i 5v di arduino è lui che sta fornendo la tensione/corrente necessaria.
      Tuttavia ti sconsiglio di perseverare in quanto la corrente erogata dai pin di arduino e dal circuito di alimentazione +5v è insufficente al corretto funzionamento del motore e rischi di compromettere il funzionamento dell’arduino o della porta USB del Pc.

    • Andrea il 24 Febbraio 2016 alle 08:41
    • Rispondi

    Ciao,
    per prima cosa voglio farti i complimenti per il tutorial che trovo veramente completo e interessante, dopo averlo letto ora mi accingo a fare qualche esperimento.
    In particolare avrei la necessità di pilotare un attuatore lineare che se non ho capito male dovrebbe essere un motore passo passo bipolare.
    Dato che dal lato “elettronico” faccio un po fatica vorrei chiederti conferma se con questo motore posso utilizzare le tue lezioni…
    Questo è il motore:
    http://www.sonceboz.com/medias/Products/PDFs/datasheets%20V2/7217%20NEW.pdf

    Come driver ho preso quello da te consigliato Easydriver.

    Grazie
    Andrea

    1. Ciao Andrea,
      se segui i miei tutorial ed il datasheet indicato dal produttore riuscirai facilmente a controllare questo attuatore lineare passo-passo.

    • Sergio Ingoglia il 16 Maggio 2016 alle 16:16
    • Rispondi

    Ciao Mauro,
    mi sono imbattuto casualmente nel tuo blog alla ricerca disperata di consigli o esempi su come far funzionare uno stepper da remoto e siccome vedo che i tuo consigli sono molto seguiti mi permetto di chiederti anch’io un consiglio ….

    Ho a disposizione questi componenti:
    Arduino UNO,
    un modulo Shield GSM GPRS per Arduino, con SIM CARD,
    un driver “Shield v1.1”
    un motore passo passo NEMA 17.

    Vorrei far ruotare di due giri l’asse dello stepper inviando al modulo GSM un SMS un messaggio (solo una parola) tramite SMS o whatsapp e poi, in un seconto momento (ore o giorni) farlo girare al contrario, sempre di due giri, all’invio di un ulteriore messaggio (sempre e solo una parola).
    Purtroppo non sono capace di programmare un’apposito sketch per Arduino… Saresti così gentile da fornirmi un tutorial per principianti assoluti o uno sketch che io possa modificare?
    Ti ringrazio moltissimo
    Sergio

    1. Ciao Sergio,
      ti consiglio di partire con il mio corso base on-line gratuito arduino ed imparare pian piano a programmare fino ad arrivare a progetti complessi come il controllo di attuatori ( nel tuo caso stepper ) con un cellulare via sms.

    • michele il 7 Settembre 2017 alle 00:44
    • Rispondi

    Buonasera, sto costruendo un progetto che consiste in una porta automatica per il mio pollaio; ho già creato la parte fisica utilizzando un pannello in plexiglass e una vite senza fine con un motore (VORCOOL Nema 17 Motore Passo a Passo con Cavo per Stampante 3D – 4 Fili Fase 2 34mm 1.8°) , quest’ultimo è collegato alla scheda ( Kuman L293D Motor Drive Shield) anch’essa collegata ad arduino; vorrei sapere un modo per riuscire a pilotare questo motore tramite un pulsante, che quando viene premuto dice al motore di girare tante volte abbastanza per far chiudere la mia porta, e con un finecorsa e un led mi segnali che questa sia chiusa, e ripremendo il pulsante, il motore giri in senso opposto facendo in modo che la porta si riapra facendo spegnere il led. È possibile anche senza l’aiuto della scheda aggiuntiva?

    1. Ciao Michele,
      nel blog trovi tutte le informazioni che chiedi.
      Proprio in questi giorni ho preso in considerazione il discorso motori passo passo utilizzando una nuova shield, purtroppo non possiedo e conosco quella da te utilizzata, ma se i concetti sono riproducibili puoi modificare il mio sketch.

  1. […] Mauro Alfieri Tweet Nel precedente articolo hai imparato come funziona un motore bipolare, e forse hai già sperimentato lo sketch di esempio […]

  2. […] Tweet Pilota un motore passo-passo con due interruttori. Nei precedenti articoli hai imparato a collegare e regolare la velocità di un motore passo-passo bipolare con […]

  3. […] Ovviamente utilizzare la libreria Stepper.h rende le cose davvero più semplici, di contro se vuoi capire quale sia il principio di funzionamento di un motore stepper, ti consiglio di partire dal primo articolo sull’argomento. […]

  4. […] il collegamento del motore all’SN754410NE ed Arduino puoi leggere l’articolo: Motori passo-passo bipolari con Arduino – prima parte in cui ho scattato delle foto passo dopo passo su come eseguire il […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.