ultimo aggiornamento 12 novembre 2017 |
|
Nella robotica per gli azionamenti, sono molto utilizzati i servomotori. Di solito questi si presentano come piccoli contenitori di materiale plastico da cui fuoriesce un perno in grado di ruotare in un angolo compreso tra 0 e 180° mantenendo stabilmente la posizione raggiunta. Per ottenere la rotazione del perno è utilizzato un motore a corrente continua e un meccanismo di demoltiplica che consente di aumentare la coppia in fase di rotazione. La rotazione del motore è effettuata tramite un circuito di controllo interno in grado di rilevare l'angolo di rotazione raggiunto dal perno tramite un potenziometro resistivo e bloccare il motore sul punto desiderato.
Struttura di un servomotore |
La dimensione e il fissaggio di
un servo standard non cambiano, a prescindere dalla casa produttrice; ciò
significa che potete procurarvelo da diversi produttori. Oltre a questi modelli
di dimensioni standard esistono comunque altri tipi di servo.
All'interno del servo è presente un motore, una serie
di ingranaggi che riducono la velocità del motore, un circuito di controllo e un
potenziometro.
Il motore e il
potenziometro sono collegati al circuito di controllo e l'insieme di questi tre
elementi definisce un sistema di feedback ad anello chiuso. Il circuito e il
motore vengono alimentati da una tensione continua stabilizzata, in genere di
valore compreso tra 4,8 V e 6,0 V, anche se molti motori sono in grado di
accettare input di alimentazione fino a 7,2 V
Per far girare il motore dovete inviare un segnale digitale al circuito di
controllo. In questo modo si attiva il motore che, attraverso una serie di
ingranaggi, è collegato al potenziometro. La posizione dell'albero dei
potenziometro indica una misura della posizione dell'albero motore del servo.
Quando il potenziometro raggiunge la posizione desiderata, il circuito di
controllo spegne il motore.
È facile dedurre che i servomotori vengono progettati in genere per effettuare
una rotazione parziale piuttosto che impostare un moto rotatorio continuo, come
nel caso di un motore in continua o passo-passo. Anche se è possibile
configurare un servo R/C perché ruoti in modo continuo, l'impiego fondamentale di un servo consiste nel
raggiungere una posizione accurata dell'albero del motore, con movimenti
compresi nell'intervallo tra 90° e 180'. Anche se questo movimento non sembra
considerevole, può risultare più che sufficiente per manovrare un robot, per sollevare e abbassare le gambe, per ruotare un sensore che deve esaminare ciò che
le circonda e molto altro ancora. La rotazione precisa di un angolo da parte di
un servo in risposta a determinati segnali digitali rappresenta una delle
funzionalità più sfruttate in tutti i campi della robotica.
I Servomotori sono concepiti per essere pilotati nel modo più semplice
possibile, eseguendo la movimentazione senza l'ausilio di circuiterie troppo
complesse o l'uso di sistemi a microprocessore.
Un servomotore dispone solitamente di soli tre fili attestati ad un connettore
femmina per pin strip a passo 2.54mm.
Anche se molti aspetti dei servo possono essere considerati standard, esistono
molte differenze tra i prodotti di case diverse per quanto riguarda la forma e i
contatti elettrici dei connettori impiegati per collegare il servo a un
ricevitore.
Nonostante queste differenze, in genere potete collegare i servo a un unico
connettore a tre terminali, da saldare su un circuito stampato oppure da
inserire in una breadboard. Se la presenza del connettore originale dovesse
rappresentare un problema, tagliate i fili di collegamento del servo e
collegateli direttamente al circuito di controllo. Questa soluzione può essere
valida come le altre, anche se rende più difficile l'eventuale sostituzione del
servo, se necessaria.
Tabella codice colori del connettore nei più diffusi modelli di servomotore.
|
|
Due di questi fili sono riservati all'alimentazione in corrente continua. Il
positivo è di colore rosso, il negativo di colore nero, il terzo filo,
normalmente di colore bianco, è riservato per il controllo del posizionamento.
Il colore di questi fili può però variare a seconda della casa costruttrice come
riportato
nella Tabella
Tramite il filo del controllo è necessario applicare un segnale impulsivo o PWM
(Pulse Wave Modulation) le cui caratteristiche sono "quasi" univoche per
qualsiasi servomotore disponibile in commercio. Per essere sicuri di riuscire a
pilotare qualsiasi servomotore il nostro circuito di pilotaggio dovrà essere in
grado di trasmettere al servomotore circa 50 impulsi positivi al secondo (uno
ogni 20 ms) di durata variabile, in un intervallo massimo compreso tra 0.25ms e
2.75ms.
Generalmente con un impulso di durata pari a 1.5 ms il perno del servomotore si
pone esattamente al centro del suo intervallo di rotazione. Da questo punto, il
perno può ruotare in senso antiorario se l'impulso fornito ha una durata
inferiore a 1.5ms e in senso orario se l'impulso fornito ha durata superiore a
1.5ms. Il rapporto esatto tra la rotazione del perno e la larghezza dell'impulso
fornito può variare tra i vari modelli di servomotore.
Diagramma temporizzazione per posizionamento al centro
Diagramma temporizzazione per rotazione antioraria |
Diagramma temporizzazione per rotazione oraria |
Il potenziometro del servo svolge
un ruolo fondamentale che consente di stabilire l'istante in cui il motore ha
impostato l'albero nella posizione desiderata. Questo potenziometro è
fisicamente collegato all'albero di uscita del motore; in alcuni servo, l'albero
del potenziometro coincide con l'albero stesso del motore. In questo modo, la
posizione del potenziometro coincide precisamente con quella dell'albero del
motore. Nei servo il potenziometro è configurato come un partitore di tensione e
fornisce al circuito di controllo una tensione che varia in funzione della
variazione dell'uscita del servo.
Il circuito di controllo del servo mette in relazione questa tensione con la
temporizzazione degli impulsi digitali di ingresso e genera un segnale di errore
nel caso in cui debba correggere la tensione da inviare al motore. Questo
segnale di errore è proporzionale alla differenza rilevata tra la posizione del
potenziometro e la temporizzazione definita dal segnale in ingresso. Per
compensare questa differenza, il circuito di controllo applica al motore un
segnale che tiene conto di questo errore. Quando la tensione del potenziometro e
la temporizzazione degli impulsi digitali coincidono, il segnale di errore viene
annullato e il motore si ferma.
I servo modificano la rotazione che effettuano anche in funzione del segnale
variabile da 1 ms a 2 ms che viene applicato dall'esterno. La maggior parte dei
servo standard viene progettata in modo da ruotare avanti e indietro da 90° a
180, in funzione degli impulsi di temporizzazione.
Gran parte dei servo è in
grado di effettuare una rotazione completa a 180°, o molto vicina a questo
valore. Se provate a superare i limiti meccanici di un servo, l'albero del
motore si blocca internamente; ciò provoca lo sfregamento o la vibrazione degli
ingranaggi.
Se questi effetti proseguono per più di qualche secondo, gli
ingranaggi del motore e il motore stesso possono danneggiarsi in modo
irreparabile. Di conseguenza, quando provate il funzionamento di un servo
prestate particolare attenzione a non superare i suoi limiti naturali di
rotazione.
La durata degli impulsi è definita nell'intervallo da 1 ms a 2 ms come standard
adottato dalla maggior parte dei produttori, anche se dovete ricordare che i
servo compatibili Futaba prevedono una durata degli impulsi variabile da 1 ms a
1,5 ms.
Può risultare un problema applicare un impulso di 2 ms a un servo Futaba,
in particolare se questo impulso spinge il servo verso la sua posizione di
blocco; il servo può rovinarsi facilmente. Invece di provare subito con impulsi
da 1 ms a 2 ms, quando avete a che fare con un servo di cui non conoscete le
caratteristiche, impiegate prima impulsi di durata non superiore a 1,5 ms;
aumentate la durata degli impulsi fino a 2 ms solo quando verificate che il
servo si muove solo di 45 gradi.
Il motore di un servo R/C ruota a una velocità di parecchi giri/m. Questa velocità è troppo elevata per essere impiegata direttamente nei modelli di aeroplani e automobili, per non parlare dei robot. Tutti i servo prevedono pertanto la presenza di ingranaggi che riducono l'uscita del motore a una velocità equivalente compresa tra 50 giri/m e 100 giri/m. Gli ingranaggi di un servo possono essere in plastica, nylon oppure metallo, in genere ottone o alluminio.
Gli ingranaggi in metallo durano più a lungo, ma aumentano sensibilmente il
costo del servo. Potete trovare ingranaggi di ricambio per molti servo, in
particolare quelli di prezzo medio o più alto. Se verificate che uno o più
ingranaggi non funziona più bene, potete disassemblare il servo e sostituire gli
ingranaggi rovinati. In alcuni casi potete anche rimpiazzare gli ingranaggi in
plastica di un servo economico con quelli in metallo di un servo di qualità
migliore.
Oltre agli ingranaggi motrici, anche l'albero del servo è soggetto alla stessa
usura e a rotture. Nei servo più economici l'albero di uscita è sostenuto da un
cuscinetto in plastica, che è ovviamente destinato a logorarsi rapidamente se il
servo viene utilizzato a fondo. In effetti, questo cuscinetto è costituito in
sostanza da una boccola, un manicotto o un collare che sostiene l'albero
rispetto al contenitore esterno del servo. 1 cuscinetti in metallo, in genere
realizzati in ottone lubrificato, durano più a lungo ma aumentano il costo del
servo. 1 servo migliori (e più costosi) sono dotati di cuscinetti a sfera che
garantiscono una durata maggiore. Per alcuni modelli di servo potete trovare
cuscinetti a sfera di ricambio.
I motori dei servo R/C rispettano una serie di caratteristiche standard, in
particolare per quanto riguarda i servo di dimensioni standard, che hanno un
ingombro di circa 40x20x35 mm. Altri tipi di servo possono avere dimensioni
differenti, dato che vengono realizzati per applicazioni particolari.
La Tabella 21.1 riporta le specifiche tipiche di diversi servo, tra cui le
dimensioni, il peso, la coppia motore e il tempo transitorio. Ovviamente, a
parte le dimensioni standard, queste specifiche possono variare in funzione del
modello e del produttore. Alcuni termini utilizzati per indicare le specifiche
richiedono una spiegazione dettagliata. Nel Capitolo 18 è stata definita la
coppia motore, o momento torcente, come una misura della forza esercitata da un
motore. L'unità di misura standard dei servo R/C è espressa in once per pollice,
ovvero dal numero di once che il servo è in grado di sollevare quando l'albero
del suo motore viene spostato di 1 pollice. 1 servo evidenziano una
considerevole coppia motore, soprattutto grazie agli ingranaggi di riduzione
della velocità del motore.
Il transitorio (o slew rate) esprime una misura approssimativa del tempo
richiesto dal servo per ruotare il motore di un determinato angolo, in genere di
60 °. I servo di piccole dimensioni impiegano circa un quarto di secondo per
ruotare di 60°, mentre quelli più grandi tendono a essere più lenti. Più è
piccolo il transitorio e più veloce risulta il funzionamento del servo.
Potete calcolare la velocità equivalente espressa in giri/m moltiplicando il
transitorio relativo a un angolo di 60° per 6 (in modo da ottenere il
transitorio di una rotazione a 360°), poi dividete il risultato per 60.
Considerate per esempio il motore di un servo che ha un transitorio a 60° di
0,20 s; questo tempo corrisponde a una rotazione in 1,2 s (0,2 x 6 = 1,2), da
cui si ricava una velocità di 50 giri/m (60 / 1,2 = 50). Dovete comunque tenere
presente che le specifiche standard possono subire variazioni di ogni genere.
Tipo servo |
Lunghezza |
Larghezza |
Altezza |
Peso |
Coppia |
Velocità |
Esempio servo Hitec |
Standard | 4 | 2 | 3,6 | 48,5 | 36,3 | 0,19 s/60° | HS 311 |
Scala 1/4 | 5,8 | 2,8 | 2,8 | 110 | 129,4 | 0,23 s/60° | HS 755HB |
Mini/micro | 2,2 | 1 | 2 | 8 | 11,7 | 0,12 s/60° | HS 45HB |
Basso profilo | 4 | 2 | 2 | 49 | 70 | 0,12 s/60° | HS-7775MG |
Servo standard Hitec HS 311 |
Servo scala 1/4 Hitec HS 755HB |
Servo mini/micro Hitec HS 45HB |
Servo basso profilo Hitec HS-7775MG |
Servomotore digitale HSR-8498HB prodotto dalla Hitec utilizzato per il Robot Robozak |
Servomotore analogico utilizzato per il Robot Robonox |
Servomotore analogico STD PM BB HT HS. utilizzato per il Robot Panettone |
Servomotore digitale RS308MD prodotto dalla Futaba utilizzato per il robot Robi |
Servomotore analogico S06NF STD prodotto dalla DaguRobot Utilizzato per la pinza robot |
Servomotore analogico S05NF STD prodotto dalla DaguRobot Utilizzato per la pinza robot |
Servomotore analogico DH-86 Prodotto dalla Daehwa Utilizzato per il braccio robot |
Servomotore analogico S148 prodotto dalla Futaba Utilizzata per il Pan & Tilt |
Micro
servo analogico MG90S è caratterizzato da dimensioni molto
ridotte e da ingranaggi in metallo. Utilizzato per il braccio robot |
Micro
servo analogico SG90 9g è caratterizzato da dimensioni molto
ridotte Utilizzato per il PCA9685 16 Channel 12-Bit PWM |
Servomotore analogico HS-55 prodotto dalla Hitec Utilizzato per dispositivo Pan e Tilt |
Elenco revisioni | |
05/05/2019 | Aggiornamento pagina |
16/11/2017 | Aggiornamento pagina |
04/06/2012 | Emissione preliminare |