Scheda controllo motori passo-passo [Arduino]
Moderatori: MrMassy86, adobel55, lorelay49
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Scheda controllo motori passo-passo [Arduino]
- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Lascio comunque la questione a chi "mastica" meglio di me l'argomento.

Rolando
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Con un motore passo (osservando le macchine radiocomandate) sembra che la velocità di rotazione, sia quella fa al caso mio. Io speravo di trovare qualcosa di universale già programmato che mi fa muovere il braccio del motore di 90 gradi in senso orario e antiorario a step con un semplice pulsante o eccitato da un reed posto sulla sezione dedicata al passaggio.
- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Dai un occhiata qua, tanto per farti delel idee:
http://www.scalatt.it/bottega%20plastic ... onante.htm
topic.asp?TOPIC_ID=11724
Rolando
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
http://www.ebay.it/itm/KIT-PASSAGGIO-A- ... 1710658941?
mi sembra che la scheda sia autogestita con un processore già al suo interno, azionando il tutto con un semplice interruttore oppure accoppiando un sensore..
Sul kit non vedo altro e nella descrizione non menzionano programmazioni...
- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
matteob ha scritto:
Spulciando su ebay ho trovato questo articolo:
http://www.ebay.it/itm/KIT-PASSAGGIO-A- ... 1710658941?
mi sembra che la scheda sia autogestita con un processore già al suo interno, azionando il tutto con un semplice interruttore oppure accoppiando un sensore..
Sul kit non vedo altro e nella descrizione non menzionano programmazioni...
essendo un kit, evidentemente il "lavoro sporco" è stato fatto da lcostruttore. Di certo così (spesa a parte) non dovresti aver problemi di sorta.
Rolando
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]

- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5092
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Esiste anche un kit di lineamodel che utilizza ingranaggi e motore in CC con movimento lento.
Purtroppo costa tanto, circa 150 euro e da quello che vedo non è attualmente disponibile

Ho letto che non vuoi utilizzare Arduino, tuttavia credimi, Arduino non è poi cosi difficile da usare.
Se interessa posso fornire lo schema elettrico ed il sofware per poter realizzare l'automatismo che è stato collaudato sul nostro plastico modulare.
Il sistema, tramite un semplice interruttore o telefono anrdoid, consente di comandare manualmente il movimento delle sbarre e del semaforo stradale.
Qualche info di questo sistema puoi trovarla qui:
http://gasttlab.altervista.org/pl.php
La pagina è un po' spartana, ma contiene il minimo necessario per intraprendere la costruzione dell'automatismo e per apprenderne la tecnica di funzionamento.
Eventualmente posso dare maggiori informazioni in merito.
Edgardo
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Dalle foto ho notato che l'hardware è composto da 3 basette autocostruite e per il modulo bluetooth invece posso passare al semplica interruttore. Io dovrei utilizzare delle 1000 fori (ne ho molte) anche per fare prove al volo.
Visto che mi dai anche l'assistenza proverò in questa ardua impresa. Ok, se gentilmente riesci ad inviarmi lo schema elettrico e il software di gestione.
RINGRAZIO ANCORA PER LA DISPONIBILITA'
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5092
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Questo usa un semplice pulsante al posto del dispositivo Bluetooth che può essere modificato in futuro per poterlo inserire.
Lo schema è composto da una scheda Arduino Nano, 2 led rossi per i semafori stradali, 2 servocomandi economici per il movimento delle sbarre e un pulsante normalmente aperto per il comando di attivazione/disattivazione.
Vi sono inoltre 3 resistenze necessarie per il corretto funzionamento dei led e del pulsante.
Lo schema è fatto con Fritzing; un ottimo programma in grado di rappresentare graficamente e in modo semplice i componenti utilizzati ed i collegamenti elettrici:
http://fritzing.org/home/
Schema PL:

