dubbi sugli schemi dei tutorial per gli stepper

Dunque, guardando i tutorial per stepper sul sito mi sono venuti un po' di dubbi.

Per cominciare: io ho una batteria da 9V, qui fa sempre vedere connessioni al pin da 5V di arduino, immagino di dover evitare, giusto?

In più, come si sceglie il voltaggio?
Immagino debba essere quello del motore, ma se il motore ne ha uno inferiore a 9V, devo usare delle resistenze per ridurre la corrente che gli arriva?

Questo è uno dei motori più potenti che io abbia trovato, e gira a 3.96V se non ho capito male, possibile?

E tutto il sistema funzionerebbe solo con la connessione usb?

Poi nei tutorial citati si usano solo ULN2004A o SN754410NE, dei piccoli chip, per guidare il motore.
E allora perché in tutti i sistemi di controllo per frese che ho visto c'è un controller tipo questo per ogni motore?
http://www.robot-italy.com/product_info.php?products_id=1257

Grazie, scusate la quantità di domande.

Per cominciare: io ho una batteria da 9V, qui fa sempre vedere connessioni al pin da 5V di arduino, immagino di dover evitare, giusto?

L'Arduino spesso si alimenta attraverso la USB con 5V. In alternativa si puó dare una tensione tra 7 e 12 V sul connettore nero del Alimentazione oppure essendo sicuro della polaritá correttta sul Pin Vin e Massa.

In più, come si sceglie il voltaggio?
Immagino debba essere quello del motore, ma se il motore ne ha uno inferiore a 9V, devo usare delle resistenze per ridurre la corrente che gli arriva?

La tensione si sceglie in funzione dela tensione del Motore. I motori spesso sono per tensioni maggiori di 9 V. Un batteria da 9V é comoda perche al confronto di un alimentatore non ha cavi da attacare ai 230V.
Non usare resistenze; é inutilmente complicato. Puoi alimentare il motore anche con i 5V del USB ma in questo caso attenzione di non sovracaricare la USB; puó dare al massimo 500mA. Inoltre il ULN2803 o il ULN2003 puó pilotare al massimo 500mA.

Questo è uno dei motori più potenti che io abbia trovato, e gira a 3.96V se non ho capito male, possibile?

C'é da vedere se il motore é un motore unipolare che ha 5, 6 oppure 8 cavi oppure se é un motore bipolare che ha solo 4 cavi. Il motore bipolare non puoi usarlo con quel schema (ULN2003) ma devi usare per esempio un SN75441 oppure un L293. (comunque tutti due sono limitati a correnti piccole 0,5A e rispettivamente 0,6A) e percui non puoi usarli per il Tuo motore bipolare.

E tutto il sistema funzionerebbe solo con la connessione usb?

No, l' USB non fornisce i 4,4A che il motore assorbe e il SN754410NE non regge quella corrente.

Poi nei tutorial citati si usano solo ULN2004A o SN754410NE, dei piccoli chip, per guidare il motore.
E allora perché in tutti i sistemi di controllo per frese che ho visto c'è un controller tipo questo per ogni motore?

Il EasyDriver V4 Stepper Motor Driver usa un integrato che puó fare microstepping (alimenta le due bobbine del motore regolando la corrente e percui puó posizionare il rotore tra 2 passi interi). Il A3967 del Easydriver puó fare 7 passi intermedi tra ogni passo intero. MA limita la corrente al massimo a 750mA percui non é adatto al Tuo motore. Il vantaggio dei Microstepping sono piú passi e un azionamento piú fluido e di conseguenza meno rumoroso e vibrante.
Non so quale driver consigliarti perchè non conosco nesun integrato che piloti 2,5A. potresti usare il Driver della Pololu che pilota fino a 2A. http://www.watterott.com/en/Pololu-A4983-Stepper-Motor-Driver-Carrier l' integrato limita la corrente percui puoi usarlo col Tuo motore avendo leggermente meno potenza se lo pilotassi con 2,2A. Perche funzioni il microstepping devi avere un alimentazione del motore molto superioree alla tensione nominale; nel Tuo caso 18V o 24V non sarebbero sbagliati.
P.S: il A4983 usato dalla scedina della Pololu é ancora piú piccolo; la scheda misura 2x1,5 cm!!
Ciao Uwe

Alla fine ho optato per questo motore, un unipolare con molta coppia.
http://www.slidesandballscrews.com/pdf/steppermotors/SY42STH47-1684A.pdf
Per ora mi documento e pensavo di ordinarlo a gennaio.

