Auteur Sujet: Utilisation du laser vl53lxx  (Lu 390 fois)

BricoTrain2024

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Utilisation du laser vl53lxx
« le: mars 23, 2024, 04:31:00 pm »
Bonjour à toutes et tous. Je suis un pépé, relativement débutant.
J'ai en projet, de réaliser 2 ascenseurs de quai, et un principal, pour ma gare principale.
Les 2 de quai, auront une position basse pour le personnel, 1 pour le quai et celle de la passerelle. J'ai déjà rassemblé un peu de matériel et élaboré le principe. Un micro moto réducteur, 1 tige filetée et un écrou relié à la cabine. Et un module vl53lxx laser qui mesurera le déplacement de la cabine. Le tout sur Arduino. Le principe en soi est simple, mais certainement par "radinisme", ce projet, et surtout mes connaissances, m'obligerait à utiliser 3 Arduino, car les adresses I2C des modules sont fixées à 0x29.
Honnêtement, il y a plein de façon pour contourner la difficulté (emploi de relai, commutant sur les lasers, etc.). Mais je me dis, que cela serait "plus propre", s'il existait un moyen d'adresser les vl53lxx, directement par programmation. Naturellement, je me tourne vers vous (qui avez l'air d'être doué avec Arduino, en tous cas plus que moi qui débute). J'en profite pour remercier tous les auteurs et intervenants, car je me suis inspiré de leurs publications pour réaliser ma rétro, et cela fonctionne nickel. Voilà, s'il n'y a pas de possibilité, je n'en mourais pas, mais, j'envisage aussi de les utiliser pour d'autres applications, là pour de la détection, ces modules peuvent être utilisés jusqu'à 4 m, et pourraient être utile dans certaines circonstances. J'espère que vous pourrez m'épauler et comme je n'ais pas trouvé de post sur le sujet, que cela pourra intéresser des personnes qui trouveraient aussi que ces micro lasers pourraient être utile. Bon WE. PS, soyez indulgeant pour l'orthographe.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2901
  • 100% Arduino et N
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #1 le: mars 23, 2024, 07:05:56 pm »
Est-ce qu’un multiplexeur I2C ne ferait pas l’affaire comme :
https://www.gotronic.fr/art-module-multiplexeur-i2c-ada2717-26051.htm
Cordialement,
Dominique

