Servo (radio control)

Da raspibo.
Versione del 19 giu 2013 alle 19:17 di Aldus (discussione | contributi) (→‎Come funziona)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

Cosa è

Il Servo RC (Radio Control) o comunemente chiamato Servomotore è una piccola scatoletta di plastica da dove fuoriesce un perno (l'alberello) che può ruotare solitamente di 180°.

E' usato molto sia nella robotica per azionare bracci ed effettuare movimenti meccanici, che dagli appassionati dei radiocomandi, sfruttati sui modellini per direzionare piccoli elicotteri, aerei, auto etc etc. All'interno si divide in due parti, una parte meccanica dove è presente un sistema di ingranaggi, usato sia per aumentare la coppia in fase di rotazione e quindi avere una potenza più alta sull'alberello, e anche per diminuire il numero di giri/minuto del motore, altrimenti troppo veloce per questo tipo di uso. Oltre ciò è presente un circuito di controllo composto da un potenziometro resistivo (molte volte è l'alberello stesso) che blocca il motore quando questo si trova sulla posizione desiderata.


Come funziona

Il Servomotore possiede un sistema di pilotaggio molto semplice, possiede due fili per l'alimentazione (rosso e nero/marrone con tensione di lavoro che va da 4.5 a 6.5 Volt) e uno per il segnale di controllo (il colore varia in base al modello).

Il segnale di controllo è un segnale di tipo impulsivo (PWM), e viene decodificato in base alla durata degli impulsi positivi generati in intervalli di circa 20ms (50Hz), da questo treno di impulsi positivi si stabilisce la posizione del servo. Il rapporto tra larghezza dell'impulso e rotazione del perno può variare in base ai modelli ma generalmente è più o meno simile per tutti. Per essere sicuri che il sistema di pilotaggio riesca a pilotare qualsiasi servo questo deve essere in grado di generare impulsi in un intervallo massimo compreso tra 0.25ms e 2.75ms, mentre la possibile variazione dell'intervallo tra un impulso e l'altro molte volte porta al non funzionamento del servo o ad un tremolio fastidioso che rende poco fluido il movimenti del perno, quindi assicurarsi sempre che vi siano intervalli di 20ms (o come da specifiche).


Ad esempio con un treno di impulsi rispettivamente di:

  • 1ms: il servo si pone a -90° (senso antiorario)
  • 1.5ms: il servo si pone a 0° (centrale)
  • 2ms: il servo di pone a 90° (senso orario)


Quindi, se ad esempio osservassimo ad un oscilloscopio gli impulsi generati per posizionare e lasciare stabile il servo a -90°, ogni 20ms avremmo un segnale digitale alto della durata di 1ms, aumentando questo valore, la posizione del perno piano piano tenderà ad avvicinarsi alla posizione centrale, fin quando la durata del segnale non si fisserà a 1.5ms, una volta arrivati a 1.5ms vorrà dire che saremo nella posizione centrale. Continuando ad aumentare la larghezza dell'impulso, avvicinandoci a 2ms, la posizione del perno continuerà ad avanzare in senso orario fermandosi a 90°, ciò vorrà dire che il segnale sarà temporizzato sui 2ms ed in totale avremo che il perno avrà eseguito una rotazione completa di 180° (-90°,0°,90°).

Strumenti per pilotare un Servo

Questo è un elenco di strumenti utilizzabili sul Raspberry PI per pilotare un Servo RC senza l'ausilio di driver PWM (HW) esterni

Link Utili