Casa > Approfondimenti sul settore >Motoriduttore
SUPPORTO TECNICO

Supporto al prodotto

Principio di funzionamento e metodi di controllo del servomotore

Pubblicato 2026-04-03

Questo articolo fornisce una spiegazione tecnica completa di come funziona uno standardservoil motore funziona e i metodi esatti per controllarne la posizione. Imparerai il sistema di controllo interno a circuito chiuso, il ruolo del segnale di modulazione di larghezza di impulso (PWM) e istruzioni passo passo per un posizionamento angolare preciso, da 0 a 180 gradi.

01Principio di funzionamento fondamentale: controllo della posizione a circuito chiuso

Una normaservoil motore non è un semplice motore DC che funziona continuamente. Si tratta di un sistema di controllo a circuito chiuso completo costituito da quattro componenti interni chiave:

Motore CC:Genera movimento rotatorio.

Treno di riduzione degli ingranaggi:Riduce la velocità del motore moltiplicando la coppia.

Sensore di posizione (potenziometro):Collegato all'albero di uscita. La sua resistenza elettrica cambia mentre l'albero ruota, fornendo un feedback in tempo reale sull'angolo corrente.

Circuito di controllo:Confronta la posizione comandata (dal segnale PWM in ingresso) con la posizione effettiva (dal potenziometro).

Come funziona il circuito chiuso:

1. Il circuito di controllo riceve un comando di posizione target.

2. Legge la posizione attuale dell'albero dal potenziometro.

3. Calcola l'errore (posizione target - posizione attuale).

4. Guida il motore CC nella direzione corretta (avanti o indietro) per ridurre al minimo questo errore.

5. Quando la posizione corrente è uguale alla posizione target, il motore si ferma.

6. Questo circuito funziona continuamente, mantenendo l'albero nella posizione comandata anche se una forza esterna tenta di spostarlo.

Esempio da applicazioni comuni:In un'articolazione del braccio robotico, ilservoriceve un comando per spostarsi di 90 gradi. Anche se è collegato un carico leggero (ad esempio un piccolo utensile), il controllo a circuito chiuso mantiene attivamente la posizione a 90 gradi. Se una forza esterna spinge il braccio a 92 gradi, il potenziometro rileva questo cambiamento e il circuito di controllo applica immediatamente una controcoppia per tornare a 90 gradi.

02Il segnale di controllo: modulazione di larghezza di impulso (PWM)

La posizione del servo è controllata da un tipo specifico di segnale elettrico:Modulazione di larghezza di impulso (PWM). Il segnale di controllo ha tre parametri fissi e un parametro variabile.

Parametri fissi (standard per il 99% dei servi hobbistici e industriali):

Periodo del segnale:20 millisecondi (ms). Ciò significa che viene inviato un nuovo impulso ogni 20 ms, corrispondente ad una frequenza di 50 Hz.

voltaggio:Tipicamente da 4,8 V a 6,0 V (per servi standard). I servi ad alta tensione possono utilizzare 7,4 V o più, ma la logica del segnale rimane PWM a 50 Hz.

Impulso minimo e massimo:L'impulso più breve (solitamente da 0,5 ms a 1,0 ms) e l'impulso più lungo (solitamente da 1,5 ms a 2,5 ms) definiscono l'intero intervallo di corsa.

Parametro variabile: Ampiezza dell'impulso

La larghezza dell'impulso alto (in millisecondi) determina l'angolo target.

Posizione neutra (90 gradi):Un impulso di esattamente1,5 mscomanda al servo di ruotare fino al suo punto medio.

0 gradi (un estremo):Un impulso di1,0 ms(o talvolta 0,5 ms, a seconda della calibrazione di fabbrica del servo) comanda al servo di ruotare completamente fino a uno stop.

180 gradi (l'estremo opposto):Un impulso di2,0 ms(o talvolta 2,5 ms) comanda al servo di ruotare completamente fino alla battuta opposta.

Formula di mappatura precisa da impulso ad angolo:

Per un servo standard con un intervallo da 0° a 180° utilizzando un intervallo di impulsi da 1,0 ms a 2,0 ms:

Durata impulso target (ms) = 1,0 ms + (angolo desiderato / 180) * (2,0 ms - 1,0 ms)

Oppure semplificato:Durata dell'impulso (ms) = 1,0 + (angolo desiderato / 180)

Calcolo di esempio:

Angolo desiderato = 45 gradi

Ampiezza impulso = 1,0 + (45/180) = 1,0 + 0,25 =1,25 ms

Regola temporale importante:L'impulso viene inviato ogni 20 ms. La durata della parte bassa del segnale viene determinata automaticamente come20 ms - larghezza impulso ms. Il circuito di controllo misura solo ilelevata larghezza di impulso. Finché il periodo rimane di 20 ms (± qualche ms di tolleranza), il servo manterrà la sua posizione.

03Metodo di controllo passo dopo passo

Per posizionare con precisione un servo, è necessario generare un segnale PWM continuo a 50 Hz con larghezza di impulso variabile. Ecco il metodo esatto utilizzando l'hardware comune:

Passo 1: Determina i limiti di pulsazione del tuo servo

Non dare mai per scontato che un servo utilizzi da 1,0 ms a 2,0 ms. Verificare sempre la scheda tecnica del produttore. Per sicurezza:

1. Iniziare con un impulso di 1,5 ms (neutro).

2. Diminuire gradualmente l'ampiezza dell'impulso di 0,05 ms ogni 2 secondi finché non si sente il servo fermarsi o si vede che raggiunge il limite fisico. Registratelo come impulso minimo.

控制舵机的程序_舵机原理及控制方法_舵机控制函数

3. Aumentare gradualmente l'ampiezza dell'impulso da 1,5 ms a 0,05 ms ogni 2 secondi per trovare l'impulso massimo.

Passaggio 2: generare il segnale PWM

È necessario un microcontrollore (ad esempio Arduino, Raspberry Pi Pico, STM32) o un modulo servocontrollore dedicato.

Esempio: controllo di un servo con un microcontrollore standard:

Collegare l'alimentazione:Filo rosso del servo a +5 V, filo marrone/nero a GND. Utilizzare un'alimentazione separata per i servi a coppia elevata.

Collegare il segnale:Cavo arancione/bianco/giallo a un pin digitale compatibile con PWM.

Scrivi il codice sull'uscita PWM a 50 Hz con ciclo di lavoro variabile.

Passaggio 3: inviare la sequenza di comandi

Per spostarsi a 0 gradi: emettere impulsi continui di ampiezza 1,0 ms, ogni 20 ms.

Per spostarsi a 90 gradi: emettere impulsi continui di ampiezza 1,5 ms, ogni 20 ms.

Per spostarsi a 180 gradi: emettere impulsi continui di ampiezza 2,0 ms, ogni 20 ms.

Passaggio 4: verificare il movimento

Dopo aver inviato la nuova ampiezza dell'impulso, il servo ruoterà nella nuova posizione entro il tempo di transito specificato (tipicamente da 0,1 a 0,3 secondi per 60 gradi). Il circuito di controllo manterrà quindi quella posizione.

Esempio da applicazioni comuni:In un modello di aeroplano telecomandato, il ricevitore decodifica la posizione del joystick del trasmettitore in un segnale PWM. Quando si sposta il joystick dal centro completamente a sinistra, il ricevitore modifica l'impulso da 1,5 ms a 1,0 ms. Il circuito di controllo del servo rileva questo cambiamento, guida il motore per spostare la superficie di controllo (ad esempio, l'alettone) sulla nuova angolazione e la mantiene lì finché il joystick non si sposta di nuovo.

