Comments
Description
Transcript
IL MONDO DEI ROBOT
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