Différences entre versions de « Pololu-Senseur-QTR-Fonctionnement »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 16 : Ligne 16 :
  
 
Il suffit de surveiller la vitesse de la chute de tension pour déterminer la réflectance de la surface sous le senseur:
 
Il suffit de surveiller la vitesse de la chute de tension pour déterminer la réflectance de la surface sous le senseur:
* La tension chutera beaucoup plus vite pour une surface blanche (car le photo-transistor, plus excité, conduit plus de courant, ce qui décharge la capacité plus rapidement).
+
* La tension chutera beaucoup plus vite pour une surface blanche car le photo-transistor, plus excité, conduit plus de courant. La capacité se déchargera plus rapidement.
 
* La tension chutera lentement si la surface renvoie peu de lumière vers le photo-transistor. C'est le cas pour une surface opaque.
 
* La tension chutera lentement si la surface renvoie peu de lumière vers le photo-transistor. C'est le cas pour une surface opaque.
  

Version du 24 juin 2018 à 16:26

Le senseur de ligne

L'ensemble des senseurs du QTR-8RC (détection par réfléchissement) sont utilisés comme détecteur de ligne mais peuvent également servir comme senseur de proximité ou senseur de surface réfléchissante.

Pololu-Senseur-QTR-Fonctionnement-00.png

Module QTR8C de pololu.

Cliquer l'image pour l'agrandir

Le module QTR8C lien pololu est équipé de 8 émetteurs infrarouges et 8 senseurs infrarouges (des phototransistors) montés en paires et espacés de 9.525 mm.

Les photo-transistors

Pololu-Senseur-QTR-Fonctionnement-01.jpg

QTRxC principe de fonctionnement.

Cliquer l'image pour l'agrandir

Pour utiliser le senseur, il faut d'abord activer la broche de lecture du microcontrôleur en sortie. Configurée en sortie, la broche permet de charger la capacité du noeud en appliquant une tension de 5V sur la broche OUT (broche de sortie du circuit).

Ensuite, on passe broche en entrée pour lire la réflectance (Wikipedia.fr) en lisant la tension sur cette broche. En effet, une fois reconfigurée en entrée, la broche présente une très haute impédance et la seule opportunité de déchargement de la capacité, c'est par l'intermédiaire du phototransistor. La courant traversant le transistor dépend de son excitation... et donc directement proportionnel à la luminosité qu'il reçoit (donc de la lumière renvoyée par la surface réfléchissante).

Il suffit de surveiller la vitesse de la chute de tension pour déterminer la réflectance de la surface sous le senseur:

  • La tension chutera beaucoup plus vite pour une surface blanche car le photo-transistor, plus excité, conduit plus de courant. La capacité se déchargera plus rapidement.
  • La tension chutera lentement si la surface renvoie peu de lumière vers le photo-transistor. C'est le cas pour une surface opaque.
Pololu-Senseur-QTR-Fonctionnement-02.png

La sortie du QTR-1RC (jaune) lorsque le senseur passe au dessus d'une ligne noire (à 3.1mm) et correspondance du temps d'impulsion de cette sortie sur un microcontrôleur (bleu).

Cliquer l'image pour l'agrandir

Pololu-Senseur-QTR-Fonctionnement-03.png

La sortie du QTR-1RC (jaune) lorsque le senseur passe au dessus d'une surface blanche (à 3.1mm) et correspondance du temps d'impulsion de cette sortie sur un microcontrôleur (bleu).

Cliquer l'image pour l'agrandir

La tension sur la broche OUT, chutera donc plus ou moins vite. La bibliothèque Arduino doit mesurer le temps nécessaire pour que la tension chute suffisamment pour ramener la broche OUT à l'état bas. Ce temps est un bon indicateur de la lumière infrarouge renvoyée vers senseur infrarouge (photo-transistor) et donc du type de surface réfléchissante sous le senseur.

L'approche utilisée pour réaliser la mesure a plusieurs avantages, plus particulièrement avec le module QTR8C capable de désactiver ses LEDs infrarouges.

Quels sont les avantages:

  • Pas besoin d'un convertisseur digital/analogique (ADC).
  • Améliore la sensibilité par rapport à une sortie analogique utilisant pont diviseur de tension.
  • Il est possible de lire plusieurs senseurs en même temps (sur la plupart des microcontrôleurs).
  • La lecture en parallèle permet d'optimiser l'activation des LEDs et d'optimiser la consommation.

Activation des LEDs

Toutes les sorties sont indépendantes mais les LEDs sont infrarouges sont connectées en série par paires (pour diviser la consommation par deux).

Pololu-Senseur-QTR-Fonctionnement-10.png

Les LEDs du QTRxC

Cliquer l'image pour l'agrandir

Les LEDs sont contrôlées par un MOSFET avec la gate maintenue à VCC via une résistance Pull-Up. Cela permet au microcontrôleur désactiver les LEDs en ramenant le potentiel de la gate du MOSFET à 0 volts (niveau bas).

Pouvoir désactiver les LEDs permet de limiter la puissance consommée par le projet lorsque le senseur n'est pas utilisé. Il est également possible de contrôler la luminosité de celles-ci à l'aide d'un signal PWM.

Sous 3.3V

Les résistances de limitation de courant des LED sont prévu pour un fonctionnement sous 5 V.

Pololu-Senseur-QTR-Fonctionnement-11.jpg

Le QTR8C sous 3.3v

Cliquer l'image pour l'agrandir

Ces résistances sont organisées en deux étages; ce qui permet de bypasser un étage pour autoriser le fonctionnement sous 3.3 V.

Consommation

Le courant d'une LED est d'approximativement 20–25 mA, ce qui fait représente un courant de fonctionnement total de 80-100mA pour tout le module.

Fonctionnement de la bibliothèque

Le module QTR-8RC dispose de 8 sorties identiques (le QTR-1RC à une seule sortie) et nécessite des entrées/sorties digitales capable de piloter le signal de sortie pour imposer un HIGH et ensuite passer cette broche en entrée pour mesurer le temps nécessaire à la tension pour chuter.

La séquence à utiliser pour lire un senseur est la suivante:

  • Allumer les LEDs Infrarouges (optionnel).
  • Placer la ligne digital en sortie (mode OUTPUT) et placer la ligne au niveau HAUT (HIGH).
  • Attendre au moins 10 μs pour permettre au noeud de se charger.
  • Placer la ligne digital en entrée (haute impédance).
  • Mesurer le temps qui à été nécessaire pour cette ligne retombe au niveau bas.
  • Eteindre les LEDs Infrarouges (optionnel).

En général, ces étapes sont exécutées en parallèles sur les multiples lignes d'entrées/sorties du module.



Basé sur "Arduino Library for the Pololu QTR Reflectance Sensors" de Pololu (www.pololu.com/docs/0J19/1) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com)

Based on "Arduino Library for the Pololu QTR Reflectance Sensors" from Pololu (www.pololu.com/docs/0J19/1) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)