AUTOMAZIONE CON SISTEMA A MICROCONTROLLORE "EVITA OSTACOLI"

Home GENERALITA' SOLUZIONE PROG. ESECUTIVO DOCUMENTAZIONE REALIZZAZIONE COLLAUDO MANUALE D'USO CREDITI FOTO FINALE FILMATO DEL PROG

Pali Alessio

Classe:  Quinta

Sezione: Elettronica e Telecomunicazioni

A.S.: 2006/2007 

ITIS Marconi Domodossola

 

 

Bisogna innanzi tutto scegliere quale tipo di microcontrollore usare, in questo progetto ne ho usato uno della famiglia PIC 16Fxx, precisamente il 16F876A, perché al suo interno è presente un convertitore ADC e possiede 22 pin di ingresso/uscita ripartiti in 3 port: PORT_A (6 pin), PORT_B (8 pin), PORT_C (8 pin). Si sarebbe potuto benissimo usarne uno del tipo 16F84, ma, il dispositivo doveva essere montato a bordo permanentemente, ed ospitare i vari programmi di controllo. Tutto ciò, per ottimizzare la fase di collaudo sperimentale.
Poi bisogna provvedere ai sensori ad ultrasuoni, in ciascuna coppia, ve ne è una che fa da altoparlante, e che quindi emette degli ultrasuoni, ed un sensore che funge da microfono, ovvero, se riceve in ingresso l’ultrasuono inviatogli dall’altoparlante, vuol dire che davanti al Robot si è presentato un ostacolo, e manda un segnale in continua al microprocessore, il quale mediante il programma al suo interno, reagirà aggirando l’ostacolo; inoltre bisogna provvedere alle fotoresistenze le quali captano ognuna la propria fonte di luce, mandando un segnale analogico al microprocessore, il quale mediante il convertitore analogico ed il programma al suo interno, reagirà seguendo la fonte luminosa al suo interno.
Il programma dovrà essere steso in modo da prevedere il maggior numero di casistiche che il nostro Robot può incontrare nel suo tragitto. Ad esempio si può fare in modo che:

- Quando il Robot incontra un ostacolo, se ne accorge, va indietro, si gira nella direzione opposta all’ostacolo e poi riparte,

con questa automazione sorge il seguente problema: se nella direzione opposta c’è subito un altro ostacolo, cosa accade?

Allora si può pensare a questo altro tipo:


- Quando il Robot incontra un ostacolo, se ne accorge, va indietro, si gira nella direzione opposta all’ostacolo e poi riparte,

in quest’altro caso invece, se non è andato abbastanza indietro, in modo da permettergli di aggirare l’ostacolo che succede?

L’idea più giusta è quella di continuare ad interrogare il sensore ad ultrasuoni, in modo che il carrello arretri sino a che esce dalla portata dell’ostacolo. A questo punto si può girare e continuare il suo percorso.

Un altro problema che si pone, è quello legato allo spazio di manovra. Sono possibili due tipi di rotazione:
Una è quella in cui il Robot ruota su se stesso, così da permettergli di girarsi molto più velocemente, facendo andare i 2 motori in direzioni opposte.
L’altra è quella in cui il Robot ruota su una sola ruota, occupando più spazio per la manovra.
Si è scelto di usare il primo tipo di rotazione, ossia su se stesso.
Se il programma viene eseguito correttamente, in modalità “evitare gli ostacoli”, si potrà avere come risultato una situazione simile:
 

 Fase 1) Il Robot segue la direzione avanti come predefinità
 

 Fase 2) Il Robot avverte l’ostacolo
 


 Fase 3) Il robot indietreggia fino a non avvertire più l’ostacolo
 
 Fase 4) Il robot segue la direzione avanti come predefinità

Per quanto riguarda le scelte dei pin I/O si è scelto di stabilire la seguente impostazione:
 

PORT A:

PORT B:

PORT C:

 

RA0à Fr Sx

RA1à Fr Dx

RA2à Ultr Sx

RA3à Ultr Dx

RA4à Fd Sx (Non utilizzato)

RA5à Fd Dx (Non utilizzato)

 

RB0à Motore Sx (b0)

RB1à Motore Sx (b1)

RB2à Motore Dx (b0)

RB3à Motore Dx (b1)

RB4à ON\OFF: LED Sx

RB5à ON\OFF: LED Dx

RB6à ON\OFF Buzzer (Non utilizzato)

 

 

 

RC0à Selezione del programma (attivo basso)

 

RC1à ON\OFF: LED rosso, per selezione del programma “inseguitore di luce” (attivo alto)

 

RC2à ON\OFF: LED verde, per selezione del programma “evita gli ostacoli” (attivo alto)

Fr = Fotoresistenza   ---   Ultr = Sensore ad ultrasuoni   ---   Fd = Foto diodo
 

Dopo aver tenuto conto di queste premesse si può stilare un flow-chart, uno schema di flusso, che spiega il comportamento del Robot, in modalità “evita gli ostacoli”, oltre che a dare un’idea del software di programmazione del microcontrollore:

 

 Torna ad inizio pagina

 

HOME : GENERALITA' : SOLUZIONE : PROGETTO : DOCUMENTAZIONE : REALIZZAZIONE : COLLAUDO : MANUALE D'USO : CREDITI : FOTO FINALE PROG. : FILMATO DEL PROG.