Contrôle de sonar, 2014/2015, TD2

De Wiki de Projets IMA
Révision datée du 5 avril 2015 à 16:05 par Vbeaucha (discussion | contributions) (séance 3)

Présentation du projet

L'objectif de ce projet est de réaliser un système de contrôle d'un sonar. Pour cela, ce projet se divise en deux parties : une partie électronique et une partie informatique.

La partie informatique a pour but, au travers d'une interface WEB, de donner la possibilité à l'utilisateur de commander le sonar. L'utilisateur entre un angle désiré et le sonar renvoie la mesure de la distance mesuré à cet angle. Les différentes mesures seront visualisables au travers d'une interface graphique.

Partie Informatique

Séance 1

Lors de la première séance, nous avons premièrement pris en main la maquette de test. Nous avons donc installé les composants nécessaires tels que la bibliothèque phidget ou encore les exemples disponibles de cette dernière. Une fois installés, nous avons commencé à tester le fonctionnement du servo-moteur. Après différents tests, nous avons pu déterminer que le servo-moteur est commandé avec une position exprimée en degré et qu'il nous est possible de le positionner dans un intervalle allant de 30 à 210 degré.


Nous avons ensuite commencer par nous familiariser avec l'outil canvas qui nous permettra de visualiser dans un cercle l'environnement encerclant le sonar. Sur la page html nous avons donc premièrement tracer un cercle, puis nous avons placé des points appartenant à un tableau t dans l'optique de représenter un angle de par leur indice et une distance de par leur valeur. Par la suite, ce tableau sera rempli automatiquement en fonction des relevés du sonar.

Séance 2

Lors de la seconde séance nous avions pour objectif de déployer la communication entre la page html et le sonar, avec pour premier objectif de simplement envoyer une information d'angle au sonar pour qu'il se positionne puis de récupérer la mesure.

Nous avons dans un premier temps installer le serveur websocket. Puis nous avons travailler sur la communication entre la page web et le serveur websocket. Nous avons d'abord réaliser l'envoi d'une information de la page web au serveur, information que le serveur nous renvoie et que nous pouvons donc afficher sur la page web.

Enfin, nous avons mixé les deux premières étapes de ces deux séances, à savoir que le serveur websocket reçoit une information de la page web, se connecte au sonar, utilise cette information pour contrôle le sonar, puis récupère la mesure sonar et la renvoi à la page web pour l'afficher.

Nous avons donc conclu cette seconde séance en ayant établi une connexion entre le pc et le sonar au travers du fichier c du serveur websocket. L'objectif de la troisieme seance sera donc d'établir cette connexion au travers du serveur et d'adresse ip et de retranscrire les informations reçues visuellement grâce à l'outil canvas et non plus textuellement sur la page web.

Séance 3

Au cours de cette séance nous avons cherché à contrôler le nombre de données que renvoie le sonar à la page web afin de pouvoir les utiliser et afficher ces données clairement.

Pour cela nous avons inséré sur le site web l'affichage de l'angle de départ, celui d'arrivée et le pas pour lequel l'utilisateur veut afficher des données.L'ensemble de ces données permettra de contrôler le sonar de manière efficace.

Nous avons aussi dû régler un problème d'affichage sur la donnée que nous renvoyait le sonar. En effet le sonar ne renvoyait que le premier chiffre de la distance mesurée.

Au cours de cette séance nous avons cherché à mettre en place un système de balayage.Ainsi nous ne récupérons plus qu'un seul point, pour un angle donné, qui correspond à la distance à de l'objet se trouvant devant le sonar.

Partie Électronique

Séance 1

Lors de la première séance, Nous avons dans un premier temps suivit le tutoriel du logiciel Altium. Nous nous sommes ensuite intéresse a l'envoie d'un signal au sonar pour lancer l'acquisition de la mesure de distance. Pour cela nous devions réaliser un signal comportant quelques impulsions à 40Khz, à une période de une seconde. Nous avons donc réfléchie au moyen que nous avions pour crée de ce signal. Nous avons décide d’utiliser un compteur 4 bits qui compte jusqu'à dix a une vitesse de 80Khz. Le bit 0, représente le signal que nous allons envoyer un sonar, sois 5 impulsion à40Khz toute les seconde. Les bits 1 et 3, nous permet d’arrêté le compteur quand nous avons atteint la valeur 10.


Altiumbeauchamp.jpg


