IL MONDO DEI ROBOTIL MONDO DEI ROBOT I robot realizzati dagli studenti
dell’IIS “A. Maserati” di Voghera
www.istitutomaserati.it
Progetto della classe 5°EA Sezione TecnicaPeriti in Elettronica e Telecomunicazioni
a. s. 2003-2004 e a. s. 2004-2005
ECCO I NOSTRI ROBOT…ECCO I NOSTRI ROBOT…
VideoFINE
LA REALIZZAZIONELA REALIZZAZIONEDurante le ore scolastiche
curriculari, con l’ausilio delle tecniche più
semplici di meccanica ed elettronica abbiamo montato i kit di tre
modelli di piccoli robots. Inoltre ci siamo anche occupati della parte di
programmazione: il software, non così semplice come può
sembrare…..
FILIPPOFILIPPO
Dei tre robots, è quello che si muove più verosimilmente
all’uomo…E’ movimentato da due
servomotori: il primo gestisce l’inclinazione, il
secondo il passo. Una scheda sulla quale è collegato il
microcontrollore controlla il movimento degli arti del robot e i due sensori ad infrarossi che hanno il compito di rilevare la
presenza degli ostacoli.
SPIDERSPIDERSpider risulta il robot più simpatico per la sua forma e
movenze da ragno.Utilizza tre servomotori per coordinare i movimenti delle
zampe e due baffi (microinterruttori) collegati
a due sensori per individuare la presenza di ostacoli.
La scheda con il microcontrollore è identica a quella degli altri robot, varia solo il software di gestione.
CARBOTCARBOTUtilizza due servomotori
che collegati a due ruote ne permettono il
movimento.La scheda con il microcontrollore è
anch’essa identica alle altre, mentre è diversa la
configurazione del software.
Come Spider due baffi (microinterruttori)
servono per rilevare la presenza di ostacoli.
Abbiamo realizzato una basetta con dei
sensori riflessivi, che è stata montata
sotto Carbot
CARBOTCARBOT
Abbiamo quindi scritto un programma per fare in modo che Carbot restasse all’interno di una
linea nera
CARBOTCARBOT
Abbiamo scritto un altro programma per fare in modo che Carbot seguisse in percorso nero.
CARBOTCARBOT
Infine abbiamo scritto il programma finale in
modo tale che se facciamo partire Carbot premendo
il baffo destro segue il percorso, senza premere
nessun baffo sta all’interno del percorso,
premendo il baffo sisnistro evita gli ostacoli
CARBOTCARBOT
MOTHERBOARDMOTHERBOARDIl controllo dei robot viene
realizzato tramite una scheda a microcontrollore che utilizza i chip prodotti dalla Microchip
denominati PIC. Sulla scheda, oltre al PIC, c’è un circuito di Clock realizzato con un oscillatore al quarzo di frequenza 20 Mhz, un regolatore di tensione da 5V, un cicalino pilotato da un bit di una porta di uscita del PIC tramite un transistor, una serie di
connettori per utilizzare tutti i segnali delle porte del
microcontrollore.
II MOTORINIMOTORINI
I motori utilizzati sono dei servomotori, tipicamente usati nel
modellismo.
Nel kit di montaggio non c’era nessuna indicazione sul loro
funzionamento, non sono stati forniti i data sheet, non li abbiamo trovato
neppure su Internet.
Per questo motivo la parte più difficile del progetto è stata capire come dovevano essere pilotati: ci siamo riusciti basandoci sul software in
Basic che era stato fornito con il kit, da cui si capiva che per far muovere i motori occorreva inviare un impulso, di cui abbiamo trovata
sperimentalmente la durata.
I MOTORINII MOTORINII servomotori contengono
all’interno il circuito elettronico che permette di comandare il
movimento del motorino con una serie di impulsi.
Il circuito elettronico interno, quando viene mandato un segnale di comando, genera un impulso di
durata proporzionale alla posizione attuale dell’albero motore.
Se il segnale di comando ha la stessa durata dell’impulso applicato il motorino sta fermo, perché, come si vede in figura, non gli viene inviata nessuna tensione
Comando dal PIC
Segnale interno di riferimento
Segnale al motore
II MOTORINIMOTORINI
Se la durata del segnale di comando del PIC è
maggiore di quella del segnale di riferimento il
motorino gira in un senso di una quantità
proporzianale alla differenza di durata dei
due segnali.
Comando dal PIC
Segnale interno di riferimento
Segnale al motore
II MOTORINIMOTORINI
Se la durata del segnale di comando del PIC è minore
di quella del segnale di riferimento il motorino gira in senso inverso di
una quantità proporzianale alla
differenza di durata dei due seganali.
Comando dal PIC
Segnale interno di riferimento
Segnale al motore
SENSORISENSORI AA INFRAROSSIINFRAROSSI
I sensori a infrarossi sono costituiti da due LED emettitori
a infrarossi posti sui due lati della basetta e da un ricevitore.
Il software di gestione attiva prima un LED, poi l’altro: se c’è
un ostacolo il segnale viene riflesso, per cui il ricevitore lo rileva, in caso contrario non
riceve niente. In questo modo si possono individuare eventuali
ostacoli di fronte o sui lati.
SENSORISENSORI AA INFRAROSSIINFRAROSSIAbbiamo scritto un programma
che serve solo per provare i sensori, utilizzando un cicalino
disponibile sulla scheda.
Il software attiva uno dei due sensori, legge il ricevitore, se c’è
un segnale fa beep con il buzzer, quindi ripete la stessa
operazione con il secondo sensore.
Tramite in trimmer possiamo tarare la sensibilità del sensore: abbiamo constatato, facendo diverse prove, che la distanza a cui viene individuato l’ostacolo dipende dalla luminosità dell’ambiente, per cui può variare da pochi cm a quasi un metro.
SENSORISENSORI AA BAFFOBAFFOI baffi dei robot Carbot e Spider sono collegati a un
interruttore che si chiude quando il baffo viene premuto. Il software, leggendo lo stato di questo interruttore capisce
se il robot ha trovato un ostacolo.
SENSORISENSORI AA BAFFOBAFFO
Facendo una serie di prove abbiamo rilevato che
l’ostacolo potrebbe non essere sentito se la sua
altezza è inferiore a quella dei baffi, oppure se è molto stretto e il robot lo incontra con la parte centrale, dove i baffi non riescono ad agire.
ALIMENTAZIONEALIMENTAZIONEPer alimentare la scheda a
microcontrollore e i motorini occorre una
tensione continua fra i 6V e i 9V, perché sulla scheda c’è
un integrato regolatore di tensione che per funzionare correttamente ha bisogno di questo segnale di ingresso (sia il PIC che i motorini
lavorano a 5V).
ALIMENTAZIONEALIMENTAZIONELa tensione di
alimentazione viene fornita da 4 pile stilo da 1,5V collegate in serie.
Poiché abbiamo deciso di utilizzare delle pile
ricaricabili che sono da 1,2 V si è reso necessario
modificare i robot in modo da poter inserire altre 2 pile in serie, per
poter ottenere una tensione di circa 7V.
Il PIC (il microcontrollore)Il PIC (il microcontrollore)
Il PIC utilizzato sulla scheda è della famiglia 16F87X.
Per realizzare il collaudo dei robot e programmare il PIC abbiamo usato l’emulatore MPLAB ICD della Microchip. Questo ci permette di
scrivere un programma su PC, caricarlo nella memoria del PIC e provarlo inviando i comandi da calcolatore.
Possiamo far eseguire il programma, inserire dei breakpoint, eseguirlo passo-passo, visualizzare il valore dei segnali letti o inviati.
Il collaudo del software ha presentato qualche difficoltà……
Il PIC (il microcontrollore)Il PIC (il microcontrollore)Il microcontrollore è un dispositivo programmabile in
grado di svolgere diverse funzioni in relazione al programma in esso implementato.
All’interno contiene•o CPU•o porte di I/O•o timer•o convertitore analogico digitale•o interfaccia seriale•o comparatori analogici•o PWM•o Memoria di programma di tipo flash•o Memoria dati di tipo RAM statica per i registri•o Memoria di tipo Eeprom per i dati
Il PIC (il microcontrollore)Il PIC (il microcontrollore)Per controllare il
funzionamento dei robot abbiamo utilizzato i segnali
digitali delle 3 porte di Input/Output programmabili
(Port A, Port B, Port C).
Il softwareIl software
Il software utilizzato per la gestione dei robot è stato realizzato in linguaggio C, in particolare abbiamo utilizzato il PIC C Compiler CCS in
ambiente di lavoro MPLAB.
Il softwareIl softwareIl programma di gestione per far in modo che i robot evitino
gli ostacoli dal punto di vista logico è molto semplice.
Si sviluppa in questo modo:
•Inizializzazioni
•Inizio ciclo che si ripete infinite volte
•Comando per fare un passo avanti
•Lettura sensore di destra
•Se c’è un ostacolo gira a sinistra
•Lettura sensore di sinistra
•Se c’è un ostacolo gira a destra
•Ripeti il ciclo
Il softwareIl softwareIl problema maggiore nello scrivere il software è stato
capire come pilotare i motorini e fare dei sottoprogrammi facilmente richiamabili per far
eseguire ai robot i movimenti desiderati
Nel software finale ci sono una serie di subroutine che possono essere richiamate per fare un
passo avanti, un passo indietro, girare a destra, girare a
sinistra.Chiaramente sono diverse a
secondo del robot.
VideoVideoPer vedere il video che ti interessa clicca sul titolo.
Devi prima copiare la cartella “VIDEO” dal CD sul disco C del calcolatore in una cartella che si chiami Robot TED
Carbot ostacoliCarbot ostacoli
Carbot percorsoCarbot percorso
Carbot recintoCarbot recinto
FilippoFilippo
SpiderSpider
Tutti insiemeTutti insieme
Il collaudoIl collaudoFINE