Go Down

Topic: Problema rotazione servo motore (Read 781 times) previous topic - next topic

vitanio

Salve a tutti Ragazzi, vorrei chiedere la vostra opinione su un problema con un servo motore!
Ho costruito una base (un parallelepipedo con un disco che ruota sulla superficie superiore). Ho la necessità di far ruotare questo disco di 360 gradi, 15 gradi per volta..quindi fermando il disco per determinati secondi ogni 15 gradi). Premetto che mi serve precisione e che ho già provato diverse soluzione che non mi hanno soddisfatto. Infatti ora utilizzo una servo motore a rotazione continua ( i 15 gradi li ricavo giocando sulla velocità di rotazione per determinati secondi ) , ma come sappiamo questi servo a rotazione continua non pilotabili via gradi non sono indicati per fare questi lavori. Infatti il servo non è per nulla preciso (a volte fa 15 gradi, a volte 16 ecc ecc). Ho considerato anche i modori stepper, ma non si trovano motori con step compatibili alle mie necessità. Ho trovato su un motore da 7.5 gradi a step, ma non veniva fornita alcuna shield per farlo comunicare con arduino...e sapendone poco di questo tipo di motori non saprei come gestirlo. Ho anche valutato la possibilità di raggiungere i 360 gradi utilizzando due servo da 180 gradi...però non mi convince come soluzione. Voi cosa mi consigliate di fare? grazie mille :)

paofanello

I servomotori per quanto ne so non potranno mai darti un'alta precisione. Certo si otterrebbe un risultato migliore con due da 180gradi, ma il collegamento mecanico tra i due non saprei come farlo semplicemente... Io mi metterei a studiare gli stepper :D

astrobeed

I servomotori per quanto ne so non potranno mai darti un'alta precisione.
Affermazione decisamente errata, un servo digitale di fascia medio alta consente un precisione di 0.3° con una risoluzione di 0.1°, un servo digitale di fascia alta (costo > 100 E) consente una precisione di 0.15° e una risoluzione di 0.05°, ovviamente vanno controllati con segnali di pari risoluzione non certo con la classica libreria servo di Arduino che non consente risoluzioni di quel livello.
Esistono anche servo in grado di ruotare per 330°, risoluzione 0.3°, sono totalmente digitali e si comandano tramite porta seriale, sono specifici per applicazioni di robotica.
Va da se che se è realmente necessario ruotare per 360°, probabilmente in modo continuo, la soluzione più semplice, anche dal punto di vista meccanico, è usare uno stepper, p.e. quelli utilizzati sulle stampanti 3D con i relativi driver microstepping, grazie alla grande diffusione il costo complessivo è minore di 40-50 Euro, dipende dalla potenza che deve avere lo stepper, ed è possibile ottenere una risoluzione di circa 0.028° (stepper da 400 passi controllato in microstepping 1:32)
Scientia potentia est

Etemenanki

... ed usare semplicemente uno stepper con una demoltiplica ? ... ;)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

astrobeed

... ed usare semplicemente uno stepper con una demoltiplica ? ... ;)
Perché complicarsi la vita con la meccanica quando con uno stepper driver che costa 15 E, in tutti i casi lo deve prendere, hai il microstepping ?
Unico motivo per introdurre una demoltiplica meccanica è se non basta la coppia generata dallo stepper, il microstepping la riduce sensibilimente, però se deve solo far girare un piatto, anche se con sopra una massa di qualche kg, non ci sono problemi con gli stepper utilizzati sulle stampanti 3D.
Semmai si può usare un servo con moltiplica in modo da portare la rotazione fino a 360°, però se gli serve far girare il piatto in modo continuo non va bene lo stesso.
Scientia potentia est

Etemenanki