Mi sto rileggendo quanto hai scritto andando a cercare riferimenti alle varie cose, ma se ho ben capito il concetto è questo:
per pilotarlo basta un chip come l'ULN2004A, ma i driver come l'easy driver rendono la guida più precisa aggiungendo dei passi intermedi oltre ai 200 del motore.
L'arduino comunica con questi chip o con i driver, e quelli col motore.
Giusto fin qui?

La questione dell'alimentazione non mi è ancora molto chiara ma non perché tu non l'abbia spiegata bene.

Ciao secondsky

Il motore che citi é un motore bipolare non unipolare come scrivi. Non puoi pilotarlo con un ULN2003 ( il 2004 non é per pilotaggio 5V TTL/Cmos) perché quello si puó usare solo i motori unipolari e puó pilotare al massimo 500mA.

Devi usare un driver come quelli citati. Ti consiglio il Stepper Motor Driver Carrier di Pololu col integrato A4983 http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf leggiti il datasheet.

Il A4983 ha fondamentalmente 2 entrate ( oltre altre con cui setti alcuni parametri ma che lasci fissi su massa o +5V) la direzione e una segnale rettangolare per i passi.
Il microstepping aumenta i passi che fisicamente fa il motore.
Immaginati un motore che fa passi interi; alimenti una bobbina dopo l'altra e il rotore si posiziona in concomitanza con le bobbine. http://es.wikipedia.org/wiki/Motor_paso_a_paso ( considera solo ogni seconoa immagine)
se adesso fai circolare la corrente in tutte due le bobine contemporaneamente il rotore si metterá a metá tra le 2 bobbine. (che sono le immagini intermedie).

Se adesso fai circolare per esempio in una bobbina il 75% della corrente e nel altra il 25% il rotore si posizionerá tra un passo intero e un mezzo passo facendo un quarto di passo. Col A4983 puoi fare sedicesimi di passo.

Riprovo il discorso con la tensione:
Perche questo funzioni il A4983 deve regolare la corrente e la corrente non deve essere limitata dalla resistenza o dal induttanza del motore. Per questo si usano tensioni molto piú grandi di quelle nominali (i dati del motore che citi parla di 24V nel grafico a destra della coppia di stallo in funzione della velocitá di passi per secondo, anche se la tensione nominale é malappena 2,8V. Il motore viene pilotato in corrente di 1,68A http://www.slidesandballscrews.com/pdf/steppermotors/SY42STH47-1684A.pdf) .

Ciao Uwe

Si scusa, ma il motore che evevo in mente era unipolare, ho sbagliato a inserire il link.
SY42STH38-1206A
http://www.robotshop.com/rbsoy01-soyo-unipolar-stepper-motor.html

È questo, ma in effetti sul sito del rivenditore inglese non c'è, ho trovato solo la versione SY42STH38-1206B.

http://www.slidesandballscrews.com/stepper-motors-nema-stepper-motors-c-45_80.html

Ciao secondsky

La differenza tra i 2 motori é che uno ha l' asse su tutte due le parti (versione B), l' altro su una (versione A).

Se vuoi usare questo motore non puoi usare un uln2003 ma devi usare 4 Tansistori (MOSFET). Collegare i cavi comuni a 4V e mettere in sequenza giusta gli altri cavi su massa.

Ti sconsiglio questo motore perché in questo modo lo piloti in tensione e a causa della induttanza che limita la corrente a frequenza alte il motore ha meno forza piú veloce gira.

Ti consiglio un motore bipolare e un driver come quelli nominati in precedenza che pilotano il motore in corrente. In questo caso la perdita di forza é meno presente.
La curva che trovi quá http://www.slidesandballscrews.com/pdf/steppermotors/SY42STH38-1206B.pdf é a corrente costante!!!.

Ciao Uwe

Mi ero basato su quanto descritto in questo sito, il cui link era stato postato nella discussione riguardante il cnc sul forum arduino italiano.

http://www.contesti.eu/opensource/xyz-dc-motor-controller

Mi attirava perché era molto poco dispendioso e all'apparenza piuttosto semplice, però posso aver riportato male io delle cose.

Con il L293D puo pilotare motori fino a 0,6A per bobbina.
Devi usare un L297 e diodi.
Per usare altri driver che pilotano il motore in corrente come quelli citati devi cambiare il programma perché come pilotaggio serve 2 segnali direzione e passi e non i passi con sfasamento (come il L293D).
Ciao Uwe