il mondo dei robot - Istituto Maserati

IL MONDO DEI ROBOT
I robot realizzati dagli studenti
dell’IIS “A. Maserati” di Voghera
www.istitutomaserati.it
Progetto della classe 5°EA Sezione Tecnica
Periti in Elettronica e Telecomunicazioni
a. s. 2003-2004 e a. s. 2004-2005
ECCO I NOSTRI ROBOT…
FINE
Video
LA REALIZZAZIONE
Durante 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…..
FILIPPO
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.
SPIDER
Spider 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.
CARBOT
Utilizza 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.
CARBOT
Abbiamo realizzato
una basetta con dei
sensori riflessivi,
che è stata montata
sotto Carbot
CARBOT
Abbiamo quindi scritto un programma per fare in
modo che Carbot restasse all’interno di una linea
nera
CARBOT
Abbiamo scritto un altro programma per fare in
modo che Carbot seguisse in percorso nero.
CARBOT
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
MOTHERBOARD
Il 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.
I MOTORINI
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 MOTORINI
I 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
I MOTORINI
Comando dal PIC
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.
Segnale interno di
riferimento
Segnale al motore
I MOTORINI
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
SENSORI A INFRAROSSI
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.
SENSORI A INFRAROSSI
Abbiamo 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.
SENSORI A BAFFO
I 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.
SENSORI A BAFFO
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.
ALIMENTAZIONE
Per 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).
ALIMENTAZIONE
La 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 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 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)
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 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 software
Il 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 software
Il 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.
Video
Per 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 ostacoli
Carbot percorso
Carbot recinto
Filippo
Tutti insieme
Spider
FINE
Il collaudo