Pubblicato 2026-04-02
Questa guida fornisce una soluzione completa e adatta ai principianti per realizzare un micro standardservolavorare con un micro:bit. Che tu stia costruendo un semplice braccio robotico, un indicatore in movimento o un piccolo progetto animatronico, la sfida principale è la stessa: devi controllare accuratamente ilservoutilizzando i segnali di uscita del micro:bit. Seguendo i passaggi seguenti, collegando correttamente l'hardware, scrivendo il codice di controllo e alimentando correttamente la configurazione, avrai un sistema funzionanteservoin pochi minuti. Questa guida si concentra sullo scenario più comune, ovvero il controllo di un singolo servo, e fornisce soluzioni per i problemi tipici che gli utenti devono affrontare, come tremolio, potenza insufficiente e movimento che non risponde.
Prima di collegare qualsiasi cavo è fondamentale capire cosa aMicroservoha bisogno di funzionare. Un tipicoMicroservo, come il comune servo 9g, ha tre fili:
Marrone o Nero: Terra (GND)
Rosso: Alimentazione (VCC, in genere da 4,8 V a 6,0 V)
Arancione o Giallo: Segnale (PWM)
Il micro:bit funziona con una logica di 3,3 V. Questo è fondamentale perché il segnale di controllo del servo deve essere compatibile. Una normaMicroservopuò essere controllato da un segnale da 3,3 V dal micro:bit senza alcuno spostamento di livello. Tuttavia, il fabbisogno energetico è diverso. Il motore del servo assorbe molta più corrente di quella che il micro:bit può fornire attraverso i suoi pin standard.
Fatto fondamentale:Il pin 3V del micro:bit (Pin 1) è regolato e non può fornire la corrente necessaria per un servomotore sotto carico senza causare il ripristino o un comportamento irregolare della scheda. Perciò,non alimentare il servo direttamente dal pin 3V del micro:bit. È necessario utilizzare una fonte di alimentazione esterna.
Il metodo di connessione garantisce sia un controllo adeguato che un funzionamento stabile. Per un servo singolo, questa è la configurazione consigliata.
1x scheda micro:bit
1x micro servo (ad esempio SG90 o servo simile da 9 g)
1 fonte di alimentazione esterna (l'ideale è 3 batterie AA che forniscono ~ 4,5 V o 4 batterie AA che forniscono ~ 6 V)
Cavi ponticello (femmina-femmina o maschio-femmina secondo necessità)
Una scheda breakout micro:bit o un connettore edge (opzionale, ma altamente consigliato per connessioni affidabili)
Questa è la configurazione più stabile. Tutti i terreni devono essere collegati insieme per formare un punto di riferimento comune.
1. Terra servo (Marrone/Nero)→ Connetti amicro:bit GND pinEGND dell'alimentatore esterno (terminale -) .
2. Servoalimentazione (rosso)→ Connetti aAlimentazione esterna VCC (+ terminale) .
3. Segnale servo (arancione/giallo)→ Connetti amicro:bitPin 0(o qualsiasi altro pin disponibile come 1, 2,8, 12, 13, 14, 15, 16).
Esempio con un pacco batterie 3xAA:
Collega il filo nero della batteria al pin GND del micro:bit e al filo marrone del servo.
Collegare il filo rosso della batteria al filo rosso del servo.
Collega il filo giallo del servo al micro:bit Pin 0.
Ciò garantisce che il servo riceva la sua potenza operativa dalle batterie mentre il segnale di riferimento è condiviso con il micro:bit.
Il micro:bit utilizza la modulazione di larghezza di impulso (PWM) per controllare l'angolo del servo. Il servo si aspetta un segnale di 50Hz (un periodo di 20ms). La posizione è determinata dall'ampiezza dell'impulso:
0 gradi:Impulso da 0,5 ms
90 gradi:Impulso da 1,5 ms
180 gradi:Impulso da 2,5 ms
Gli ambienti di codifica moderni astraggono questa complessità. Di seguito sono riportati esempi di codice completi e verificati per i due ambienti di programmazione più comuni.
Questo è il metodo più semplice per i principianti.
1. Vai all'editor MakeCode per micro:bit.
2. Aggiungi ilEstensione del servo:
Fare clic su "Estensioni" nella casella degli strumenti.
Cerca "servo" e aggiungi il fileservobiblioteca.
3. Utilizzare il seguente codice di blocco:
all'avvio pin di scrittura servo P0 a 0° pausa 1000 ms pin di scrittura servo P0 a 90° pausa 1000 ms pin di scrittura servo P0 a 180°
Per far funzionare il servo in modo continuo in loop, utilizzare il comandoper semprebloccare. ILperno di scrittura del servoil blocco imposta automaticamente il segnale PWM a 50 Hz e regola l'ampiezza dell'impulso per l'angolo.
Per un maggiore controllo, MicroPython fornisce l'accesso PWM diretto. Questo codice è verificato e include una funzione per mappare gli angoli sui cicli di lavoro per il periodo PWM di 20 ms del micro:bit.
dall'importazione di microbiimporta musica # Definisce il periodo PWM per un servo (20ms)# Su micro:bit, il periodo PWM è impostato in microsecondi. 20ms = 20000us# Il ciclo di lavoro è un valore compreso tra 0 e 1023 (risoluzione a 10 bit). # Larghezza dell'impulso: da 0,5 ms (0 gradi) a 2,5 ms (180 gradi) def set_servo_angle(pin, angolo): # Vincola l'angolo a 0-180 se angolo 180: angolo = 180 # Mappa l'angolo sulla larghezza dell'impulso in microsecondi: da 0,5 ms a 2,5 ms larghezza_impulso = 500 + (angolo2000 / 180) # Converte la larghezza dell'impulso in duty cycle per un periodo di 20 ms duty = int(pulse_width * 1023 / 20000) pin.set_analog_period(20) # Periodo di 20 ms = 50 Hz pin.write_analog(duty) # Esecuzione principale while True: # Sweep da 0 a 180 gradi sul pin 0 per l'angolo in range(0, 181, 5): set_servo_angle(pin0, angolo) sleep(50) # Torna indietro da 180 a 0 per l'angolo in range(180, -1, -5): set_servo_angle(pin0, angolo) sleep(50)
Questo codice inizializza il servo sul Pin 0 e lo sposta avanti e indietro continuamente.
Quando si fa funzionare un micro servo con un micro:bit, gli utenti incontrano spesso tre problemi specifici. Ecco le soluzioni verificate.
Sintomo:Il servo si muove avanti e indietro rapidamente o emette un ronzio senza un comando.
Causa:La causa più comune è un'alimentazione instabile o insufficiente. Quando il servo tenta di muoversi, assorbe un aumento di corrente. Se la tensione scende al di sotto di un livello critico, il micro:bit potrebbe resettarsi o il circuito logico del servo potrebbe non funzionare correttamente.
Soluzione:
Utilizzare una batteria nuova:Assicurarsi che le batterie esterne siano nuove o completamente cariche.
Controllare il collegamento a terra:Verificare che la terra dell'alimentatore esterno e la terra del micro:bit siano collegate saldamente.
Aggiungi un condensatore:Posizionando un grande condensatore elettrolitico (da 100μF a 1000μF) tra le linee di alimentazione e di terra del servo (fili rosso e marrone) è possibile attenuare i picchi di tensione. Questa è una pratica standard nella robotica.
Sintomo:Il servo è silenzioso e non risponde al codice.
Causa:Si tratta in genere di un problema di cablaggio o di segnale. Il servo potrebbe non ricevere alimentazione o il pin del segnale potrebbe non essere assegnato correttamente.
Soluzione:
1. Prova il servo:Collega il servo direttamente alla batteria (rosso a +, marrone a -) senza il micro:bit. Il servo dovrebbe emettere un leggero ronzio o tentare di centrarsi. Se non fa nulla, il servo o il pacco batteria potrebbero essere difettosi.
2. Verificare il pin del segnale:Confermare che il filo giallo/arancione sia collegato al pin specificato nel codice (ad esempio, Pin 0).
3. Controlla il codice:Assicurarsi che il codice di inizializzazione del servo (comepin.set_analog_period(20)in MicroPython o ilscrittura servoblocco in MakeCode) viene eseguito.
Sintomo:Il servo si sposta solo a 0° e 180°, ignorando gli angoli intermedi.
Causa:Il segnale PWM non viene generato correttamente. Ciò è spesso dovuto all'utilizzo di un semplice digitalescriverefunzione invece di un'uscita PWM corretta o utilizzando un periodo errato.
Soluzione:
In MakeCode:Non utilizzare lo standardscrittura digitaleblocco perno. Usa sempre ilscrittura servobloccare dopo aver aggiunto l'estensione.
In MicroPython:Non utilizzarepin.write_digital(). Utilizzopin.set_analog_period()seguito dapin.write_analogico()con un ciclo di lavoro calcolato come mostrato nell'esempio sopra. Per i servi standard è obbligatorio un segnale da 50 Hz (periodo di 20 ms).
Comprendere i requisiti di alimentazione garantisce affidabilità a lungo termine.
Nota critica:I pin del connettore edge del micro:bit non sono progettati per fornire più di 90 mA in totale. Il tentativo di alimentare un servo in movimento dal pin 3V del micro:bit causerà il surriscaldamento o lo spegnimento del regolatore di tensione della scheda, con conseguenti comportamenti imprevedibili o danni permanenti. La fonte di alimentazione esterna utilizzata deve essere in grado di fornire almeno 1 A affinché un singolo servo possa gestire in sicurezza le correnti di avvio e di stallo.
Fonti di alimentazione esterne consigliate (in ordine di preferenza):
1. 3 batterie AA (alcaline):Fornisce ~4,5 V, ideale per la maggior parte dei micro servi. È semplice e sicuro.
2. 4 batterie AA (alcaline):Fornisce ~6,0 V, dando al servo più coppia. Anche questo è accettabile.
3. Pacco batteria agli ioni di litio:Una cella singola (3,7 V) non è sufficiente. Un pacco da 2 celle (7,4 V) richiede un regolatore di tensione per scendere a 5 V-6 V.
Per garantire che il tuo micro servo funzioni in modo affidabile con il tuo micro:bit fin dal primo tentativo, segui questo piano d'azione consolidato:
1. Prepara il tuo hardware:Raccogli un micro:bit, un micro servo e un pacco batterie 3xAA o 4xAA. Non tentare di utilizzare solo l'alimentazione USB del micro:bit per il servo.
2. Cablare correttamente:Collega il filo marrone del servo sia al filo nero della batteria che al GND del micro:bit. Collegare il filo rosso del servo al filo rosso della batteria. Collega il filo giallo del servo al micro:bit Pin 0.
3. Scrivi o carica il codice:Utilizza l'estensione servo MakeCode o lo script MicroPython fornito sopra. Inizia con un semplice test che sposta il servo a 0°, 90° e 180° con pause.
4. Testare prima la potenza:Prima di collegare il micro:bit, collegare brevemente il servo direttamente alla batteria per verificare che risponda (si centra o ronza). Disconnettilo prima di procedere.
5. Esegui il test:Collega la batteria, quindi collega il micro:bit tramite USB o la propria batteria. Esegui il codice di prova. Se il servo si muove agevolmente, la configurazione ha avuto successo.
6. Risolvere i problemi se necessario:Se il servo trema, ricontrollare il collegamento a terra. Se non si muove, verificare che il cavo del segnale sia sul pin corretto e che la batteria esterna sia carica. Se si sposta solo agli estremi, verificare che il periodo PWM sia impostato su 20 ms.
Far funzionare un micro servo con un micro:bit è un processo semplice quando vengono rispettati i principi fondamentali di potenza, massa e segnale. La soluzione principale è sempre la stessa: utilizzare una fonte di alimentazione esterna per il servo, collegare tutte le masse insieme e inviare un segnale PWM a 50 Hz da un pin micro:bit. Seguendo lo schema elettrico e utilizzando gli esempi di codice verificati forniti, puoi controllare in modo affidabile la posizione di un micro servo per qualsiasi progetto. Inizia con un semplice test di scansione, verifica i collegamenti di alimentazione e avrai una solida base per progetti di robotica e automazione più complessi.
Tempo di aggiornamento: 2026-04-02
Contatta lo specialista di prodotto Kpower per consigliare il motore o il riduttore adatto al tuo prodotto.