348,8 KB
Di solito, quando si fanno progetti con Arduino (ma non solo), vengono usate le basette "bredboard" che ci permettono di provare i circuiti senza il "fastidio" di usare il saldatore. Sono simili alle millefori, ma hanno il vantaggio di poter essere riutilizzate all'infinito e di provare in modo pratico e veloce gli schemi elettrici.
Schema:
Al centro della bredboard c'è l'Arduino che è collegato ai dispositivi tramite fili colorati per una pratica interpretazione dello schema.
A destra ci sono i fili rosso (+) e nero (-) di alimentazione dove andrà applicata una tensione in corrente continua di 5 Volt.
Questa tensione alimenta Arduino, i servocomandi, i led e il pulsante di attivazione.
I led hanno un filo azzurro e uno verde che tramite un paio di resistenze di limitazione sono collegati alle porte digitali (ON/OFF) D2 e D4 di Arduino.
I servocomandi hanno un filo giallo e uno arancione collegati direttamente alle porte PWM D3" e D5" di Arduino.
Le porte PWM (Pulse With Modulation), ci consentono di comandare il movimento angolare dei servocomandi, quindi di alzare e abbassare le sbarre del PL tramite il software che vedremo in seguito.
Infine vi è il pulsante di comando che è collegato ad Arduino con un filo di colore grigio e una resistenza di "pulldown".
Tale pulsante è collegato all'ingresso analogico A0.
I valori delle resistenze dei led sono di 330 ohm 1/4 di watt (arancio arancio marrone), quella del pulsante è da 10000 ohm (marrone nero arancio) sempre da 1/4 di watt.
Di seguito un paio di immagini che illustrano la modalità di collegamento dei servi e del pulsante:
Pushbutton:

106,6 KB
Servo:

172,22 KB
Per ora mi fermo e rimango in attesa, sperando che le info postate possano essere d'aiuto.
Ciao
Edgardo
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]

96,91 KB
ciao Ed, ecco fatto tutto collegato e pronto per la programmazione! Ieri sera in 5 minuti ho fatto tutto. Certo mi anca ancora il pulsante ma per le prove mi basta cortocicuitate i due capicorda (quello arancio con quello bianco con la resistenza.
- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]



Rolando
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5092
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
In pratica i 5 Volt di Arduino non devono essere collegati ai 5 volt dei servi.
Schema con alimentazione ausiliaria servi:

