Controllo stepper a rotazione lentissima (1 giro/30min) con Nano ESP32: consigli su scelta componenti, alimentazione e schema

Ciao a tutti!

Sto lavorando a un progetto personale che richiede estrema precisione nel tempo: devo far ruotare l’albero di un motore stepper di un solo giro ogni 30 minuti. Un movimento lentissimo ma costante e affidabile, attivo 24 ore su 24, alimentato da una presa domestica (bipasso).

Prima di acquistare tutto il necessario, vorrei confrontarmi con voi per chiarire alcuni dubbi tecnici.

Allego uno schema del sistema che vorrei realizzare.

Componenti previsti:


Arduino Nano ESP32

L’ho scelta per il basso consumo e la connettività Wi-Fi, utile per espandere il progetto in futuro.
Mi sembra compatibile col driver; le connessioni e il codice le gestirò senza librerie, dato che la logica è semplice: 1 giro ogni 30 minuti.

Dubbio principale: vorrei alimentare direttamente la scheda dall’alimentatore (via convertitore 24V → 12V 5A per evitare di danneggiare la scheda) così da tenere la porta USB libera per la programmazione.

Domande:

  • L’uso del convertitore è corretto o superfluo?
  • Il modello del convertitore scelto va bene?
  • Lo schema è migliorabile?

Alimentatore

Tenendo conto dell’intero sistema, l'alimentatore che ho individuato è sufficiente?


Grazie in anticipo per i vostri consigli!
Ogni feedback è benvenuto :raising_hands:

Un paio di consigli sull'hardware:

  • per un motore cosi piccolo, se gli spazi di installazione hanno importanza, potresti valutare l'installazione di un driver più piccolo con eventuale shield per semplificarti il cablaggio.
    Ad esempio il TMC2209 può essere gestito anche con una connessione UART (per quanto riguarda la configurazione). Con il TMC2130 invece puoi usare il bus SPI.

  • l'alimentatore da 24Vdc è sufficiente anche se al limite: il motore è da 1A per fase massima quindi impostalo all'80-90% della corrente massima. Se vuoi stare sereno, prendi quello da 80W che costa pochi euro in più (anche se più grande).

  • per quanto riguarda l'alimentazione del microcontrollore, puoi usare un DC-DC converter con corrente massima mooooolto inferiore (1A è già abbondante) ed è necessario perché l'integrato step-down che monta la Nano32 accetta al massimo 22Vdc in ingresso.
    Per evitarlo, potresti eventualmente alimentare tutto il circuito a 12Vdc visto che non hai bisogno di chissà quali prestazioni dal motore.

Non hai descritto cosa andrai a movimentare, ma tieni conto inoltre che quel motore ha pochissima coppia.

Grazie mille per il tuo feedback, davvero prezioso! :folded_hands:

Hai ragione sul discorso degli spazi di installazione: mi piacerebbe ridurli al minimo possibile principalmente per una questione estetica complessiva. Avevo inizialmente scelto il driver DM542T solo perché mi sembrava una soluzione “all in one”, evitando così di dover gestire ulteriori componenti o shield (pensavo mi avrebbe facilitato il progetto).

Il TMC2209 che mi hai consigliato sembra interessante ma confesso che non so cosa sia la connessione UART né come si configuri… magari con qualche buon tutorial online riesco a capirci qualcosa :sweat_smile:

Per quanto riguarda l’alimentatore, grazie del consiglio: prendo in considerazione quello da 80W, preferisco stare sul sicuro.

Per l’alimentazione del microcontrollore, avevo individuato questo DC-DC converter che esce con 5V/1A.

Tuttavia, mi farebbe piacere semplificare il sistema ed evitare elementi superflui. Secondo te, potrei alimentare l’intero sistema direttamente a 12VDC con un alimentatore come questo?

:backhand_index_pointing_right: Alimentatore 12v 1A, 12W Trasformatore 220V a 12v, Driver LED AC a DC, alimentatore lampada led,Trasformatore LED Costante per Strisce LED e Luce a Bassa Tensione, Lampade LED : Amazon.it: Fai da te

(Magari tenendo conto del carico generale, come suggerivi giustamente).

Infine, hai ragione: non ho specificato cosa devo movimentare , mi scuso.

Il motore dovrebbe far ruotare una serie di ruote collegate tra loro, montate su un perno fisso. Ogni ruota è libera di ruotare sul proprio asse grazie a cuscinetti a sfera, quindi avevo pensato che non fosse necessaria molta coppia. Ecco uno schema della meccanica:

La ruota più grande ha un diametro di circa 1 metro: secondo te potrebbe influire sul movimento e sarebbe meglio optare per un motore con più coppia?

Grazie ancora per il tempo che mi hai dedicato :raising_hands:

Ogni consiglio mi sta aiutando tantissimo a progettare meglio!

Per me puoi alimentare tutto a 5Vdc usando un motore/drive 28byj-48 che ha già il riduttore e probabilmente coppia sufficiente

Per quello che è la mia esperienza quel motore è tutt'altro che preciso (a causa del backslash del riduttore) e non sicuro che una coppia di circa 35 mN*m (milli Newton/metro) sia sufficiente per mettere in rotazione il cinematismo che @michelem8 ha abbozzato.
Inoltre gli ingranaggi di quell'affarino sono in plastica e nel tempo le cose potrebbero solo peggiorare in quanto a precisione.

Devi valutare i pesi ed i rapporti di riduzione in gioco in modo da poter calcolare il momento di inerzia complessivo che il motore deve vincere.
Accoppiare il motore tangente a ruota 1 ti fa da riduttore e con un rapporto molto elevato e quindi in sostanza da moltiplicatore di coppia; potrebbe bastare anche il "pancake" che avevi selezionato.
Non mi è chiaro però l'accoppiamento tra la "trasmissione" e la ruota 2, manca un pezzo oppure è tipo un esploso?

Se usi strumenti di disegno CAD "avanzati" come ad esempio SolidWorks o Autodesk Inventor esiste la possibilità di fare la simulazione dinamica della trasmissione calcolando tutte le forze in gioco ed avresti un'idea estremamente chiara di ciò di cui hai bisogno.

In alternativa, prova a dare in pasto ad una AI qualsiasi un'immagine con lo schema di trasmissione specificando dimensioni e peso di ciascuna ruota chiedendogli di calcolare la coppia necessaria per far ruotare tutto a bassa velocità (ad esempio 1 RPM).
Al calcolo teorico aggiungi gli attriti ed un margine di sicurezza.

Per quanto riguarda l'alimentazione, non va bene. Se scegli di alimentare tutto a 12Vdc, con lo stepper che hai selezionato compreso, 1A non sono sufficienti.

E allora meglio pensare seriamente ad una base dei tempi precisa

Poi la meccanica deve essere senza giochi
Magari se il movimento fosse continuo e unidirezionale si potrebbero compensare

Grazie ancora per i tuoi suggerimenti, sempre molto utili!

Rispondo punto per punto:

In realtà non manca un pezzo: la ruota 2 è dentata internamente ma nello schizzo che ho fatto non sono riuscito a renderlo chiaro, quindi capisco perfettamente il dubbio.

Sto procedendo proprio in questa direzione, aiutandomi anche con l’uso di software CAD (ci vorrà un po’ per riuscire a simulare l’intero sistema ma voglio farlo con calma e in modo accurato). Ti ringrazio davvero per lo spunto!

Con i primi calcoli e simulazioni, sto valutando l’uso di un NEMA 17 da 38mm con coppia di 42 Ncm a 1.5 A per fase (questo: Amazon).

Per stare tranquillo, sto pensando di usare un alimentatore da 100W:

:backhand_index_pointing_right: Amazon - 24V 100W

e mantenere il convertitore da 24V a 12Vdc solo per alimentare l’Arduino.

Ti torna questo approccio? Sto andando nella direzione giusta?

Grazie ancora per la pazienza e per tutte le dritte che mi stai dando, sono davvero preziose!

Grazie mille per il tuo commento!

Proprio per questo ho scelto di usare un motore stepper, perché posso contare sulla sua precisione nei 200 passi per ogni giro completo.

Per controllare la velocità, userò Arduino per gestire il delay tra un passo e l’altro, così da distribuire in modo preciso i passi sull’intervallo di tempo richiesto.

Su questo punto avrei bisogno di un chiarimento: cosa intendi esattamente per “senza giochi”?

Sto disegnando gli ingranaggi in modo che si incastrino correttamente, rispettando le tolleranze consigliate per la stampa 3D su POM-C (uso i parametri forniti da Weerg: link al materiale).

Ci sono accorgimenti specifici da seguire per evitare giochi indesiderati in una trasmissione meccanica come questa?

Grazie ancora per l’aiuto, sto cercando di curare ogni dettaglio al meglio!

Che accuratezza ha il clock di Arduino Nano ESP32?... Se quello è il tuo riferimento, deve essere preciso e stabile!
In alternativa, potresti usare un DS3231.

Ni... mi spiego meglio.
Quando si ha a che fare con i motori e più in generale con attuatori che compiono un lavoro meccanico, quello che comanda le scelte progettuali è in primo luogo la corrente.

Nei motori stepper, a parità di corrente di fase, è preferibile utilizzare una tensione di alimentazione maggiore per diversi motivi, tutti legati al miglioramento delle prestazioni del motore: migliore risposta e aumento della coppia alle alte velocità, migliore dinamica e accelerazione etc etc.

Tu però questo motore lo devi usare a regimi di velocità estremamente basse dove questi miglioramenti sono poco significativi e vai quindi a complicare il cablaggio elettrico raddoppiando le fonti di alimentazione e aumentando i costi e senza avere un reale vantaggio.

Il motore che hai selezionato (cosi come la gran parte degli stepper più comuni) è uno stepper da 200 step/rivoluzione.

Ammesso che il giro completo in 30 minuti (1800 secondi) si riferisca al pignone e non alle ruote condotte, mettiamo che lo piloti ad 1/32 di passo, sono 32*200=6400 step.
Per fare un giro nell'arco di 1800 secondi servono 6400/1800≈3.56 step al secondo ovvero un periodo di ‭0,28125‬ secondi.

Se invece lo piloti ad 1/8 di passo hai bisogno esattamente di 1 impulso al secondo.

Ho capito bene?
Stai pensando di usare ingraggi in plastica con precisioni dell'ordine del decimo?

No

Io intendevo che deve essere preciso il clock dell'arduino

Hai controllato se quello che stai usando e' adeguato per quello che vuoi fare?

Poi per quanto riguarda i giochi della trasmissione non saprei aiutarti, se non consigliarti di usare materiale commerciale e di buona qualità

E soprattutto quando fori gli assi usa macchine precise con punte e alesatori buoni

Spero che abbia capito male tu

Con un sistema pignone-cremagliera cosi fortemente ridotto, usando il materiale giusto e soprattutto un servizio di stampa professionale come quello offerto da Weerg, non dovrebbe avere problemi di sorta.

Solo che pezzi cosi grandi usando polimeri platici, non sono lavorabili quindi non capisco come @michelem8 abbia intenzione di realizzarli :roll_eyes:

Mah

Qui vedo che siamo sempre nel campo delle cento pertiche, per meglio dire sul piano(campo) cartesiano
Ovvero di nuovo un problema xy: non sappiamo cosa bisogna fare e tentiamo di farlo con strumenti scelti da altri

Per lo OP: esattamente cosa vuoi fare?

Mi raccomando: non come, ma cosa

Come vedi...

Ogni volta che un utente deve sottoporre una questione al forum, sembra che sia necessario un "fascicolo tecnico" con tutte le specifiche del progetto ed un curriculum vitae per valutare se è in grado di farlo oppure no, ma magari quello che gli serve è solo scambiare delle opinioni e vedere il suo problema da altri punti di vista.

@michelem8 ha chiesto consigli su come procedere per realizzare quanto si è proposto e consigli sono stati forniti, non soluzioni chiavi in mano, poi sta a lui prendere decisioni.

Per raggiungere un obiettivo si possono intraprendere mille strade diverse e tutte ugualmente valide...

1 Like

Quale punto di vista per quale problema?
Tu hai capito cosa sta a fare e quale problema sta affrontando?
Se si, ti prego dimmelo

Sta cercando di realizzare un sistema di trasmissione del moto a partire da un motore stepper usando una cascata di ingranaggi: questo è il cosa da te richiesto.

Io ho sollevato obiezioni sul come, perché realizzare una ruota dentata del diametro di 1 metro è una cosa decisamente complessa a prescindere dal materiale che si sceglie e di sicuro non può farlo con Weerg perché la dimensione massima del materiale plastico macchinabile con il loro controllo numerico CNC è di 500x500x140mm.

Ma questi saranno fatti suoi, magari affiderà tutto ad un'officina specializzata perché ha un budget sufficiente.

Giusto per farti capire cosa intendo:
Prova a rispondere a questo qui

Prima E dopo aver letto l'ultima risposta, che è risposta ad una mia domanda specifica che mi sembra di capire tu avresti evitato