Sensori IR (infrared)

Ciascun sensore infrarossi è costituito da un diodo emettitore ed un ricevitore IR. Il diodo emette luce infrarossa, non visibile ad occhio nudo, ad una frequenza attorno ai 38,5 KHz che si propagano nella direzione del suo puntamento; incontrando un oggetto fino ad una distanza massima di 40 cm, vengono riflessi e catturati dal ricevitore IR.

In teoria calcolando il tempo trascorso tra l'emissione e la ricezione, si riesce a calcolare la distanza dell'ostacolo, ma, all'atto pratico, questo non è risultato un metodo affidabile.

I led sono inseriti in un cilindretto di plastica per meglio convogliare la luce IR.

 

 
particolare del diodo e ricevitore IR e loro montaggio

 

 

Quì a fianco lo schema circuitale originale dei due sensori IR frontali (in seguito è stato modificato).

Per ciascun sensore viene utilizzata una porta del processore per l'emissione della luce ed un'altra porta per leggere il ricevitore.

    

Quì a fianco riporto lo schema modificato dei sensori IR. In totale sono 6: 2 frontali, due posteriori ed uno laterale.

Per risparmiare porte sul microprocessore ho adottato questa tecnica:

- una sola porta fa da emettitore per tutti i 6 led IR. 
- un'altra porta viene utilizzata per aumentare o diminuire la potenza della luce erogata. Ho riscontrato che in questo modo riesco a calcolare con più affidabilità la distanza degli ostacoli.

 

 

 

Questo grafico mostra le relazioni tra le frequenze applicate per generare la luce IR e la distanza in cui viene rilevato l'ostacolo. l'area blu indica una rilevazione affidabile, mentre l'area gialla una rilevazione insicura.

 

 

I sensori IR devono permettere al robot di muoversi senza urtare alcun ostacolo. Vediamo quindi la teoria rilevazione ostacoli - comandi direzione.
Nel disegno seguente, oltre a mostrare la posizione fisica dei sensori IR  sul robot Eldo (a sinistra), riassume i comandi dati ai motori in funzione della lettura dei sensori stessi.
 

La prima tabellina, lettura sensori, indica le possibili combinazioni delle letture dei sensori, dove '0' indica la rilevazione dell'ostacolo, mentre '1' non indica alcuna rilevazione.
Nella seconda tabellina, moto=avanti, sono indicate, per ciascuna combinazione possibile di lettura sensoriale, i comandi che impartisco ad Eldo, durante un suo movimento in avanti. I comandi possono essere doppi, nel senso che prima si invia il comando 'azione 1' e di seguito il comando 'azione 2'.
L'eventuale numero dopo il comando (ad esempio: indietro 25) significa che il comando è impartito per 25 cicli consecutivi ai servomotori, e, durante questi cicli ogni ulteriore lettura dei sensori e disabilitata. Questo metodo serve sopratutto ad evitare blocchi del robot negli angoli o dietro le porte.
L'ultima tabellina, moto=indietro, corrisponde alla precedente, con la sola eccezione che Eldo sta andando indietro.


      Elenco revisioni
06-11-2005 Revisione
2003 Prima emissione