Qualcuno si è già cimentato in questo progetto e può indicarmi qualche link valido?
Sul datasheet del driver leggo che "lavora" a 5V, ma il Nema va alimentato a 3V, che accorgimento occorre adottare?
I cavetti di alimentazione del motore sono: Giallo +, Bianco -, giusto ?
Dulcis in fundo: avrei bisogno che il motore compia solo 90° in una direzione e poi torni a 0°. Com'è giusto settare lo step e la velocità per ottenere la massima coppia ? (Non mi serve velocità di esecuzione, ma high torque sì)
i motori stepper hanno 4, 6, oppure 8 fili (bipolari).
non guardare la tensione, piu' bassa è meglio è.
bisogna pilotarli in corrente, ed il driver fa appunto cio'
guardati in giro in rete, ti si aprira' un mondo nuovo.
il driver abbisogna di due tensioni, tipicamente 5 volt per la logica e 30/35 volt per il motore, nel caso del driver postato max 24 volt.
il motore fa 200 step ogni giro sapendo che ogni step sono 1,8° sai gli step da fargli fare per arrivare all'angolo che ti serve.
se hai bisogno di coppia metti delle pulegge di riduzione oppure degli ingranaggi.
ad esempio, visita il sito di vincenzo villa, trovi delle cose interessanti riguardo agli stepper,
ma ce ne sono molti altri
ciao.
Non mi sembra che il driver abbia due "linee" di alimentazione distinte per la logica ed il motore.
Alimento tutto con 12V (dove c'è scritto +24V)? Devo porre una resistenza da 1KOhm in serie al positivo come indicato alla nota 2?
A questo punto sembra che il giallo ed il bianco non debbano essere collegati. Dello stepper collegherei solo A+, A-, B+, B-, giusto ?
"Running current" lo setto a 2A e "Exitation Mode" a 1/8 ?
Arduino come lo connetto al driver ?
Mi consigliate la libreria migliore da usare nello sketch ?
Ciao!
Come hai detto, il Bianco ed il Giallo puoi anche non connetterli ed usare il motore come un bi-polare a 4 fili in quanto essi sono i Comuni.
Io, solitamente, uso il driver per step motors Pololu DRV8825, con la sua libreria che puoi liberamente scaricare dal sito.
Visto? Sono uguali!
Comunque sia: EN-, CW- e CLK- li puoi connettere alla GND di Arduino. Mentre EN+, CW+ e CLK+ li puoi assegnare a 3 Pin digitali come, per esempio il 2, il 3 ed il 4. Le istruzioni sono lì sul Data Sheet e credo non ti serve un driver perchè mi sà che lo piloterai in PWM.
Correggetemi se sbaglio, non sono un elettrotecnico.
siccome quella scheda non la conosco e non si capisce come è fatta, se l'alimenti a 24 volt deve avere a bordo un regolatore per i 5 volt per alimentare la parte logica.
anche perchè come penseresti di interfacciare step, dir, enable , con arduino, mica farai dei partitori.
quella scheda dovrebbe essere il driver.
arduino fornisce step che sono una serie di impulsi e ad ogni impulso il motore avanza dei passi settati sulla scheda .
dir a seconda del livello logico se zero oppure uno va in una direzione o nell'altra.
enable abilita o spegne il driver.
se enable è attivo il motore resta alimentato anche se non ci sono step, e non lo schiodi dalla sua posizione.
se enable è disattivato, l'albero motore lo fai girare tranquillamente senza problemi.
comunque chi ha fatto quel datasheet sarebbe da premiare deve essersi impegnato molto
perfetto per non far capire niente
per il software, mi dispice non ne so niente....purtroppo.
allego un driver coi controfiocchi, vedere a pag 13 figure 19, tutto il resto è robetta
il driver lo devi alimentare con MINIMO 12V ( meglio 15 - 24 V ) perche il motore viene gestito in corrente e non in tensione e proprio per avere cio serve una tensione di minimo 4 volte quella di targa del motore
Non serve nessuna resistenza aggiuntiva sugli ingressi, perche sono optoisolati e quello che vai a comandare con Arduino sono n pratica del Led ( e ce gia la resistenza in serie )
Se vuoi avere la max coppia, devi mettere S3 e S4 in OFF
Dopo aver effettuato i collegamenti corretti, aver settato running current, excitation mode e decay ed aver iniziato a caricare uno sketch di prova mi è venuto un dubbio.
In molti esempi trovo sempre identici tempi di delayMicroseconds ... dopo aver dato l'impulso e dopo averlo tolto:
In realtà è evidente che il primo delayMicroseconds così lungo sia sbagliato, in quanto basta fornire l'impulso, levarlo e poi casomai allungare il secondo delayMicroseconds prima di fornire il successivo impulso.
Addirittura ho letto che il tempo del digitalWrite è talmente "lungo" per i moderni motor-driver che possiamo scrivere anche così: