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