Anteprima
Vedrai una selezione di 8 pagine su 34
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 1 Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 2
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 6
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 11
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 16
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 21
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 26
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Assemblaggio di componenti e sviluppo software per un robot cingolato dotato di sensori infrarossi Pag. 31
1 su 34
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

Si tratta di un robot cingolato capace di restare entro il perimetro di un tavolo con fondo bianco in assenza di bordi. La presenza del piano di appoggio viene rilevata mediante 4 sensori infrarossi posti agli angoli del robot. Quando il piano di appoggio non viene più rilevato il robot attua una manovra per evitare di cadere. È possibile vedere un video del robot in azione qui: http://youtube.com/watch?v=4Yxc5t4cXaw. In questo caso il tavolo bianco è simulato da dei fogli.

Materie trattate: Sistemi, elettronica, informatica

Estratto del documento

Istituto Tecnico Industriale “Leonardo Da Vinci”

– Tesina per l’esame di stato

Anno scolastico 2006/2007

Matteo Agostinelli

Assemblaggio di

componenti e sviluppo

software per un robot

cingolato dotato di sensori

infrarossi.

Indice:

Introduzione ....................................................................................................................... 3

Capitolo 1 - Elettronica e programmazione ..................................................................... 4

1.1 Scheda madre: caratteristiche e potenzialità ........................................................ 7

1.1.1 Sezione di alimentazione ..................................................................................... 7

1.1.2 Il microcontrollore ATMEGA 8535 (elaborazione dati ed esecuzione software) .. 7

1.1.3 Comunicazione con il pc ...................................................................................... 9

1.1.4 Slot di collegamento .......................................................................................... 10

1.2 Sensori IR ............................................................................................................... 10

Capitolo 2 - Locomozione ............................................................................................... 13

2.1 - Il motore a spazzole in corrente continua .......................................................... 13

2.2 - Il motoriduttore ..................................................................................................... 15

2.3 - Regolazione della velocità agendo sul PWM. .................................................... 15

2.4 - Inversione del senso di rotazione del motore attraverso il ponte ad H ........... 16

2.5 - La sterzata ............................................................................................................ 16

Capitolo 3 - Assemblaggio e taratura ............................................................................. 17

3.1 Realizzazione della scheda ................................................................................... 17

3.1.1 Creazione del master ......................................................................................... 17

3.1.2 Verniciatura della basetta con vernice fotosensibile .......................................... 18

3.1.3 Impressionamento con bromografo ................................................................... 18

3.1.4 Sviluppo con soda caustica e incisione con cloruro ferrico ................................ 19

3.1.5 Foratura della scheda con trapano a colonna .................................................... 20

3.1.6 Saldatura dei componenti sulla scheda ............................................................. 21

3.2 Realizzazione del telaio del robot ......................................................................... 21

3.3 Taratura dei motori ................................................................................................. 21

Capitolo 4 - Controllo del piano di appoggio ................................................................ 22

4.1 Modellazione del trasduttore ................................................................................. 22

4.2 Comando dei motori .............................................................................................. 22

Capitolo 5 Software di controllo .................................................................................. 23

5.1 Struttura del software ............................................................................................ 23

5.2 Progettazione della legge di controllo .................................................................. 23

5.3 Software di controllo .............................................................................................. 23

5.3.1 Funzioni per il controllo dell’ADC ....................................................................... 29

5.3.2 Funzioni per il movimento dei motori ................................................................. 29

5.3.3 La funzione DOWN_CHECK ............................................................................. 31

5.3.4 La funzione principale (main) ............................................................................. 33

Conclusioni ...................................................................................................................... 34

Bibliografia e riferimenti internet ................................................................................... 34

2

Introduzione

La tesi proposta consiste nello sviluppo di un robot il quale sarà capace di muoversi

autonomamente all’interno di un piano senza cadere oltre i bordi utilizzando dei sensori ad

infrarosso.

