Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules

Shield motore L293D: aziona due motori DC e un servo

Shield motore L293D: aziona due motori DC e un servo

By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-10-16

Category: Guide pratiche

Collega uno shield driver motori L293D a un Arduino Uno, alimenta i motori esternamente e controlla due motori DC e un servo da 5V con una guida pratica passo dopo passo.

Risposta rapida

Impila lo shield driver motore L293D su un Arduino Uno, rimuovi il jumper di alimentazione solo se alimenti il morsetto a vite dello shield con un'alimentazione motore separata, e collega il servo a uno dei due header servo 5V. Se stai pilotando due motori DC da un alimentatore da banco e preferisci il controllo I2C, il controller mLink L9110 è un'alternativa più pulita. I passaggi seguenti coprono la costruzione standard dello shield.

Cosa ti offre realmente lo shield L293D

Lo Shield Motor Drive L293D per Arduino è progettato per aiutarti ad aggiungere il controllo motori ai tuoi progetti. Fornisce due interfacce per servo 5V, collegati al timer dedicato ad alta risoluzione di Arduino, consentendo un funzionamento preciso del servo. È compatibile con le schede Arduino Uno; la scheda stessa non è inclusa.

Questa combinazione è il motivo per cui questo shield rimane popolare: due canali motore DC più due header servo su una scheda, con la temporizzazione del servo gestita da un timer dedicato invece di bloccare il loop principale. Il compromesso è che l'L293D è un driver bipolare con una reale caduta di tensione, quindi i motori che richiedono corrente elevata o tensione molto bassa potrebbero non funzionare bene. Controlla la corrente di stallo del tuo motore prima di impegnarti.

Controlla il motore e l'alimentazione prima di collegare qualsiasi cosa

Due numeri decidono se questo montaggio funziona: la corrente di stallo del motore e la tensione di alimentazione. L'L293D cade di circa 1.4 a 2 V attraverso i suoi transistor interni, quindi un motore da 6 V su un'alimentazione da 6 V risulterà lento. Prevedi un'alimentazione di qualche volt superiore alla tensione nominale del motore e verifica che la corrente per canale rientri in ciò che il driver può gestire.

Se i tuoi motori assorbono più corrente di quanto lo shield possa fornire comodamente, o desideri un controllo della velocità con 255 passi in ciascuna direzione tramite un semplice collegamento I2C, vale la pena considerare il controller per motori DC mLink L9110. È un driver per motori DC seriale (I2C) a 2 canali in grado di pilotare fino a due motori DC con una corrente massima di 800 mA per motore, con controllo indipendente di direzione e velocità.

Il ponticello di alimentazione: l'unica cosa che la gente sbaglia

Il ponticello di alimentazione dello shield collega la linea a 5V dell'Arduino all'alimentazione logica del driver del motore. Con il ponticello inserito, lo shield prende l'alimentazione logica dall'Uno, e serve comunque un'alimentazione separata per i motori tramite il morsetto a vite.

Rimuovi il ponticello solo quando alimenti il pin logico 5V dello shield da una fonte esterna regolata a 5V. Se lo rimuovi e dimentichi di alimentare quel pin, il lato logico si spegne e nulla si muove, che è la segnalazione più comune di 'shield morto'. Lascialo inserito per un normale montaggio con Uno.

  • Ponticello inserito: logica dalla linea a 5V dell'Arduino, motori dal morsetto a vite.
  • Ponticello rimosso: devi fornire tu stesso 5V regolati al pin logico dello shield.
  • Non applicare mai la tensione del motore al pin logico 5V.

Intestazioni servo e timer dedicato

Le due interfacce servo 5V sono collegate al timer dedicato ad alta risoluzione di Arduino, il che significa che gli impulsi del servo rimangono precisi anche mentre il tuo sketch è impegnato in altre attività. Questo è un vero vantaggio rispetto alla generazione software degli impulsi servo, dove la jitter si manifesta come tremolio.

L'alimentazione è il punto critico. I servo possono assorbire una corrente di spunto sorprendente quando iniziano a muoversi, e prelevarla dal regolatore 5V dell'Uno può causare un brownout della scheda. Per qualsiasi cosa oltre a un piccolo micro servo, alimenta la barra servo da un alimentatore esterno 5V e condividi la massa con Arduino.

Completare il montaggio in modo pulito

Per il cablaggio del motore e dell'alimentazione, un connettore maschio di alimentazione DC da 2.1mm offre una spina maschio saldabile con diametro interno di 2.1mm e costruzione in plastica e metallo, utile quando si desidera terminare un cavo di alimentazione da banco o un pacco batteria nel morsetto a vite dello shield. Le connessioni saldate mantengono il giunto sicuro sotto vibrazione, cosa importante per qualsiasi cosa si muova.

Mantenere i fili del motore intrecciati e corti, tenerli lontani dalle linee di segnale del servo e aggiungere una massa comune tra Arduino e l'alimentazione esterna. Se un motore sussulta ma non gira, sospettare l'alimentatore o il ponticello prima di riscrivere il codice.

