Système de coordonnées ultrasonique 2.0

Système de coordonnées ultrasonique 2.0


Objet de cet article: Cet article décrit les principes de fonctionnement de mon système de détermination de coordonnées et mon expérience dans sa fabrication. Cet article n'est pas une instruction pour la fabrication d'un système de navigation, car il n'est pas si simple à décrire dans un seul article.



Cet article est un développement des idées de mon article précédent:
habr.com/en/post/451408

Structure du système


Le système de détermination des coordonnées a le diagramme structurel suivant:


Fig. 1 - Schéma de principe de l'échographe pour la détermination des coordonnées.

Examinons chaque élément de plus près.

Récepteur à ultrasons







Fig. 2 - Développement d'un récepteur à ultrasons (de haut en bas).

Initialement, les récepteurs se composaient d'un module et avaient une très petite zone de couverture de la pièce, à cette époque, je ne numérisais pas le signal, mais recevais simplement du capteur la longueur que le contrôleur régulier avait donnée.

Puis, pour augmenter la couverture, j'ai décidé de réaliser un module de trois capteurs, dont les données ont été simultanément numérisées et transmises à un PC, où la distance et les coordonnées ont été calculées. Après avoir testé un récepteur à trois composants, j'ai vu qu'un récepteur suffit si vous traitez le signal vous-même.

En conséquence, le récepteur est redevenu monocomposant, mais en raison du fait que je traite actuellement le signal, la zone de couverture est devenue assez grande. Le signal est maintenant traité dans STM32 après la numérisation, il ne délivre que la distance à la sortie.

Composition:
  • STM32 - utilisé pour numériser le signal ultrasonore et calculer la distance jusqu'à l'émetteur;
  • HC-SR04 - Je l'ai légèrement modifié et maintenant je peux recevoir le signal de son entrée, comme illustré à la figure 3;
  • RS485 - pour transmettre la distance de l'émetteur à un PC.


Fig. 3 - Signal ultrasonique numérisé.


Fig. 4 - signal ultrasonore dans la zone 4700 - 5200 de la figure ci-dessus.

Emetteur ultrasonique







Fig. 5 - Développement de l'émetteur (de haut en bas).

Comme vous pouvez le voir sur la figure 5, au début, je viens de tirer le pied Trig sur le capteur HC-SR04, ce n'était pas le meilleur système, ne serait-ce que parce que je ne pouvais pas déterminer combien d'ondes ultrasonores je pouvais créer, je ne pouvais pas changer leur puissance, et cet émetteur était assez encombrant.

J'ai ensuite créé une deuxième version, qui était beaucoup plus encombrante, mais je pouvais déjà tout régler avec STM32 et L293D, qui étaient directement connectés au haut-parleur à ultrasons. Maintenant, au lieu des 5 volts standard, j'en ai appliqué 17, ce qui a considérablement augmenté la zone de travail. J'ai également ajouté un module radio et une interface RS485, ce qui a rendu ce module autonome.

Après une série de tests, j'ai décidé de réduire l'émetteur à une taille décente et de l'assembler plus étroitement, à la suite de ce que vous voyez sur la dernière photo.

Composition:
  • STM32 - reçoit la commande Trig (commencer à mesurer les distances) via le canal radio et émet un signal ultrasonique, transmet également les commandes reçues du module radio à RS485 (je l'utilise pour le contrôle à distance de la plate-forme mobile);
  • RS485 - interface d'informations sur l'appareil pour l'utilisateur;
  • Boost DC-DC - convertit l'alimentation 5V en 17V pour l'émetteur;
  • L293D - J'utilise pour générer un signal ultrasonique puissant avec une tension de 17V;
  • nRF24 - canal radio;
  • Emetteurs - 6 émetteurs sortis du module HC-SR04.

Module de base



Fig. 6 - Le module de base.

Composition:
  • STM32 - envoie Trig à l'émetteur et aux récepteurs, reçoit les commandes USB du PC pour la transmission via le canal radio à l'émetteur (alias un module mobile);
  • nRF24 - transmission de Trig à l'émetteur et transmission des commandes à l'émetteur.

Module PC


L'adaptateur PC via RS485 est connecté à tous les récepteurs à ultrasons, sur cette interface en reçoit toutes les longueurs et calcule les coordonnées du module mobile. Via USB, il est connecté au module de base et, à travers lui, transfère les commandes de contrôle au module mobile.

Emplacement des modules dans la zone de travail


Une carte d'une pièce avec des récepteurs à ultrasons placés aux coins ressemble à ceci:


Fig. 7 - L'idée générale de l'emplacement des capteurs.


Fig. 8 - Vue de dessus sur une échelle (cercles, avec des nombres à l'intérieur, les capteurs sont indiqués).

L'algorithme de travail du système de détermination des coordonnées ultrasonores


  1. Le module de base envoie une commande de déclenchement à l'émetteur (par liaison radio) et aux récepteurs (par câble).
  2. L'émetteur commence à émettre et les récepteurs commencent à écouter la diffusion.
  3. Chaque récepteur, après avoir entendu le signal ultrasonore, enregistre le temps entre la commande Trig et l'heure de réception de ce signal et le traduit en distance.
  4. Les récepteurs RS485 envoient des distances de l'émetteur à eux-mêmes sur un PC.
  5. Le PC calcule les coordonnées de l'émetteur.

Fonctionnement du système


En exécutant tout cela, nous obtenons les coordonnées de l'objet, la précision dépend de la place dans la pièce. Dans les meilleurs endroits, l'erreur ne dépasse pas quelques centimètres, et dans le pire ... eh bien, vous pouvez tout voir vous-même sur la figure 9.


Fig. 9 - Déplacement de l'émetteur dans la pièce.

Il y a quatre ensembles de coordonnées dans cette figure, puisque nous avons quatre récepteurs, et pour déterminer les coordonnées dans l'espace tridimensionnel, nous n'avons besoin que de trois, alors nous avons quatre combinaisons de récepteurs.

Comme on peut le voir sur la figure, en général, le système détermine correctement les coordonnées, mais à différents endroits, l'erreur est différente. J'ai déplacé l'émetteur parallèlement aux axes X et Y, quelque part avec un intervalle entre les lignes dans un mètre, quelque part dans un demi-mètre, cela peut être vu sur la figure. La meilleure précision est au centre, et sur les bords, tout est mauvais, car à partir de là, le signal ultrasonique tombe sur le récepteur sous un grand angle, ce qui crée des distorsions dans le signal numérisé.

Après filtrage et moyenne de quatre paires de coordonnées, nous obtenons l'image suivante:


Fig. 10 - Trajectoire moyenne.

Pas de glace, mais qu'y a-t-il.

Pour le plaisir, je vais vous montrer à quoi tout cela ressemble en 3D, car nous avons également une troisième coordonnée, bien qu'elle ne soit pas nécessaire dans mon projet, car un robot mobile ne se déplace que dans un avion.


Fig. 11 - Trajectoire 3D.

Comme nous pouvons le voir, tous les points se trouvent approximativement dans le même plan, et c'est correct, car j'ai conduit l'émetteur à travers le sol sans le retirer.

Et voici un exemple de passage infructueux d'une plateforme mobile avec un émetteur, sa trajectoire est clairement visible. Selon le plan, la plate-forme était censée revenir au point de départ, après avoir suivi un chemin rectangulaire, mais cela n'a pas fonctionné, dans les articles suivants, je vais vous expliquer pourquoi.


Fig. 12 - La trajectoire de mouvement de la plateforme mobile.

Problèmes réels


J'ai actuellement un certain nombre de problèmes urgents, et si quelqu'un peut suggérer quelque chose, veuillez l'écrire dans les commentaires ou sur VK:
vk.com/b__s__v

1. Quelle est la meilleure façon de recevoir un signal ultrasonore? Les capteurs HC-SR04 que j'utilise maintenant pour recevoir et amplifier un signal ultrasonore ne sont pas la meilleure option. Premièrement, parce qu'ils reçoivent toujours un signal avec une seule fréquence et que vous ne pouvez pas faire une séparation de fréquence des sources de signal (ce qui est intéressant pour moi d'essayer), en plus, ils sont trop volumineux et je suis très dépendant d'eux.
2. Comment supprimer les distorsions de coordonnées dans les différents coins de la pièce? Sur la grille que j'ai peinte au sol, on peut voir que parfois les lignes droites commencent à dévier, même si j'ai toujours déplacé le module mobile en douceur, et d'une manière ou d'une autre je dois m'en débarrasser.
3. Pour nRF24, le signal disparaît. Lorsque les modules sont proches, alors il n'y a pas de problème, mais il vaut la peine de les étaler de quelques mètres et de se tenir entre eux, car les messages passent à travers l'un. Je n'ai pas à renvoyer de messages là-bas, car je transmets des signaux d'horloge sur ce canal, et ils devraient toujours arriver dans la même seconde. J'ai des modules avec une antenne externe, et celui du module de base fonctionne mieux sans antenne qu'avec. Je ne comprends rien, la puissance est au maximum.
4. Lieux de promotion du projet. Si quelqu'un connaît des sites internationaux comme Habr en anglais, veuillez jeter les liens, sinon je n'ai rien trouvé de correct, mais stackoverflow, ce ne sont que des questions et réponses, pas tout à fait pour publier de tels articles.
5. Commentaires et suggestions. Si quelqu'un veut s'exprimer, je serai heureux de recevoir des critiques et des suggestions.

C'est loin de la fin de mon projet, même si le temps tire à sa fin, mais s'il y a un intérêt, j'écrirai un article sur la façon dont un robot mobile se déplace basé sur ce système aux coordonnées données dans ma chambre.

Source: https://habr.com/ru/post/fr479530/


All Articles