Table des matières:

Localisateur d'écho à double capteur : 7 étapes (avec photos)
Localisateur d'écho à double capteur : 7 étapes (avec photos)

Vidéo: Localisateur d'écho à double capteur : 7 étapes (avec photos)

Vidéo: Localisateur d'écho à double capteur : 7 étapes (avec photos)
Vidéo: Capteur de vilebrequin (fonctionnement, entretien ) #automobile #capteur 2024, Juillet
Anonim
Image
Image
Localisateur d'écho à double capteur
Localisateur d'écho à double capteur
Localisateur d'écho à double capteur
Localisateur d'écho à double capteur

Cette instructable explique comment localiser l'emplacement d'un objet à l'aide d'un Arduino, de deux capteurs à ultrasons et de la formule de Heron pour les triangles. Il n'y a pas de pièces mobiles.

La formule de Heron vous permet de calculer l'aire de tout triangle dont tous les côtés sont connus. Une fois que vous connaissez l'aire d'un triangle, vous êtes alors en mesure de calculer la position d'un seul objet (par rapport à une ligne de base connue) en utilisant la trigonométrie et Pythagore.

La précision est excellente. De grandes zones de détection sont possibles en utilisant les capteurs à ultrasons HC-SR04 ou HY-SRF05 couramment disponibles.

La construction est simple… tout ce dont vous avez besoin est un couteau bien aiguisé, deux perceuses, un fer à souder et une scie à bois.

Images

  • Le clip vidéo montre l'unité en fonctionnement.
  • La photo 1 montre le « localisateur d'écho » assemblé
  • La photo 2 montre un affichage typique. L'objet est le point rouge (clignotant).
  • La photo 3 montre la configuration du test vidéo. Il était nécessaire de positionner les deux capteurs à ultrasons HY-SRF05 à 50 cm en dessous de la ligne de base pour « éclairer » complètement la zone de détection avec du son.

Étape 1: schéma de câblage

Schéma de câblage
Schéma de câblage

La photo 1 montre le schéma de câblage du « localisateur d'écho à double capteur ».

Le capteur B est rendu « passif » en plaçant plusieurs couches de ruban de masquage sur le transducteur de transmission (T). Cette bande bloque le son ultrasonore qui serait autrement émis.

Étape 2: Liste des pièces

Liste des pièces
Liste des pièces

Comme le montre la photo1, très peu de pièces sont nécessaires pour réaliser ce projet:

Les pièces suivantes ont été obtenues à partir de

  • 1 seul Arduino Uno R3 complet avec câble USB
  • 2 uniquement HY-SRF05 ou HC-SR04, transducteurs à ultrasons

Les pièces suivantes ont été obtenues localement:

  • 1 seule bande d'en-tête arduino mâle
  • 2 seules bandes d'en-tête arduino femelles
  • 2 seuls morceaux de ferraille d'aluminium
  • 2 petits morceaux de bois seulement
  • 2 seules petites vis
  • 3 seuls serre-câbles
  • 4 seules longueurs de fil plastifié (couleurs assorties) [1]

Noter

[1]

La longueur totale de chaque fil doit être égale à la distance souhaitée entre les capteurs plus une petite quantité pour la soudure. Les fils sont ensuite torsadés ensemble pour former un câble.

Étape 3: Théorie

Théorie
Théorie
Théorie
Théorie
Théorie
Théorie

Motifs de faisceaux

La photo 1 montre les diagrammes de faisceaux superposés pour le transducteur A et le transducteur B.

Le capteur A recevra un écho de n'importe quel objet dans la « zone rouge ».

Le capteur B ne recevra un écho que si l'objet se trouve dans la « zone mauve ». En dehors de cette zone, il n'est pas possible de déterminer les coordonnées d'un objet. [1]

De grandes zones de détection « mauves » sont possibles si les capteurs sont très espacés.

Calculs

En référence à la photo 2:

L'aire d'un triangle peut être calculée à partir de la formule:

surface=base*hauteur/2 ………………………………………………………………………. (1)

La réorganisation de l'équation (1) nous donne la hauteur (coordonnée Y):

hauteur=surface*2/base ……………………………………………………………………. (2)

Jusqu'ici tout va bien… mais comment calcule-t-on la superficie ?

La réponse consiste à espacer deux transducteurs à ultrasons à une distance connue (ligne de base) et à mesurer la distance entre chaque capteur et l'objet à l'aide d'ultrasons.

La photo 2 montre comment cela est possible.

Le transducteur A envoie une impulsion qui rebondit sur l'objet dans toutes les directions. Cette impulsion est entendue à la fois par le transducteur A et le transducteur B. Aucune impulsion n'est envoyée par le transducteur B… il écoute seulement.

Le chemin de retour vers le transducteur A est indiqué en rouge. Lorsqu'il est divisé par deux et que la vitesse du son est prise en compte, nous pouvons calculer la distance « d1 » à partir de la formule: [2]

d1 (cm) = temps (microsecondes)/59 ………………………………………………(3)

Le chemin vers le transducteur B est indiqué en bleu. Si nous soustrayons la distance "d1" de cette longueur de chemin, nous obtenons la distance "d2". La formule de calcul de « d2 » est: [3]

d2 (cm) = temps(microsecondes/29,5 – d1 …………………………………….. (4)

Nous avons maintenant la longueur des trois côtés du triangle ABC … entrez "Héron"

La formule du héron

La formule de Heron utilise ce qu'on appelle un « semi-périmètre » dans lequel vous ajoutez chacun des trois côtés d'un triangle et divisez le résultat par deux:

s=(a+b+c)/2 ………………………………………………………………………………………. (5)

La superficie peut maintenant être calculée à l'aide de la formule suivante:

area=sqrt(s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Une fois que nous connaissons la zone, nous pouvons calculer la hauteur (coordonnée Y) à partir de l'équation (2) ci-dessus.

Pythagoras

La coordonnée X peut maintenant être calculée en déposant une perpendiculaire du sommet du triangle à la ligne de base pour créer un triangle rectangle. La coordonnée X peut maintenant être calculée à l'aide de Pythagore:

c1 = carré(b2 - h2) …………………………………………………………………………….. (7)

Remarques

[1]

La zone cible peut être complètement « éclairée » par le son en positionnant les capteurs sous la ligne de base.

[2]

La valeur de 59 pour la constante est dérivée comme suit:

La vitesse du son est d'environ 340 m/s, soit 0,034 cm/uS (centimètres/microseconde).

L'inverse de 0,034 cm/uS est de 29,412uS/cm qui, multiplié par 2 pour tenir compte du chemin de retour, équivaut à 58,824 ou 59 une fois arrondi.

Cette valeur peut être ajustée vers le haut/bas pour tenir compte de la température de l'air, de l'humidité et de la pression.

[3]

La valeur de 29,5 pour la constante est dérivée comme suit:

Il n'y a pas de chemin de retour, nous utilisons donc 29,5 qui est la moitié de la valeur utilisée dans [2] ci-dessus.

Étape 4: Construction

Construction
Construction
Construction
Construction

Supports de montage

Deux supports de montage ont été fabriqués à partir de tôle d'aluminium de calibre 20 en utilisant la méthode décrite dans mon instructable

Les dimensions de mes supports sont indiquées sur la photo 1.

Les deux trous marqués « baseline » servent à attacher une ficelle à chaque capteur. Attachez simplement la ficelle à l'espacement requis pour une installation facile.

Prises de capteur

Les prises de capteur (photo 2) ont été fabriquées à partir de prises d'en-tête Arduino standard.

Toutes les broches indésirables ont été retirées et un trou de 3 mm percé à travers le plastique.

Lors de la soudure des connexions, veillez à ne pas court-circuiter les fils sur le support en aluminium.

Soulagements de traction

Un petit morceau de gaine thermorétractable à chaque extrémité du câble empêche les fils de se dérouler.

Des attaches de câble ont été utilisées pour empêcher les mouvements indésirables des câbles.

Étape 5: Installation du logiciel

Installez le code suivant dans cet ordre:

IDE Arduino

Téléchargez et installez l'IDE Arduino (environnement de développement intégré) à partir de https://www.arduino.cc/en/main/software s'il n'est pas déjà installé.

Traitement 3

Téléchargez et installez Processing 3 à partir de

Esquisse Arduino

Copiez le contenu du fichier joint, "dual_sensor _echo_locator.ino", dans un "sketch" Arduino, enregistrez-le, puis téléchargez-le sur votre Arduino Uno R3.

Fermez l'IDE Ardino mais laissez le câble USB connecté.

Esquisse de traitement

Copiez le contenu du fichier joint, "dual_sensor_echo_locator.pde" dans un "Sketch" de traitement.

Cliquez maintenant sur le bouton « Exécuter » en haut à gauche… un écran graphique devrait apparaître sur votre écran.

Étape 6: Tester

Essai
Essai
Essai
Essai

Connectez le câble USB Arduino à votre PC le

Exécutez « dual_sensor_echo_locator.pde » en cliquant sur le bouton d'exécution « en haut à gauche » sur votre Processing 3 IDE (environnement de développement intégré).

Les chiffres, séparés par une virgule, devraient commencer à défiler sur votre écran, comme indiqué sur la photo1.

Message d'erreur au démarrage

Vous pouvez obtenir un message d'erreur au démarrage.

Si c'est le cas, modifiez le [0] de la ligne 88 de la photo 1 pour qu'il corresponde au numéro associé à votre port « COM ».

Plusieurs ports « COM » peuvent être répertoriés en fonction de votre système. L'un des numéros fonctionnera.

Sur la photo 1 le chiffre [0] est associé à mon « COM4 ».

Positionnement de vos capteurs

Espacez vos capteurs de 100cm avec l'objet de 100cm devant.

Faites pivoter les deux capteurs lentement vers le coin diagonalement opposé d'un carré imaginaire de 1 mètre.

Lorsque vous faites pivoter les capteurs, vous trouverez une position où un point rouge clignotant apparaît sur l'écran graphique.

Des données supplémentaires apparaîtront également (photo 2) une fois que les capteurs auront localisé votre objet:

  • distance1
  • distance2
  • ligne de base
  • décalage
  • demi-périmètre
  • Région
  • Coordonnée X
  • Coordonnée Y

Étape 7: Affichage

Affichage
Affichage

L'affichage a été écrit en utilisant Processing 3 … une ligne de base de 100 cm est affichée.

Modification de la ligne de base

Changeons notre ligne de base de 100cm à 200cm:

Modifiez « ligne de base flottante = 100; » dans l'en-tête Processing pour lire "float Baseline = 200;"

Modifiez les étiquettes « 50 » et « 100 » dans la routine de traitement « draw_grid() » pour lire « 100 » et « 200 ».

Modification du décalage

Des zones cibles plus grandes peuvent être surveillées si nous positionnons les capteurs en dessous de la ligne de base.

Une variable « Offset » dans l'en-tête de traitement doit être modifiée si vous choisissez de le faire.

Cliquez ici pour voir mes autres instructables.

Conseillé: