TELEMETRE A ULTRASONS
Transcription
TELEMETRE A ULTRASONS
ENSEIRB 2003 Télémètre à ultrasons SOMMAIRE I. Principe et cahier des charges du télémètre à ultrasons ..................................................... 1 1. 2. II. Principe........................................................................................................................... 1 Cahier des charges.......................................................................................................... 1 Etude analogique ................................................................................................................ 3 1. 2. III. Horloge principale.......................................................................................................... 3 Mise en forme du signal reçu ......................................................................................... 3 Etude de la partie numérique.......................................................................................... 5 1. 2. Organigramme du programme (Annexe 1)..................................................................... 5 Description des fonctions principales ............................................................................ 6 a. FP1 : Compteur binaire, RAZ matérielle et RAZ générale. (Annexe 3).................... 6 b. FP2 : Génération de la trame d’émission (Annexe 4) : .............................................. 6 c. FP3 : Commande du pont en H (Annexe 5) :............................................................. 8 d. FP4 : Diviseur de fréquence (Annexe 6):................................................................... 8 e. FP5 : Diviseur de fréquence et compteur d’affichage (Annexe 7):............................ 9 f. FP6 : Affichage (Annexe 8): ...................................................................................... 9 g. FP7 : Génération des seuils pour la réception (Annexe 9):...................................... 10 3. Le séquenceur (Annexe 10-11)..................................................................................... 12 a. Grafcet...................................................................................................................... 12 b. Table primitive ......................................................................................................... 13 c. Codage des états ....................................................................................................... 13 d. Equations d’excitation.............................................................................................. 14 IV. 1. 2. V. Simulation .................................................................................................................... 15 Simulation du séquenceur (Annexe 12) :...................................................................... 15 Simulation de l’ensemble des fonctions (Annexe 13) : ................................................ 15 Conclusion........................................................................................................................ 16 Annexes………………………………………………………………………………………17 ENSEIRB 2003 Télémètre à ultrasons I. PRINCIPE ET CAHIER DES CHARGES DU TELEMETRE A ULTRASONS 1. Principe Un télémètre à ultrasons fonctionne selon le principe du radar : une onde est émise en direction de l’objet dont on veut connaître la distance. L’écho est ensuite détecté par le récepteur incorporé du télémètre. Connaissant la vitesse de propagation du son, il est ensuite facile de déduire la distance parcourue par l’onde. Les ondes acoustiques étant peu directives, ce type d’appareil ne peut convenir que pour mesurer la distance de gros objets. Applications typique : mesures des dimensions d’une pièce. 2. Cahier des charges On commencera en premier lieu par étudier comme demander la partie analogique de la plaquette du xilinx et plus précisément la création de l’horloge principale, le pont de transistors pour l’émission du signal et enfin la partie mise en forme du signal reçu. La partie principale du projet consiste en la programmation du xilinx. Cette programmation devra répondre à un cahier des charges très précis. La procédure de mesure sera initialisée par l’appui sur un bouton poussoir BP. Le transconducteur d’émission émettre alors une trame composée d’un premier train d’onde de 10 impulsions de fréquence 40.1kHz (fréquence de résonance des transconducteurs), suivi d’un deuxième 2ms plus tard. Cette trame crée ainsi une sorte de signature de l’émetteur, ce qui permet au récepteur de discerner l’écho attendu d’éventuels signaux ultrasoniques parasites. Ce codage limite donc les risques de mesures erronées notamment dans le cas de réflexions multiples dus à des objets situés aux abords de l’obstacle à mesurer. La commande des 4 transistors du pont en H doit être effectuée pour appliquer une tension carrée alternative de 5V crête aux bornes du transconducteur d’émission. Afin de diminuer la durée de relaxation de l’émetteur, les 4 transistors devront être bloqués en dehors des instants d’émission. Le 1er obstacle rencontré va donc réfléchir l’onde incidente dans la direction du transducteur de réception. Après amplification et mise en forme (détecteur d’enveloppe + comparateur), la tension Pulse à l’allure suivante : Pulse 5V T1 t T2 1/17 ENSEIRB 2003 Télémètre à ultrasons La validité de la trame va porter sur le test des durées T1 et T2 par rapport aux valeurs attendues : 100µs<T1<1200 µs T2=2ms ±10% Ces tolérances peuvent paraître larges, mais sont nécessaires car l’enveloppe des trains d’onde reçus n’est pas rigoureusement rectangulaire mais ressemble plus à un dôme à cause du régime transitoire des transducteurs (circuits résonants…). Conséquences : les impulsions émises lors de la relaxation de l’émetteur sont captées par le récepteur lors de mesures à faible distance ce qui élargit considérablement la durée des créneaux Pulse. A l’inverse, la valeur de T1 diminue à grande distance. Il est à noter que la relaxation des transducteurs peut être considérée comme terminée au bout de 1ms. Pour cette raison, on ne validera en réception que les créneaux Pulse reçus au moins 3 ms après le début de la trame émise. Si les tests de validité sur T1 et T2 ne sont pas respectés, le code 0.0 devra apparaître sur les afficheurs pour informer l’utilisateur que le télémètre à des difficultés à recevoir l’onde réfléchie par l’obstacle, l’invitant ainsi à ajuster l’orientation de l’appareil. Pendant ce temps l’émetteur envoie automatiquement une nouvelle trame et ce jusqu’à ce que le signal reçu soit conforme. L’appareil affiche alors la distance estimée en mètre + décimètre et attend l’appui sur le poussoir BP pour démarrer une nouvelle mesure. Pour éviter les risques d’interférences dues aux réflexions parasites, les trames réémises devront être séparées de 60ms, ce qui correspond à une distance de 10m. 2/17 ENSEIRB 2003 Télémètre à ultrasons II. ETUDE ANALOGIQUE 1. Horloge principale L’horloge principale à 320.8KHz est réalisée par deux comparateurs associés à un circuit RC. La résistance R19 est associée à un potentiomètre, qui permet de régler la fréquence d’oscillation du montage astable. 2. Mise en forme du signal reçu Le récepteur transforme l’onde reçue en un signal électrique. Avant d’être utilisé dans le montage numérique, il faut procéder à la mise en forme et l’amplification du signal pour le rendre exploitable par le reste du système. Les deux premiers montages avec un AOP sont strictement identiques. Se sont des filtres passe bande du premier ordre qui ont pour fréquence de coupure basse 18kHz et pour fréquence de coupure haute 59kHz. 3/17 ENSEIRB 2003 Télémètre à ultrasons Ces deux filtres sont donc centrés sur la fréquence du signal émis. On a donc éliminés tous les signaux parasites ayant une fréquence différente du signal pouvant être captés par le récepteur. La mise en cascade de ces deux filtres permet d’amplifier le signal reçu. Le signal subit deux amplifications successives. A la suite de ce filtrage, le signal ressemble au signal émis, à la différence près que les créneaux sont très arrondis. Il est centré sur zéro. Il a donc une composante négative et positive. La suite, consiste à supprimer la composante continue du signal grâce à une simple diode montée en série, puis à filtrer à nouveau le signal. A ce stade, le filtre utilisé est un filtre passe bas du premier ordre avec une fréquence de coupure de 1.6kHz ( f c = 2πR12 C 3 ). Ce filtre permet une détection d’enveloppe. On a éliminé les créneaux et récupérer uniquement l’enveloppe du signal. Signal t (temps) Pour le moment il est impossible de connaître l’amplitude du signal car on ne connaît pas celle du signal en sortie du récepteur. Maintenant, on utilise dans ce montage, un trigger de Schmitt dont le seuil haut vaut 0.777 Vcc et le seuil bas vaut 0.12Vcc . Ce comparateur est immédiatement suivi d’un inverseur qui compense l’inversion du trigger et d’une diode qui supprime la composante négative générée par le trigger. La résistance R18 est uniquement la, pour limiter le courant dans la diode lorsqu’elle conduit et le courant absorbé par le Xilinx. Le signal obtenu est le suivant : Signal Vcc 0 t (temps) Les fronts du signal Pulse ne sont pas idéaux ; la pente des fronts est égale au slew rate du dernier AOP utilisé. Le signal est maintenant utilisable pour le traitement des seuils reçus et donc pour la vérification du signal reçu. 4/17 ENSEIRB 2003 Télémètre à ultrasons III. ETUDE DE LA PARTIE NUMERIQUE Schéma général en annexe 2 1. Organigramme du programme (Annexe 1) Nous avons dans notre organigramme deux grandes étapes : - Emission de la trame Traitement de la réception Explication de l’organigramme Après l’initialisation, nous sommes en attente d’un appui sur le bouton poussoir. Après appui, on affiche directement 0.0, on envoie la trame et on démarre le compteur de distance. On attend alors les 3ms de relaxation puis la réception d’un signal. Si celui-ci n’arrive pas, on renvoie une trame au bout de 60ms. A la réception, on stoppe le compteur distance. Sa valeur est gardée en mémoire en attendant la validité du signal reçu. Si le signal est incorrect, on attend les 60ms et on renvoie une trame. Sinon, on affiche la valeur du compteur distance. On retourne alors à l’étape d’initialisation. 5/17 ENSEIRB 2003 Télémètre à ultrasons 2. Description des fonctions principales a. FP1 : Compteur binaire, RAZ matérielle et RAZ générale. (Annexe 3) • Le compteur binaire : Ce compteur binaire 16 bits permet principalement de compter les 60 ms à ne pas dépasser après l’appui sur le bouton poussoir. Ses quatre premiers bits sont principalement utilisés comme divisions de la fréquence d’horloge. • La sortie RAZmat (Remise A Zéro matérielle) : Elle est activée lorsque le temps de 60ms est écoulé, donc lorsque le compteur arrive à 19248. 19248*TH = 60ms (TH=3.1172µs) (19248)10 = (4B30)16 On a donc l’équation: RAZmat = A14 . A13 . A12 . A11 . A10 . A9 . A8 . A7 . A6 . A5 . A4 • RAZ générale : RAZgénérale = RAZmat + RAZseq (RAZseq (Remise A Zéro séquentielle) est une sortie du séquenceur) b. FP2 : Génération de la trame d’émission (Annexe 4) : Le signal envoi : 250µs 1750µs 6/17 250µs ENSEIRB 2003 Télémètre à ultrasons A9 0 0 0 0 0 0 0 0 0 A8 0 0 0 0 0 0 0 0 0 A7 0 0 0 0 0 0 0 0 1 A6 0 0 0 0 1 1 1 1 0 A5 0 0 1 1 0 0 1 1 0 A4 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 envoi 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 250µs 1750µs 250µs On déduit de cette table de vérité l’équation de « envoi » : envoi = A14.A13.A12.A11.A10.A8.(A9.A7.(A6 + A6.A5.A4) + A9.A7.(A6 + A6.A5.A4) envoi = A14.A13.A12.A11.A10.A8.((A9 ⊕ A7).(A6 + A6.A5.A4)) On obtient ensuite « trame » : trame = envoi.A2 7/17 ENSEIRB 2003 Télémètre à ultrasons c. FP3 : Commande du pont en H (Annexe 5) : trame envoi T4 T5 T6 T7 On a donc les équations suivantes : T 4 = trame . envoi T 5 = trame + envoi T 6 = trame . envoi T 7 = trame + envoi d. FP4 : Diviseur de fréquence (Annexe 6): Ce compteur 4 bits permet de diviser la fréquence de CLK par 8. TQ2 = 8*TH ≈ 24.94µs 8/17 ENSEIRB 2003 Télémètre à ultrasons e. FP5 : Diviseur de fréquence par 24 et compteur d’affichage (Annexe 7): • Diviseur de fréquence : On affiche la distance sur 2 digits : un pour les décimètres et un pour les mètres. Le son allant à la vitesse de 340m/s : 340m. Æ 1s. 1dm. Æ 294µs. Comme le son aura parcouru deux fois la distance à afficher, la période du compteur d’affichage doit être : Taffich = 2*294 = 588µs. On réalise donc un diviseur par 24, à l’aide d’un compteur 8 bits. On a donc : Taffich = 24* TQ2 ≈ 24*24.94 ≈ 598.5µs. • Compteur d’affichage : Deux compteurs BCD 4 bits montés en cascade permettent de compter respectivement les décimètres et les mètres lorsque ENcompteaffiche est au niveau haut. Le diviseur ainsi que les deux compteurs sont remis à zéro lorsque RAZgénérale passe au niveau haut. f. FP6 : Affichage (Annexe 8): • Le buffer : Il est constitué de huit bascules D mises en parallèle. Lorsque « affiche » passe au niveau haut, les données présentes en sortie des compteurs d’affichage sont transmises aux décodeurs BCD – 7 segments et affichées sur le LCD. Les sorties sont forcées au niveau bas lorsque ENcompteaffiche est au niveau haut, permettent ainsi d’afficher « 0.0 » sur le LCD. • Les décodeurs BCD – 7 segments : Il y a deux décodeurs (un par digit). Chacun des décodeurs permet de faire correspondre l’illumination de chaque segment de l’afficheur correspondant à un chiffre BCD. 9/17 ENSEIRB 2003 • Télémètre à ultrasons La commande du LCD : L’afficheur à cristaux liquides se commande de la façon suivante : com 1a état du segment 1a éteint allumé Le compteur 4 bits sert de diviseur de fréquence, il permet d’obtenir le signal « com » avec une fréquence adaptée au LCD. Le signal « com » est aussi envoyé aux portes XOR : Si la deuxième entrée est au niveau bas alors le signal envoyé au segment est en phase avec « com » et le segment est éteint. Si la deuxième entrée est au niveau haut alors le signal envoyé au segment est en opposition de phase avec « com » et le segment est allumé. Le point1 sera constamment allumé (séparation entre les décimètres et les mètres). Le point2 sera constamment éteint. g. FP7 : Génération des seuils pour la réception (Annexe 9): Pour valider le signal reçu, il faut que t1 min ≤ T1 ≤ t1 max et t 2 min ≤ T2 ≤ t 2 max . t1 min = 100µs t1 max = 1200µs t 2 min = 1.8ms t 2 max = 2.2ms • Compteur 8 bits : Ce compteur se déclenche lorsque une réception est détectée, il permet de compter les différents temps : t1min, t1max, t2min, t2max. Le compteur génère en Q0, un signal de période : TQ0 ≈ 50µs 10/17 ENSEIRB 2003 • Télémètre à ultrasons t1min, t1max, t2min, t2max : Les bascules permettent de mémoriser le franchissement des seuils jusqu’à la remise à zéro générale. t1min ≥ Q0.Q1 t1max ≥ Q0.Q1.Q2.Q3.Q5 t2min ≥ Q0.Q1.Q2.Q6 t2max ≥ Q0.Q1.Q2.Q4.Q6 • Génération des signaux Bon1, PasBon1, Bon2, PasBon2 : Ces signaux sont représentatifs de la validité du signal reçu, ils permettent d’effectuer les transitions du séquenceur. Bon1 = t1min .t1max .R PBon1 = t1min .R + t1max Bon2 = t 2 min .t 2 max .R PBon2 = t 2 min .R + t 2 max h. FP8 : Séquenceur (Annexe 10): FP8 est décrite en détail dans la partie III.3. 11/17 ENSEIRB 2003 Télémètre à ultrasons 3. Le séquenceur (Annexe 10-11) a. Grafcet Nous avons décidé de traiter l’émission de la trame indépendamment du séquenceur. On fera donc intervenir dans celui-ci principalement la partie réception du signal. Le grafcet se compose de neufs étapes. Toutefois les quatre étapes encadrées de pointillés rouges peuvent être représentées par une seule. La plupart des transitions sont des temporisations. Les autres sont l’appui sur bouton poussoir, la réception d’un signal et la remise à zéro due au dépassement des 60 ms. 0 RAZseq=1 ENcomptAffiche=0 BP 1 2 T 3 RAZseq=0 ENcompt2=0 ENcomptAffiche=1 4 relax 5 RAZmat 6 Pbon1 Réception ENcomptAffiche=0 ENcompt2=1 bon1 7 Pbon2 bon2 9 ENcompt2=0 8 RAZmat 12/17 Affiche=1 ENSEIRB 2003 Télémètre à ultrasons b. Table primitive Du grafcet, on extrait la table primitive suivante : Etats 0 1 2 3 4 5 6 7 8 9 RAZ ComptAffi 1 0 0 0 0 0 0 0 0 0 RAZ Compt1 1 0 0 0 0 0 0 0 0 0 RAZ Compt2 1 0 0 0 0 0 0 0 0 0 Affiche 1 0 0 0 0 0 0 0 1 0 ENCompt2 0 0 0 0 0 0 1 1 1 0 ENComptAffi 0 1 1 1 1 1 0 0 0 0 Les étapes 1, 2, 3, 4 correspondent à l’émission de la trame. Celle-ci comme nous l’avons vu précédemment a été faite indépendamment du séquenceur. C’est pourquoi toutes ces étapes transformées en une seule sur le grafcet apparaîtront dans le séquenceur par T. D’autre part, on remarque que les trois remises à zéro (RAZ du compteur de l’affichage, RAZ du compteur 1 et RAZ du compteur 2) sont identiques à chaque état. On leur donnera donc un nom identique : RAZseq (RAZ du séquenceur) que l’on voit déjà apparaître sur le grafcet. c. Codage des états On regarde si les différents états obéissent aux règles de codage. D’après ces trois règles, les états 5 et 9, 6 et T, 7 et 9, 8 et 9 sont adjacents. On obtient le codage suivant : AB C OO O1 11 1O O 0 7 9 5 1 T 6 8 / 13/17 ENSEIRB 2003 Télémètre à ultrasons d. Equations d’excitation A l’aide des étapes précédentes, on peut établi les tableaux de Karnaugh des états futurs suivants : An +1 AB C OO O1 11 1O O 0 Bon2+Pbon2 RAZseq R + RAZseq 1 relax Pbon1 0 / Bn +1 AB C OO O1 11 1O O 0 1 RAZseq R 1 0 1 0 / C n +1 AB C OO O1 11 1O O BP bon2 RAZseq R+RAZseq 1 relax bon1 + Pbon1 0 / D’après ces tableaux de karnaugh, on tire les équations d’excitation : An +1 = relax. A.B.C + (bon 2 + Pbon 2). A.B.C + Pbon1. A.B.C + Razseq. A.B.C + ( R + RAZseq). A.B.C ⇒ An +1 = relax. A.B.C + (bon2 + Pbon2). A.B.C + Pbon1. A.B.C + A.C.RAZseq.( B + R.B) Bn +1 = A.B + RAZseq. A.B.C + R. A.B.C = A.B + A.C.( RAZseq.B + R.B) C n +1 = BP. A.B.C + relax. A.B.C + bon 2. A.B.C + bon1 + Pbon1. A.B.C + R. A.B.C + RAZseq. A.C 14/17 ENSEIRB 2003 Télémètre à ultrasons D’autre part, il est nécessaire de déterminer les équations de sortie du séquenceur. On obtient à l’aide de la table primitive et du codage des états, les équations suivantes : RAZseq = A.B.C Affiche = A.B.C + A.B.C ENcompt 2 = A.B.C + A.B.C + A.B.C = A.B + A.B.C ENcomptAffi = A.B.C + A.B.C = B.( A ⊕ C ) Toutes les étapes nécessaires aux câblages du séquenceur effectuées, nous pouvons câbler celui-ci à l’aide de trois bascules D. IV. SIMULATION Nous avons simulé sous QuickSim les différentes fonctions à intégrer dans le Xilinx, on présentera ici la simulation du séquenceur puis de l’ensemble de la partie numérique. 1. Simulation du séquenceur (Annexe 12) : Après un appui sur le bouton poussoir, on impose quatre réceptions mauvaises (« Bon1 »=’0’, « PBon1 »=’1’) puis une correcte (« Bon1 »=’1’, « PBon1 »=’0’, « Bon2 »=’1’, « PBon2 »=’0’, « relax »=’1’). « ENcomptAffi » reste bien au niveau haut depuis l’appui sur le bouton poussoir ou le RAZmat jusqu’à réception du signal. « ENcompt2 » passe au niveau haut après réception du signal puis au niveau bas (ce qui traduit son passage par l’étape 9 Æ signal reçu incorrect). Lorsque le signal est détecté comme correct (5ème réception), le séquenceur déclenche bien l’affichage et la remise a zéro séquentielle. On en conclu que le séquenceur fonctionne correctement. 2. Simulation de l’ensemble des fonctions (Annexe 13) : Après un appui sur le bouton poussoir on impose quatre réceptions mauvaises puis une correcte. 1ère réception : T1 < 100µs 2ème réception : T1 > 1200µs 3ème réception : T2 < 1.8ms 4ème réception : T3 > 2.2ms 5ème réception : 100µs < T1 < 1200µs et 1.8ms < T2 < 2.2ms Pour les quatre premières réceptions, on remarque que la trame est bien envoyée et que les transitions se déroulent comme prévu (à chaque fois une condition n’est pas validée), la distance est bien calculée et n’est pas affichée (« affiche » reste au niveau bas), on affiche 00. Pour la dernière réception, la distance est calculée et est affichée (« affiche » passe au niveau haut), la remise à zéro est effectuée, on attend un nouvel appui sur le bouton poussoir. 15/17 ENSEIRB 2003 Télémètre à ultrasons V. CONCLUSION Après simulation, nous avons eu la satisfaction d’observer un bon fonctionnement de celleci. Cependant, nous regrettons d’avoir manqué d’un peu de temps pour implanter notre schéma sur le Xilinx et de voir le télémètre fonctionner. Ce projet nous a permis de découvrir et de nous familiariser avec la saisie de schéma et la simulation sous Mentor. Bien que nous pensons qu’un projet comme celui-ci, dans l’industrie, aurait peut-être été plus rapide à concevoir en VHDL, il nous a surtout permis de mettre en œuvre nos connaissances acquises pendant les cours dans un système complexe. 16/17