Go Down

Topic: Rampa di accelerazione motore stepper (Read 699 times) previous topic - next topic

goniz88

Buongiorno, volevo esporvi il mio problema. Ho a che fare con alcuni motori stepper unipolari pilotati da arduino mega,e leggendo sui vari siti (dal momento che è la prima volta che mi approccio a questo tipo di esperimenti) ho letto della necessità di creare delle rampe di accelerazione per i motori stepper, in modo tale che non perdano il passo. Il punto è che non ho idea di come fare per creare queste rampe di accelerazione; ho provato a spulciare in internet ma trovo solo nozioni teoriche e non trovo esempi. Qualcuno mi potrebbe aiutare?Potreste scrivermi esempi di codice per queste rampe di accelerazione?Grazie a tutti

lesto

in pratica non puoi dire al motore di fare cento step se è fermo.

devi dare prima 1 step, poi 3, etc.. insomma, esattamente come se premi al massimo l'acceleratore la macchina non va da 0 a 100 all'instante ma segue una "rampa di accelerazione"che è differente in base alla velocità di partenza e alla marcia.
Il limite è dato dalla fisica, e forzare il motore a superare il limite porta sempre a effetti collaterali, quindi il tuo codice quando accelera (o frena, la frenata è una accelerazione di segno negativo) il motore non deve dare il comando subito, ma variare i valori più o meno lentamente.

Se disegni questa "rampa di accelerazione" otterrai molto probabilmente una curva parabolica, che però spesso è semplicifata in una o due rette, ed è differente nel caso di acceelerazione e di frenata. (vedi su google immagini "stepper motor acceleration ramp")

le rampe le dovresti trovare nel datasheet del motore, o ricavartele empiricamente
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy