Pubblicato 2026-04-09
Questo articolo spiega i principi fondamentali alla base del controllo della velocità di rotazione di aservomotore, che copre il ruolo della modulazione di larghezza di impulso (PWM), parametri del segnale e passaggi pratici per l'implementazione. Che tu stia costruendo un braccio robotico, un veicolo telecomandato o un sistema di posizionamento automatizzato, comprendere questi principi ti consentirà di gestire con precisioneservovelocità di rotazione senza fare affidamento su alcuna marca specifica o hardware proprietario.
Prima di controllare la velocità, devi identificare quale tipo di servomotore stai utilizzando, perché non tutti i servi consentono la regolazione della velocità.
Servo posizionale standard (rotazione 0–180° o 0–270°)– Progettato per mantenere un angolo specifico, non per ruotare continuamente. Il suo circuito di controllo interno confronta la posizione comandata con la posizione effettiva e guida il motore alla coppia massima per raggiungere quell'angolo il più velocemente possibile. Non puoi controllare direttamente la sua velocità di rotazione; il servo si muove sempre alla velocità massima progettata per qualsiasi cambio di angolo.
Servo a rotazione continua– Modificato o progettato per ruotare liberamente in entrambe le direzioni. Questo tipo rimuove il feedback di posizione interno, consentendo di controllare sia la direzione che la velocità di rotazione. La maggior parte dei servi a rotazione continua di livello hobbistico utilizzano lo stesso formato di segnale PWM dei servi posizionali, ma l'ampiezza dell'impulso viene mappata in velocità (e direzione) anziché in angolo.
Punti chiave:Per controllare la velocità del servo, è necessario utilizzare aservo a rotazione continua(o un servo standard modificato per la rotazione continua). Per i servi posizionali standard, il controllo della velocità non è disponibile nativamente.
La velocità di rotazione di un servo a rotazione continua è determinata dalarghezza dell'impulso di controlloinviato ogni 20 millisecondi (frequenza 50 Hz). Questo è il formato del segnale standard del settore per quasi tutti i servi per hobby.
Il punto neutro (velocità zero) è tipicamente un impulso di 1,5 ms. Le deviazioni da questo valore producono una velocità proporzionale in una direzione o nell'altra.
Nota: gli endpoint esatti possono variare leggermente tra i produttori (±0,1 ms), ma la relazione lineare rimane la stessa.
Immagina di costruire una piccola macchina robotica utilizzando due servi a rotazione continua come ruote motrici. Vuoi che l'auto si muova lentamente in avanti, quindi acceleri gradualmente.
Avanti a bassa velocità:Invia un impulso da 1,55 ms ogni 20 ms – solo 0,05 ms sopra il neutro. Il servo ruota in avanti a circa il 10% della sua velocità massima.
Velocità media in avanti:Invia un impulso di 1,60 ms – circa il 50% della velocità.
Avanti a tutta velocità:Invia un impulso di 1,70 ms – velocità di avanzamento al 100%.
Retromarcia a bassa velocità:Invia un impulso di 1,45 ms – circa il 10% della velocità inversa.
Aumentando l'ampiezza dell'impulso in piccoli passi (ad esempio, incrementi di 0,01 ms), si ottiene un controllo della velocità uniforme e proporzionale. Questo stesso principio si applica ai meccanismi di brandeggio orizzontale, nastri trasportatori o qualsiasi applicazione che richieda una velocità di rotazione variabile.
Il periodo di 20 ms è la frequenza di aggiornamento standard per la maggior parte dei servi. Il servo legge l'ampiezza dell'impulso una volta per ciclo. Periodi più brevi (frequenze più alte) possono causare surriscaldamento o comportamento irregolare, mentre periodi più lunghi (frequenze più basse) riducono la reattività. Utilizzare sempre 50 Hz (periodo di 20 ms) come linea di base.
Seguire questi passaggi per controllare la velocità di un servo a rotazione continua utilizzando qualsiasi microcontrollore o generatore di segnali PWM.
Alimenta il servo e invia un impulso di 1,5 ms. Se si ferma o mantiene la posizione, potrebbe essere un servo posizionale standard (rimuovere il feedback se necessario).
Per un servo a rotazione continua noto, un impulso di 1,5 ms rende fermo l'albero.
Configura la sorgente del segnale in modo che emetta un periodo di 20 ms (50 Hz). Il ciclo di lavoro determina l'ampiezza dell'impulso:
Ciclo di lavoro (%) = (larghezza dell'impulso in ms/20 ms) × 100
Esempi:
Impulso da 1,5 ms → ciclo di lavoro 7,5%.
Impulso da 1,3 ms → ciclo di lavoro 6,5%.
Impulso da 1,7 ms → ciclo di lavoro 8,5%.
Creare una funzione di mappatura lineare:
Ingresso: velocità desiderata da –100% (massima retromarcia) a +100% (massima marcia avanti), dove 0% = arresto.
Uscita: larghezza dell'impulso = 1,5 ms + (frazione di velocità desiderata × 0,2 ms)
Mappatura di esempio:
–100% → 1,3ms
–50% → 1,4ms
0% → 1,5ms
+50% → 1,6ms
+100% → 1,7ms
Regolare la larghezza dell'impulso in piccoli incrementi (ad esempio, 0,01 ms) per ottenere un'accelerazione uniforme. Cambiamenti bruschi dalla retromarcia completa alla marcia avanti completa possono causare stress meccanico: aumentare sempre gradualmente l'ampiezza dell'impulso.
Anche con i principi corretti, i problemi del mondo reale influenzano il controllo della velocità. Ecco alcuni casi tipici e le relative soluzioni.
Causa:Tolleranze di produzione o variazioni di tensione spostano il punto neutro.
Soluzione:Calibra il tuo servo specifico. Invia impulsi da 1,4 ms a 1,6 ms e trova l'esatta larghezza dell'impulso in cui si interrompe la rotazione. Usa quel valore come punto neutro (ad esempio, 1,52 ms).
Causa:Il driver interno del servo ha una banda morta – un piccolo intervallo di impulsi in cui non si verifica alcun movimento (di solito ±0,03 ms attorno al punto neutro).
Soluzione:Operare al di fuori della zona morta. Per velocità molto basse, accettare che piccoli cambiamenti di impulso non producano movimento; aumentare l'incremento dell'impulso per superare la banda morta.
Causa:La velocità del servomotore dipende dalla tensione. Una tensione inferiore riduce la velocità massima; una tensione più elevata lo aumenta.
Soluzione:Utilizzare un alimentatore regolato (ad esempio, regolato a 5 V o 6 V) per mantenere una velocità costante. Per le applicazioni alimentate a batteria, misurare la tensione e compensarla regolando dinamicamente la mappatura impulso-velocità se la precisione della velocità è fondamentale.
Causa:Frequenza del segnale PWM instabile o potenza rumorosa.
Soluzione:Assicurati che il segnale PWM sia generato con timer hardware (non ritardi software) e aggiungi un condensatore elettrolitico da 100–470 µF sui terminali di alimentazione del servo per attenuare i picchi di tensione.
Sulla base dei principi di cui sopra, seguire queste raccomandazioni per ottenere un controllo della velocità del servo prevedibile e ripetibile.
Non fare affidamento sul neutro nominale di 1,5 ms. Scrivi una semplice routine di calibrazione che trovi il vero punto di arresto.
Registrare l'impulso minimo per la retromarcia completa e l'impulso massimo per la marcia avanti completa.
Il PWM hardware generato dal microcontroller (ad esempio, i timer in modalità PWM) produce impulsi stabili e privi di jitter. I ritardi del software sono troppo incoerenti per una rampa di velocità uniforme.
Non saltare mai dalla retromarcia completa alla marcia avanti completa all'istante. Modificare la larghezza dell'impulso di non più di 0,01–0,02 ms per intervalli di 50 ms per proteggere il servo e il carico.
Un servo alla massima velocità può assorbire 500–1500 mA. Assicurati che la tua fonte di alimentazione possa fornire almeno il doppio della corrente di stallo nominale. Un'alimentazione regolata da 5 V, 2 A funziona per la maggior parte dei servi singoli a rotazione continua.
Per controllare la velocità di rotazione di un servomotore:
1. Utilizzare un servo a rotazione continua– I servi di posizione standard non consentono il controllo della velocità.
2. Invia un segnale PWM a 50 Hz(periodo di 20 ms) con ampiezze di impulso che tipicamente vanno da 1,3 ms (max inversione) a 1,7 ms (max in avanti).
3. La relazione è lineare– L'ampiezza dell'impulso si associa proporzionalmente alla velocità, con 1,5 ms di arresto.
4. La calibrazione è obbligatoria– trova i punti neutri e finali esatti per il tuo servo specifico.
5. Gestisci la potenza e la qualità del segnale– utilizzare tensione regolata, PWM hardware e rampa di accelerazione per un funzionamento regolare.
Se stai avviando un progetto che richiede una velocità servo variabile:
Passaggio 1: acquistare o modificare un servo a rotazione continua (controllare le specifiche del prodotto per "rotazione continua").
Passaggio 2: impostare un generatore di segnale PWM a 50 Hz (funziona qualsiasi microcontrollore con PWM hardware).
Passaggio 3: scrivere uno schizzo di calibrazione che spazi gli impulsi da 1,3 ms a 1,7 ms e registri il comportamento osservato.
Passaggio 4: implementare una mappatura lineare dalla velocità desiderata (%) all'ampiezza dell'impulso calibrato.
Passaggio 5: aggiungere la rampa di accelerazione e una fonte di alimentazione stabile da 5 V/6 V.
Seguendo questa guida, otterrai un controllo della velocità del servo preciso, ripetibile e affidabile per qualsiasi applicazione, dai bracci robotici ai cursori automatizzati delle telecamere.
Tempo di aggiornamento: 09-04-2026
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.