Club robotique de Sophia-Antipolis

Accueil > Projets, études > Nos réalisations > Balises de localisation > Balises à ultrason : test des capteurs (2009)

Balises à ultrason : test des capteurs (2009)

jeudi 10 septembre 2009, par Keuronde

Ayant décidé du type de balise que nous allions utiliser, nous commençons deux choses en parallèle :

  • D’un coté, nous élaborons un schéma de principe détaillé
  • D’un autre coté, nous testons les différents émetteurs - récepteurs

Il est important d’établir le principe de fonctionnement de nos balises avant de commencer leur réalisation. D’un autre côté, nous craignons les surprises avec les émetteurs et les récepteurs, notamment dans les sorties que nous risquons d’obtenir...

Principe de fonctionnement

Le but,comme nous l’avons vu juste avant, est d’obtenir des balises qui lorsqu’elle reçoivent un code par radio émettent une impulsion ultrason

Comme contrainte, nous nous interdisons l’utilisation de microcontroleurs embraqués dans les balises. De plus nous souhaitons que les circuits des balises soient identiques. Il faut donc pouvoir définir le code recherché avec des interrupteurs.

Analyse fonctionnelle

Voici les principales fonctions des balises :

  • Détecter le code radio
    • Recevoir le signal radio
    • Décoder le signal
    • Comparer le signal au code de référence
  • Emetteur le signal ultrason

Architecture

A partir de ces fonctions, une liste des composants logiques et de leur fiche technique on arrive assez rapidement à une architecture de la balise.

Architecture
Schéma de principe de fonctionnement d’une balise

Test des capteurs

Capteurs ultrasons

Le test des capteurs à ultrason a été des plus laborieux. Utilisant la carte son d’un ordinateur comme oscilloscope, la fréquence d’échantillonnage est fixe et limitée à 44 kHz. Le théorème de Shannon stipule qu’il n’est pas possible d’observer correctement des signaux dont la fréquence est supérieur à la moitié de la fréquence d’échantillonnage (parfois appelée fréquence de Shannon). De fait, tous les signaux au dessus de 22 kHz seront grandement déformé à l’oscilloscope. Pour limiter ce phénomène il est courant de mettre des filtres en amont de l’acquisition qui ne laissent passer que les fréquences inférieur à la fréquence de Shannon.

Ces mesures, nous l’avons compris plus tard ont principalement été perturbées par l’oscilloscope. Non pas que l’entrée est filtrée, au contraire elle ne l’est pas, mais le potentiel de référence de l’oscilloscope est la masse du PC. Nous alimentons généralement nos cartes par le porte USB d’un pc. Pour peut que le PC servant d’oscilloscope fournisse aussi l’alimentation de la carte, il devient facile de tout court-circuiter. Heureusement, les ports USB sont protégés, nous en savons quelque chose !

Après des essais qui n’avaient rien à voir, il apparait que la fréquence du microcontroleur n’est pas celle qu’on croyait. Pour être sur de ne pas se tromper, nous décidons d’abord de générer un signal à 20 kHz et de le visualiser à l’oscilloscope. Les choses se passent bien, on double la fréquence et on regarde à nouveau le résultat à l’oscilloscope. Suprise ! On observe un signal à 4,6 kHz, l’application exacte du théorème de Shannon. On découvre que la carte son n’est pas filtrée. On observe la sortie du récepteur ultrason et miracle ! On visualise une sinusoïde à 4,6 kHz.

On souhaite ensuite obtenir non pas une sinusoïde mais un signal créneau. En théorie, un simple montage avec un amplificateur opérationnel devrait faire l’affaire. Mais non, le montage marche très bien en boucle fermé avec un gain de 500, mais en boucle ouverte, on déforme notre signal qui ne ressemble plus à rien.

Après avoir rajouté un filtre au milieu des étages d’amplification. Le signal observé en sortie du montage d’amplification semble correct, on visualise une sinusoïde saturée à 4,6 kHz. Ceci semble cohérent avec le signal émis et le théorème de Shannon. Cependant, pour être sur que le signal est bien à 40 kHz, on l’injecte dans un compteur qui va nous diviser la fréquence. De fait, avec une entrée à 40 kHz, on devrait être capable de voir du 20 kHz, 10 kHz, 5 kHz. ce n’est malheureusement pas encore le cas. Je ne sais pas encore si cela est du à un problème avec le compteur (ce que j’espère et que je suppose) ou si le signal de sortie n’est pas encore conforme

Module radio fréquence

Les modules de transmission radio proposent une entrée data sur laquelle on peut faire arriver un signal qui ne doit pas dépasser les 3 kHz. Le premier tests fut de brancher un interrupteur 0 - 5V sur le signal. Les résultats furent loin d’être probants. Le récepteur recevait des signaux lorsque l’émetteur n’émettait pas et le récepteur ne recevait pas vraiment plus de données lorsque l’émetteur émettait. Le seul moment où une réception semblait avoir lieu était au moment où l’on pressait le bouton.

Après réflexion, les modules n’étaient probablement pas fait pour transmettre des signaux continus. En recommençant l’expérience avec un signal à 1 kHz, les résultats furent très correctes.

Le décodage doit permettre de convertir un signal oscillant en bits. Pour le signal, la valeur 1 sera codée par un temps haut de 1/2 T et un temps bas de 1/2 T, la valeur 0 sera codée par un temps bas de T. Pour pouvoir lire simplement le signal, il faut avoir un temps de T pour la valeur 1 et un temps bas de T pour la valeur 0. Il faut donc rallonger la durée des temps haut du signal de 1/2 T

Pour cela, on découpe le montage en deux. D’un coté on charge un condensateur qui se déchargera lentement pour allonger la durée du temps haut. De l’autre, on utilise un comparateur pour revenir à un signal 0 - 5V.

Tentative de décodage : passe bas à diode + seuil

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.