Il servomotore: cos’è, come funziona e come sceglierlo.

Come è fatto un servo

Il servo non è un semplice motore, ma la composizione di vari elementi. Come vedremo, il servo è un vero e proprio sistema di controllo miniaturizzato. La figura qui sotto, riporta i componenti che compongono il servo motore.

Driver

Si tratta di una piccola scheda che contiene tutti i componenti per decodificare il segnale di controllo e regolare di conseguenza la potenza del motore.

La scheda legge il segnale di controllo del servo , lo confronta con il segnale proveniente dal potenziometro

Motore

Il motore del servo può essere di tipo brushless oppure un motore DC a spazzole tradizionale. Le prestazioni del motore brushless sono superiori sia in termini di usura che in termini di consumi. Generalmente viene scelto per applicazioni dove l’alimentazione è a batteria per ridurre il consumo di energia.

Ingranaggi

Gli ingranaggi dei servo sono uno degli aspetti critici. E’ su questa parte che la differenza fra i vari servo e le varie fasce di prezzo è più marcata.  Gli ingranaggi possono essere in

  • Nylon: per servo molto piccoli con carichi di qualche grammo e utilizzo non continuativo
  • Carbonite: è una plastica un po’ più resistente del nylon. Non si rompe in modo netto, ma si usura nel tempo.
  • Acciaio  si usa nei servo di fascia medio alta con coppie importanti, come il titanio
  • Titanio si usa per servo ad alte prestazioni. 
  • Ottone. si usa in alcuni servo di scarsa qualità e basso costo. In genere, gli ingranaggi fatti con queste leghe economiche hanno anche una scarsa qualità meccanica ( es. i denti degli ingranaggi sono imprecisi). Questo li rende rumorosi e soggetti ad usura rapida.

Feedback

Tutti i servo sono dotati di un meccanismo di feeback.  Il più diffuso e anche il più semplice da controllare è il potenziometro. La qualità dei potenziometri impiegati nei servo è molto buona per quanto riguarda la linearità e ripetibilità del posizionamento.

Un’ altra tecnica consiste nell’utilizzare degli encoder magnetici, ma il controllo diventa più complesso e viene utilizzato solamente in modelli di fascia alta.

Guida alla scelta dei servo 

Il mercato offre un’ampia gamma di servo motori i cui prezzi oscillano fra i pochi euro e le diverse centinaia di euro. Per questo motivo è opportuno comprendere quali siano i motori più adatti alle proprie esigenze, per evitare di spendere troppo oppure di acquistare prodotti scadenti.

La prima distinzione: servo cinese o servo “di marca”.

In questa guida escluderemo la trattazione dei servo cinesi ultra economici ( 7-8 euro ) perché, per quella che è la nostra esperienza, hanno una qualità meccanica veramente scadente. Basta aprire un qualunque servo ultra economico per capire che le performance dichiarate sono abbastanza fantasiose. 

La nostra scelta è sui servo Hitec per quanto riguarda la fascia medio-alta e i servo Futaba per applicazioni di fascia alta. Tutti i servo in comercio seguono lo standard hitec oppure futaba. “seguire lo standard” non significa avere le stesse prestazioni, ma semplicememnte gli stesis fori di fissaggio e passo degli ingranaggi.

Servo digitale oppure analogico ?

Spieghiamo brevemente che cosa significa digitale e analogico nel mondo dei servo motori.  Innazitutto precisiamo che analogico non è sinonimo di scadente, come digitale non è sinonimo di performante o moderno.

Punti comuni fra analogico e digitale.

La maggior parte dei servo in commercio utilizza un segnale modulato per il controllo e un potenziometro per stabilire la “posizione del motore”. Il servo, fondamentalmente è un motore retroazionato. Vediamo qui sotto cosa significa.

Il servo Innanzitutto precisiamo che il posionamento del servo è di tipo assoluto, mentre altri motori hanno un posizionamento di tipo relativo. Vediamo rapidamente la differenza.

Il posizionamento assoluto.

Quando controllo il servo, invio un’informazione che mi identifica l’angolo a cui voglio posizionare il sistema. Per esempio voglio che il mio servo ruoti di 45° rispetto alla posizione di 0. Se spengo il servo e poi lo riaccendo, la scheda sarà in grado di identificare la posizione, quindi se ero a 45° quando l’ho spento, a parita di segnale, il servo rimarrà a 45°. Il motore ha “memoria” della sua storia precedente. ( vediamo in seguito come ciò avviene).

Il posizionamento relativo

Il posizionamento relativo è quello che si ha, ad esempio, con un motore passo passo. Quando controllo un motore passo passo, non ho alcuna informazione sulla sua posizione attuale. Conosco solamente il numero di passi che ha percorso dall’ultima accensione. Il motore “non ha memoria” della sua storia precedente.

Il controllo di tipo “servo”

Per capire come il servo motore mantenga la memoria della sua posizione, vediamo  da quali eleementi è costituito. Se aprite un servo motore, vedrete un piccolo motore dc, una schedina, una serie di ingranaggi e un potenziometro. Immaginate di controllare il servo. Invierete un segnale che rappresenta la posizione “target”, cioé il punto di arrivo del vostro servo.  Supponiamo che sia 45°.  Il sensore (potenziometro) misura la posizione attuale. Supponiamo che sia 30°. La scheda di controllo farà un confronto fra la posizione target (setpoint) e la posizione attuale. Se ci sono delle differenze misurabili, invierà al motore un segnale per farlo avanzare o retrocedere finché la posizione misurata e il setpoint non coincideranno.

Questo metodo di controllo è comune al mondo analogico e al mondo digitale.

Il servo analogico

Il servo analogico nasce con delle impostazioni di fabbrica e, generalmente, non sono modificabili. Se, ad esempio, il nostro servo ruota di 180°, non potremo regolare il range o la risoluzione.

Il servo digitale

Il servo di tipo digitale utilizza un microcontrollore per stabilire la posizione del potenziometro.  Questo permette di accedere a qualche regolazione in più rispetto ad un normale servo analogico.

Il range.  Su tutti i servo di tipo digitale è possibile impostare il range, cioé l’angolo massimo e minimo.  Diminuendo il range posso aumentare la risoluzione.  Supponiamo, infatti, che il mio servo possa muoversi da 0 a 180°. Immaginiamo per comodità di poter inviare un segnale di controllo con risoluzione il centesimo di range.  lo spostamento minimo sarà di 1.8°. Supponiamo ora che mi interessi solo una porzione del range completo. Ad esempio 0 – 45°. Posso impostare il servo perché si muova solamente in questo spazio mantenendo, però, il centesimo di range. Avendo un range più piccolo, lo spostamento minimo sarà molto più piccolo, in questo caso 1/4 di quello precedente. In questo modo, potro avere un motore con risoluzione molto più alta. La figura che segue illustra quanto spiegato.