Se ci si imbatte in un progetto su Hackaday o nel portale di Instructables, è molto probabile che uno dei componenti utilizzati sia un servomotore. Il grande vantaggio dei servomotori rispetto ai motori classici è che possono assumere una posizione specifica e mantenerla, il che (di solito) si traduce in un elevato livello di precisione. Ma come fanno?

Come funzionano i servomotori?
Servomotori

Il funzionamento dei servomotori

Esiste un ampio numero di servomotori sul mercato, e alcuni modelli sono così avanzati da diventare proibitivi, ma i progetti comuni sono più che sufficienti per studiare il meccanismo di base, composto da un circuito elettronico, un motore a corrente continua, una scatola di ingranaggi che collega il motore a un albero di uscita, e un potenziometro nella parte inferiore dell'albero, che allo stesso tempo si collega al circuito.

Il compito del potenziometro è quello di fornire un feedback sulla posizione dell'albero, mentre gli ingranaggi si occupano di ridurre il numero di giri (60 RPM è un valore tipico) e aumentare il torque (so che all'Accademia della Crusca non piace molto, ma chiedo di accompagnarmi).

Un servomotore convenzionale può ruotare fino a 180 gradi, ma questa non è una limitazione che influisce sulle sue applicazioni più popolari, come i sistemi di sterzo nell'aeromodellismo e nei piccoli robot. Il servomotore è controllato tramite un segnale modulato per larghezza di impulso o PWM.

La maggior parte dei modelli utilizza segnali con una frequenza di 50 Hz, limitando il tempo tra un impulso e l'altro a 20 millisecondi. La durata stessa dell'impulso determina la posizione angolare del servo, con intervalli estremamente brevi.

I valori finali possono variare da un modello all'altro, ma in generale si parla di 1 millisecondo (o 0,5) per un angolo di 0 gradi, 1,5 millisecondi per 90 gradi, e 2 millisecondi (o 2,5) per 180 gradi.

Come funzionano i servomotori?
Una guida di posizione angolare in relazione alla durata di ciascun impulso. Gli impulsi possono essere più corti o più lunghi, a seconda del servo.
Come funzionano i servomotori?
Diagramma base di un servomotore collegato a un Arduino (in questo caso richiede una fonte esterna)

Il circuito di controllo confronta la tensione del potenziometro con la tensione del segnale e, se necessario, attiva un ponte H integrato per modificare la direzione di rotazione, finché la differenza tra i due segnali non è zero. La seconda parte del video che ci accompagna si concentra sul controllo dei servomotori con l'aiuto di un modulo Arduino, e quali sono le restrizioni principali, cominciando da una fonte di alimentazione esterna (l'Arduino non ha la potenza sufficiente per alimentare il servomotore nell'esempio). Il resto si riduce a caricare il codice (disponibile nella fonte qui sotto) specificando il pin di controllo che andrà collegato al servo.

Fonte: