3
http://www.didel.com/ [email protected] www.didel.com/kidules/KiDistIr.pdf Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à mettre en œuvre. Mais ils sont sensible à la lumière ambiante (surtout les spots) et sont difficiles à calibrer. Ils ne conviennent aussi que pour des courtes distances, qui dépendent de la taille du capteur, de son optique, de la puissance émise, de filtres éventuels. Des explication générales sont données sous www.didel.com/doc/sens/DocIr.pdf Le capteur double KiDist2 a été développé pour le KiCar www.didel.com/kidules/KiCar.pdf avec plusieurs options avec et sans transistors, ou avec potentiomètre, www.didel.com/kits/Dist2Ir.pdf Le module Dist3IR www.didel.com/pic/Dist3Ir.pdf , a trois capteurs et deux transistors. Il peut être câblé pour 1,2, 3 capteurs de distance. Il n’a pas le connecteur Molex normalisé. Principe Le principe d'un capteur par réflexion est d'éclairer l'obstacle avec une LED infrarouge, et de mesurer la lumière réfléchie avec une photodiode ou un phototransistor. L'objet éclairé retransmet une énergie inversément proportionnelle au carré de la distance. Le schéma de câblage d'un détecteur d'obstacle est évident. Une résistance fixe le courant dans la LED qui éclaire l'obstacle. La résistance du photo-transistor est mesurée soit avec un diviseur de tension, soit par mesure du temps de charge ou décharge d'un condensateur, ce qui couvre une gamme de distance plus grande. Une photodiode, un phototransistor, laissent passer un courant proportionnel à l'énergie lumineuse reçue. Dans l'obscurité totale, il y a un courant de fuite (dark current). Une diode travaille avec des niveaux de courants faibles (surtout les diodes de type PIN), alors qu'un phototransistors génère un courant plus élevé, tout en ayant un courant de fuite proportionnellement plus élevé. La solution d'emploi facile, avec de nombreux composants à disposition, est le phototransistor. Le LIT301 a de meilleures performances puisque les diodes ont un boitier qui fait optique pour concentrer la lumière. Solution analogique Le câblage en diviseur de tension est une solution simple, utilisable lorsque la lumière ne varie pas trop, ce qui est le cas dans des machines, mais pas avec des robots mesurant des distances. On remplace la résistance par un potentiomètre, pour avoir une marge manœuvre s’il y a trop de lumière. Si on lit la tension sans éclairage IR, elle doit être proche du maximum (255). Les valeurs éclairées par les diodes IR pour une distance moyenne doivent être de 100-150. La résistance doit être choisie en conséquence. Ceci garanti la meilleure détection d’obstacles à la distance prévue. Le document www.didel.com/doc/sens/DocIr.pdf explique bien pourquoi le domaine de travail est étroit. La mesure d’un signal analogique est expliquée sous www.didel.com/kidules/Analogue.pdf .

Capteur de distance infrarouge - didel.com · Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à

Embed Size (px)

Citation preview

Page 1: Capteur de distance infrarouge - didel.com · Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à

http://www.didel.com/ [email protected]

www.didel.com/kidules/KiDistIr.pdf

Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à mettre en œuvre. Mais ils sont sensible à la lumière ambiante (surtout les spots) et sont difficiles à calibrer. Ils ne conviennent aussi que pour des courtes distances, qui dépendent de la taille du capteur, de son optique, de la puissance émise, de filtres éventuels. Des explication générales sont données sous www.didel.com/doc/sens/DocIr.pdf

Le capteur double KiDist2 a été développé pour le KiCar www.didel.com/kidules/KiCar.pdf avec plusieurs options avec et sans transistors, ou avec potentiomètre, www.didel.com/kits/Dist2Ir.pdf

Le module Dist3IR www.didel.com/pic/Dist3Ir.pdf , a trois capteurs et deux transistors. Il peut être câblé pour 1,2, 3 capteurs de distance. Il n’a pas le connecteur Molex normalisé.

Principe Le principe d'un capteur par réflexion est d'éclairer l'obstacle avec une LED infrarouge, et de mesurer la lumière réfléchie avec une photodiode ou un phototransistor. L'objet éclairé retransmet une énergie inversément proportionnelle au carré de la distance. Le schéma de câblage d'un détecteur d'obstacle est évident. Une résistance fixe le courant dans la LED qui éclaire l'obstacle. La résistance du photo-transistor est mesurée soit avec un diviseur de tension, soit par mesure du temps de charge ou décharge d'un condensateur, ce qui couvre une gamme de distance plus grande.

Une photodiode, un phototransistor, laissent passer un courant proportionnel à l'énergie lumineuse reçue. Dans l'obscurité totale, il y a un courant de fuite (dark current). Une diode travaille avec des niveaux de courants faibles (surtout les diodes de type PIN), alors qu'un phototransistors génère un courant plus élevé, tout en ayant un courant de fuite proportionnellement plus élevé. La solution d'emploi facile, avec de nombreux composants à disposition, est le phototransistor. Le LIT301 a de meilleures performances puisque les diodes ont un boitier qui fait optique pour concentrer la lumière.

