DraStemIno Car

DraStemIno Car

DraStemIno Car è un progetto nato e sviluppatosi nell’Istituto Comprensivo Albino Luciani all’interno della proposta formativa extrascolastica S.T.E.M. .
STEM è un acronimo che indica quattro discipline: Scienze, Tecnologia, Ingegneria e Matematica.

Come finalità del progetto abbiamo scelto di realizzare ex-novo quattro veicoli elettrici telecomandati attraverso interfaccia bluetooth.
Per raggiungere tale finalità ci siamo impegnati a comprendere diversi aspetti del loro funzionamento quali costruire il telaio, gestire le parti elettroniche, implementare sensori e stabilire la comunicazione con il telecomando.

Come parti integranti al progetto ci siamo preoccupati di preparare un’esposizione aperta al pubblico per illustrare tutti gli sforzi compiuti e documentare il lavoro proprio in questo articolo.

La scelta del nome

Quella che di solito è una delle parti più difficili di un intero progetto è risultata, fortunatamente, incredibilmente facile grazie ad un escamotage ingegnoso: facendo una lista degli argomenti svolti durante il progetto per poi sceglierne tre da cui ricavare parti del nome.

La selezione ha indicato tre argomenti come i principali: Draftsight, Stem e Arduino. Da ciò il nome DraStemIno. A questo nome ne abbiamo affiancato un altro che indicasse la natura dell’oggetto: Car.
Ecco il nome definitivo per i veicoli: DraStemIno Car

Progettare in CAD il Telaio: DraftSight

la parte più corposa del nostro progetto è stata la progettazione e la realizzazione del telaio del veicolo.
Per aiutarci in questo compito siamo ricorsi all’ausilio del software di progettazione C.A.D. (Computer Aided Design) DraftSight che ci ha permesso di lavorare con misure assolutamente precise.
La prima fase è stata quella del disegno e della distribuzione delle parti da assemblare. Utilizzando il calibro abbiamo misurato i componenti e li abbiamo trasposti sul software.
Passo successivo è stato il disporli sensatamente e poter quindi dare forma al telaio. Siamo ricorsi all’utilizzare layers con nomi e colori differenti per ciascun componente per avere una maggiore leggibilità. Il layer 0, di colore bianco, contiene tutti i tagli che verranno effettuati sulla lastra di plexiglass.

Taglio Laser

Tutte le parti del telaio sono state realizzate in plexiglass e tagliate con la macchina del taglio laser del FabLab. Per prendere dimestichezza con lo strumento abbiamo speso un pomeriggio a produrre delle cassettine portaoggetti e un prototipo di telaio in multistrato di legno. Particolare cura è stata riservata all’offset da dare alla parti da tagliare per compensare la larghezza della quota di materiale carbonizzata dal raggio laser.

A seguire, la divertente sessione di “dita pasticciate di colla”!

Fatte le dovute verifiche e correzioni, si è finalizzato il lavoro su una lastra di plexiglass. Sfruttando un’ulteriore capacità del taglio laser, l’incisione, ovvero la lavorazione che incide il materiale con segni solo superficiali, abbiamo “brandizzato” i veicoli incidendo il nome del progetto. Tali incisioni sul plexiglass sono state illuminate con led di vari colori, ottenendo sia una maggiore leggibilità che una codifica che ci permette di identificare i differenti veicoli

Assemblare le parti

Tagliato il telaio in plexiglass abbiamo potuto montare le varie parti e costruire il veicolo.
Abbiamo imparato a differenziare i bulloni in base alle loro caratteristiche e misure. Sappiamo riconoscere bulloni dalla testa conica dai bulloni a testa piana e ricavare le dimensioni dalla loro nomenclatura.

Controllare la velocità: Il PWM

Il veicolo è dotato di due motori collegati ognuno ad una ruota. Per riuscire a decidere la velocità di avanzamento e la sterzata siamo ricorsi ad una particolare tecnica elettronica: il PWM.
PWM, acronimo di Pulse Width Modulation (Modulazione dell’ampiezza dell’impulso) controlla la quantità di energia elettrica che raggiunge i motori variando, all’interno di cicli rapidissimi e ripetuti, il tempo in cui i motori vengono alimentati rispetto al tempo in cui non lo sono.
Per comprendere il principio di funzionamento del PWM è utile rappresentarlo in un piano cartesiano avente sull’ascissa il trascorrere del tempo e sull’ordinata lo stato di alimentazione, ON – OFF.

Utilizzando Arduino comandiamo che uno specifico tempo di alimentazione raggiunga i motori. Il rapporto tra il tempo in cui i motori sono alimentati (Stato On del piano cartesiano) rispetto al tempo in cui non vengono alimentati (Stato Off del piano cartesiano) prende il nome di Duty Cycle e si esprime in percentuale (da 0% a 100%).
Maggiore sarà il valore del Duty Cycle maggiore sarà la velocità di rotazione del motore associato. Indicando Duty Cycle differenti a ciascun motore otterremo velocità di rotazione diverse per le due ruote costringendo il veicolo a sterzare.
Per meglio esporre al pubblico il dispositivo elettronico del PWM abbiamo costruito una teca interattiva.

Il pomello a sinistra è un selettore che permette di indicare il Duty Cycle desiderato. L’indicatore Power Output varierà l’intensità luminosa in accordo al Duty Cycle mostrando come all’aumentare di questo aumenti il bagliore. L’intensità di questo bagliore ci permette di meglio visualizzare la quantità di energia che viene fornita a ciascun motore. Nella parte superiore destra è presente un oscilloscopio che permette di visualizzare in tempo reale, in un piano cartesiano, il Duty Cycle.

Individuare gli ostacoli: il Sonar

Abbiamo dotato i veicoli di un sistema di rilevazione degli ostacoli utilizzando un sensore elettronico creato a tale scopo: il sonar.
Per comprendere il funzionamento del sonar possiamo fare delle analogie con fatti che appartengono all’esperienza di tutti.
L’analogia a cui faremo ricorso è quella dell’effetto eco che si verifica in una galleria: Se, in presenza di una galleria, emettiamo un suono vocale dopo un piccolo lasso di tempo lo sentiremo ripetersi. Questo fenomeno è dovuto al fatto che il suono ha una sua velocità di propagazione nell’aria, quindi il suono emesso si propagherà nella galleria fino ad incontrare un ostacolo dal quale verrà riflesso in direzione opposta tornando indietro.
Dall’istante in cui è stato emesso il suono a quando questo raggiungerà nuovamente il nostro orecchio sarà trascorso un determinato tempo.

Questo è il principio su cui si basa il sonar. Il sonar è dotato di un sistema di produzione di un ultrasuono (suono a frequenza superiore a quella umanamente udibile) e di un microfono che si mette all’ascolto del suono riflesso. Il fatto che ci sia o meno un suono che è stato riflesso e che ritornando indietro raggiunge il microfono del sonar ci permette di capire se siamo in presenza di un ostacolo o meno: Se il suono torna indietro siamo in presenza di un ostacolo, se il suono non torna non vi è alcuno ostacolo.

Le basi del coding: l’Algoritmo

Arduino è un microcontrollore programmabile, quindi necessita di un programma scritto con il corretto linguaggio.
Un programma è una successione di istruzioni che portano al compimento del comportamento desiderato. La rappresentazione astratta del programma, nel succedersi delle istruzioni di base, è chiamato algoritmo.

Sempre nell’ottica dell’esposizione al pubblico per spiegare il concetto di algoritmo abbiamo utilizzato un esempio col sonar che permette di conoscere la distanza di un eventuale ostacolo

 

Come si può vedere dal cartellone l’algoritmo è un diagramma di flusso composto da tutti i passaggi di istruzioni elementari che terminano con l’informarci della eventuale presenza di un ostacolo e della sua distanza.

0) Inizio: Mostrerà a schermo un messaggio di benvenuto
1) Emettere un suono: Il sonar emette un ultrasuono
2) Ascoltare suono: Il sonar si mette in ascolto di ultrasuoni di ritorno
3) Attesa: Il sonar attende l’ultrasuono di ritorno per un  determinato tempo massimo (è necessario impostare un tempo di attesa massimo perchè in assenza di ostacolo il suono non ritornerà mai)
4) Risposta?: Il sonar verifica se l’ultrasuono è tornato indietro. Se non c’è stato alcun ritorno si ricomincia l’algoritmo dall’istruzione “Emettere un suono”. In caso di risposta positiva passa all’istruzione successiva.
5) Memorizza Tempo Trascorso: Tiene nota del tempo trascorso in microsecondi da quando ha emesso il suono a quando questo è tornato indietro.
6) Moltiplica il tempo per la velocità del suono: Il tempo trascorso e memorizzato nella istruzione precedente viene moltiplicato per il coefficiente della velocità di propagazione del suono nell’aria.
7) Divido per 2: Il risultato della operazione precedente viene dimezzato per ottenere, non più la distanza percorsa dal suono per raggiungere l’ostacolo e tornare indietro, ma la distanza dell’ostacolo dal sonar.
8) Display: Distanza ostacolo: Mostra a schermo il risultato del calcolo precedente.
Tutte le operazioni sono concluse e l’algoritmo ricomincia il suo ciclo dall’istruzione 1)

Controllo a distanza: Bluetooth

Per essere dei veri veicoli telecomandati è necessario… un telecomando!
Abbiamo scelto di utilizzare un modulo bluetooth che permettesse al  Arduino a bordo di “obbedire” alle indicazioni del “telecomando” oggi più diffuso: lo Smartphone.

Abbiamo settato ogni modulo BT con un ID differente che corrisponde al codice di colore di ciascun veicolo.

Farsene uno a casa: Downloads dei file di progetto!

Se siete rimasti piacevolmente colpiti da questo progetto siamo felici di dirvi che avete la possibilità di riprodurre quanti più veicoli desideriate.
Mettiamo infatti a disposizione i file di progetto, scaricateli e, se lo desiderate, personalizzateli!

Sketch di Arduino

File di progetto CAD