Contrôle de sonar, 2011/2012, TD3
De Wiki d'activités IMA
Révision datée du 21 mai 2012 à 09:16 par Ppetitpr (discussion | contributions)
Sommaire
Introduction
Projet SYSTEMES COMMUNICANTS IMA3 : Contrôle de sonar
Charly MONTEIRO - Pierre-Jean PETITPREZ - Cédric VANDERMEERSCH
La partie informatique du projet est réalisée à partir du poste Tutur08.
Avancement
Séance n°1, 20/04/2012
L'objectif de la première séance de projet communicant était avant tout axée sur la prise en main du sujet. Nous nous sommes particulièrement intéréssés à la partie "Programmation" du Servo-Moteur, c'est-à-dire le contrôle de direction. Un programme en C nous a permis de rapidement prendre contrôle du moteur. Cependant nous avons perdu énormément de temps pour essayer de contrôler le moteur à partir d'une application web. Finalement à la fin de la séance :
- Toutes les bibliothèques nécessaires sont installées
- Le moteur est contrôlable à partir d'un programme C lancé dans un terminal
- Le squelette d'une page web est monté avec un champ prévu pour entrer l'angle de rotation et quelques tests sont effectués sur des fonctions javascript
- La partie électronique n'est qu'entrevue, il faudra absolument s'y coller la fois prochaine.
Séance n°2, 11/05/2012
Objectifs :
- Informatique :
- Savoir lancer le script CGI depuis la page web
- Ecrire et savoir utiliser le démon de la liaison série et le programme de récupération de distance
- Avoir une page web fonctionnelle
- Electronique :
- Prendre en main le sujet, c'est à dire :
- Sous Altium :
- Réaliser le montage FPGA permettant de réaliser les fonctions :
- Oscillateur à 40kHz
- Transmettre 10 périodes de ce signal
- Reception du signal émis
- Compteur mesurant le temps entre l'émission et la réception
- Transmission d'un octet proportionnel à la distance
- Sur Maquette :
- Réaliser les fonctions suivantes :
- Amplifier le signal généré précédemment pour qu'il puisse être émis par l'émetteur.
- Remettre en forme le signal reçu pour qu'il puisse être exploité par un circuit numérique.
Problèmes rencontrés :
- Informatique :
- Les scripts CGI sont refusés par la page web (erreur 500)
- Ne pas oublier de lancer le démon de la liaison série...
- Electronique:
- Choix des horloges:
- L'horloge qui permettra le calcul de la durée décidera aussi de la plage de distance que l'on pourra mesurer. On se limitra à une distance de 1m qui correspondra à la valeur 255 le son voyageant à environ 340m/s. 1m de distance correspond à 2m parcourus par le son soit 5.88ms. On ne veut pas plus de 255 periodes dans cet intervalle, soit une periode d'une durée minimale de 5.88m/255 = 23µs. On arrondira à 25µs soit une fréquence de 40kHz.
- Mise en forme reception:
- Etant donné les niveaux de tensions très faibles du capteur on devra mettre en cascade un montage amplificateur puis un comparateur à Hysteresis (pour éviter une erreur du au bruit)
- Limite de réalisation : en développant un systeme tel quel, il n'y a pas moyen de vérifier que le signal revenant est bien à 40kHz donc aucune certitude que c'est bien le signal qui a été envoyé. (on a éventuellement pensé à un passe bande... à méditer)
- Choix des horloges:
Résultats :
- Informatique :
- L'utilisation du script CGI dans le dossier /usr/lib/cgi-bin/ est résolu (problème de droits d'exécutions -> chmod u+s sur le script)
- Tous les programmes C indispensables (scripts CGI pour la commande du moteur et la réception de la distance et démon de la liaison série) sont écrits et fonctionnels
- La page web permet de contrôler le moteur et affiche la distance de l'objet capté devant le sonar
- Découverte de Firebug, très utile et qui a beaucoup fonctionné...
- Connaissances accrues en web 2.0, pour des étudiants qui n'y connaissaient absolument rien au début (merci à Monsieur Redon pour ses explications et ses remarques)
- Electronique :
- Sujet bien pris en main, premières difficultés rencontrées, schéma de montage réalisé sour Altium (avec quelques erreurs sur les valeurs à corriger).
Séance 3, 21/05/2012
Objectifs :
- Corriger quelques erreurs de code et transférer les fichiers sur la FoxBoard, compiler sur la FoxBoard, mettre en place le démon série
- Coder une visualisation graphique de la distance mesurée par le sonar (utilisation de Canvas)