55,27 KB
Nella grafica ho inserito un pacco batterie, ma il concetto non cambia.
Un'ultima cosa; per la programmazzione non è necessario alimentare Arduino con i 2 fili sulla destra, in quanto a questo ci pensa la porta USB.
Facci sapere.
Ciao
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Edgardo_Rosatti ha scritto:
Ottimo lavoro Matteo: se dovesse capitare che i servi si comportano in modo anomalo (scatti o frullamenti vari), ti consiglio di alimentarli separatamente con un alimentatore da 5 o 6 volt max.
In pratica i 5 Volt di Arduino non devono essere collegati ai 5 volt dei servi.
Schema con alimentazione ausiliaria servi:
55,27 KB
Nella grafica ho inserito un pacco batterie, ma il concetto non cambia.
Un'ultima cosa; per la programmazzione non è necessario alimentare Arduino con i 2 fili sulla destra, in quanto a questo ci pensa la porta USB.
Un'altra cosa: le stringhe di programmazione.. Non saprei da dove iniziare
Facci sapere.
Ciao
Un'altra cosa: le stringhe di programmazione.. Non saprei da dove iniziare
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5092
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
il setup ed il loop.
Prima però dovrai definire alcuni parametri, come variabili e impostazione delle porte.
Inoltre, in questo caso, per poter gestire i servi è necessario utilizzare la classe "Servo.h", cioè una libreria di sistema che ti aiuterà a gestire il funzionamento dei servi in modo pratico.
A questo link è possibile scaricare l'ambiente di sviluppo IDE necessario per la programmazione di Arduino. L'ultima versione è la 1.6.5.
https://www.arduino.cc/en/Main/Software
Ti consiglio quella con procedura guidata "Windows Installer" che ti installerà anche tutti i driver in modo automatico.
L'IDE è il software che ci permette di programmare Arduino.
Pagina di download Arduino IDE:
107,12 KB
Una volta scaricato ed installato l'IDE puoi collegare Arduino al PC tramite un cavo USB e di seguito avviare il software Arduino IDE.
E' importante seguire questa sequenza, cioè prima colleghi Arduino al PC e poi avvii il programma.
L'ambiente di sviluppo IDE si apre con la seguente finestra:
Arduino IDE:
46,49 KB
In rosso ho aggiuto qualche info in merito alle varie sezioni dell'editor:
Menu contiene i classici menu a tendina per interagire col le funzioni del programma.
Tasti rapidi consentono di eseguire semplici operazioni di base.
Nome dello sketch indica il nome del file/programma che verrà usato per il salvataggio in memoria. Di default l'IDE inserisce la parola "sketch" piu il mese ed il giorno corrente. Il nome è modificabile con il meù File/salva con nome. Il file del programma verrà salvato in "Documenti/Arduino" del proprio PC.
Scrittura del programma è l'area di lavoro vera è propria, cioè l'area in cui viene scritto il programma.
Area di debug è una zona dove l'IDE invia comunicazioni all'utente, come informazioni ed errori di esecuzione.
Infine abbiamo Tipo di Arduino e porta com.
Qui l'IDE ci dice quale tipo di arduino è stato selezionato e su quale porta COM (USB).
Nel mio caso è stato scelto Arduino Nano, ATmega328 sulla porta COM13.
Nel tuo caso potresti trovare indicazioni differenti.
Per scegliere il tipo di Arduino basta selezionarne il tipo dal menù a tendina "Strumenti/Scheda".
Ti comparirà tutta la serie di Arduino disponibili.
Mentre per la porta COM puoi esplorare il menù a tendina "Strumenti/Porta" e scegliere la porta COM "X" con indicato a fianco il tipo di Arduino. X è il numero della porta che comparirà nel menù.
Ora puoi provare un programma di default chiamato "Blink" che fa lampeggiare un led collegato alla porta numero 13 di Arduino.
Tuttle le schede Arduino sono dotate di questo led onboard, quindi non dovrai effettuare nessun collegamento verso la scheda.
Blink:
85,75 KB
Il programma si richiama dal menù a tendina con "File/Esempi/01.Basics/Blink".
Per inviare il programma ad Arduino selezionare la freccia destra nella sezione "tasti rapidi" oppure selezionare il menù "Sketch/carica" CTRL+U, oppure "Sketch/Verifica e compila" CTRL+R.
Nel software puoi notare che nella procedura di setup "void setup()" viene impostata la modalità OUTPUT (uscita) del pin 13 di Arduino.
Questo comando viene eseguito solo una volta al momento dell'avvio di Arduino.
"pinMode(13, OUTPUT);" e definisce il pin 13 come uscita digitale.
Nella procedura di loop "void loop()" vi sono i comandi di accensione e spegnimento del led che si ripetono all'infinito:
digitalWrite(13, HIGH); accende il led sul pin 13
digitalWrite(13, LOW); spegne il led sul pin 13.
questi comandi sono intervallati dal comando "delay(t)";
dove "t" è il tempo di attesa (delay) espresso in millisecondi.Nel nostro caso 1000 millisecondi corrispondono ad 1 secondo di attesa.
Nota: in tutti i programmi è buona norma inserire dei commenti testuali, cioè dei "remark". Questo consente ai programmatori di commentare letteralmente il programma per aiutare altri programmatori a comprenderne il funzionamento.
Questi vengono visualizzati in grigio dall'IDE.
In passato, col Basic si usava il comando REM, qui invece si usano i simboli // oppure "/ commento /"
Tutti i remark non faranno mai parte del programma dopo che questo è stato compilato sulle schede Arduino.
Spero con questo di essere riuscito ad introdurre qualche base di partenza per la programmazione di Arduino e mi scuso se ho tralasciato qualche informazione.
In futuro vedremo meglio l'uso selle librerie e dei servi...
Di seguito un elenco di siti interessanti su Arduino:
Instructables in inglese:
http://www.instructables.com/tag/type-i ... l-arduino/
Getting Started with Arduino in inglese:
https://www.arduino.cc/en/Guide/HomePage
Il blog di Michele Maffucci in italiano:
http://www.maffucci.it/2010/01/30/lezio ... n-arduino/
Adrirobot in italiano:
http://www.adrirobot.it/
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]

- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]

- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5092
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
Se Arduino ti funziona bene con alimentazione esterna vuol dire che la scheda è OK.
Per ora lascia perdere Processing

La procedura corretta è quella di installare il software IDE senza che Arduino sia collegato al PC.
Poi colleghi Arduino al PC e successivamente apri l'IDE.
L'IDE ti segnala a quale porta COM è collegato Arduino come in questo caso "Arduino Uno on COM1:
In basso a destra è indicata la porta COM:
47,38 KB
Ora ti consiglio di fare un'altra verifica, clicca su "Start", posiziona il mouse su "Computer" e col tasto destro del mouse seleziona "Proprietà".
Nella colonna di sinistra seleziona "Gestione dispositivi".
Se alla voce "Porte (COM e LPT) hai una cosa del genere, significa che il driver non è stato installato correttamente e questo è il motivo per cui non riesci a programmare Arduino con l'IDE.
Gestione dispositivi:
83,1 KB
A me da un punto esclamativo su "Arduino Uno (COM11), mentre a te potrebbe dare un numero diverso.
Se anche a te da lo stesso problema dovrai impostare manualmente il driver per la porta con il punto esclamativo (nel mio caso 11):
Questo significa che l'IDE cerca Arduino sulla porta COM11 e non la trova, tuttavia l'IDE ti segnala una porta errata come la 1 nel mio caso.
Clicca col tasto destro sulla voce evidenziata nell'immagine sopra e seleziona "Aggiornamento software driver..."
Poi seleziona "Cerca il software del driver nel computer" e seleziona "Scegli manualmente da un elenco di driver di dispositivo nel computer" oppure "sfoglia"
Immagine:
46,39 KB
Immagine:
46,86 KB
Immagine:
48,77 KB
se tutto è andato bene ora non dovresti avere più il punto esclamativo sulla porta com incriminata.
Immagine:
79,22 KB
altrimenti ti darà errore e dovrai riprovare la procedura cercando nella cartella di installazione di Arduino IDE il driver corretto.
Sempre se tutto è andato bene puoi riaprire l'IDE e verificare dal menù "Strumenti/Porta" la disponibilià della porta appena attivata con la procedura descritta.
Immagine:
55,8 KB
Nel mio esempio (con il tuo stesso problema) ho usato Arduino UNO, ma da quello che ho visto tu usi il Nano, quindi ricordati sempre di selezionarlo nell'IDE quando fai le prove

