Auteur Sujet: Capteur de proximité VL6180X  (Lu 32023 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Capteur de proximité VL6180X
« le: mai 08, 2020, 03:16:11 pm »
Bonjour,

Dans le dernier numéro de "Electronique et Loisirs" (hiver 2019), un composant intéressant : le VL6180X.
On peut en acheter chez Pololu ($7 à $8) :
https://www.pololu.com/product/2489
C'est un exemple, il y a certainement moins cher ailleurs.

Des détecteur, on en a déjà plein. Mais celui-là a une particularité qui fait la différence avec tous les autres :
D'habitude, on envoie un rayon, il se réfléchit et on le détecte quand il revient.
Mais, particulièrement en infrarouge, c'est très sensible à l'éclairage extérieur. Et c'est très gênant.

Là, ils ont eu une autre idée : 3 trous.
Un laser 850n pour l'émission, un récepteur laser en réception et un troisième trou qui mesure la luminosité ambiante à l'instant de l'émission, avec un cône beaucoup plus grand qui contient le cône de réception.
Il s'ensuit qu'on peut s'en servir en pleine lumière.
Un défaut, toutefois : c'est un laser et, donc, plus dangereux si on le regarde. Heureusement, c'est très bref.



Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)


Pyk35

  • Full Member
  • ***
  • Messages: 110
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #2 le: mai 08, 2020, 06:51:39 pm »
Bien sympa avec une porté de 5mm à 100mm.

https://github.com/adafruit/Adafruit_VL6180XPrometteur !

Il y a même une fonction sympa, tu peux programmer en I2C un seuil et te faire réveiller par une interruption. Interressant pour un circuit low power que tu voudrais réveiller que si un objet entre dans la zone (je ne pense pas qu'aux trains mais à l'internet des objets qui fonctionnerait sur batterie).

Comme d'habitude, Adafruit a fait la librairie : https://github.com/adafruit/Adafruit_VL6180X


Par contre france robotique qui fait x3 sur le prix des Chinois, c'est abusé même si adafruit fait x4.
A+
Cédric

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 904
  • HO avec DCC++
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #3 le: mai 08, 2020, 11:18:16 pm »

Mais, particulièrement en infrarouge, c'est très sensible à l'éclairage extérieur. Et c'est très gênant.


Je trouve dommage de continuer à faire circuler cette information qui tend à décrédibiliser l'IR alors qu'il suffit, pour contourner le problème, d'utiliser des capteurs fonctionnant sur des fréquences de 38Khz (ou autres). Pas très compliqué à piloter en PWM non ? L'IR qui a pourtant nombre de qualités dont le prix et la distance de détection.

Ce capteur par exemple à 1,15€ : https://fr.rs-online.com/web/p/recepteurs-ir/8185241/

Ou sa version Pololu sur PCB avec l'attiraille qui va bien dessus : https://www.pololu.com/product/2579



Qu'on s'entende bien, je ne critique en rien le capteur présenté.

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #4 le: mai 09, 2020, 07:51:09 am »
Bonjour Christophe,

Sur le lien Polulu que tu cites dans ton post, je lis :

"This sensor can be triggered by ambient IR (e.g. from fluorescent lights; see the right oscilloscope capture below). Some optical shielding, such as by having the sensor mounted receiver-side-down when fluorescent lights are above, might mitigate this. Some advanced analysis of the correlation between the output and toggling of the enable input might also be used to mitigate ambient interference".

Il y a même deux copies d'écrans d'oscillo pour mettre en évidence ce phénomène.

Pour avoir fait pas mal de salons de trains, j'ai souvent entendu parler de ça, et de toutes les ruses d'indien pour que l'IR soit dans une petite boîte, à l'ombre.
En particulier, on le réserve à des barrières horizontales, moins perturbées par les néons.

Alors, je ne sais pas si ce nouveau capteur résiste bien aux tubes fluo, mais il n'y a plus ce commentaire sur le site de Polulu.

