La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione.

Presentazioni simili


Presentazione sul tema: "Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione."— Transcript della presentazione:

1 Daniele Mazzei

2 Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione e controllo dei microcontrollori Scrittura di un software di gestione del comportamento reattivo che possa funzionare su un PIC. Realizzazione di sensori per robot

3 Il comportamento Lidea è di realizzare un robot con comportamento bio-ispirato Alcuni insetti volano in modo apparentemente casuale fino a che non sentono il bisogno di nutrirsi o di riprodursi Iniziano quindi a seguire le tracce di odoranti per trovare una fonte di nutrimento o un partner (feromoni) Durante il loro moto devono evitare ostacoli

4 Il Robot Struttura in materiale plastico. Gruppo meccanico di riduzione preassemblato Elettronica costruita su una board millefori sagomata Ruote in gomma modello Lego Mindstorm

5 LHardware Elettronica di controllo e alimentazione PIC Sensori Motori Gruppo batterie Elettronica carica batterie

6 Il microcontrollore

7 I Sensori Controllo Batteria Partitore di tensione che invia al PIC un voltaggio pari alla metà della tensione sul pacco batterie 2 Sensori IR Fotodiodo montato in configurazione a partitore di tensione Led IR ad alta luminosità 2 Sensori di contatto Switch realizzati con sistema ago-molla 2 Sensori di luminosità Fotoresistenze montate in configurazione partitore di tensione I sensori sono collegati ai convertitori analogico digitale del PIC che leggono con una risoluzione di 10 Bit e accettano ingresso tensioni variabili tra 0 e Vdd

8 I Motori I 2 motori vengono controllati mediante un ponte H I due segnali PWM vengono inviati come Enable del ponte Vengono utilizzati 4 pin digitali del pic per controllare il verso di rotazione dei motori.

9 La porta seriale Grazie alla presenza della porta seriale risulta notevolmente più semplice la fase di debug del software E possibile il download del software sul PIC direttamente dalla seriale senza dover togliere il micocontrollore dallo zoccolo Il segnale della porta seriale è stato adattato alla standard RS 232 mediante lutilizzo dellintegrato MAX 232

10 Il software Il software è scritto in Basic mediante lambiente di sviluppo MicroBasic della Mikroelettronica. Con lausilio della libreria fornita dal software sono state scritte le varie funzioni di controllo dei PWM e di lettura degli ADC Il software è concepito come una macchina a stati finiti Le interazioni con lambiente comportano i passaggi da uno stato allaltro Stato 0 (Movimento random) Stato 1 (Contatt o a Sx evita ostacolo ) Stato 2 (Contatto a Dx evita ostacolo) Stato 3 (Ostacolo frontale o fine paviment o indietregg ia e gira) Stato 4 (fine batterie cerca la luce)

11 Il software Per simulare correttamente il comportamento di un insetto è necessario inserire un altro stato (Stato 5) Quando la batteria scende sotto una soglia prefissata il robot passa dalla modalità random a quella inseguimento luce (Stato 4) Smette di cercare la luce quando la batteria scende sotto una seconda soglia e si ferma per ricaricarsi mediante la cella fotovoltaica (Stato 5) Quando la batteria torna sopra un valore prefissato ricomincia landamento random (sato o)

12 Il software Nel Main vengono chiamate le varie funzioni di inizializzazione del controllore e di configurazione delle porte Mediante uno switch viene analizzata la variabile State che indica lo stato di lavoro Allavvio il robot parte nello stato 0, muovendosi random e controllando gli ostacoli Le funzioni di rilevamento ostacoli hanno diritto di cambiare il valore della variabile globale State Al giro successivo del main se la variabile State è diversa da 0 si attua la strategia di evitamento prescelta Leggi stato Setta led in base allo stato Controlla contatti Controlla ostacoli o pavimento Delay 100 ms

13 Evitamento ostacoli Le funzioni Collision_Detection e Obstacle_Avoidance vengono chiamate dal Main nello stato 0 Se viene rilevato un contatto lo stato viene cambiato da 0 a: Stato 1 -> Contatto a Sx Stato 2 -> Contatto a Dx Stato 3 -> Contatto frontale o mancanza suolo Al successivo giro del Main si entra nella strategia di evitamento dipendente dallo stato Imposta velocità ad x Inverti motoriDelay 1 Motore del contato aventi, altro fermo Delay 2Stato = 0Torna al Main

14 Randoom E stata realizzata una funzione in grado di generare numeri random: X=mod{(a*Timer),P} Dove: X= numero random generato a = costante Timer = Valore del clock P = Numero primo a scelta Mod{a,b} restituisce il resto della divisone intera fra a e b

15 Inseguimento luce I sensori di luminosità restituiscono valori fra 50 e 200 (200 -> buio, 50 -> max luce) I motori accettano in ingresso valori di velocità (Duty cicle PWM) fra 50 e 150 Il livello di luminosità viene quindi inviato al motore corrispondente limitandolo ad un max di 150 Essendo inverso landamento dei sensori di luminosità si ottiene un fenomeno di inseguimento senza dover incrociare le connessioni

16 I Test Evitamento ostacoli. Il robot è stato programmato per evitare ostacoli rilevati dai sensori di contatto a switch o dal senore IR frontale E stata disattivata la funzione di andamento random per facilitare la ripresa

17 Avvicinamento alla luce Il test è stato condotto in ambiente buio, ponendo una torcia in un angolo

18 Fuga dalla luce Il software è stato modificato per invertire il comportamento del robot Ogni sensore di luminosità influenza il motore opposto

19 Risultati Il robot si è rivelato essere un ottimo strumento di apprendimento per le problematiche relative allassemblaggio di componenti elettronici di base E stato possibile implementare con un solo PIC numerose funzioni tipiche dei comportamenti reattivi della robotica I test hanno dimostrato come il robot sia in grado di seguire la luce ed evitare ostacoli La realizzazione delle varie funzioni ha permesso al robot di avere un comportamento simile ad un insetto

20 Pro Il robot si è rilevato essere uno strumento funzionale a bassissimo costo per lo studio dellelettronica, dei microcontrollori e della programmazione di minirobot La realizzazione di robot non in Kit permette una continua evoluzione dellarchitettura ed infinite possibilità di utilizzo La presenza della porta seriale funzionante non solo per il download del software è una caratteristica che spesso non è presente sui robot in Kit Grazie alla presenza del caricabatterie integrato il robot si ricarica con qualsiasi tensione in ingresso compresa fra 7 e 14 Volt

21 Contro La programmazione dei PIC si è rilevata essere di livello non abbastanza alto per essere utilizzata come controllore principale di un robot Lutilizzo delle fotoresistenze come rilevatori di luce in configurazione a partitore di tensione si è rilevata essere una soluzione troppo semplificata La realizzazione della scheda elettronica su board millefori ha comportato numerosi problemi di falso-contatto durante la fase di test

22 Sviluppi futuri Realizzazione di un PCB dellarchitettura elettronica definitiva Sostituzione delle fotoresistenze con fototransistor e mosfet di condizionamento segnale Scrittura del codice in C Implementazione di uno Heap al fine di gestire in modo parallelo i vari task previsti dal comportamento reattivo del robot Inserimento di una connessione wireless per debug senza fili Collegamento della cella fotovoltaica per la ricarica solare

23


Scaricare ppt "Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione."

Presentazioni simili


Annunci Google