Nous avons pu, grâce a un analyseur de spectre, vérifier que le signal de sortie de la Nanobord correspondais a ce que nous voulions. Mais la Nanobord délivre un signal entre 0 et 3.3V or le sonar demande une tension de 15V. Nous devons donc amplifier le signal. Pour cela, nous allons réaliser, avec un AOP, un montage amplificateur non inverseur. De plus, en sortie du sonar, les tension serons très petit, de l’ordre de quelque centaine de millivolts. Nous allons donc utiliser un même montage pour amplifier le signal de sorti du sonar afin d'envoyer un signal a la Nanobord de l'ordre des 3 volts.


Montage 1.png


Nous avons rapidement réfléchie au moyen de calculer la distance mesuré par le sonar. Pour cela nous utiliserons un compteur qui s’incrémentera a une vitesse de 17Khz, ce qui corresponds au temps que met le son a parcourir 2cm. Nous obtiendrons ainsi un nombre binaire, qui traduit un décimal, nous donnera la distance mesurer en centimètre. Le compteur devra commencé a compter lorsque la dernier impulsion sera envoyé au sonar.

Séance 2

Lors de cette seconde séance, nous avons mis en place notre idée de récupération du signal du sonar. Nous avons utilisé un compteur 16bits ( le sujet demande un compteur 12 bits que nous n'avons pas trouvé). Le compteur se lance lorsque les bits 1 et 3 du compteur 4bits utilisé dans la séance précédent passe a 1, et s'arrête lorsque le sonar renvoie un signal. Or nous ne pouvions pas stopper le compteur a la première impulsion envoyer par le sonar, de plus puisqu'il s'agit d’impulsion le compteur aurait repris après la dernier imputions. Nous avons donc décider, de compter grâce a un compteur 4 bits les impulsions que le sonar nous enverra. Puisque nous lui envoyons cinq impulsions a 40Khz, nous devon récupéré le même signal. Ainsi nous allons compter jusqu'à 5, a l'arriver de la première impulsion, et stopper le compteur, qui calcul la distance, a ce moment-ci.


Altiumbeauchamp2.jpg


Nous allons voulu par la suite réaliser le montage amplificateur que nous avions fait lors de la séance précédent. Pour éviter d'endommager la Nanobord de devons placer un AOP en montage suiveur a la sortie de la Nanobord, le schéma est ainsi un peu modifier:


Montage 2.png


Nous avons pu tester le signal a la sortie des ampli, grâce a un oscilloscope, et le signal que nous envoyons au sonar était bien amplifier. Mais pour une certaine raison le sonar ne lancé par l'acquisition de la mesure. Nous avons donc du vérifier le sonar en lui envoyant en signal carré a 40Khz, nous avons ainsi pu éliminer l'idée que le sonar était endommagé. Il semble que les AOP que nous utilisons ne fournisse pas assez de puissance au sonar pour qu'il puisse fonctionné. Nous allons donc devoir réaliser lors de la prochaine séance en ampli de courant pour que le sonar puis fonctionné correctement.

séance 3

Lors de cette séance, nous avons eu l'idée d'alimenter le sonar en +15v,-15v au lieu de +15v,0v, au lieu de créer un ampli de courant. Grâce a cela, nous avons pu récupérer un signal en sortie du sonar.


Montage 3.png


Nous devions par la suite amplifier le signal en sorti du sonar. Pour cela nous avons utiliser un amplificateur non inverseur et en filtre pas-haut pour éliminer le bruit du au 50Hz du réseau.Afin, nous avons comparer le signal de sortie de l'amplificateur pour ne plus avoir que: 0v quand le sonar ne reçoit pas, et 5v lorsqu'il reçoit un signal.


Montage 4.png


Mesure 1.png


Puisque nous avons comparer en amont le signal du sonar, le schéma que nous avions réaliser lors de la séance 2 pour la partie réception, n’était plus correct. Nous avons donc utiliser un compteur, qui lorsque le sonar reçoit un signal, passe le bit 0 au 1 logique et va stopper le compteur qui va donner la distance. De plus nous devions ignorer le sonar durant un petit temps, car des lors que le sonar envoie un signal le récepteur le capte.Il nous fallait ignorer les 15 première milliseconde de la réception. Nous avons utilisé un compteur qui va compter jusqu’à 26, à une vitesse de 17Khz, soit 15ms, et commencé a regarder le signal de réception après ce moment.


Altiumbeauchamp3.png


Grâce au port HB4 à HB18 ont peu visualiser la distance mesurer par le sonar en binaire.

Test

On a placé le sonar a environ un mètre d'un mur( mesure approximative a la règle), on regarde l’état des sortie:


Photo 1.jpeg


On voit que les bits 7,6 et 4 sont a 1, on a donc mesuré: 2^7+2^6+2^4 = 104 cm