Progetto di piattaforma con step motor e Arduino

Tutto ciò che è elettricità applicata al fermodellismo.

Moderatori: roy67, liftman

Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Sto progettando una piattaforma per girare le loco mossa da un motore passo passo comandato da Arduino e ho qualche difficoltà.
La piattaforma, premendo un pulsante, deve semplicemente ruotare di 180° in un senso e, premendo nuovamente il pulsante deve ritornare alla posizione iniziale (indifferentemente se ruotando nello stesso senso o meno). Niente posizioni intermedie, solo giratura di 180*.
Ho il motore passo passo, ho la scheda L298N, ho Arduino Uno e ho lo sketch adatto a muovere il motore dei passi desiderati e alla velocità desiderata.
Sarà una fase successiva adattare un pignone e una ruota dentata per il movimento finale.
Ora, in fase sperimentale, fatico a inserire nello sketch una funzione che mi porti nella posizione iniziale corretta la piattaforma in caso si muova quando il tutto non è alimentato. E sto pasticciando non poco con la storia dei pulsanti.
Come avrete capito non me la cavo granchè bene con la programmazione.....c'è qualche anima pia che mi dà qualche suggerimento? :wink:

Questa dell'amico Giacomo è una piattaforma manuale da cui prendo spunto
platform.jpg
Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Posta lo sketch che hai, in formato zip, che provo a vedere se riesco ad aiutarti.
Anche le caratteristiche del motore passo passo.
Ciao, Salvatore
Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 4475
Iscritto il: lun ago 27, 2012 11:14 am
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da MrPatato76 »

Doc io proverei così:
Tre pulsanti:
-il primo che avvia il ciclo completo (inversione di 180° della piattaforma);
-Gli altri due (un tasto per senso orario ed uno per senso antiorario) se premuti danno solo un singolo impulso al motore permettendo l'eventuale allineamento in caso di perdita della posizione di riferimento.
Roberto - "...il bambino che vede un treno lo saluta con la manina, questo non succede con un auto!" (Cit.) - Ciao Roberto
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

sal727 ha scritto: mer set 23, 2020 11:42 pm Posta lo sketch che hai, in formato zip, che provo a vedere se riesco ad aiutarti.
Anche le caratteristiche del motore passo passo.
Grazie Salvatore, faccio ancora qualche prova di fusione tra vari sketch che mi interessano e che ho trovato in rete e poi vedo di mandarti il risultato.
Il motore è uno stepper da 200 passi incluso nella confezione di Arduino per principianti.... :oops:
MrPatato76 ha scritto: gio set 24, 2020 8:15 am Doc io proverei così:
Tre pulsanti:
-il primo che avvia il ciclo completo (inversione di 180° della piattaforma);
-Gli altri due (un tasto per senso orario ed uno per senso antiorario) se premuti danno solo un singolo impulso al motore permettendo l'eventuale allineamento in caso di perdita della posizione di riferimento.
Buona idea Roberto, vedrò di applicarla, grazie. :wink:
Avatar utente
antogar
Messaggi: 91
Iscritto il: mer dic 31, 2014 1:52 pm
Nome: Antonino
Regione: Campania
Città: C.mare
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da antogar »

Grande DOC!!!!
Considerami a tua disposizione.... :wink:
ti mando in pvt l' indirizzo mail
Antonino
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Grazie ragazzi....siete sempre splendidi e disponibili. :D
Ma siccome sono anch'io uno smanettone, mi sono divertito a fare dei "copia e incolla" di diversi programmi e con un pò di pazienza, un pò di prove e qualche correzione, sono riuscito a ottenere quello che volevo. :idea:
Al termine un breve video di quello che sono riuscito a fare, ovvero comandare un motore passo passo da 200 passi con Arduino e il modulo L298N.
Come suggerito da Roberto ho previsto tre tasti: con i primi due sposto l'albero del motore di un passo per volta in senso orario o antiorario e questo dovrebbe permettermi di posizionare il binario in modo corretto all'inizio di una sessione di utilizzo.
Con il terzo tasto faccio compiere due giri e mezzo (500 passi) che nel mio immaginario dovrebbero corrispondere, grazie al riduttore, alla rotazione di 180° della piattaforma.
Invio a Salvatore e ad Antonino lo sketch in formato .zip via messaggio e attendo i vostri suggerimenti e osservazioni.
Domanda: si può per caso muovere il motere anche di mezzo passo?

Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Si ho visto, ti ho già risposto in MP
Riguardo alla domanda del mezzo passo, penso proprio di no, ogni motore ha i suoi step(passi) totali per compiere un giro, il tuo ne ha 200, per avere un movimento minore dovresti avere un motore con più step.
vedi qui
https://www.motoripassopasso.it/MotoriP ... Angle.aspx
Ciao, Salvatore
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Grazie Salvatore, ho letto anche le tue correzioni che appena possibile proverò.
Un'altra domanda: potrei usare un Arduino Nano invece che Arduino Uno, vista la semplicità dell'operazione?
Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Docdelburg ha scritto: gio set 24, 2020 8:38 pm ...potrei usare un Arduino Nano invece che Arduino Uno, vista la semplicità dell'operazione?
Si
Ciao, Salvatore
Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 4475
Iscritto il: lun ago 27, 2012 11:14 am
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da MrPatato76 »