Partendo da un’analisi del robot assemblato e delle problematiche connesse al controllo

del piano di appoggio, si giunge alle scelte nello sviluppo del software di controllo.

L’algoritmo è stato studiato a partire da un modello matematico semplificato del robot e

successivamente affinato grazie a prove sperimentali.

Si cercherà quindi una taratura che punti a massimizzare la velocità dei movimenti ed al

tempo stesso riduca al minimo il rischio di caduta accidentale del robot.

Il microprocessore riceve in input i dati analogici dei sensori IR ed attua, attraverso i

sistemi di controllo dei motori, dei movimenti di risposta. 3

Capitolo 1 - Elettronica e programmazione

In questo capitolo analizzeremo parte dell’elettronica presente sul robot (quella utilizzata

per realizzare il riconoscimento del piano) a cui sono connesse delle informazioni sulle

possibilità di programmazione. Il robot dispone di una scheda interamente progettata da

noi su cui è presente la sezione di alimentazione (1), il microcontrollore vero e proprio

servirà per l’esecuzione del software utente (2) e una parte per la

(ATMEGA 8535) che

comunicazione con il PC tramite porta seriale(3) e ISP (4). Infine sono presenti delle

sezioni per:

• Accesso alla porta C (per adesso non utilizzata) (5)

• Sensori e gli emettitori linea (6)

• Motori (7)

• Baffo palla (per adesso non utilizzato) (8)

• Sensori per la palla (per adesso non utilizzato) (9)

• Baffi posteriori (per adesso non utilizzato) (10) 4

5

6

1.1 Scheda madre: caratteristiche e potenzialità

La struttura della scheda costruita può essere riassunta in 4 punti principali:

1. La sezione di alimentazione

Il microcontrollore ATMEGA 8535 (per l’elaborazione dei dati e l’esecuzione del

2. software)

3. Comunicazione con il pc

4. Slot di collegamento

1.1.1 Sezione di alimentazione

La scheda è stata progettata per essere alimentata esclusivamente in tensione continua a

6 volt. L’alimentazione proviene da un pacco di 5 batterie (1,2 V ciascuna) con capacità di

1100 mAh.

Dalla batteria sono ricavate le due linee di alimentazione: 5VA e 5VD.

Come è possibile vedere nello schema, la tensione proveniente dal jack di connessione

viene ridotta tramite il diodo D1, che protegge anche dal collegamento errato della

batteria. Un ulteriore riduzione è ottenuta tramite il diodo D2. Come si può notare, la

tensione 5VA è prelevata subito dopo il diodo D1. Questa tensione è utilizzata per

l’alimentazione dei motori. La tensione 5VD invece viene utilizzata per alimentare tutti gli

altri componenti del circuito.

1.1.2 Il microcontrollore ATMEGA 8535 (elaborazione dati ed esecuzione software)

L’elaborazione del software utente è affidata ad un microcontrollore della famiglia

ATMEGA, in particolare al modello 8535. Molto diffusi per i costi ridotti e le buone capacità

di calcolo ed interfacciamento, i microcontrollori presentano in un singolo circuito integrato

un microprocessore, dei registri RAM ed EEPROM.

Inoltre sono presenti alcuni registri connessi con dei pin di I/O che permettono

l’interfacciamento verso l’esterno.

Per ottenere dei pin di tipo bidirezionale, che possono funzionare sia come Input che come

Output (non contemporaneamente), è necessario utilizzare uno schema con registri

separati di input ed output e porte TRI-STATE.

Infatti una porta di input non può funzionare contemporaneamente come output, e

viceversa. Inoltre, forzando un segnale su una porta di output, si rischia di danneggiarla. 7

Lo schema generale di un microcontrollore è il seguente:

Il cuore del microcontrollore è una CPU, che preleva le istruzioni presenti nella memoria

flash e eeprom. La memoria RAM di lavoro contiene soltanto i dati che risultano separati

