Dopo aver assemblato la Motor Shield FE, è l’ora di iniziare ad utilizzarla e per farlo è necessario che ti sia chiaro a cosa servono i jumper su di essa e come utilizzarli per evitare sia di danneggiare la scheda, ma sopratutto di danneggiare il computer o Arduino.
La Motor Shield FE è distribuita in kit, io la mia l’ho presa da robot-domestici.it e l’ho assemblata come descritto nell’articolo “Tutorial: Motor Shield FE – prima parte“.
Sulla scheda avrai notato diversi jumper, in particolare in prossimità del connettore verso i pin digitali di Arduino ci sono quattro gruppi di jumper, tutti destinati a definire con quali pin farai interagire la shield con arduino.
Vediamoli nel dettaglio:
Evidenziati in giallo sono le triple di pin destinate al segnale PWM, in arancio quelle destinate ai pin di direzione.
Una piccola digressione, l’integrato usato dalla Motor Shield è l’L298P, un Ponte-H; come molti integrati di questo tipo ti consente di pilotare 2 motori in corrente continua ( CC ) utilizzando per ciascun motore un pin che indichi la direzione ( DIR ) ed uno per impartire la velocità desiderata al motore ( PWM ); si utilizza solitamente il segnale di tipo PWM perchè il suo valore può variare da 0 a 255 per arduino in funzione del quale il motore gira più o meno velocemente.
Il segnale di direzione è di tipo digitale: con valore logico alto ( +5v o HIGH ) il motore ruota in una direzione, con valore logico basso ( 0v o LOW ) ruota in senso inverso.
I primi connettori ti consentono la selezione dei pin PWM: sono preimpostati per essere connessi ai pin 3,5,6 ed i secondi ai pin 9,10,11; i connettori per la selezione della direzione sono connessi rispettivamente ai pin 2,4,7, per il motore A e 8,12,13 per il motore B.
Iin questo modo non puoi confonderti, mettendo ad esempio il jumper sul primo di ognuno avrai che il motore A riceve dal pin 3 il segnale PWM e dal 2 la direzione, mentre il motore B riceve dal pin 9 il segnale PWM e dal pin 8 la direzione.
ATTENZIONE: i jumper vanno inseriti in senso perpendicolare rispetto al connettore dalla motor shield verso arduino, come in figura:
L’errore potrebbe compromettere il funzionamento di arduino.
Puoi decidere di cambiare la posizione dei jumper ad esempio se decidi di collegare altre schede, pulsanti o sensori che utilizzano dei pin preimpostati per funzionare.
Resta solo un jumper da settare, quello relativo all’alimentazione, nella figura seguente è evidenziato in blu:
Con questo jumper potrai decidere se alimentare i motori con una fonte esterna o se alimentarli attraverso arduino.
Poichè nei primi esperimenti arduino sarà alimentato dalla USB del Pc/Mac, per evitare sovraccarichi della porta USB, ti consiglio di spostare questo jumper su ext, e fornire alla scheda una adeguata alimentazione attraverso il morsetto vicino a questo selettore.
I due led si illumineranno in verde ed in rosso, ciascuno in funzione del verso di rotazione.
Buon divertimento.
17 commenti
Vai al modulo dei commenti
Caro Mauro,
Sono a disturbarti nuovamente per chiederti dove posso acquistare la scheda MotorShield FE già assemblata perché purtroppo sono a corto di materiale come saldatore ecc.!
Grazie, Matteo
Autore
Ciao Matteo,
la Motor Shield FE, che io sappia, non si vende già assemblata, a breve pubblicherò un tutorial con un’antra shield già assemblata che sto testando in questi giorni.
Mauro
Ciao Mauro
ho assemblato la Motor Shield,
esiste un modo per far la verifica che tutto sia andato a buon fine prima che colleghi il tutto ad Arduino
Grazie
Autore
Ciao Graziano,
io di solito la controlla a vista, anche se non è il metodo migliore, prova a contraollare che non ci siano corto circuitate delle piste o dei pin della scheda con un tester … e poi … un po di brivido quando la colleghi c’è sempre.
Mauro
Ciao Mauro,
ho montato il Motor Shield e funziona bene, ma ha un comportamento strano che mi fa pensare ad un difetto, forse di montaggio non so, praticamente fa quello che deve, ma ogni 30 secondi il motore si ferma e poi riparte. Si vede anche dal led che si spegne e poi si riaccende.
Lo fa sia sul comando A che sul comando B.
Ho provato due motori diversi e il comportamento è il medesimo.
Ho provato con valori di uscita diversi ma non cambia niente.
Qualche idea su cosa possa essere o come procedere per scovare il problema?
grazie, corrado
Autore
Ciao Corrado,
attiva il monitor serale e verifica che arduino funzioni in modo continuativo e non incorra in un reset ogni 30 secondi.
Se non sai come usare il monitor seriale leggi i primi articoli del mio corso online fino a quando ti sarà chiaro come utilizzarlo 🙂
Mauro
Salve, mi sto buttando proprio questi giorni nel vastissimo mondo di arduino. Avrei bisogno di sapere che conbinazione di arduino mi serve per far muovere 4 motoriduttori con relativi potenziometri. Grazie per l’attenzione con distinti saluti.
Autore
Ciao Danilo,
avrai di certo bisogno di almeno 2 motor shield configurabili in modo da usare pin differenti e quella presentata in questo articolo è ideale.
Per come fare ti consiglio di studiare a fondo le basi di arduino e i miei articoli sui potenziometri ed i motori in corrente continua.
Ciao Mauro ho collegato la mia motor shield FE
ma non arriva corrente ai jumper PWM B
Cosa puó essere …. Ciao
Autore
Ciao Giovanni,
è del tipo già assemblato o la hai assemblata tu?
Hai controllato la configurazione dei pin con i jumper?
Ciao Mauro assemblata da me ho controllato la configurazione tutto ok …. Grazie
Autore
Bravissimo Giovanni 🙂
Grazie a te Mauro
ho comperatodue schede di controllo di un solo motore dc ogni una con pulsanti di test se li premo uno alla volta con i due motori collegati vado a comandare in modo anomalo anche il secondo motore con surriscaldamento del medesimo
devo per forza prendere una scheda che comandi gia due motori perche ci sono dei ritorni o dei conflitti con due schede
Autore
Ciao Enrico,
spero di aver compreso quello che hai scritto, in tal caso non so che scheda tu abbia acquistato che controlla un solo motore, solitamente sono tutte costruite per controllare due motori.
Buon giorno,
sono un corniciaio che si diletta con arduino e lo uso da un pò per applicazioni presepe.
Volevo sapere se si potava far partire il motore in modo meno brusco facendogli fare una partenza dolce e magari che si fermasse in un tempo prestabilito.
Grazie e buone vacanze Marco.
Autore
Ciao Marco,
strana coincidenza ieri ho cercato tutto il giorno un corniciaio a Milano e provincia che mi realizzasse un vetro da 26cm di diametro e 4mm di spessore .. invano; ho risolto in modo differente per adesso.
Tornando alla tua richiesta si può ottenere lavorando con un ciclo for che svolga l’accelerazione e la decelerazione, trovi degli articoli del corso base online gratuito in cui descrivo come usare i PWM e i ciclo for applicati alla dissolvenza dei led, puoi modificare quei cicli usandoli per il motore.
Se riesco scrivo un articolo ma non posso prometterti nulla.