home - tutorial - TUTORIAL - MOTORE GRANDE LEGO MINDSTORMS EV3

TUTORIAL - MOTORE GRANDE LEGO MINDSTORMS EV3

In questo tutorial vedremo l’utilizzo dei servomotori grandi nel kit Lego® Mindstorms® EV3 Education.

Nello specifico tratteremo:
  • Caratteristiche dei servomotori
  • Installazione dei servomotori
  • Programmazione dei servomotori
Tecnologia:
  by Weturtle Team

Lego® Mindstorms® EV3

Introduzione

In questo tutorial vedremo l’utilizzo dei servomotori grandi nel kit Lego® Mindstorms® EV3 Education.

Nello specifico tratteremo:
  • Caratteristiche dei servomotori
  • Installazione dei servomotori
  • Programmazione dei servomotori
Tecnologia:

Caratteristiche dei servomotori

I due servomotori grandi hanno un peso di 81,6 g e misurano 14 x 8,9 x 3 cm (fig. 1); dispongono internamente di un sensore di rotazione (o encoder) che, grazie ad una risoluzione di 1 grado, permette di realizzare un controllo preciso.
Presentano le seguenti caratteristiche relative alla rotazione:
  • 160-170 giri/min
  • Coppia motrice di 20 Ncm
  • Coppia massima di 40 Ncm

Installazione dei servomotori

L’installazione è semplice: per poter azionare i servomotori è sufficiente connetterli tramite i cavetti neri messi in dotazione al mattoncino EV3 per mezzo delle porte di uscita A, B, C o D (fig. 2).
Le porte predefinite dal software sono la B e la C ma, connettendo i motori ad altre porte messe a disposizione, il software le identificherà immediatamente.
Dopo aver installato i servomotori è possibile accertarsi che l’operazione sia stata eseguita correttamente tramite due metodologie:
  • Tramite il Software Lego® Mindstorms® EV3 Education
  • Tramite il mattoncino EV3 
Se utilizzi la prima metodologia puoi ottenere informazioni relative allo stato del mattoncino dalla finestra situata in basso a destra nell’interfaccia dell’ambiente di programmazione.

Cliccando su Port View il software visualizzerà tutte le componenti connesse al mattoncino EV3, indicando anche a quale porta esse sono state collegate (Fig. 3).
Inoltre specificherà real-time i gradi letti dal sensore di rotazione.
Se utilizzi la seconda metodologia puoi accedere alle stesse informazioni per mezzo dell’interfaccia sul mattoncino EV3 che mette a disposizione diverse funzioni tra cui la funzione Port View.
Per poter accedere a questa funzionalità devi spostarti all’interno dell’interfaccia tramite i pulsanti direzionali. Scorri le icone con il pulsante direzionale destro fino a raggiungere la terza icona (Fig. 4) e seleziona la voce Port View cliccando con il pulsante centrale.
Muovendoti con i pulsanti direzionali puoi accedere alle stesse informazioni messe a disposizione dal Software: l’interfaccia sul mattoncino visualizzerà le componenti connesse indicando la rispettiva porta cui sono collegate (Fig. 5).
Nel caso specifico dei motori l’interfaccia fornirà anche un’informazione real-time relativa ai gradi che il sensore di rotazione sta rilevando.

Programmazione dei servomotori

Puoi programmare i due servomotori separatamente o insieme.

