Pubblicato 2026-04-05
Impostazione aservomotore a un angolo di rotazione specifico è un compito fondamentale nella robotica, nell'automazione e nell'elettronica fai-da-te. Questa guida fornisce i passaggi esatti, la logica del codice e i metodi di calibrazione per creare qualsiasi standardservoruota in qualsiasi angolazione di cui hai bisogno, senza fare affidamento su alcuna marca o prodotto specifico. Imparerai il principio universale dell'ampiezza dell'impulso, l'approccio di programmazione passo passo e come risolvere i comuni errori angolari. Alla fine, sarai in grado di impostare gli angoli dei servi in modo accurato e ripetuto.
Tutti i servi standard utilizzano aModulazione di larghezza di impulso (PWM)segnale per determinare il loro angolo di rotazione. Il segnale di controllo è una frequenza di 50 Hz (periodo = 20 millisecondi). Entro ogni periodo di 20 ms, un impulso alto (il tempo di “attivazione”) indica al servo dove andare.
Impulso da 1,0 ms→ 0 gradi (completamente in senso antiorario sulla maggior parte dei servi)
Impulso da 1,5 ms→ 90 gradi (posizione centrale)
Impulso da 2,0 ms→ 180 gradi (completamente in senso orario)
Questi valori rappresentano lo standard del settore. Tuttavia, i punti finali effettivi possono variare leggermente tra i singoli servi. La tabella seguente mostra la relazione universale:
> Fatto fondamentale: L'ampiezza dell'impulso modifica l'angolo in modo lineare. Per qualsiasi angolo compreso tra 0° e 180°, l'ampiezza dell'impulso richiesta = 1,0 ms + (angolo/180) × 1,0 ms.
Segui questi quattro passaggi universali. Non si presuppone alcun software o hardware specifico del marchio.
Un servo standard ha tre fili:
Marrone o Nero– Terra (collegare a GND del controller)
Rosso– Alimentazione (5 V per la maggior parte dei servi; controlla la tensione nominale del tuo servo)
Arancione o Giallo– Segnale (collegare a un pin compatibile con PWM)
> Avvertimento critico: Non alimentare un servo direttamente dal pin 5 V del microcontrollore quando è sotto carico. Utilizzare un alimentatore separato da 5 V in grado di fornire almeno 1 A per servo.
Configura il tuo microcontrollore o servoazionamento per produrre un segnale a 50 Hz (periodo di 20 ms). Quindi imposta la larghezza dell'impulso in base all'angolo target.
Calcolo di esempio: Per impostare 45°
Ampiezza dell'impulso = 1,0 + (45/180)×1,0 = 1,0 + 0,25 = 1,25 ms
Calcolo di esempio: Per impostare 135°
Ampiezza dell'impulso = 1,0 + (135/180)×1,0 = 1,0 + 0,75 = 1,75 ms
La seguente logica funziona su qualsiasi piattaforma (Arduino, Raspberry Pi, ESP32, ecc.):
Imposta la frequenza PWM = 50 Hz Imposta la risoluzione PWM = 1 µs (microsecondo) funzione passi setAngle(angle_degrees): se Angle_degrees 180: Angle_degrees = 180 Pulse_width_us = 1000 + (angle_degrees / 180)1000 # Pulse_Width_us è compreso tra 1000 e 2000 Scrivi segnale PWM: periodo = 20000 µs, high_time = Pulse_Width_us
Dopo aver caricato il codice, osserva il quadrilatero del servo. Se il clacson non si sposta nella posizione prevista, seguire la calibrazione nella Sezione 4.
Considera un semplice braccio robotico con tre articolazioni (spalla, gomito, polso). Vuoi che l'articolazione del gomito si muova da 30° a 120° in 2 secondi.
Passaggi del caso:
1. Identificare il servo per il gomito.
2. Scrivi un ciclo che aumenta gradualmente l'angolo:
Angolo iniziale = 30° → larghezza dell'impulso = 1,0 + (30/180)×1,0 = 1,1667 ms
Angolo finale = 120° → larghezza dell'impulso = 1,0 + (120/180)×1,0 = 1,6667 ms
3. Aumentare l'angolo di 1° ogni 20 millisecondi (50 passi al secondo).
![]()
4. Durata totale = (120‑30) passi × 0,02 s = 1,8 secondi (circa).
Risultato: Il gomito si muove agevolmente da 30° a 120° senza sussulti. Questo metodo viene utilizzato quotidianamente da migliaia di hobbisti e robot educativi.
Anche con l'intervallo corretto di 1,0–2,0 ms, potresti scoprire che un comando per 90° risulta in 85° o 95°. Ciò è normale a causa delle tolleranze di produzione. Calibrare ciascun servo individualmente:
1. Comandare il servo a 0° (inviare un impulso da 1,0 ms).
2. Contrassegnare la posizione effettiva sul clacson.
3. Comandare il servo a 180° (inviare un impulso di 2,0 ms).
4. Contrassegnare la posizione effettiva.
5. Misurare l'intervallo dell'angolo reale. Ad esempio, se l'intervallo fisico è solo 170°:
Impulso minimo reale = 1,0 ms (funziona ancora)
Il vero impulso massimo = 2,0 ms dà 170° → per ottenere 180°, sarebbero necessari 2,058 ms.
6. Invece di modificare l'intervallo standard, mappa l'angolo desiderato sull'intervallo effettivo:
angolo_effettivo = angolo_desiderato × (vero_angolo_massimo / 180)
Esempio: Se l'angolo massimo reale = 170°, per ottenere i 90° desiderati:
angolo_effettivo = 90 × (170/180) = 85°→ inviare impulso per 85°.
Questa mappatura lineare garantisce che il clacson fisico vada esattamente dove vuoi.
Evita questi errori per garantire il successo:
Alcuni servi sono modificati per la rotazione continua. In tal caso, l'ampiezza dell'impulso non definisce più un angolo assoluto. Invece:
1,5 msfermare
(ad esempio, 1,3 ms) → ruotare in una direzione a una velocità proporzionale alla differenza
>1,5 ms(ad esempio, 1,7 ms) → ruotare nella direzione opposta
Per i servi a rotazione continua, l'impostazione dell'angolo non è possibile senza un sensore di feedback (encoder). Utilizzare un servo standard (0–180°) per il posizionamento angolare assoluto.
Principio fondamentale ripetuto: L'angolo di rotazione del servo viene impostato generando un segnale PWM a 50 Hz con una larghezza di impulso compresa tra 1,0 ms (0°) e 2,0 ms (180°). La relazione è lineare.
Piano d'azione immediato:
1. Collegareil tuo servo a un alimentatore dedicato da 5 V (non il pin 5 V del tuo microcontrollore se più di un servo).
2. Generareun segnale PWM a 50 Hz su qualsiasi pin GPIO utilizzando la libreria servo della tua piattaforma preferita o il PWM grezzo.
3. Calcolarela larghezza dell'impulso:impulso_us = 1000 + (angolo_desiderato/180)1000.
4. Testcon 0°, 90° e 180°. Segna le posizioni effettive.
5. Calibrareutilizzando la formula di mappatura della Sezione 4 se le posizioni sono sfalsate di oltre 2°.
6. Muoviti gradualmentetra gli angoli modificando l'angolo di 1–2° ogni 20–50 ms per evitare stress meccanici.
Seguendo questa guida, è possibile impostare qualsiasi servo standard su qualsiasi angolo compreso tra 0° e 180° con una precisione di ±1°. Non sono necessari trucchi specifici del marchio: solo lo standard PWM universale a cui obbediscono tutti i servi.
Tempo di aggiornamento: 05-04-2026
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.