Far girare una ruota diametro CD random

Salve a tutti, vorrei realizzare uno strumento che faccia girare una ruota, un CD su cui sono ho stampati 10 numeri da 0 a 10, in maniera randomica farlo fermare ed individuare il numero selezionato. L'ideale sarebbe uno stepper motor. Ho provato con un 28byj-48 e potrebbe andar bene, purtroppo è molto lento ed io avrei bisogno di far girare la ruota almeno a 100rpm poi rallentarlo e quindi fermarlo.Potrei usare una puleggia da 60 denti con una da 20 e triplicherei la velocità, ma sarebbe sempre molto bassa, circa 50rpm. Ho provato anche il NEVA 17 ma oltre che consuma molto circa 1,5A per bobina, anche esso ha una velocità max di 60 rpm. Mi sembra sprecato.Potrei usare un motoriduttore a due poli 200rpm, controllato da arduino in PWM, ma poi avrei dificcoltà a farlo fermare in corrispondenza del numero selezionato, oppure potrei usare un decoder, BOH!
Per il code arduino non avrei problemii. Vorrei realizzare una cosa abbastanza semplice. Ma esistono stepper motor + veloci?
Ogni suggerimento è benvenuto
Grazie
Bob49

Buon pomeriggio,
ti è stato già chiesto in passato (2015) ma ... non avendolo tu fatto torno oggi a richiedertelo ...

nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO che, in tutti questi anni, è piuttosto cambiato ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nel rispetto del suddetto regolamento nessuno ti risponderà (eventuali risposte verrebbero cancellate), quindi ti consiglio di farla al più presto. :wink:

Fatto
Grazie

60 RPM per uno stepper con corrente di fase da 1.5A mi sembrano decisamente troppo pochi... un motore di quella taglia li dovrebbe arrivare senza problemi almeno a 500/600 RPM.

Con quale driver (e software) lo stai pilotando questo motore?

Il 28byj-48 lo piloto con ULN2803, è un kit molto commerciale ed anche il codice arduino si trova da tutte le parti e comunque è riportato da molti che è lento..il NEVA17 lo piloto con il classico L293N anche esso molto comune ed anche il code è uno standard. Comunque nelle specifiche il NEVA17 non va oltre 60rpm.ripeto vorrei una cosa semplice ed eviterei di utilizzare pulegge moltiplicatrici.
oltre tutto il NEVA17 come già detto mi sembra sprecato, a me non serve potenza, devo far girare un disco CD,tutto qua

Il 28byj-48 gira piano perché ha un riduttore (64:1 di solito), il NEMA17 gira molto velocemente per un passo passo, si arriva facilmente a 150rpm senza rampa e 1000-2000rpm con rampa, se è da 1.5A/phase non è necessario fornirgli tale corrente ma può girare bene anche a 0.5A/phase

Come dice @icio oltre al riduttore c'è da considerare che quello stepper è poco più di un giocattolo.

Il driver che usi con il NEMA (M, non V) non è tra le migliori scelte perché di fatto è solo un doppio ponte H e quindi tutta la sequenza di stepping va generata via software il che complica un po' la faccenda.
Un driver tipo A4988 oppure DRV8825 (quelli molto usati nelle stampanti 3D) sarebbe più semplice da gestire (logica step/dir invece di dover generare tutta la sequenza di stepping) e avrebbe prestazioni migliori una volta regolata la corrente come previsto.

Hai un riferimento a queste specifiche di cui parli?

Prima di tutto grazie per i consigli, allora come specificato nella mia precedente e-mail, io dovrei far girare un disco CD usato (poi saranno 3) su cui ho stampato 8 numeri a 45°l'uno da l'altrol(8x45° =360°) ad un velocità controllata in PWM intorno ai 100-150 rpm per poi farlo fermare lentamente in maniera randomica in corrispondenza di un numero sulla scala che ovviamente devo conoscere, ma il code non mi preoccupa. il problema è trovare uno steppermotor idoneo. da quello che mi dite il NEVA17 puà girare anche a 150 rpm con una corrente di 0,5 A,sarebbe il massimo, ma il code che io ho utilizzato con l283N non solo fa girare il NEVA17 al massimo a 60rpm ma scalda molto e assorbe circa 3A come fossero alimentate tutte e due le bobine.
vi allego il code che sembra essere un semplice esercizio abbastanza conosciuto in internet, ma come ho detto non funziona bene, ho anche provato a modificare l'istruzione setspeed(60) a 100 ma non funziona.

// Inclusione della libreria stopper
#include <Stepper.h>

// Numero di step (passi) per effettuare una rotazione completa
const int stepPerRotazione = 200;

// Creazione dell’istanza dello Stepper
Stepper mioStepper(stepPerRotazione, 8, 9, 10, 11);

void setup()
{
// impostazione della rotazione a 60 rpm:
mioStepper.setSpeed(60);
// inizializzazione della porta seriale:
Serial.begin(9600);
}

void loop()
{
// una rotazione in una direzione
Serial.println("Rotazione oraria");
mioStepper.step(stepPerRotazione);
delay(500);

// una rotazione in una direzione
Serial.println("Rotazione antioraria");
mioStepper.step(-stepPerRotazione);
delay(500);
}

Se avete un semplice esercizio arduino, che utilizza il NEVA17 che può girare tra i 100-150 rpm magari utilizzando il driver A4988 e la possibilità di ridurre l'assorbimento a 0,5A, sarebbe un ottimo punto di partenza per il mio progetto
grazie

Ho dato un'occhiata al datasheet A4988 e sembra essere migliore del L283N, ha anche la regolazione di limitazione della corrente come suggeriva icio. ci sono anche alcuni esempi con arduino di NEVA17 e A4988 farò delle prove e vi farò sapere. grazie

Ma se devi farlo fermare in maniera random devi usare un motorino dc non passo passo...

no mi serve un passo passo perchè si deve fermare dentro multipli di 45°.il quadrante è composto da 8 settori distanti 45° l'uno da l'altro e quindi lo stepper deve fermarsi a 45,90,135,180° etc.

Per quello che devi fare uno stepper NEMA 17 short stack da 20mm (i cosiddetti stepper "pancake") dovrebbe essere più che sufficiente e rimanere comunque un motore tutto sommato piccolo e leggero. Di solito sono con corrente di fase da 1A o anche meno e comunque come già detto, li puoi far andare con corrente ridotta quanto basta per muovere il carico che hai.

Come puoi vedere da questa curva di velocità/coppia, da specifiche il motore arriva a velocità di 600/700 RPM mantenedo una buona coppia

Tieni conto che esistono stepper anche molto più piccoli, sempre con specifiche standardizzate NEMA, ma sono più difficili da trovare perché poco diffusi (la taglia NEMA 17 la trovi ovunque perché è largamente usata nelle stampanti 3D).

Grazie per le informazioni mi saranno utili. ho visto su amazon un kit di tre pezzi NEVA 17 piatti come dici tu a un buon prezzo. prima devo are un test con un NEVA17 un pò più grande che già ho e con il driver A4988. se il risultato è positivo acquisto i 3 NEVA 17 piatti ed ho risolto il problema e poso dedicarmi al progetto e alla stesura del code. terrò informati.
grazie

NEMA non NEVA ... è uno standard per la misura degli stepper motor, come da tabella che ti ha già indicato cotestatnt e quella che segue ...

Guglielmo

Ci ho provato 3 volte a mettere in evidenza l'errore :sweat_smile:, ma nulla... a @Bob49 gli piace proprio cosi :rofl:

1 Like

Ottimo grazie ragazzi.sorry per NEMA e non NEVA

Mailtrack Sender notified by Mailtrack
31/08/21, 14:27:22

Bingo. ho realizzato un circuito utilizzando il driver a4988 suggerito da cotestatnt, un “NEMA17”e un code che utilizza un potenziometro per variare la velocità. funziona perfettamente e rispecchia esattamente quello che volevo realizzare. ha ragione cotestatnt il driver è più performante del L298N. ho anche regolato tramite trimmer la corrente a 350mA e va più che bene. analizzando la parte del code che fa muovere il NEMA17 si capisce che si realizza una sorta di onda quadra dove il periodo positivo è regolato dal delay in microsec. come pure il periodo negativo. Quando i due delay in microsec. hanno lo stesso valore abbiamo un dutycycle al 50%. riducendo o aumentando questi delay, ovviamente aumentiamo o riduciamo la velocità. Anche modificando il singolo delay sia positivo che negativo modifichiamo il dutycyle e quindi variamo la velocità. Dovendo realizzare tre ruote, mi vedo costretto ad utilizzare la libreria di arduino “accelstepper”,che può gestire più steppermotor contemporaneamente.dovrò studiarla e capirne le varie funzioni soprattutto le funzioni “SetMaxspeed()”,”setAcceleration()”,”setSpeed()”,”moveTo”(),etc.se mi troverò in difficoltà, aggiornerò il topic e comunque ogni suggerimento è sempre ben accetto. Mi sono arrivati 3 stepper motor “NEMA17” molto piatti come diceva cotestatnt, ottimo.vorrei ringraziarvi per i preziosi consigli e informazioni che mi hanno permesso accrescere le mie conoscenze.
alla prossima
bob49