Singolo servomotore
Nel caso in cui tu decida di programmare un solo servomotore, utilizza il secondo blocco verde, Motore grande, selezionabile all’interno dell’ambiente di sviluppo. Una volta selezionato, assicurati che sia connesso alla giusta porta; questa informazione ti è fornita nel blocco verde, in alto a destra (Fig. 6).
Questo blocco può essere utilizzato secondo diverse modalità:
  • Off. Il servomotore viene spento. Solitamente questa modalità è utilizzata per arrestare un motore messo in movimento con la modalità On. Se Frena alla fine è impostato sul valore logico Vero, il motore verrà arrestato immediatamente e manterrà questa condizione fino all’attivazione di un successivo blocco che lo rimetterà in azione; se impostato sul valore logico Falso, verrà interrotta l’alimentazione al servomotore che procederà in folle fino ad arrestarsi.
  • On. Il servomotore riceve l’impulso che lo accende e il software passa subito al successivo blocco. Per poter osservare il movimento del servomotore è dunque necessario far seguire questo blocco da un blocco che specifichi ad esempio il tempo in cui si vuole mantenere acceso il motore (Fig. 7). In questa modalità è possibile anche specificare, tramite uno slider, la Potenza da dare al motore, in un intervallo da -100 a 100, dove il segno indica il verso di rotazione e il modulo indica quanta potenza fornire e dunque quanto il servomotore ruoterà velocemente.
  • Movimento per secondi. Questa modalità accende il servomotore e lo mantiene in rotazione per il numero di secondi specificato dalla variabile Secondi. Una volta trascorsi i secondi impostati, il motore viene immediatamente spento o lasciato in folle, secondo il valore assegnato a Frena alla fine, come osservato precedentemente. Anche in questa modalità è possibile definire la Potenza da fornire al servomotore.
  • Movimento per gradi. Questa modalità accende il servomotore che compirà una rotazione di una quantità di gradi specificata dalla variabile Gradi. Anche in questo caso è possibile impostare le variabili Frena alla fine e Potenza.
  • Movimento per rotazioni intere. Questa modalità, oltre alle solite variabili Frena alla fine e Potenza, permette di specificare il numero di rotazioni intere che compirà il motore prima di essere spento per mezzo della variabile Rotazioni. Impostando una rotazione intera, il servomotore ruoterà di 360°; impostando due rotazioni intere, ruoterà di 720° (Fig. 8) e così via.
Due servomotori e base motrice

Nel caso in cui tu decida di programmare entrambi i servomotori, puoi utilizzare il terzo blocco verde, Movimento con controllo sterzo (Fig. 10), selezionabile all’interno dell’ambiente di sviluppo. Questo blocco ti permetterà di far curvare il robot che hai costruito grazie all’azione contemporanea di entrambi i motori. Assicurati, dunque, di aver connesso il blocco alle giuste porte.
Puoi programmare questo blocco secondo le stesse modalità descritte precedentemente (Off, On, Movimento per secondi, Movimento per gradi, Movimento per rotazioni intere) che ti permettono di agire sulle stesse variabili incontrate nel caso di un singolo servomotore, con l’unica differenza che ora potrai anche definire la sterzata del robot tramite un’ulteriore variabile, Sterzata.
Impostando la variabile Sterzata tramite uno slider, in un range da -100 a 100, il robot comanderà gli attuatori così da curvare. Il valore 0 indica che esso proseguirà senza modificare la propria direzione.

Esempio: far percorrere al robot una traiettoria a forma di quadrato.

Questo programma (Fig. 10) è composto da due blocchi verdi Movimento con controllo sterzo messi in serie.

Il primo dei due, impostato sulla modalità Movimento per rotazioni intere, fa compiere al robot un metro lungo la direzione in cui si trova posizionato. La variabile Rotazioni, fissata a 5.7, fa compiere alle ruote 5.7 rotazioni, che corrispondono ad uno spostamento lineare dell’intero robot di un metro.
Il secondo, anch’esso impostato sulla modalità Movimento per rotazioni intere, permette al robot di eseguire una curva di circa 90°, grazie alla giusta combinazione dei due parametri Sterzata e Potenza.
Fermandoci qui, il robot avrà percorso il primo lato del quadrato e curvato di 90°. Ripetendo queste operazioni quattro volte, il robot percorrerà l’intera traiettoria prefissata. Per fare in modo che questi due blocchi vengano ripetuti per quattro volte di fila, li inseriamo all’interno del blocco arancione Ciclo, impostando la variabile Conteggio a 4, in accordo con le nostre specifiche.

Possibili difficoltà

La difficoltà maggiore che potrai riscontrare durante la programmazione dei servomotori consiste nel fatto che non esiste un parametro che indichi la distanza che desideriamo il robot percorra, né un parametro che indichi di quanti gradi vogliamo che il robot curvi (lo si può ottenere tramite formule matematiche, ne parleremo in modo approfondito in nuovi progetti).
Potrebbe dunque essere necessario conseguire l’obiettivo tramite un controllo indiretto su altri parametri oppure combinare più parametri messi a disposizione perché il robot si comporti nel modo desiderato.

Riferimenti e links

Guida in linea - LEGO® MINDSTORMS® EV3



LEGO, il logo LEGO e MINDSTORMS sono marchi e /o copyright di LEGO Group. © 2018 The LEGO Group. Tutti i diritti riservati.

Vuoi leggere il tutorial quando vuoi, anche offline?





Hai letto la lezione? Che cosa ne pensi? Lascia un commento qui sotto!