Ce nouveau capteur a certainement des défauts (dont le prix et le fait qu'il utilise des lasers potentiellement mauvais pour les yeux), mais je vais le tester.

Denis

"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #5 le: mai 09, 2020, 08:20:49 am »
Pour les capteurs IR entre les traverses, tu peux ajouter la saleté (poussières et autres cochonneries).

Tout marche toujours très bien sur le bureau dans des conditions de lumière normales. Beaucoup moins bien quand tu éclaires le capteur. Sans compter que la plupart du temps la surface est noire.  :)

J’avais conseillé à piston93 sur le forum du N des GP2Y0D805Z0F de Sharp qui fonctionnaient parfaitement chez moi et qui sont atteints de myopie sur son module éclairé avec des LED.

Faut voir ce que ça donne avec des TOF que je compte essayer de mettre au fond des remises.
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #6 le: mai 09, 2020, 09:20:27 am »
Surtout que, si, par exemple, tu est en 1/160, hé bien, les cochonneries, elles, sont toujours à l'échelle 1/1 ! ;D
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #7 le: mai 14, 2020, 11:11:12 am »
Bonjour,

comme promis voici le résultat de mes premiers tests avec ce nouveau capteur laser.

Conditions d'utilisation:
- Arduino PRO/MINI 3,3V (pour éviter une adaptation de niveau)
- Liaison avec le VL6180X fils volants de 85cm collés le long des rails
- Loco HO avec 2 wagons
- Passage en vitesse maximum
- Passage en vitesse minimum (très très lent)
- Exposition du capteur en plein soleil

Résultats:
Vous trouverez dans le fichier "test VL6180X.txt"  ci-joint les valeurs lues avec le sketch de démo "InterleavedContinuous.ino" qui se trouve dans la librairies ici: https://github.com/pololu/vl6180x-arduino
Je vous joins également les photos des conditions d'utilisation.
Un point fort de ce capteur c'est qu'il capte même les crochets d'attelages et qu'il n'y a aucun vide entre les wagons même en vitesse ultra lente (voir le fichier texte joint), ce qui permettrait de supprimer les barrières IR.

J'ai quand même réussi à planter quelque fois le programme avec le message "TIMEOUT" mais avec des liaisons de 20cm et avant même de coller les fils de 85cm le long des rails; je n'ai pas réussi à en trouver la raison mais je suppose que c'est en manipulant le capteur sans précaution. On peut très bien envisager un(e) watchdog car avec un reset par nouveau lancement du moniteur série tout est bien reparti.

Petite précision, je n'ai pas pris le temps de mettre les 2 résistances pullup qui sont recommandées sur le SDA et SCL.

Bonne découverte.

Cordialement
Antoine
« Modifié: mai 14, 2020, 11:22:26 am par Tony04 »

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #8 le: mai 14, 2020, 11:47:58 am »
Merci Antoine,

Tu as déjà reçu le tien ? C'est rapide !

Plein de questions :  :P
Qu'est ce que tu as, comme lampe, au dessus ? (LED, néons, ampoule). J'ai bien lu : plein soleil ??
As-tu une idée de l'unité de mesure ? Apparemment, c'est prévu pour détecter jusqu'à 10 cm.
Peut-on dire que 10 cm = 255 ? A mon avis, 255 = + l'infini. Mais combien vaut 1 ?
Est-ce linéaire (ce qui m'étonnerai beaucoup) ?
Si je comprends bien ce que tu dis, on pourrait compter les wagons ? Et ce, sans couper le faisceau !
La mesure est-elle rapide ? Dit autrement, si on va très vite, peut-on quand même compter les wagons ?

Bien amicalement
Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Re : Capteur de proximité VL6180X
« Réponse #9 le: mai 14, 2020, 11:56:47 am »
Est-ce linéaire (ce qui m'étonnerai beaucoup) ?

Et pourquoi ? :)

Il y a un microcontrôleur à l'intérieur.

C'est linéaire
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #10 le: mai 14, 2020, 12:13:13 pm »
Comme d'hab, il fallait lire la datsheet avant de causer... ::)
C'est parfaitement linéaire. C'est génial.

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #11 le: mai 14, 2020, 12:16:29 pm »
Bonjour Denis et jean-Luc (dans l'ordre des messages  ;) ),

oui, je l'ai eu rapidement car je l'ai commandé chez France Robotique au prix total de 15,90€ quand même.

Un néon, ah quelle horreur de nos jours... Pour l'instant c'est en plein soleil que je l'ai testé, ce soir je vais essayer avec les spots leds de mon plafond mais je ne me fais aucun soucis de ce coté.
Il est donné pour 10cm mais la mesure commence bien à partir de 20cm, par contre ne compte pas sur sa linéarité car la mesure est très différente selon la matière à détecter, la main par exemple ne fonctionne pas de façon précise, ce qui me parait normal vu le principe de mesure par laser.

Dans le sketch de démo l'unité de mesure est le mm mais en dessous de 15 ou 10 mm cela devient inutilisable selon la matière.

Je ne vois pas comment compter les wagons puisqu'à aucun moment la mesure n'est repassée à 255 entre 2 wagons et le changement de valeur entre le wagon et le crochet est très aléatoire.

Par contre je viens de découvrir un point intéressant: Pour moi la peur c'est la poussière avec ces 2 tout petits trous dans le capteur, surtout si on le glisse sous les rails, du coup j'ai testé avec un morceau de plexi transparent posé directement sur le capteur et ... miracle la mesure indique 255 et en passant avec le convoi pratiquement pas de différence de valeur. Il est donc possible de se prémunir de la poussière.

Je continu mes essais et vous en fais part, bon appétit en attendant

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #12 le: mai 14, 2020, 01:36:26 pm »
Dans l'article où j'ai trouvé ce composant, ils expliquent que c'est justement fait exprès : c'est prévu pour être sous une "vitre" de mobile (le capteur, à l'intérieur, détecte ce qui se passe "dehors").
C'est vrai que c'est une bonne nouvelle.

Par ailleurs, on a l'air d'avoir une répétition de mesure toutes les 100 ms (10 Hz) d'après la datasheet.

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #13 le: mai 14, 2020, 02:36:23 pm »
je viens d'essayer de compter les wagons en plaçant le capteur à mi hauteur des wagons et en réduisant le delay entre 2 lectures à 200 ms mais les résultats ne sont pas exploitables, voici les valeurs pour 1 loco et 2 wagons pour une vitesse sur 80 crans:
Ambient: 39   Range: 255
Ambient: 41   Range: 255
Ambient: 41   Range: 255
Ambient: 43   Range: 30
Ambient: 41   Range: 16
Ambient: 11   Range: 14
Ambient: 9   Range: 14
Ambient: 9   Range: 10
Ambient: 9   Range: 14
Ambient: 9   Range: 11
Ambient: 7   Range: 11
Ambient: 8   Range: 73   entre loco et 1er wagon
Ambient: 35   Range: 12
Ambient: 17   Range: 13
Ambient: 13   Range: 15
Ambient: 14   Range: 13
Ambient: 12   Range: 12
Ambient: 12   Range: 182  entre loco et second wagon
Ambient: 24   Range: 20
Ambient: 29   Range: 15
Ambient: 12   Range: 16
Ambient: 9   Range: 14
Ambient: 12   Range: 46
Ambient: 20   Range: 183
Ambient: 37   Range: 255
Ambient: 40   Range: 255
Ambient: 42   Range: 255

Je ne pense pas que ce soit suffisamment parlant.

Si je ne mets pas de delay du tout, TIMEOUT assuré.

Par contre comme remplacement de barrière IR je vais être partant.

A vous pour la suite.

Cordialement
Antoine

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Capteur de proximité VL6180X
« Réponse #14 le: mai 14, 2020, 02:40:05 pm »
Par contre si quelqu'un peut m'aider à changer l'adresse I2C du composant, je suis preneur, je n'ai rien trouvé en français.