Driver cinesi:
I modelli cinesi di Arduino usano driver che non sono compresi nel software di installazione IDE e vanno scaricati e aggiunti manualmente con la procedura indicata sopra.
I driver hanno il suffisso CH, tipo CH340 o CH341 e si posssono trovare qui:
http://www.instructables.com/id/Arduino-Nano-CH340/
http://www.wch.cn/download/CH341SER_ZIP.html
http://www.microcontrols.org/arduino-un ... b-drivers/
Scarica i driver e provali con la procedura descritta sopra.
Un po' di pazienza e vedrai che risolvi Matteo.
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]


- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
matteob ha scritto:
Però arduino nano continua a funzionare solo se alimentato...
scusami ma non mi è chiara questa cosa... è lapalissiano che Arduino senza alimentazione non funzioni, quindi o capisco male io, o ti spieghi male tu

A me risulta che arduino sia alimentabile direttamente dalla porta USB (ed ovviamente un PC che eroghi la corente necessaria ") o in alternativa un alimentatore esterno collegabile all'apposito socket. Qual'è in sostanza il tuo problema?
" alcuni pc erogano corrente dalle USB anche se spenti, purchè collegati alla rete elettrica, o se portatili, se la batteria è carica.
Rolando
- matteob
- Messaggi: 886
- Iscritto il: venerdì 12 giugno 2015, 12:06
- Nome: matteo
- Regione: Veneto
- Città: San Bonifacio
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
liftman ha scritto:
matteob ha scritto:
Però arduino nano continua a funzionare solo se alimentato...
scusami ma non mi è chiara questa cosa... è lapalissiano che Arduino senza alimentazione non funzioni, quindi o capisco male io, o ti spieghi male tu![]()
A me risulta che arduino sia alimentabile direttamente dalla porta USB (ed ovviamente un PC che eroghi la corente necessaria ") o in alternativa un alimentatore esterno collegabile all'apposito socket. Qual'è in sostanza il tuo problema?
" alcuni pc erogano corrente dalle USB anche se spenti, purchè collegati alla rete elettrica, o se portatili, se la batteria è carica.
Rolando, mi riferivo al post precedente. Ok mi sono espresso male: è successo che con l'installazione del driver su un pc che ho a casa, si è verificato un problema e non è andata a buon fine, con il risultato, che ora, non posso più far funzionare arduino nano con la normale usb, evidentemente si saranno cancellate o corrotte alcune .dll e il pc non riesce più a riconoscere la periferica nel momento in cui la collego (sembra morta), quindi devo alimentarlo a parte, con un trasformatore per cellulari. La cosa mi secca relativamente[:0] in quanto arduino sarà collocato sotto il plastico e non dovrò più metterci mano.
- liftman
- Socio GAS TT
- Messaggi: 7762
- Iscritto il: domenica 29 gennaio 2012, 14:40
- Nome: Rolando
- Regione: Liguria
- Città: La Spezia
- Ruolo: Moderatore
- Stato: Non connesso
Re: Scheda controllo motori passo-passo [Arduino]
matteob ha scritto:
Rolando, mi riferivo al post precedente. E' successo che con l'installazione del driver su un pc che ho a casa, si è verificato un problema e non è andata a buon fine, con il risultato, che ora, non posso più far funzionare arduino nano con la normale usb, ma devo alimentarlo a parte con un trasformatore da cellulari. La cosa mi secca relativamente[:0] in quanto arduino sarà collocato sotto il plastico e non dovrò più metterci mano.
Ah ok, anche se comunque non vedo attinenza tra driver e mancata alimentazione, dato che la tensione +5v sulle USB c'è indipendentemente dal driver (che usa le 2 linee dati). Misteri dell'elettronica...
Rolando