BricoTrain2024

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #2 le: mars 24, 2024, 09:09:23 am »
Bonjour Dominique, merci de votre réponse, je commande et je fais un essai. Cela devrait correspondre pile poil à mon soucis. Dès que je reçois, je fais un essai (c'est un lot de 5 pièces, cela me met un peu à l'abri d'une mauvaise manip). Je vous tiens au courant des résultats. Je ne connaissais pas du tout ce produit. Merci encore et bon WE.

Remi

  • Newbie
  • *
  • Messages: 36
  • HO en 3 rails (Marklin)
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #3 le: mars 25, 2024, 03:31:41 pm »
Bonjour à tous,

Il me semble qu'il est possible de changer l'adresse des modules Vl53lxx par logiciel lors de l'initialisation.
Sur le site d'Adafruit, la méthode est expliquée mais en anglais. Il faut refaire ce changement à chaque démarrage du logiciel de commande.
Vous trouverez ci dessous le principe de ce changement (traduction du site Adafruit).
Le lien vers le site est donné en fin de message.

***************************
Connexion de plusieurs capteurs

I2C n’autorise qu’une adresse par périphérique, vous devez donc vous assurer que chaque périphérique I2C a une adresse unique. L’adresse par défaut pour le VL53L0X est 0x29 mais vous pouvez changer cela dans le logiciel.

Pour définir la nouvelle adresse, vous pouvez le faire de deux façons. Pendant l’initialisation, au lieu d’appeler lox.begin(), appelez lox.begin(0x30) pour définir l’adresse sur 0x30. Ou vous pouvez, plus tard, appeler lox.setAddress(0x30) à tout moment.

La bonne nouvelle est qu’il est facile à changer, la partie ennuyeuse est que les autre capteurs doivent être arrêté. Vous pouvez arrêter chaque capteur en connectant la broche XSHUT à une broche de microcontrôleur, puis effectuer quelque chose comme ce pseudo-code :

    Réinitialisez tous les capteurs en réglant toutes leurs broches XSHUT bas pour delay(10), puis réglez toutes les XSHUT haut pour sortir de la réinitialisation
    Gardez le capteur #1 éveillé en gardant la broche XSHUT haute
    Arrêter tous les autres capteurs en tirant les broches XSHUT vers le bas
    Initialiser le capteur n° 1 avec lox.begin(new_i2c_address) Choisir n’importe quel nombre mais pas 0x29 . Aller avec 0x30 à 0x3F est probablement correct.
    Gardez le capteur #1 éveillé, et sortez le capteur #2 de la réinitialisation en réglant sa broche XSHUT haute.
    Initialisez le capteur n° 2 avec lox.begin(new_i2c_address) Choisissez n’importe quel nombre sauf 0x29 et celle déjà définie sur le premier capteur
    Répétez l’opération pour chaque capteur, en activant chacun d’eux, en définissant une adresse unique.

Notez que vous devez le faire chaque fois que vous mettez sous tension, les adresses n'étant pas sauvegardées (par défaut 0x29)!
il faut donc inclure cette partie dans l'initialisation de l'application.

***************************
Lien vers le site Adafruit

https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout/arduino-code

A+  Remi



BricoTrain2024

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #4 le: mars 28, 2024, 11:44:03 am »
Bonjour à toutes et tous.
Merci de vos réponses, de mon coté, j'ai enfin reçu les multiplexeurs TCA9548A, et fait l'essai.
Bon, comme je ne suis que très moyennement doué, cela m'a pris un peu de temps.
Il suffit de mettre les VL53L0x  en tableau, puis avec l'appel (tcaselect(t);) sélectionner les sorties voulues. Et ensuite traiter les données.
Je pense, que je peux mettre ce post comme résolu, mais je ne sais pas trop comment faire.
Bonne journée

trimarco232

  • Sr. Member
  • ****
  • Messages: 271
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #5 le: mars 28, 2024, 11:52:43 am »
généralement , sur un microcontrôleur , il ya a autant de canaux I2C possibles , que de paires d'IOs
quel arduino utilises-tu ?

BricoTrain2024

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #6 le: mars 28, 2024, 05:08:46 pm »
Bonjour, je n'en suis qu'à l'étude, c'est pour l'animation de mon TCO. J'ai quelques méga et 1 uno. J'opterai sûrement pour un méga, je pense mettre un portique de déchargement de container, je dois aussi piloter l'entrée d'un parking souterrain (2 barrières), quelques leds avec des effets, depuis 1 pca. Mais, pour ce post, j'utilise des lasers type lidar pour piloter la position des cabines d'ascenseur de quai en mesurant leur emplacement, et ils ont tous la même adr (0x29). Avec les tca, on appelle une sortie et on gère ce qu'il y a dessus. J'ai de l'ambition LOL, mais à défaut d'avoir des petits enfants qui s'intéressent aux trains et à "l'électronique informatique", j'essaie de les intéresser via l'automatisation. Enfant, on regardait émerveillé, mais eux, ils préfèrent jouer avec les personnages! et les grands, sont en grandes études!
Enfin, à défaut, C'est papy qui joue.
Bonne journée

BricoTrain2024

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #7 le: avril 05, 2024, 02:25:14 pm »
Bonjour à tous, voilà les dernières nouvelles des tests avec les VL53Lxx. D'abord merci, de votre intérêt. Mais, malheureusement, ces essais ne sont pas du tout concluants.
La première chose, il est possible de changer les adresses (0x29) à l'origine, dans les exemples, il y a un programme qui y est destiné. Ensuite les TCA, fonctionnent nickel.
Par contre, et si vous faites un peu de recherche sur le net, ces VL53Lxx, sont de VERITABLES cochonnerie. Ils sont vendus pour +-1mm de précision, mais dans les faits, c'est de l'ordre de 25mm (quelque soi la surface réflectrice, et en maintenant un angle de réflexion le plus parfait possible) , 1 pouce quoi, ils peuvent être utilisés pour plein de chose, mais sûrement pas pour une quelconque précision (les mesures varient jusqu'à 5mm en point fixe, sans perturbation). En résumé, à fuir, désolé d'avoir ouvert un post pour des détecteurs totalement nuls. Je vais les recycler dans la détection de passage, sur plusieurs voies, suffisamment distantes, cela pourra peut être servir? Et encore, sur 50cm, voire 1 ou 2 m, si les erreurs de mesure ne s'amplifient pas avec la distance.

Etienne66

  • Jr. Member
  • **
  • Messages: 97
    • Voir le profil
Re : Utilisation du laser vl53lxx
« Réponse #8 le: avril 05, 2024, 02:32:48 pm »
Je pense que le mieux pour tes ascenseurs c'est d'utiliser un moteur pas à pas.
C'est le nombre d'impulsions qui donnera la distance parcourue.

Sinon tu peux aussi utiliser des contacts de fin de course comme ceux qu'on a sur les imprimantes 3D.