Non è una questione di delay, quello è solo un modo brutto e grezzo per realizzare un treno di impulsi.
Usa pure la libreria e dormi sereno.

I driver tipo A4988 sono cosiddetti STEP/DIR, ovvero hai bisogno di questi due segnali per pilotare il motore (ci sarebbe anche l'ENABLE, ma di default è attivo quindi puoi ignorare).

Ad ogni fronte di salita del segnale STEP, il motore avanza di un passo nella direzione controllata dal segnale DIR.
Ci pensa poi il driver a generare la sequenza corretta di alimentazione delle due fasi in funzione della selezione di microstepping che hai impostato.

image)

Abilitando il microstepping, il driver andrà a modulare la corrente nelle due fasi, secondo una tabella che trovi nel datasheet, facendo in modo che il rotore possa fermarsi anche in "posizioni intermedie"e aumentando quindi il numero di step statici per giro come puoi vedere in questa animazione dove è riprodotto un funzionamento (credo) half-step (nota come il rotore rimane "sospeso" tra due poli magnetici in determinate condizioni).

Nel tuo caso, avendo bisogno più di velocità che di precisione angolare, io non mi spingerei oltre il 1/2 - 1/4 di passo (pure troppo).

Andamento della corrente nelle due fasi con microstepping ad 1/8 di passo:

Ottimo, grazie. Una domanda gli stepper motor che ho acquistato sono dei 17HS08.1004S quale è la max tensione e quella di lavoro. nelle carattersitiche non è esplicitato

Salve, vorrei aggiornarvi.ho fatto una buona esperienza con lo stepper motor NEMA 17HS08-1004S.l' ho fatto girare piano,veloce, steppare, andare indietro, fermarsi ad un punto definito,etc, il tutto utilizzando la libreria AccelStepper di arduino e debbo dire che una volta capite le varie funzioni è una favola. fin qui tutto bene. e veniamo ai problemi. ho inserito una boccola di raccordo con diametro di 6mm da una parte sul perno dello stepper motor, e dall'altra parte con un foro da 8 mm dove ho inserito una barra filettata da 8 mm lunga 5 cm circa sulla quale ho installato un CD come da figure allegate. utilizzando il code che prima funzionava egregiamente lo stepper motor ha cominciato ha dare problemi, non girava più come prima, non eseguiva più un giro completo, a volte si fermana insomma aveva un comportamento anomalo.ho pensato fosse la limitazione di corrente a 350 mA, lo ho portato a 500 mA e oltre ma il problema è rimasto. la cosa strana è che poggiavo lo stepper sul tavolo, addirittura si fermava e non riusciva a girare. premetto che lo ho alimentato a 12v tramite il driver A4988 e prima comunque funzionava tutto. ho fatto la stessa prova con uno stepper motor NEMA 17HS4401 e funziona tutto. Domanda, problemi di coppia 13 ncm sono pochi? lo stepper si ferma con un dito senza forzare. cosa altro? vorrei capire.allego datasheet degli stepper motor e le foto.
Sto sbagliando qualche cosa?
grazie

Specifica:
Tipo di motore: stepper bipolare
Angolo di passo: 1,8 gradi Coppia di serraggio: 13 Ncm (18.4oz.in)
Corrente nominale / fase: 1 A
Resistenza di fase: 3.5 ohm Induttanza: 4,5 mH +/- 20% (1 KHz) Peso: 120 g
Dimensioni della cornice: 42 x 42 mm
Lunghezza del corpo: 20 mm
Diametro albero: 5 mm
Lunghezza dell'albero: 20 mm
Lunghezza a D: 16,5 mm
Filo: 16 pollici cavo a 4 conduttori
Collegamento:
Nero (A +), Verde (A-), Rosso (B +), Blu (B-)

NEMA 17HS4401

Immagine 2021-09-13 153907