dal programma. Le periferiche più comuni sono:

• PIO (Parallel I/O): fornisce un insieme di piedini bidirezionali per il collegamento di

dispositivi digitali esterni.

• UART (Universal Asinchrous Receiver Transmitter): consiste in una porta seriale

standard RS232 compatibile.

• SPI (Seria Peripheral Integral): si tratta di una seriale sincrona (un segnale di clock

viene utilizzato per sincronizzare lo scambio di dati tra i due dispositivi).

• C: è una seriale sincrona che funziona con 2 fili, uno per il clock e l’altro

2

I

bidirezionali. A questo bus è possibile collegare fino a 127 periferiche diverse.

• Timer: viene utilizzato per creare interrupt periodici oppure per generare un’onda

quadra su un piedino del microcontrollore. Il timer è basato su di un contatore che

viene incrementato ad ogni colpo di clock della CPU e quando raggiunge un valore

prefissato, solitamente, genera l’interrupt oppure inverte lo stato logico di un

piedino.

• PWM (Pulse Width Modulation): periferica basata sul timer che consente di

generare un’onda quadra a frequenza fissa e duty cycle variabile. Il duty cicle è la

percentuale di tempo che un segnale logico sta in posizione “ON” rispetto al periodo

quadra.

totale dell’onda

• USB (Universal Serial Bus): consente il collegamento del microprocessore al PC

(nell’ATMEGA 8535 non è presente).

• EEPROM (Erasable Electrically Programmable Rom): è una memoria non volatile

leggibile e scrivibile dal microcontrollore. Può essere utilizzata per salvataggi

permanenti di parametri e variabili.

• COMP (Comparatore): confronta la tensione analogica su due piedini del

microcontrollore fornendo 1 logico in uscita se la tensione sul piedino COM+ è

maggiore di quella sul piedino COM- e viceversa 0 logico. Può anche generare

interrupt in caso di commutazione dello stato.

• ADC (Analog to Digital Converter): converte una tensione analogica al suo ingresso

in un numero intero proporzionale alla tensione analogica. 8

l’ATMEGA:

Vediamo come lavora in particolare

L’ATMEGA 8535 presenta 40 piedini, ognuno con una funzione diversa. Qui sotto sono

descritti i più importanti: VCC: alimentazione

GND: massa

PA0…PA7, PB0…PB7, PC0…PC7,

PD0…PD7: sono rispettivamente gli 8

piedini delle porte A, B, C, D. Ogni piedino

rappresenta una linea di I/O del

microcontrollore.

RESET: attivo a livello basso, provoca il

reset del microcontrollore.

Il linguaggio e le regole sintattiche utilizzate per la programmazione sono quelle delle

classiche versioni del C per PC. Il linguaggio è compilato, il microcontrollore interroga la

memoria flash, da cui preleva il software, ed esegue i comandi richiesti.

1.1.3 Comunicazione con il pc

La comunicazione con il PC ha la funzione di memorizzare nella memoria FLASH i

programmi utente. Può essere usata anche per effettuare il debug dei programmi in fase di

sviluppo.

La porta parallela del PC è La porta seriale del microcontrollore, realizzata con il

MAX 232, consente di interfacciare l’ATMEGA8535 con

utilizzata per interfacciarsi con il

microcontrollore al fine di poter il mondo esterno. Questa porta in particolare consente

trasferire i programmi nella sua anche di effettuare il debug dei programmi utente

memoria. durante la fase di programmazione. 9

1.1.4 Slot di collegamento

Per facilitare le connessioni sulla scheda sono presenti una moltitudine di slot di

espansione (o collegamento) di cui viene mostrata una panoramica in questo paragrafo.

serve all’identificazione

Ogni slot è identificato dalla sigla J oppure MG dove la i dello slot.

i i

J1 Attacco per la porta C (non utilizzato)

J2 Attacco per la porta A (non utilizzato)

Dettagli
34 pagine
4 download