Piattaforma con Arduino e motore passo-passo
Moderatori: MrMassy86, adobel55, lorelay49
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Piattaforma con Arduino e motore passo-passo
Ho una barra filettata da 10 mm di diametro esterno.
Il ferramenta mi dice che è M10.
Con essa devo far girare un ingranaggio.
Ma se disegno un ingranaggio M10 vengono denti enormi, quindi, suppongo che M10 della Barra sia una cosa diversa da M10 di un ingranaggio.
Quale è il rapporto che c'è tra di loro?
Grazie.
- MrPatato76
- Socio GAS TT
- Messaggi: 5743
- Iscritto il: lunedì 27 agosto 2012, 11:14
- Nome: Roberto
- Regione: Lombardia
- Città: Nova Milanese
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Se ben ricordo, per questo diametro il passo (inteso come distanza tra una cresta del filetto e la successiva) è ancora di 1mm.
Ti consiglio di verificare comunque le norme di riferimento.
Ah…non sono adatte a comandare ingranaggi: il profilo del dente è diverso.
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
La distanza delle creste è 2 mm.
Quello che volevo capire era proprio se si poteva far girare un ingranaggio con una barra filettata.
Sei stato molto chiaro.
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Puoi darci qualche elemento in più per capire cosa intendi realizzare? Magari salta fuori qualche idea....
Tipo: sulla barra filettata puoi introdurre due bulloni distanziati di tot cm su cui fissare una barretta che abbia la stessa dentatura dell'ingranaggio che vuoi muovere.....
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Sulle piattaforme cinesi trovi molti elementi utili per realizzare questi accoppiamenti meccanici.
- Fabrizio
- Socio GAS TT
- Messaggi: 11211
- Iscritto il: giovedì 10 novembre 2011, 21:17
- Nome: Fabrizio
- Regione: Piemonte
- Città: Piossasco
- Ruolo: co-amministratore
- Età: 41
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Si possono trovare invece metodi per movimentare qualcosa usando un bullone sulla barra filettata, tipo quelli indicati da Mauro. Tieni però conto che, anche in questi casi, la barra filettata ed i bulloni, non sono pensati per sopportare dei movimenti nel lungo periodo. Se si tratta di movimentazioni occasionali non ci sono problemi, ma se il movimento è continuo l'usura potrebbe danneggiare il tutto.
- MrPatato76
- Socio GAS TT
- Messaggi: 5743
- Iscritto il: lunedì 27 agosto 2012, 11:14
- Nome: Roberto
- Regione: Lombardia
- Città: Nova Milanese
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Prego Giuseppe.giuseppe_risso ha scritto: ↑mercoledì 30 aprile 2025, 18:51 Grazie Roberto.
La distanza delle creste è 2 mm.
Quello che volevo capire era proprio se si poteva far girare un ingranaggio con una barra filettata.
Sei stato molto chiaro.
Per tua info allego tabella riepilogativa.
Come potrai osservare, come filetto M10, troverai ben 4 passi diversi…
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Sto autocostruendomi una piattaforma girevole in scala N.
Per movimentarla, naturalmente, il sistema migliore sarebbe arduino.
Però l'unico della famiglia che saprebbe farlo è uno dei miei figli, ma è talmente preso dal lavoro che non oso minimamente pensare di fargli perdere tempo.
Quindi ho deciso di movimentarla meccanicamente da sotto e i sistemi sono soprattutto tre: una catena di ingranaggi che manovrata dal bordo del modulo arrivi alla piattaforma, un ingranaggio grande sotto la piattaforma e uno più piccolo dal bordo esterno collegati con una puleggia o un ingranaggio sotto la piattaforma che venga fatto girare con un una vite senza fine.
Quest'ultima è la soluzione che preferisco.
Disponendo di una barra filettata della lunghezza giusta, speravo di poterla collegare all'ingranaggio e usarla come vite senza fine, ma Roberto mi ha detto chiaro che non è possibile.
Per il trasbordatore del deposito locomotive TT, mio figlio, quando aveva tempo, mi aveva programmato arduino, ma poi ci sono state delle modifiche, si sarebbe dovuto riprogrammare e per le ragioni che ho spiegato sono passato anche lì alla soluzione meccanica.
Però era facile, si trattava di trascinare il ponte avanti e indietro e ho usato il sistema indicato dal Doc: un bullone saldato sotto al ponte e una barra filettata che ruotando lo trascina avanti e indietro.
Qui è più complesso, ma come mi sono stampato in 3D l'ingranaggio, dovrei potermi anche fare la vite senza fine sempre con la stampa 3D.
Devo solo trovare la libreria che la contenga per fusion.
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5088
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
L'ultimo aggiornamento è recente ed il software per Arduino è estremamente sempice

- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Progetto di piattaforma con step motor e Arduino - Fonte www.scalatt.it/forum
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Ed, forse hai dimenticato il link.
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
E' chiaro che la soluzione migliore sarebbe quella di collegare l'anello centrale del cuscinetto a sfera a un motore passo passo che tramite arduino si fermerebbe, a richiesta, in corrispondenza del binario desiderato.
Ma come sai, per me, la parte di programmazione necessaria è fantascienza. La terza foto mostra una prova di stampa 3D (che ho fatto con la stampante del negozio) di un ingranaggio che fissato sotto al cuscinetto a sfera farebbe, meccanicamente e manualmente, le veci del motore passo passo e di arduino.
Però, il comando manuale sarebbe posto a circa 30 centimetri dall'asse della fossa e quindi, o faccio una catena di ingranaggi riducendone il diametro verso l'esterno in modo che il movimento della rotazione del ponte sia lento, oppure metto un solo ingranaggio e lo commando con una vite senza fine posta su un'asta lunga quei circa 30 cm e posiziono un manovella esterna. Ti metto anche la foto della barra filettata che ho perchè avanzata dal ponte trasbordatore del modulo TT, ma, mi sembra di aver capito, inutilizzabile per la piattaforma girevole.
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Se ti dico che con il nostro aiuto ti possiamo fornire la programmazione di Arduino, ti inviterei a riprendere in considerazione il discorso del motore passo-passo.
O al limite pensare ad un comando manuale con ingranaggio e vite senza fine come illustrato da Fabrizio.
Giusto quindi fissare un ingranaggio al tubo collegato all'anello centrale; però dovresti cercare l'accoppiata giusta ingranaggio-vite senza fine, meglio se con ingranaggi disposti in obliquo, per una movimentazione meccanica migliore. I denti dell'ingranaggio in foto però non sono adatti a movimenti fini e precisi.
Provo a cercare il sito dove avevo trovato quelli che ho usato per la mia soluzione.
Questa intanto sarebbe una possibilità:
https://it.aliexpress.com/item/10050070 ... pt=glo2esp
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
https://it.aliexpress.com/item/10050076 ... ry_from%3A
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
A iniziare da cosa mi serve?
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5088
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Hai ragione:giuseppe_risso ha scritto: ↑venerdì 2 maggio 2025, 0:04 Doc, grazie, ma non ne capisco nulla.
Ed, forse hai dimenticato il link.
MODULI "piattaforma girevole" e "ultimo casello" - Fonte www.scalatt.it/forum
Parti dal messaggio datato 2024.
Riassumendo ho usato due ingranaggi recuperati da una comune stampante vecchia, un motore passo passo completo di driver dal costo di 3 euro, due resistenze e due pulsanti N/A:
Motore:
Motore passopasso stepper motor azionato da due pulsanti - Fonte www.progettiarduino.com
Lo sketch:
Codice: Seleziona tutto
// Definizione dei pin
#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7
#define BUTTON_CW 2 // Pulsante per rotazione oraria
#define BUTTON_CCW 3 // Pulsante per rotazione antioraria
// Numero di passi per una rotazione completa 2048 (dipende dal motore)
#define STEPS_PER_REV 4
void setup() {
// Imposta i pin come output
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
// Imposta i pin dei pulsanti come input
//pinMode(BUTTON_CW, INPUT_PULLUP); // Attiva la resistenza di pull-up interna
//pinMode(BUTTON_CCW, INPUT_PULLUP); // Attiva la resistenza di pull-up interna
pinMode(BUTTON_CW, INPUT); // Prevede l'uso di una resistenza di pull-up esterna
pinMode(BUTTON_CCW, INPUT); // Prevede l'uso di una resistenza di pull-up esterna
}
void loop() {
// Controlla il pulsante per rotazione oraria
if (digitalRead(BUTTON_CW) == LOW) { // Pulsante premuto
rotateMotorClockwise();
}
// Controlla il pulsante per rotazione antioraria
if (digitalRead(BUTTON_CCW) == LOW) { // Pulsante premuto
rotateMotorCounterclockwise();
}
}
// Funzione per ruotare il motore in senso orario
void rotateMotorClockwise() {
for (int i = 0; i < STEPS_PER_REV; i++) {
stepMotor(i % 4);
delay(10); // Ritardo per controllare la velocità
}
}
// Funzione per ruotare il motore in senso antiorario
void rotateMotorCounterclockwise() {
for (int i = STEPS_PER_REV; i > 0; i--) {
stepMotor(i % 4);
delay(10); // Ritardo per controllare la velocità
}
}
// Funzione per controllare il motore passo-passo
void stepMotor(int step) {
switch (step) {
case 0:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 1:
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 2:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
break;
case 3:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
break;
}
}
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
https://it.aliexpress.com/item/10050057 ... ry_from%3A
Come motore consiglierei un NEMA17 a 200 step
https://it.aliexpress.com/item/33023193 ... pt=glo2ita
L'asse del motore passo passo va fissata sul pignone e questo va a muovere la corona fissata al tubo solidale con l'anello interno del cuscinetto della piattaforma.
Sono le condizioni che trovi nelle illustrazioni delle piattaforme indicate da me e Edgardo nelle relative discussioni.
Io ti posso fornire lo sketch (istruzioni) per Arduino per far compiere alla piattaforma una rotazione esatta di 180° così da compiere una giratura della loco. Se invece vuoi fermate plurime su altri binari a raggiera, avremo bisogno dell'intervento di Edgardo e di altri esperti che qui nel forum non mancano.
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
In questo caso chiediamo ad Edgardo, che fa muovere la sua piattaforma su tre posizioni diverse, se ci può aiutare con la compilazione dello Skecth per Arduino per le tue diverse posizioni.giuseppe_risso ha scritto: ↑sabato 3 maggio 2025, 0:41 Si dovrei fargli fare soste in 9 posizioni diverse.
Per richiamare l'aiuto di altri conoscitori di Arduino bisognerebbe magari cambiare il titolo della discussione (o aprirne una nuova), menzionando appunto piattaforma con Arduino.
- giuseppe_risso
- Socio GAS TT
- Messaggi: 7724
- Iscritto il: giovedì 27 ottobre 2011, 22:44
- Nome: Giuseppe
- Regione: Liguria
- Città: Chiavari
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
I pulsanti e le resistenze, immagino che servano del numero dei binari collegati e non 2.
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
In base alle istruzioni contenute nello sketch ci vorranno 4 o più pulsanti, nel senso che 2 pulsanti dovranno muovere di un passo avanti o indietro il ponte, mentre gli altri 2 pulsanti dovranno muovere il ponte da una posizione (delle nove) ad un altra nei due sensi.
Questo perchè, quando il motore passo passo non è alimentato, il ponte è libero di girare e quindi, ad inizio di una sessione di gioco, può essere necessario allineare correttamente il ponte con il binario principale e questo lo si fa con movimenti di un passo per volta (primi due pulsanti).
Con i secondi due pulsanti si muove il ponte di posizione in posizione nei due sensi di rotazione; diversamente si dovrebbe avere un pulsante per ogni posizione ma credo che sia una soluzione che richieda istruzioni ben più complesse.
Prima di posare i binari in uscita dalla piattaforma, bisognerà studiare quanti passi deve compiere il motore per un giro esatto di 180° in modo da dividere le varie posizioni in multipli (di passi) che permettano al ponte di ritornare sempre nella posizione iniziale o invertire la posizione della loco in modo esatto.
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5088
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Nel mio progetto, non c'è nessun sistema per arrestare automaticamente la rotazione perché non ce ne è bisogno.Docdelburg ha scritto: ↑domenica 4 maggio 2025, 10:13In questo caso chiediamo ad Edgardo, che fa muovere la sua piattaforma su tre posizioni diverse, se ci può aiutare con la compilazione dello Skecth per Arduino per le tue diverse posizioni.giuseppe_risso ha scritto: ↑sabato 3 maggio 2025, 0:41 Si dovrei fargli fare soste in 9 posizioni diverse.
Per richiamare l'aiuto di altri conoscitori di Arduino bisognerebbe magari cambiare il titolo della discussione (o aprirne una nuova), menzionando appunto piattaforma con Arduino.
Il motore passo passo usato è demotiplicato ed il software che ho pubblicato poco sopra ha la possibilità di regolare la velocità di rotazione nei due sensi molto finemente.
Così facendo è molto facile trovare la giusta posizione del punto di arresto. Se poi serve invertile la polarità del binario della piattaforma dopo una rotazione di 180°,basta inserire sulla sua alimentazione un invertitore di polarità.
Il punto il cui intervenire nel software per regolare la velocità è questo:
Codice: Seleziona tutto
// Funzione per ruotare il motore in senso antiorario
void rotateMotorCounterclockwise() {
for (int i = STEPS_PER_REV; i > 0; i--) {
stepMotor(i % 4);
delay(10); // Ritardo per controllare la velocità
}
Aumentanto questo valore la velocità di rotazione rallenta; diminuendo questo valore aumenta.
Ovviamente questo intervento andrà eseguito anche nella funzione realtiva alla rotazione oraria "Clockwise".
Tutto molto pratico, semplice e soprattutto leggero.
- Docdelburg
- Socio GAS TT
- Messaggi: 6504
- Iscritto il: martedì 4 settembre 2012, 18:16
- Nome: Mauro
- Regione: Estero
- Città: Madrid (España)
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Edgardo, nella discussione in cui hai presentato il motore passo passo per la piattaforma ( viewtopic.php?f=88&t=18480 ) parli della possibilità di mettere dei sensori per fermare il ponte in determinati punti. Se fosse possibile sviluppare questa cosa risolveremmo buona parte delle necessità di Giuseppe.Edgardo_Rosatti ha scritto: ↑lunedì 5 maggio 2025, 21:46
Nel mio progetto, non c'è nessun sistema per arrestare automaticamente la rotazione perché non ce ne è bisogno.
Il motore passo passo usato è demotiplicato ed il software che ho pubblicato poco sopra ha la possibilità di regolare la velocità di rotazione nei due sensi molto finemente.
...............
Da parte mia ho uno sketch con movimenti di rotazione in senso orario e antiorario, sia di un passo, per la calibrazione ad inizio sessione, che per giri di 180° esatti.
Penso si possa adattare con modifiche alle necessità di Giuseppe, e nel caso spiegherei bene come, ma l'uso di sensori di arresto sarebbe una soluzione migliore.
Giusto per conoscenza questo sarebbe il mio sketch:
- Edgardo_Rosatti
- Socio GAS TT
- Messaggi: 5088
- Iscritto il: venerdì 28 ottobre 2011, 0:59
- Nome: Edgardo
- Regione: Lombardia
- Città: Muggiò
- Età: 60
- Stato: Non connesso
Re: Piattaforma con Arduino e motore passo-passo
Le opzioni potrebbero essere diverse:
Un semplice reed in corrispondenza su ogni binario di uscita dalla piattaforma con un piccolo magnete al neodimio montato sul piatto di rotazione.
Esistono anche delle piccole schede sensibili al magnetismo in sostituzione dei reed; Adolfo le ha usate per l'arresto della funicolare dul modulo omonimo.
Il sensore o il reed andrebbe collegato ad una porta digitale di ingresso come un normale pulsante NA.
Mi vengono in mente anche i fine corsa meccanici o ad infrarossi, ma secondo me sono più complicati da gestire.
Quello che voglio dire è che andrebbero fatte delle prove per determinare il grado di precisione, poi con semplici comandi di lettura risolvi la logica.