#5
Sep 10, 2015, 10:18 am Last Edit: Sep 10, 2015, 10:22 am by Etemenanki
Perché complicarsi la vita con la meccanica quando con uno stepper driver che costa 15 E, in tutti i casi lo deve prendere, hai il microstepping ?...
No, io pensavo al fatto che ha detto di aver bisogno di molta precisione ... anche con il microstepping a 16 passi ed uno stepper da 7.5 gradi per step, mi pare che al massimo possa farci circa mezzo grado o poco meno ... se gli basta e' ottimo, ma se gli serve una precisione maggiore, deve per forza demoltiplicare ... a quel punto anche una ciofeca fetida come questa cineseria qui http://www.ebay.com/itm/DC-12V-2-Phase-4-Wire-Stepper-Motor-Full-Metal-Reduction-Gear-Box-DC-Motor-/181453237308?hash=item2a3f74ac3c , oppure http://www.ebay.com/itm/5V-Stepper-Motor-28BYJ-48-With-Drive-Test-Module-Board-ULN2003-5-Line4-Phase-New/291175980196?_trksid=p2047675.c100009.m1982&_trkparms=aid%3D777000%26algo%3DABA.MBE%26ao%3D1%26asc%3D33097%26meid%3D012d6d33109f451abfe0e558722be4a9%26pid%3D100009%26rk%3D1%26rkt%3D1%26mehot%3Dpp%26sd%3D221457499246 , per lo sforzo che deve fare, gli darebbe gia 0.5 gradi o meno in fullstep (aumentabili con il microstepping) ... oppure uno degli altri simili ma con riduttore 100:1 e 0.18 gradi per step in fullstep ...

Certo poi ovviamente tutto dipende dalla reale precisione di cui ha bisogno ;)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

astrobeed

No, io pensavo al fatto che ha detto di aver bisogno di molta precisione ... anche con il microstepping a 16 passi ed uno stepper da 7.5 gradi per step, mi pare che al massimo possa farci circa mezzo grado o poco meno
Io ho parlato di uno stepper per stampanti 3D, ormai li trovi da tutte le parti e costano poco, sono da 200 step per giro, meglio ancora quelli da 400 step per giro, ovvero 1.8° oppure 0.9°, sulle 3D col microstepping si ottiene una precisione reale migliore di 0.1 mm su un movimento di 200 mm, la risoluzione è di gran lunga superiore.
Scientia potentia est

vitanio

Perché complicarsi la vita con la meccanica quando con uno stepper driver che costa 15 E, in tutti i casi lo deve prendere, hai il microstepping ?
Perdonami l'ignoranza, ma con il microstepping si elimina la limitazione di 1.8 gradi per step? ( cioè posso realmente stoppare il motore ogni 15 gradi esatti? )
intanto grazie mille a tutti per le risposte :)

Etemenanki

#8
Sep 10, 2015, 11:29 am Last Edit: Sep 10, 2015, 11:33 am by Etemenanki
Con i microstep puoi fare lo step "full", oppure 1/2, 1/4, 1/8, 1/16 (per i driver che comprendono il sedicesimo di step), quindi i gradi finali degli step dipendono dai gradi originali del motore divisi per questi parametri ...

EDIT: mi sono sempre chiesto perche' i costruttori di stepper motor fossero tutti cosi imbecilli ... dato che gli step li si puo fare virtualmente di qualsiasi larghezza (si trovano da 18, 15, 7.5, 1.8, 0.9, ... ecc), per quale ca...volo di motivo nessuno di loro abbia mai fatto la cosa piu ovvia e logica costruendo uno stepper da un grado preciso per step, non ci arrivero' mai a capirlo :P :P :P
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

vitanio

Perfetto..quindi con un microstep che supporta l'1/16, sarei in difetto di 0.037 gradi ogni 15 (in totale perderei quasi un grado). Potrebbe andare bene! sapreste consigliarmene qualcuno con queste specifiche? magari lo testo e vi faccio sapere...grazie mille per l'aiuto :)

astrobeed

cioè posso realmente stoppare il motore ogni 15 gradi esatti? )
intanto grazie mille a tutti per le risposte :)
Specifica cosa intendi per 15° esatti, ovvero l'errore massimo ammesso come scarto in più o meno.
In base al dato che fornirai è possibile indicarti sia lo stepper che il driver da utilizzare.
Scientia potentia est

paofanello

Affermazione decisamente errata, un servo digitale di fascia medio alta consente un precisione di 0.3° con una risoluzione di 0.1°
Ti ringrazio per la correzione! Non conoscevo questi tipi di servomotori!

vitanio

Specifica cosa intendi per 15° esatti, ovvero l'errore massimo ammesso come scarto in più o meno.
In base al dato che fornirai è possibile indicarti sia lo stepper che il driver da utilizzare.

L'errore massimo ammesso è di 0.04° circa... così da lasciare dopo i 24 spostamenti l'errore sotto l'1 grado. La soluzione con il driver da 1/16 per step dovrebbe andare bene..appena ho qualche minuto libero faccio qualche ricerca su siti ecommerce! :)

Go Up