Pubblicato 2026-04-19
Questa guida fornisce un metodo pratico e testato per realizzare aservoil motore ruota sia in senso orario (CW) che in senso antiorario (CCW) utilizzando una scheda microcontrollore standard. Che tu stia costruendo un braccio robotico, un sistema di panoramica e inclinazione della telecamera o un semplice display rotante, imparerai esattamente come ottenere il controllo bidirezionale. Utilizzeremo esempi comuni e reali, come l'apertura e la chiusura di un piccolo cancello o la rotazione di un sensore a destra e a sinistra, per mostrarti il cablaggio verificato, la struttura del codice e i passaggi per la risoluzione dei problemi. Non sono richiesti prodotti specifici del marchio; i principi funzionano con qualsiasi standardservoe scheda di controllo compatibile.
Prima di scrivere qualsiasi codice, devi sapere che tipo di servo hai. Esistono due tipi comuni:
Servo standard a 180°– ruota solo tra 0° e 180°. “Avanti” significa angolo crescente (ad esempio, 0° → 180°). “Reverse” significa angolo decrescente (180° → 0°).
Servo a rotazione continua– ruota completamente in entrambe le direzioni. "Avanti" è una direzione di rotazione (ad esempio, CW), "Retromarcia" è l'opposto (CCW). È anche possibile controllare la velocità.
> Verifica(fonte: schede tecniche dei servo standard e pratica industriale): per i servo continui, una larghezza di impulso di 1,5 ms arresta il motore; 1,3 ms guida alla massima velocità in una direzione; 1,7 ms guida alla massima velocità nella direzione opposta. Per i servi standard, 0° = impulso da 0,5 ms, 180° = impulso da 2,5 ms (valori tipici, controlla le specifiche del tuo servo).
Per le seguenti istruzioni, presupponiamo che tu abbia:
1 scheda microcontrollore (qualsiasi scheda di sviluppo comune)
1 servomotore (standard 180° o continuo – li copriremo entrambi)
3 ponticelli (maschio-femmina)
1 alimentatore esterno (4,8 V–6 V per la maggior parte dei servi piccoli; non alimentare un servo direttamente dal pin 5 V della scheda se assorbe >200 mA)
1 breadboard (opzionale, per connessioni precise)
Scenario del mondo reale utilizzato in questa guida: Stai costruendo un piccolo cancello automatizzato che si apre (orario) e si chiude (antiorario). Il servo è montato sulla cerniera del cancello.
Collega il servo alla scheda utilizzando questi pinout verificati:
Regola critica: Collegare sempre la terra del servo alla terra della scheda, anche se si utilizza un alimentatore esterno. Senza una terra comune, il segnale sarà instabile.
La normaServoè inclusa nella maggior parte degli IDE di microcontrollori. Per usarlo:
1. Apri il tuo IDE.
2. Vai aSchizzo → Includi libreria → Servo(o equivalente nel tuo ambiente).
3. Se non è preinstallato, cerca "Servo" nel Gestore della libreria e installa quello ufficiale (solitamente gestito dagli sviluppatori della piattaforma).
![]()
Questo codice fa sì che il servo si muova da 0° a 180° (una direzione) e di nuovo a 0° (direzione opposta). Usalo per bracci, leve o cancelli che necessitano di un posizionamento preciso.
#includereServomioServo; // crea oggetto servo int pos = 0; // variabile per memorizzare l'angolo void setup() { myServo.attach(9); // pin del segnale 9 } void loop() { // Direzione in avanti: 0° -> 180° (in senso orario per la maggior parte dei servi) for (pos = 0; pos 0° (in senso antiorario) for (pos = 180; pos >= 0; pos -= 1) { myServo.write(pos); ritardo(15); } }
Per testare basta un movimento in avanti e fermarsi: rimuovi il loop inverso o aggiungi amentre(1);dopo il ciclo in avanti.
I servi continui non utilizzano gli angoli: utilizzano la velocità e la direzione. Utilizzare questo codice per ruote, nastri trasportatori o piattaforme a rotazione continua.
#includereServomioServo; void setup() { mioServo.attach(9); } void loop() { // Massima velocità in senso orario (avanti) myServo.write(0); // o un valore 90 (ad esempio, 135 o 180) ritardo(2000); // Ferma di nuovo myServo.write(90); ritardo(1000); }
> Calibrazione importante: Il valore esatto di “stop” varia tra i servi. Testa i valori da 85 a 95 per trovare il punto neutro del tuo servo. Usa un piccolo ritardo e osserva.
Sulla base dei resoconti degli utenti effettivi e dei nostri test, ecco i problemi più frequenti e le soluzioni verificate:
Per controllare con successo la rotazione avanti e indietro del servo:
1. Identifica il tuo tipo di servo(180° o continuo).
2. Collegare l'alimentazione– alimentazione esterna + terra comune.
3. Collegare il cavo del segnalea un pin PWM (ad esempio, pin 9).
4. Carica la libreria Servoe carica il codice appropriato sopra.
5. Direzione della prova– per i servi standard, 0→180 = avanti; per continuo scrivere 90 = inverso.
6. Calibrare l'arresto(continuo) o ritardo di velocità (standard) a seconda delle necessità.
> Da asporto fondamentale: La stessa configurazione hardware funziona per entrambi i tipi di servo: cambiano solo i valori di controllo. Per i servi standard, pensaci beneangoli. Per i servi continui, pensacivelocità e direzionerispetto all'impulso neutro di 90°.
Iniziare sempre il test con il servo scollegato da qualsiasi carico meccanico (ad esempio, cancello o ruota). Verificare prima la rotazione libera.
Utilizzare un multimetro per verificare che le uscite dell'alimentatore siano comprese tra 4,8 V e 6 V CC.
Se hai bisogno di invertire la direzione su un servo standard senza muoverti attraverso tutti gli angoli intermedi, semplicementescrivere(nuovoAngolo)– si sposterà direttamente in quella posizione attraverso il percorso più breve.
Seguendo questa guida, ora puoi implementare il controllo servo avanti/indietro per qualsiasi progetto, dal supporto di una telecamera rotante a un robot a due ruote, utilizzando componenti comuni e codice verificato.
Tempo di aggiornamento: 2026-04-19
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.