Passo dopo passo: Montaggio dello shield L293D

  1. 1. Abbina il motore al driver: Controlla la tensione nominale e la corrente di stallo del motore. Il L293D ha una caduta interna di circa 1.4 a 2 V, quindi scegli un'alimentazione di qualche volt superiore alla tensione nominale del motore e mantieni la corrente per canale entro i limiti del driver. Se i numeri non corrispondono, passa al mLink L9110, che è classificato per 800 mA per motore. Punto di controllo: se non trovi un valore di corrente di stallo, misuralo o scegli un driver con un limite pubblicato.
  2. 2. Posiziona lo shield sull'Uno: Spegni l'Arduino, allinea gli header dello shield con i pin dell'Uno e premi fino in fondo. Lo shield è compatibile con le schede Arduino Uno, e la scheda non è inclusa, quindi assicurati di avere un Uno e non una scheda con una piedinatura diversa. Punto di controllo: uno shield sfalsato di una fila di pin spesso si accende ma si comporta in modo erratico.
  3. 3. Decidi lo stato del jumper di alimentazione: Lascia il jumper in posizione per una costruzione normale in modo che lo shield prenda l'alimentazione logica dal rail a 5V dell'Arduino. Rimuovilo solo se stai fornendo tu stesso 5V regolato al pin logico dello shield. In entrambi i casi, i motori ricevono la propria alimentazione attraverso il morsetto a vite. Errore comune: togliere il ponticello e poi chiedersi perché la scheda è morta. Se non si accende nulla, rimetti prima il ponticello.
  4. 4. Collegare l'alimentazione esterna del motore: Collega l'alimentazione del motore al morsetto a vite dello shield, rispettando la polarità. Usa un connettore maschio di alimentazione CC saldato da 2.1 mm se stai terminando un'alimentatore da banco o un cavo batteria, e collega la massa dell'alimentazione alla massa di Arduino. Punto di controllo: misura la tensione ai morsetti prima di collegare i motori e non immettere mai la tensione del motore nel pin logico 5V.
  5. 5. Collega i due motori DC: Posiziona il motore A sulla prima coppia di uscita e il motore B sulla seconda. Se un motore gira nel verso sbagliato, scambia i suoi due fili invece di modificare il codice, e tieni i fili corti e attorcigliati. Punto di controllo: testa un motore alla volta in modo che un errore di cablaggio su un canale non mascheri l'altro.
  6. 6. Aggiungi il servo: Collega un servo 5V a uno dei due header per servo, collegati al timer dedicato ad alta risoluzione di Arduino per un funzionamento preciso. Per qualsiasi cosa più grande di un micro servo, alimenta la guida servo dall'alimentatore esterno 5V invece che dal regolatore dell'Uno. Errore comune: far funzionare un servo sotto carico dal pin 5V di Arduino e ottenere reset casuali quando si muove.
  7. 7. Carica e verifica: Carica uno sketch che faccia avanzare ogni motore, poi indietreggiare, e infine spazzare il servo. Osserva il calo di tensione sul misuratore mentre i motori girano e conferma che il servo mantenga la posizione senza tremori. Passo successivo: se un canale si blocca sotto carico, verifica la tensione di alimentazione e il margine di corrente prima di modificare il codice.

Componenti utilizzati in questo assemblaggio

  • Shield per driver motore L293D per Arduino: Shield per driver motore L293D per Arduino: due interfacce servo 5V collegate al timer dedicato ad alta risoluzione di Arduino; compatibile con schede Arduino Uno (scheda non inclusa). Offre due canali motore e due connettori servo su una scheda impilabile, con la temporizzazione del servo gestita dall'hardware anziché dal tuo sketch.
  • mLink L9110 Controller per motore DC: mLink L9110 Controller motore: driver motore DC a 2 canali seriale (I2C), per un massimo di due motori DC con un massimo di 800mA per motore, con controllo indipendente di direzione e velocità a 255 passi per direzione. La scelta migliore quando si desidera il controllo I2C o si ha bisogno di conoscere in anticipo il limite di corrente per motore invece di stimarlo.
  • Connettore maschio spina di alimentazione DC 2.1mm: 2.1mm Connettore maschio di alimentazione CC: spina maschio con diametro interno di 2.1mm, costruzione in plastica e metallo, connessioni a saldare per un fissaggio sicuro, progettato per applicazioni di alimentazione CC. Consente di terminare un cavo di alimentazione o batteria nel morsetto a vite dello shield con un giunto saldato resistente alle vibrazioni.

Shop Related Products

Motor Drive Shield L293D for Arduino

Motor Drive Shield L293D for Arduino

$1.41 $2.08

Shop Now
mLink L9110 DC Motor Controller

mLink L9110 DC Motor Controller

$3.61 $5.83

Shop Now
Connettore di alimentazione DC maschio da 2,1 mm

Connettore di alimentazione DC maschio da 2,1 mm

$0.41 $0.57

Shop Now