Pubblicato 2026-05-11
Parliamo innanzitutto di un dato di fatto: giocando con l'auto di Arduino, o giocando con il braccio robotico di Arduino, o giocando con il piccolo controllo accessi di Arduino, nove volte su dieci incontrerete il micro servo blu da 9 g, o il micro servo trasparente da 9 g, che è l'SG-90.. Nonostante le sue piccole dimensioni, gira l'angolo, controlla l'interruttore, annuisce e scuote la testa, tutto facendo affidamento sul segnale dell'ampiezza dell'impulso. Ma molte persone incontrano difficoltà nella prima fase: come collegare le linee? Perché il codice trema dopo essere stato scritto? Oggi risolverò la questione per te in dettaglio e sceglierò gli elementi essenziali da questa travolgente esperienza.
Filo marrone: GND (terra)
Filo rosso: VCC (alimentazione 5 V)
Linea arancione: pin del segnale PWM (D9/D10 è opzionale)
Quella che segue è una situazione comune di ribaltamento: spingere la linea rossa a 3,3 V, ma il servo non ruota; inserirlo nel terminale positivo della batteria, provocando la bruciatura del disco interno.
La sua zona sicura è di 5 V, sufficiente per pilotarne uno facendo affidamento sull'alimentazione USB. Se guidi in più di due persone, una batteria esterna sarà più stabile.
Usa la libreria Servo, non scrivere tu stesso il ciclo di lavoro PWM.
#includereServomioServo; void setup() { mioServo.attach(9); // La linea del segnale è collegata al pin 9 } void loop() { myServo.write(0); // Ritardo di 0 gradi (1000); mioServo.write(90); // Ritardo di 90 gradi (1000); mioServo.write(180); // Ritardo di 180 gradi (1000); }
Questa sezione ruoterà avanti e indietro. Non chiedetevi perché appartiene alla situazione di 0, 90 e 180, allora il suo limite fisico è qui.
Al suo interno è presente un potenziometro e un riduttore. Quando si fornisce una larghezza di impulso di 1 ms, ruota di 0 gradi, quando si fornisce una larghezza di impulso di 1,5 ms, ruota di 90 gradi e quando si fornisce una larghezza di impulso di 2 ms, ruota di 180 gradi.

La libreria Servo converte automaticamente l'angolo in scrittura nella corrispondente larghezza dell'impulso.
Tuttavia, va notato che l'SG-90 prodotto da diversi produttori potrebbe essere errato di alcuni gradi, quindi il processo di calibrazione non può essere omesso.
Per prima cosa scrivi (90) per vedere se il bracciolo è verticale
In caso contrario, piegarlo manualmente in posizione verticale e reinstallare il braccio.
Sezione domande/risposte
D: Il servo vibra molto quando è collegato, come risolverlo?
R: L'alimentatore è in uno stato instabile. Il funzionamento dell'alimentazione a 5V avviene esclusivamente sulla linea rossa. Il pin 5V di Arduino viene utilizzato solo come riferimento del segnale.。
D: Cosa devo fare se la scrittura (180) può arrivare solo a 120 gradi?
R: Per prima cosa eseguire l'operazione di scrittura (180), quindi interrompere l'alimentazione, quindi piegare manualmente il braccio all'angolazione massima, quindi riaccendere l'alimentazione.。
D: È normale che il servo si surriscaldi dopo aver girato continuamente per diversi minuti?
R: Anormale. L'SG-90 è un servo di posizione e non deve essere utilizzato come motore a rotazione continua.
D: Il cavo del segnale è collegato correttamente e il codice è corretto, ma non si muove?

A: Controlla il terreno comune. Arduino GND e servo GND devono essere collegati.
D: Posso fornire direttamente il segnale PWM invece della libreria Servo?
R: Sì ma non necessario. La libreria incapsula il ciclo di 20 ms ed è facile masterizzare il servo se lo scrivi tu stesso.
Non pensare di realizzare un robot a sei zampe in un solo passaggio. Per prima cosa crea un piccolo dispositivo:
barriera in cartone
Azionare il pulsante, premere una volta per sollevare la leva, quindi premere la leva inferiore
Il punto chiave del codice è registrare lo stato corrente ogni volta che viene chiamato write(0) o write(90).
Puoi rilevare una situazione. Quando cambia rapidamente da 0 a 90, il servo sembrerà "sparare in avanti". Aggiungere ritardo? Non è così, ma aggiungi un allentamento.
void slowMove(int from, int to, int stepDelay) { if (from = to; i--) { myServo.write(i); ritardo(stepDelay); } }
In questo modo si muove lentamente come un vero braccio e gli ingranaggi non tendono a cedere.
Qual è il significato? Va bene per sollevare una batteria AA, ma vuoi spingere un libro? Deve essere bloccato.
Nel processo di creazione di un braccio robotico, la parte grande del braccio deve utilizzare un servo a denti metallici, come MG995. Tuttavia, l'SG-90 è adatto solo per realizzare polsi o artigli.
Ragionamento analogico: l'SG-90 è come una catena di bicicletta. Se lo usi per trainare un'auto, si romperà sicuramente.
Albero decisionale debugging SG-90 ├─ Nessuna risposta quando collegato │ ├─ Controlla: GND è sulla stessa terra? │ └─ Controllare: l'alimentatore da 5 V è sufficiente per 1 A? ├─ Jitter dopo lo spostamento nella posizione target │ ├─ Aggiungi condensatore: elettrolisi da 100uF tra il filo rosso e GND │ └─ ritardo (15) dopo la scrittura del codice ├─ L'angolo è sbagliato │ ├─ Calibrazione soft: myServo.write (angolo effettivo + offset) │ └─ Calibrazione hard: rimuovi il bracciolo e reinstallalo └─ Non seguire affatto il codice └─ Passa a uno digitale e controlla se qualche altra libreria occupa Timer1
1. Procurati una breadboard, un SG-90 e tre cavi DuPont.
2. Masterizzare il codice per invertire il primo paragrafo sopra.
3. Confermare le posizioni 0 gradi, 90 gradi e 180 gradi.
4. Modificare il codice in modo che si fermi a 45 gradi e rimanga premuto per 10 secondi.
5. In caso di successo, hai padroneggiato l'80% degli scenari applicativi dei piccoli servo.
Qual è il restante 20%? Serve per collegare più servi in serie, leggere il potenziometro per ottenere un circuito chiuso e impostare il gruppo di azioni. Ma non ne parlerò oggi, perché prima devi far funzionare questo.
Ricorda: tutti i progetti robotici complessi iniziano con un SG-90 che può ruotare di 30 gradi in modo conforme. Vai a provarlo, non limitarti ad aspettare e vedere.
Tempo di aggiornamento: 2026-05-11
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.