Solution analogique Le câblage en diviseur de tension est une solution simple, utilisable lorsque la lumière ne varie pas trop, ce qui est le cas dans des machines, mais pas avec des robots mesurant des distances.

On remplace la résistance par un potentiomètre, pour avoir une marge manœuvre s’il y a trop de lumière. Si on lit la tension sans éclairage IR, elle doit être proche du maximum (255). Les valeurs éclairées par les diodes IR pour une distance moyenne doivent être de 100-150. La résistance doit être choisie en conséquence. Ceci garanti la meilleure détection d’obstacles à la distance prévue. Le document www.didel.com/doc/sens/DocIr.pdf explique bien pourquoi le domaine de travail est étroit.

La mesure d’un signal analogique est expliquée sous www.didel.com/kidules/Analogue.pdf.

Page 2: Capteur de distance infrarouge - didel.com · Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à

Le kit Dist2IrPot facilite le montage sur KiCar. On affiche la valeur sur le portB, mais étant donné que les bits 4-8 passent par les amplis moteurs, il ne faut afficher que 4 bits, ce qui est suffisant pour régler le pot et voir les valeurs obscures et éclairé par une lampe de poch à filament (une Led blanche n’envoie pas les bonnes fréquences). Programme KidiCarAnalo.pde

Mesure par décharge d’un condo

La solution préférée pour la mesure est de charger le condensateur de l’interface en mettant la ligne en sortie du processeur, à l’état 1. On commute en entrée, et on mesure le temps de décharge, d’autant plus rapide qu’il y a plus de lumière. La valeur du condensateur est telle que le processeur compte avec suffisamment de précision. Dans l’obscurité, le condensateur se décharge pas, et un compteur limite la mesure à par exemple une valeur de 100. On verra que l’on compte toutes les 100ms, donc la durée de la mesure est de 10 ms.

Pour diminuer l’effet de la lumière ambiante, on peut faire une première mesure sans éclairage IR, puis une 2e mesure avec éclairage, La différence corrige un peu, mais ce qui est important, c’est de vérifier que la lumière ambiante donne une valeur très différente. Si non, la capteur est mal dirigé ou doit être protégé par des caches bien placés. Donc pour la mesure, on précharge 100 us, ou commute en entrée, et on lit la valeur qui décroit exponentiellement. Tant que le seul est supérieur à l’état 1 (environ 1.9Và 5V, 0.8V à 3V) on compte. cnt = 0 ;

for (i=0; i<100; i++) {

delayMicroseconds (100)

if (Dist0 == On) cnt0++ ;

distance0 = cnt0 ;

La distance max est de 100 D1ce qui fait une durée d’acquisition de 20ms.

{

Visualisation du compteur, de la décharge et du seuil

Le premier cycle a la diode d’éclairage IR éteinte, donc décharge lente. Le 2

e cycle mesure la lumière

réfléchie par l’obstacle.

La routine est facile à écrire. Après avoir chargé les condensateur on exécute une boucle toutes les 500 microsecondes (période d’interruption) dans laquelle on incrémente les compteurs associés à chaque capteur. Un décompteur détermine la valeur maximum mesurée (quand c’est obscur) et définit la durée de la mesure. On a donc les instructions suivante pour la fonction de lecture, qui dure 12millisecondes à chaque appel Il faut d’abord réfléchir quel valeur mettre pour la direction du port A, en tenant compte de tous les bits. On peut câbler deux ou 4 capteurs de distance. Notre application en utiliser 2 les capteurs étant câblés sur

Page 3: Capteur de distance infrarouge - didel.com · Capteur de distance infrarouge Les capteurs par réflexion infrarouge ont comme avantage d’être petits, bon marché et faciles à

U6bot, photocapteurs sur RA0 RA1 appelés Dist0 et Dist1, le transistor qui allume des deux diodes IR par le bit RC0 appelé IR01. RA0 RA1 commutent en écriture d’un 1 (5V) et lecture du signal qui se décharge pour stopper le comptage. //KidiCarD1.pde

#include "KiCarDef.h"

#define Dist01Cha PORTA = 0b11111111

#define Dist01In TRISA = 0b11111111

#define Dist01Out TRISA = 0b11111100

u8 distance0 ; u8 distance1 ;

void GetDist ()

{

u8 cnt0, cnt1, tmp, i ;

Dist01Out ;

Dist01Cha ;

delayMicroseconds (100) ;

Dist01In ;

IR01 = On ;

cnt0 = 0 ; cnt1 = 0 ;

for (i=0; i<100; i++) {

delayMicroseconds (100) ;

if (Dist0 == On) cnt0++ ;

if (Dist1 == On) cnt1++ ;

}

distance0 = cnt0 ;

distance1 = cnt1 ;

IR01 = Off ;

}

Dans le programme principal on apelle la procédure qui

mets à jour les variables distance0 et distance1 GetDist () ;

if (distance0 < 40) {..faire ceci..

}

Pour précharger, puis lire, il faut agir sur la directions et sur la valeur en sortie définitions variables globales nom de la procédure On se mets en sortie On charge les condos Environ 100 us pour une bonne charge On se remets en entrée On active le transistor qui allume l’éclairage IR On initialise les compteurs La boucle de mesure On sauve les valeurs calculées On coupe l’infrarouge

jdn 110810