PDA

View Full Version : Servomotore e RPM


Cri.The.Strange
22-06-2007, 09:50
Ciao a tutti.. ho un problema.
Devo contare gli RPM di un servomotore e non so come fare.. il servomotore in questione è collegato a una meccanica tale da potersi muovere su ruote.
io ho pensato di fare così:
calcolo l'angolo che spazza muovendosi (ipoteticamente in lionea quasi retta, tanto dritto non ce va) e il tempo impiegato. dividendo l'angolo per il tempo trovo la velocità angolare.. giusto?
il problema è che questo servomotore ha un valore di centratura.. fornendogli impulsi al di sopra del valore di centratura gira in senso orario, fornendogli impulsi al di sotto del valore di centratura gira in senso antiorario (e quindi l'aggeggio girerà a destra o a sinistra).
il motore è controllato d aun programma in pbasic quindi devo impostargli via sf il valore dell'impulso.. se mi trovo nel valore di centratura il robot non avanza quindi non spazza nessun angolo, quindi la sua velocità di rotazione è nulla.. giusto?

sto impazzendo :muro:

bjt2
22-06-2007, 12:50
Ciao a tutti.. ho un problema.
Devo contare gli RPM di un servomotore e non so come fare.. il servomotore in questione è collegato a una meccanica tale da potersi muovere su ruote.
io ho pensato di fare così:
calcolo l'angolo che spazza muovendosi (ipoteticamente in lionea quasi retta, tanto dritto non ce va) e il tempo impiegato. dividendo l'angolo per il tempo trovo la velocità angolare.. giusto?
il problema è che questo servomotore ha un valore di centratura.. fornendogli impulsi al di sopra del valore di centratura gira in senso orario, fornendogli impulsi al di sotto del valore di centratura gira in senso antiorario (e quindi l'aggeggio girerà a destra o a sinistra).
il motore è controllato d aun programma in pbasic quindi devo impostargli via sf il valore dell'impulso.. se mi trovo nel valore di centratura il robot non avanza quindi non spazza nessun angolo, quindi la sua velocità di rotazione è nulla.. giusto?

sto impazzendo :muro:

Se è un motore passo passo, non fai prima a contare gli impulsi al secondo e moltiplicarli per 60 e dividerli per il numero di impulsi necessari per un giro? Tanto gli RPM sono gli stessi per qualunque verso di rotazione... Poi puoi controllare se gli impulsi lo fanno girare o no e in quel caso gli RPM sono 0... Poi se la velocità è variata in base al numero di impulsi al secondo, tutto Ok... Se invece è variata con una sorta di PWM, cioè n impulsi si ed m no allora devi moltiplicare il valore sopra calcolato per n/(n+m)... ;)