Ciao a tutti
Sto pilotando un piccolo nema17 bipolare con un l293d, ma avrei bisogno di pilotarlo in microstepping, sapete se in giro c'è qualche libreria (che non sia,o usi AFmotor), che lo faccia? (la libreria stepper di arduino non lo fà).
P.S.
Và bene una qualunque libreria che faccia microstepping per qualunque versione dell'ide.
Grazie in anticipo
BrainBooster:
Sto pilotando un piccolo nema17 bipolare con un l293d, ma avrei bisogno di pilotarlo in microstepping, sapete se in giro c'è qualche libreria (che non sia,o usi AFmotor), che lo faccia? (la libreria stepper di arduino non lo fà).
Il microstepping non dipende dalla libreria, dipende dal driver hardware e il 293 non permette questa funzionalità, devi usare un apposito driver, p.e. quelli di Allegro.
@astro che gli manca? il latch esatto per i pin?
BrainBooster:
@astro che gli manca? il latch esatto per i pin?
Il microstepping si ottiene modulando la corrente sulle fasi, il 293 non può farlo, può solo applicare la stessa corrente su tutte e due le fasi, al massimo puoi ottenere l'half step perché dipende esclusivamente dalla sequenza di commutazione delle fasi e non dalla corrente delle stesse.
Capito.
Il problema è che avevo solo quelli in giro e mi era parso di capire che ci fosse una libreria tipo AFmotor in grado di assolvere al compito via sw, visto che il motor shield di adafruit usava 2 l293 e sul sito dicono che fà anche microstepping.
Dov'è il trucco del motorshield di adafruit?
BrainBooster:
Motor shield di adafruit usava 2 l293 e sul sito dicono che fà anche microstepping.
Dov'è il trucco del motorshield di adafruit?
Mi dai il link diretto al sito di Adafruit dove dicono questa cosa ?
eccolo:
vai sul tab "Downloads"
BrainBooster:
eccolo:
Adafruit Motor/Stepper/Servo Shield for Arduino kit [v1.2] : ID 81 : Adafruit Industries, Unique & fun DIY electronics and kits
Letto, si tratta di un utilizzo improprio del 293, cercano di modulare la corrente delle fasi applicando un PWM sugli enable.
Pima di tutto non è in questo modo che si fa funzionare uno stepper, al limite si utilizza il chop mode tramite current sensing come fa il classico L297 normalmente utilizzato in coppia con gli L29x, e poi in quel modo non otterranno mai un vero microstepping perché la corrente deve essere regolata a livelli ben precisi e non con lo spannometro, ovvero se non hai un feedback della reale corrente il microstepping non lo puoi fare.
Non ultimo l'utilizzo del PWM sull'enable porta il driver a funzionare male con grande perdita di efficienza, oltre il 30%, come ho già puntualizzato diverse volte relativamente al controllo velocità motori DC tramite gli L29x, c'è pure il piccolo dettaglio che i 490Hz del PWM di Arduino sono troppo pochi per modulare la corrente su uno stepper, servono almeno 20 kHz.
usano fastpwm
io l'avevo esclusa anche per questo
capitemi avevo gli l293d e degli lm628n-06 e non volevo diventare scemo a provare a far fare il lavoro all'lm628 è troppo incasinato da usare per quello che devo fare (quasi quasi me li vendo). http://www.ti.com/lit/ds/symlink/lm628.pdf
Mi sà che seguirò the hard way....
L'ingranaggio
BrainBooster:
usano fastpwm
io l'avevo esclusa anche per questo
Non l'avevo visto, comunque rimangono valide tutte le altre considerazioni.
Se vuoi fare vero microstepping devi usare un driver hardware idoneo, p.e. questo basato sul A3967 di Allegro, se guardi il datasheet ti diventa subito chiaro quanto è realmente complessa la cosa da un punto di vista hardware, dal punto di vista software è semplice come con un normale driver.
BrainBooster:
Mi sà che seguirò the hard way....
L'ingranaggio
Tieni presente che usare il microstepping ha un prezzo, a seconda della posizione dell'asse perdi coppia e velocità, ovvero l'uso del microstepping degrada le prestazioni ottenibili dal motore, invece l'uso di una riduzione meccanica ti consente di aumentare la coppia, però perdi velocità, sfruttando al 100% le prestazioni del motore.
si, lo sò (ci ho costruito la mia cnc con i driver chopper dell'allegro e faccio girare dei motori da 12v 1.2A a 35V in chopper e cantano che è un piacere ) , ma in questa applicazione non mi serve coppia, mi basta che giri preciso, infondo deve reggere solo un piccolo puntatore laser.
astrobeed:
Tieni presente che usare il microstepping ha un prezzo, a seconda della posizione dell'asse perdi coppia e velocità, ovvero l'uso del microstepping degrada le prestazioni ottenibili dal motore, invece l'uso di una riduzione meccanica ti consente di aumentare la coppia, però perdi velocità, sfruttando al 100% le prestazioni del motore.
Scusami astrobeeed se ti contradico.
Il microstepping aumenta la coppia a velocitá alte (rispetto a un pilotaggio in tensione) perché imprime una corrente anche dove l' induttanza del motore la abbasserebbe pilotato in tensione a causa della frequenza alta.
Un ingranaggio demoltiplicatore aumenta sempre la coppia rispetto il motore nudo.
A mio parere il Microstepping pilotato in corrente rispetto a un motore in full o half step pilotato in tensione migliora le funzionalitá di un motore passo passo: maggior coppia, maggiore velocitá massima, maggior numero di step, minor rumore, minor vibrazioni. Lo svantaggio é la complessitá del circuito se costruito discretamente ma un integrato risolve questo inconvegnente e la tensione di pilotaggio alta e percui un alimentatore piíu grosso (parliamo del fattore 4).
Un L293 in combinazione con un L297 puó pilotare un motore passo passo in corrente ma normalmente si combina il L297 col L298.
Ciao Uwe
uwefed:
Scusami astrobeeed se ti contradico.
Il microstepping aumenta la coppia a velocitá alte (rispetto a un pilotaggio in tensione) perché imprime una corrente anche dove l' induttanza del motore
C'è un piccolo dettaglio che ti stai scordando, gli stepper vanno pilotati in corrente e non in tensione.
Purtroppo in ambito amatoriale c'è molta "ignoranza" su come devono essere controllate le varie tipologie di motori e il web pullula di siti che riportano un sacco di "bestialità" sul controllo dei motori inducendo in errore i principianti.
uwe , su questo devo dare ragione ad astrobeed.
dit:anche se l'accoppiata l297 l298 è storica e proviene dai datasheet degli stessi componenti... ricordo un vecchio kit di nuova elettronica.