04Problemi comuni e soluzioni

Problema: il servo trema o oscilla.

Causa:Alimentazione disturbata o segnale PWM instabile (jitter temporale).

Soluzione:Aggiungere un condensatore di grandi dimensioni (1000 µF o più) lungo le linee di alimentazione del servo vicino al servo. Assicurarsi che il microcontroller utilizzi una sorgente di clock stabile.

Problema: il servo non ruota completamente di 180 gradi.

Causa:Le ampiezze di impulso minima e massima applicate non corrispondono alla calibrazione interna del servo.

Soluzione:Eseguire la procedura di rilevamento del limite di impulso al passaggio 1. Regolare di conseguenza le costanti di impulso minima e massima del codice.

Problema: il servo si surriscalda o assorbe corrente elevata mentre è fermo.

Causa:Il servo lotta costantemente contro un carico esterno oppure il suo potenziometro interno è disallineato.

Soluzione:Ridurre il carico meccanico. Se il servo emette un ronzio alla fine della corsa, ridurre leggermente l'ampiezza dell'impulso comandato (ad esempio, utilizzare 1,05 ms invece di 1,0 ms per 0 gradi).

Problema: il servo si sposta in una posizione ma ritorna lentamente quando viene applicato il carico.

Causa:Coppia insufficiente per l'applicazione oppure la tensione di alimentazione diminuisce sotto carico.

Soluzione:Utilizzare un servo con una coppia nominale più elevata. Utilizzare un alimentatore in grado di fornire almeno 2 volte la corrente di stallo del servo.

05Riepilogo dei principi fondamentali e raccomandazioni attuabili

Principi fondamentali ripetuti per l’enfasi:

Un servo è asistema di controllo della posizione a circuito chiuso, non solo un motore.

Il segnale di controllo èPWM a 50 Hzcon un periodo fisso di 20 ms.

ILlarghezza dell'impulso(da 1,0 ms a 2,0 ms tipico) si mappa direttamente sulla posizione angolare (da 0° a 180°).

Il circuito di controllo confronta continuamente le posizioni comandate ed effettive, applicando la coppia del motore per eliminare qualsiasi errore.

Raccomandazioni attuabili per un servocontrollo affidabile:

1. Verificare sempre la portata degli impulsi del servo prima dell'uso.Utilizzare un impulso neutro di 1,5 ms come punto di partenza sicuro. Non assumere mai un intervallo compreso tra 1,0 ms e 2,0 ms senza eseguire il test.

2. Utilizzare un alimentatore dedicato per i servi a coppia elevata.Non alimentare un servo dal pin 5V del microcontrollore. Un servo in stallo può assorbire 1-3 ampere, che ripristineranno la maggior parte dei microcontrollori.

3. Aggiungere un condensatore elettrolitico da 100-1000 µF ai cavi di alimentazione e di terra del servo.Ciò stabilizza la tensione ed elimina la maggior parte dei problemi di jitter.

4. Invia comandi PWM continuamente.Il servo richiede un nuovo impulso ogni 20 ms per mantenere la sua posizione. Se il segnale si interrompe, la maggior parte dei servi rilascerà la coppia e si muoverà liberamente.

5. Per applicazioni precise (ad esempio, gimbal della fotocamera, dita robotiche), calibrare ciascun servo individualmente.Misurare l'ampiezza esatta dell'impulso per 0°, 90° e 180° utilizzando un potenziometro o un sensore angolare. Memorizza questi valori calibrati nel tuo codice di controllo.

Applicando questi principi e metodi, otterrai un posizionamento servo accurato, ripetibile e affidabile per qualsiasi progetto, dai bracci robotici agli animatronici e alle macchine CNC.

Tempo di aggiornamento: 03-04-2026

Alimentare il futuro

Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.

Invia una e-mail a Kpower
Invia richiesta
+86 0769 8399 3238
 
kpowerMap