sal727 ha scritto: gio set 24, 2020 8:52 pm
Docdelburg ha scritto: gio set 24, 2020 8:38 pm ...potrei usare un Arduino Nano invece che Arduino Uno, vista la semplicità dell'operazione?
Si
Perfetto
Ne ho uno che avanza.
Roberto - "...il bambino che vede un treno lo saluta con la manina, questo non succede con un auto!" (Cit.) - Ciao Roberto
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

MrPatato76 ha scritto: gio set 24, 2020 9:11 pm
sal727 ha scritto: gio set 24, 2020 8:52 pm
Docdelburg ha scritto: gio set 24, 2020 8:38 pm ...potrei usare un Arduino Nano invece che Arduino Uno, vista la semplicità dell'operazione?
Si
Perfetto
Ne ho uno che avanza.
Vuoi lo sketch da provare?
Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 4475
Iscritto il: lun ago 27, 2012 11:14 am
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da MrPatato76 »

Gira pure!
Roberto - "...il bambino che vede un treno lo saluta con la manina, questo non succede con un auto!" (Cit.) - Ciao Roberto
Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 4475
Iscritto il: lun ago 27, 2012 11:14 am
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da MrPatato76 »

Doc che tipo di motore hai usato?
Roberto - "...il bambino che vede un treno lo saluta con la manina, questo non succede con un auto!" (Cit.) - Ciao Roberto
Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Dovrebbe essere un Nema17 200 step
NEMA17
NEMA17
ma può andare bene anche questo più piccolo con 64 step
109322_2.JPG
lo trovi già con il suo driver ULN2003A, dipende dall'uso che devi fare.
Ciao, Salvatore
Avatar utente
squirrel
Messaggi: 11
Iscritto il: sab gen 23, 2016 12:25 pm
Nome: Carlo
Regione: Lombardia
Città: Lissone
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da squirrel »

Ho sviluppato un apparecchio molto simile alla piattaforma ed era mosso da un motore stepper . Sembrava tutto semplice ma ho incontrato diversi intoppi. Spero di non essere troppo lungo in questo post e di essere utile alla discussione.
Anzitutto " Si puo' muovere uno stepper di mezzo passo ?" La risposta e' affermativa si deve usare la tecnica denominata microstepping .
Sul mercato sono reperibili driver adatti ( ad es. Allegro A4988 che consente di dividere lo step fino a 16 volte) , ma l' integrato citato (L298) non puo' implementare tale tecnica.
La tecnica microstepping assicura un movimento piu' dolce, ma ha il difetto che se si toglie l' alimentazione l' asse dello stepper puo' muoversi e perdere l' allineamento, quindi alla riaccensione occorre rifare la calibrazione dello zero del piatto rotante.

Una alternativa puo' essere l'utilizzo di un riduttore meccanico sull' asse. Ad esempio interponendo un riduttore 1:10 tra motore e piatto rotante si ottiene una risoluzione sul giro di 2000 step/giro (sempre con motore da 200 step/giro).
Un altro accorgimento da usare in caso di soste intermedie nella rotazione e' di avere le soste in posizione di step intero (es. se si vogliono 50 soste sul giro , 200/50 = 4 (numero intero) il motore non avra' problemi perche' ad ogni avanzamento la fermata sara' in corrispondenza ad un passo pieno.

