Contrôle de sonar, 2011/2012, TD3

De Wiki d'activités IMA
Révision datée du 14 mai 2012 à 18:14 par Ppetitpr (discussion | contributions) (Avancement)

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ériode de ce signal
      • Reception du signal émis
      • Compteur mesurant le temps entre l'emission et la reception
      • Transmission d'un octet proportionnelle à la distance
    • Sur Maquette :
      • Réaliser les fonctions suivantes :
      • Amplifier le signal générer précédemment pour qu'il puisse être émis par l'émetteur.
      • Remettre en forme le signal recue pour qu'il puisse etre exploiter 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 periode dans cet interval 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 tres faible du capteur on devra mettre en cascade un montage amplificateur puis un comparateur à Hysteresis (pour eviter une erreur du au bruit)
    • Limite de réalisation : en développant un systeme tel quel, il n'y a pas moyen de verifier 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)


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).