Infine la frequenza degli impulsi con cui si muove il motore: Il motore deve muovere un carico che ha un proprio momento di inerzia, quindi nel movimento da fermo occorre tenerne conto. Se si usa una frequenza di impulsi troppo alta il motore rischia di non eseguire correttamente l' avanzamento ( e' come se perdesse qualche step). Per i casi piu' critici si usa un profilo di velocita' cioe' si aumenta gradualmente la frequenza degli impulsi da un valore inizialmente basso fino al valore richiesto dal movimento.
Carlo M.
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Grazie a tutti per gli interventi sempre molto graditi.
Andiamo per ordine:
-il motore è un Mercury Motor SM-42BYG011-25 2PHASE,1.8° 35/17, quindi credo sia effettivamente un Nema 17 a 200 step.
-ho intenzione di demoltiplicare la velocità di rotazione cercando di arrivare ad un rapporto di 1:8 così da mantenere un velocità di rotazione della piattaforma entro limiti realistici e al contempo permettere una fine regolazione della posizione senza bisogno dei "mezzi passi".
-essendo minimo lo sforzo di rotazione e oltretutto molto demoltiplicato, credo che non ci siano importanti fenomeni di ritardo inerziale.
-la presenza dei due pulsanti di regolazione (eventuale all'inizio di ogni sessione) suggerita da Roberto dovrebbe risolvere il problema di eventuali spostamenti della piattaforma a motore non alimentato.

Posto le cose sin qui fatte a uso di chi avesse interesse:
1) lo schema di collegamento dei pulsanti è tratto dalla rete e prevede l'interposizione di una resistenza da 10Kohm tra il negativo e l'uscita positiva del pulsante come da foto seguente (in cui sono riportati solo due pulsanti; nel mio caso c'è il terzo pulsante per la rotazione di 180°)
SCHEMA PULSANTI.jpg
2) questo è lo sketch attuale, opportunamente e gentilmente corretto e puntualizzato da Salvatore. Ricordo che ho posto un ipotetico valore di 500 passi come numero indicativo per una rotazione di 180° demoltiplicata; tale numero sarà poi sostituito dal valore risultante dalla prove pratiche.
SKETCHPLATF.jpg

Adesso vorrei risolvere un altro aspetto, legato alla necessità di invertire la polarità dei binari in occasione di ogni rotazione di 180°.
Inizialmente pemsavo ad un contatto meccanico con un interruttore a leva che agisse su un relè, ma credo sia preferibile aggiungere un comando allo sketch in modo da pilotare il relè bistabile direttamente da Arduino.
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Due domande per gli esperti di Arduino e relativa programmazione:
1) so che Arduino ha una memoria Eprom interna che potrebbe ricordare la posizione "zero" iniziale senza più bisogno dei due tasti per la calibrazione. Andrò a cercare documentazione e sketch in tal senso.
2) il motore passo passo scalda parecchio perchè le bobine sono sempre alimentate anche quando ferme. C'è la possibilità di togliere alimentazione al motore quando non comandato? Mi sembra che alcune schede abbiano una funzione "sleep"; vi risulta?
Grazie
Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Le mie nozioni hanno un limite, non sono un esperto, provo a risponderti in base alle mie capacità
1) so che Arduino ha una memoria Eprom interna che potrebbe ricordare la posizione "zero" iniziale senza più bisogno dei due tasti per la calibrazione. Andrò a cercare documentazione e sketch in tal senso.
nel codice che ti ho postato, col pulsante unico per il movimento, se togli i due pulsanti del movimento ad uno step, che servirebbero solamente per una eventuale posizione non corretta, premendo una volta si posiziona a 180°, premendo una seconda volta, muovendosi a 180°, torna nella posizione iniziale, il movimento è a gradi, se poi non va nella posizione esatta è un problema hardware non software.
2) il motore passo passo scalda parecchio perchè le bobine sono sempre alimentate anche quando ferme. C'è la possibilità di togliere alimentazione al motore quando non comandato? Mi sembra che alcune schede abbiano una funzione "sleep"; vi risulta?
non conosco driver con la funzione sleep, puoi inserire un interruttore per togliere l'alimentazione solo alla shedina mettendo due alimentazioni separate e Arduino rimane sempre attivo, se l'interruttore è scomodo, volendo si può inserire un relè nel codice che si attiva alla pressione del pulsante e una volta giunto alla posizione si disattiva.
Ciao, Salvatore
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Grazie Salvatore, ora metto un attimo da parte l'aspetto software e vedo di procurarmi il materiale necessario per realizzare un prototipo su cui vedere come possono essere applicate le mie idee e gli sketch prodotti.
Avatar utente
IpGio
Messaggi: 382
Iscritto il: dom mag 20, 2018 9:22 am
Nome: Giorgio
Regione: Lombardia
Città: Nerviano
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da IpGio »

Complimenti Mauro... seguo con interesse questo tuo progetto.
Grazie per la condivisione.
[253]
[36] IpGio
Giorgio - Nihil difficile volenti
IpGio - I plastici di Gio - https://www.gtg3b.it
Avatar utente
squirrel
Messaggi: 11
Iscritto il: sab gen 23, 2016 12:25 pm
Nome: Carlo
Regione: Lombardia
Città: Lissone
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da squirrel »

Docdelburg ha scritto: dom set 27, 2020 7:11 pm Due domande per gli esperti di Arduino e relativa programmazione:
1) so che Arduino ha una memoria Eprom interna che potrebbe ricordare la posizione "zero" iniziale senza più bisogno dei due tasti per la calibrazione. Andrò a cercare documentazione e sketch in tal senso.
2) il motore passo passo scalda parecchio perchè le bobine sono sempre alimentate anche quando ferme. C'è la possibilità di togliere alimentazione al motore quando non comandato? Mi sembra che alcune schede abbiano una funzione "sleep"; vi risulta?
Grazie
La memoria che citi e' la EEPROM e per utilizzarla c'e' una libreria apposita. Tuttavia occorre prestare attenzione perche' tale memoria ha un numero limitato di possibilita' di scrittura. Esaurito il numero la memoria cessa di essere scrivibile. Il numero di accessi possibili puo' variare tra 10.000 e 100.000 in funzione del microprocessore. Sono numeri alti se si usa la memoria per dei parametri di configurazione, possono diventare limitati se si deve memorizzare continuamente un parametro.

Per quanto riguarda il secondo punto, l' integrato 298 ha due piedini indicati EnA e EnB . Se vengono messi a livello 0Volt disabilitano i transistors del ponte ad H e quindi gli avvolgimenti del motore stepper non vengono piu' alimentati e di conseguenza il motore non scalda.
A questo punto si pone il problema di come farlo con Arduino. Non so se la libreria ha un comando specifico. Presumo che quando si configura il canale stepper la procedura forzi i pins Enx a livello HI. Forse basterebbe rimuovere la configurazione del motore quando non si usa e riconfigurarlo per la nuova operazione.
Carlo M.
Avatar utente
antogar
Messaggi: 91
Iscritto il: mer dic 31, 2014 1:52 pm
Nome: Antonino
Regione: Campania
Città: C.mare
Stato: Non connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da antogar »

squirrel ha scritto: lun set 28, 2020 3:57 pm La memoria che citi e' la EEPROM e per utilizzarla c'e' una libreria apposita. Tuttavia occorre prestare attenzione perche' tale memoria ha un numero limitato di possibilita' di scrittura. Esaurito il numero la memoria cessa di essere scrivibile. Il numero di accessi possibili puo' variare tra 10.000 e 100.000 in funzione del microprocessore. Sono numeri alti se si usa la memoria per dei parametri di configurazione, possono diventare limitati se si deve memorizzare continuamente un parametro.
Se doc usasse la piattaforma tutti i giorni e consideriamo una media di 10 scritture ogni sessione di gioco, sono 365x10=3650 scritture in EEPROM all' anno. Facciamo che l' Arduino cinese usato da Doc supporta 50000 scritture (la Atmel ne dichiara almeno 100.000), abbiamo che la EEPROM del dispositivo dura 50000/3650=13 anni circa, ma il resto continua sempre a funzionare.
...e comuqnue, si compra qualche Arduino Nano in più e via! [100]
Antonino
Avatar utente
Docdelburg
Messaggi: 5505
Iscritto il: mar set 04, 2012 6:16 pm
Nome: Mauro
Regione: Lombardia
Città: Borgo Priolo
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da Docdelburg »

Giusto per cronaca.... per non sprecare l'Arduino Uno originale per il modesto impegno richiesto dalla piattaforma, indeciso tra un clone e un Arduino Nano, ho acquistato un clone per meno di 6 euro sulla baia.
Nello specifico è un "Arduino Uno COMPATIBILE BOARD CON ATMEGA 328 ch34x USB r3 chipset" che però non viene inizialmente riconosciuto dal sistema e quindi richiede il download di un file di configurazione detto "CH340 USB" altrimenti non funziona.
Il problema si è posto con il pc normalmente in uso, con sistema operativo Windows10, che non ne vuole sapere di accettare l'installazione di detto file.
Provato su un pc appena pensionato dallo studio, con Windows7, caricato il drive "CH340 USB", tutto sembra funzionare al meglio.
Come detto riporto per dovere di cronaca per chi intende usare i cloni con gli occhi a mandorla.... :wink:
Avatar utente
sal727
Messaggi: 3488
Iscritto il: dom apr 26, 2015 5:22 pm
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Connesso

Re: Progetto di piattaforma con step motor e Arduino

Messaggio da sal727 »

Ciao, Salvatore

Torna a “COLLEGAMENTI ELETTRICI”