Controle de sonar : Différence entre versions
(→Rapport) |
(→Rapport) |
||
Ligne 87 : | Ligne 87 : | ||
I) Cahier des charges | I) Cahier des charges | ||
− | La carte FPGA mesure en permanence la distance avec l'obstacle le plus proche. La mesure de distance est basée sur la mesure du décalage entre l'émission d'un signal ultrason et sa réception, après rebond sur l'obstacle. La valeur de ce temps sera codée sur huit bits (1 octet). Le taux de rafraîchissement de la mesure sera fixé à 1 seconde. La vitesse du son sera considérée comme égale à 340 m/s | + | La carte FPGA mesure en permanence la distance avec l'obstacle le plus proche. La mesure de distance est basée sur la mesure du décalage entre l'émission d'un signal ultrason et sa réception, après rebond sur l'obstacle. La valeur de ce temps sera codée sur huit bits (1 octet). Le taux de rafraîchissement de la mesure sera fixé à 1 seconde. La vitesse du son sera considérée comme égale à 340 m/s. |
II) Résolution du CDC partie numérique | II) Résolution du CDC partie numérique | ||
− | Les différentes horloges | + | 1)Les différentes horloges |
Nous avons décider pour facilité le câblage des différents composant du FPGA et de la propreté du signal de sortie de la partie analogique d’avoir une distance maximale de mesure de 1,80 m pour un mot de 254, en cas d’absence d’objet nous prendrons la valeur 255. | Nous avons décider pour facilité le câblage des différents composant du FPGA et de la propreté du signal de sortie de la partie analogique d’avoir une distance maximale de mesure de 1,80 m pour un mot de 254, en cas d’absence d’objet nous prendrons la valeur 255. | ||
− | Ainsi nous avons les relations suivantes | + | Ainsi nous avons les relations suivantes: |
− | f=1/T | + | f=1/T |
− | v=d/t | + | v=d/t |
+ | |||
+ | D’où t=d/v=(2×1,8)/340=10,588 ms | ||
− | |||
Où t est le temps totale que met l’onde pour faire l’aller-retour à une distance de 1,80m | Où t est le temps totale que met l’onde pour faire l’aller-retour à une distance de 1,80m | ||
Donc on a une résolution de (10,588×〖10〗^(-3))/255 =41.52 µs qui correspond a 7mm pour un bit d’écart | Donc on a une résolution de (10,588×〖10〗^(-3))/255 =41.52 µs qui correspond a 7mm pour un bit d’écart | ||
Ligne 107 : | Ligne 108 : | ||
− | f=1/T=1/(41.52 µs )≈2400 | + | f=1/T=1/(41.52 µs )≈2400 |
Nous allons donc diviser la fréquence par 2400 (U3, U4 et U6) | Nous allons donc diviser la fréquence par 2400 (U3, U4 et U6) | ||
Ligne 113 : | Ligne 114 : | ||
Le compteur (U1) permet de diviser la fréquence pour avoir une période de 1s avec un petit temps à l’état haut. | Le compteur (U1) permet de diviser la fréquence pour avoir une période de 1s avec un petit temps à l’état haut. | ||
− | liaison entre le MU et la nanobord | + | 2)liaison entre le MU et la nanobord |
Le compteur (U11) permet de compter le nombre de période envoyé au MU est de s’arrêter à dix grâce aux NANDs et ANDs (U10, U12 et U15) information appelé « fin transmission » puis repart dans un OR avec l’information de « réinitialisation nouvelle séquence » la sortie commande la remise a zéro du compteur mais aussi dans la commande de la bascule JK qui commande le blocage du compteur | Le compteur (U11) permet de compter le nombre de période envoyé au MU est de s’arrêter à dix grâce aux NANDs et ANDs (U10, U12 et U15) information appelé « fin transmission » puis repart dans un OR avec l’information de « réinitialisation nouvelle séquence » la sortie commande la remise a zéro du compteur mais aussi dans la commande de la bascule JK qui commande le blocage du compteur | ||
Ligne 120 : | Ligne 121 : | ||
[[Fichier:Tableverite.png]] | [[Fichier:Tableverite.png]] | ||
+ | |||
+ | Quand CE=1 alors le compteur est bloqué et arrête d’envoyer la transmission sinon il continu de compter. | ||
+ | <br> | ||
+ | J= Réinitialisation nouvelle séquence | ||
+ | <br> | ||
[[Fichier:Formule.png]] | [[Fichier:Formule.png]] | ||
+ | |||
+ | Le signal provenant de l’émetteur MU entre dans une bascule D qui sera remit à zéro lors de l’information « réinitialisation nouvelle séquence » et la sortie commandera le blocage du compteur qui donne l’image de la distance en pilotant le bit CE. | ||
+ | <br> | ||
[[Fichier:Chronogramme.png]] | [[Fichier:Chronogramme.png]] | ||
+ | <br> | ||
+ | III) Résolution du CDC partie analogique | ||
+ | <br> | ||
+ | |||
+ | La partie analogique est divisée en deux parties : | ||
+ | - L’émission du signal | ||
+ | - La réception du signal | ||
+ | |||
+ | 1) L’émission du signal | ||
+ | |||
+ | Nous avons choisi de prendre un AOP en montage suiveur pour évité de demander trop de courant de la carte vers le MU (voir schéma) | ||
+ | |||
+ | 2) La réception du signal | ||
+ | |||
+ | Pour la réception du signal dans un premier temps le signal est d’abord amplifier grâce a un non inverseur avec un gain de 101 puis ce signal est comparer à une tension de 4V pour éliminer touts les parasite qui ont été trop amplifié. | ||
+ | <br> | ||
+ | |||
[[Fichier:Analogique.png]] | [[Fichier:Analogique.png]] | ||
+ | <br> |
Version du 16 mai 2011 à 16:39
Sujet
Le sujet se trouve à la page http://rex.plil.fr/Enseignement/Systeme/Projet.IMA3/systeme009.html
Avancement du projet
Première Séance (06/05/2011)
Objectifs :
- établir le cahier des charges technique
- répartir les tâches au sein du binôme
- brainstorming
Réalisations concrètes :
- Tutoriel Altium effectué
- Elaboration du compteur mesurant le temps sous Altium
Deuxième Séance (11/05/2011)
Objectifs :
- Continuer la partie électronique en résolvant les derniers problémes
- Commencer la partie informatique en élaborant la structure du programme et sous programmes
Réalisations concrètes :
Partie informatique :
- Installation des librairies nécessaires pour piloter le servo moteur
- Modification du programme c pour pouvoir entrer un angle en paramétre et ainsi placer le sonar à l'angle indiqué
- Création du site Web 2.0 avec un champ texte pour entrer un angle et placer le sonar au bon angle, grâce à une intéraction entre le javascript et le programme c précédemment créé.
Partie électronique :
Troisième Séance (13/05/2011)
Objectifs :
- Avant la séance, avancer la partie informatique en continuant sur le site web :
- Élaboration de la requête Ajax envoyée vers un script PHP qui récupère la distance mesurée par le sonar par scrutation et les renvoie vers la page Web 2.0(donnees.php)
- Élaboration de la page Affichage.php qui récupère une série de distance et un angle. Cette page utilise GD en affichant un cercle vert ainsi que les axes X et Y en coordonnées cartésienne
- Modification de la page Web 2.0 avec l'ajout un script sous javascript qui lance Affichage.php par une requête Ajax en ajoutant à l'adresse de l'url, les valeurs mesurées par le radar ainsi que l'angle associé
- Test de toutes les pages créées chez nous et résolution des bugs si nécessaire
Réalisations concrètes :
Partie informatique :
- Compilation du programme permettant de lire les données renvoyées par le sonar par la liaison série
- Modification des pages Web 2.0 et donnees.php pour récupérer les données du sonar
- Modification de la page Web 2.0 et affichage.php qui pour résoudre le problème de l'affiche de l'image permettant d'afficher la cible du radar qui ne s'affichait pas
Malheureusement, afficher le point devant indiqué la distance de l'obstacle par rapport au sonar a été plus difficile que l'on ne pensait et faute de temps, nous n'avons pas réussi à finir cette partie.
Partie électronique :
- Réalisation des différentes horloges utiles
- Création du signal pilotant le Module à ultrasons
Partie informatique
- Machine utilisée : TUTUR01
- /home/pifou/sonar/ contient entre autre fileaccess2.c qui selon un angle fait faire une rotation au robot de l'angle en question
- /var/www contient :
- web2.html : Page principale Web 2.0
- prototype.js
- donnes.php
- affichage.php
- Les commandes :
- su (mdp : glopglop) : Mode superutilisateur
- su www-data : Permet de prendre l’identité de www-data
- /root/serie : permet de lancer la liaison série
- lancer correctement la page Web 2.0 :
- su www-data
- /root/serie
- lancer un navigateur internet et lancer la page http://localhost/web2.html
- entrer un angle
- l'image de la distance se lance
Partie électronique
- Réalisation du bit de sortie permettant l'envois de l'octet
- Réalisation du rafraîchissement toutes les secondes
- Réalisation de la parte analogique + tests effectués
Rapport
I) Cahier des charges
La carte FPGA mesure en permanence la distance avec l'obstacle le plus proche. La mesure de distance est basée sur la mesure du décalage entre l'émission d'un signal ultrason et sa réception, après rebond sur l'obstacle. La valeur de ce temps sera codée sur huit bits (1 octet). Le taux de rafraîchissement de la mesure sera fixé à 1 seconde. La vitesse du son sera considérée comme égale à 340 m/s.
II) Résolution du CDC partie numérique
1)Les différentes horloges
Nous avons décider pour facilité le câblage des différents composant du FPGA et de la propreté du signal de sortie de la partie analogique d’avoir une distance maximale de mesure de 1,80 m pour un mot de 254, en cas d’absence d’objet nous prendrons la valeur 255. Ainsi nous avons les relations suivantes:
f=1/T
v=d/t
D’où t=d/v=(2×1,8)/340=10,588 ms
Où t est le temps totale que met l’onde pour faire l’aller-retour à une distance de 1,80m Donc on a une résolution de (10,588×〖10〗^(-3))/255 =41.52 µs qui correspond a 7mm pour un bit d’écart Ainsi on a la fréquence d’entrée du compteur 8 bits qui nous donnera le mot image de la distance.
f=1/T=1/(41.52 µs )≈2400
Nous allons donc diviser la fréquence par 2400 (U3, U4 et U6) Les autres diviseurs (U7, U8, U13 et U14) sont présents pour avoir une période 40khz pour le signal d’entrée de la partie analogique pour le module à ultrasons. Le compteur (U1) permet de diviser la fréquence pour avoir une période de 1s avec un petit temps à l’état haut.
2)liaison entre le MU et la nanobord
Le compteur (U11) permet de compter le nombre de période envoyé au MU est de s’arrêter à dix grâce aux NANDs et ANDs (U10, U12 et U15) information appelé « fin transmission » puis repart dans un OR avec l’information de « réinitialisation nouvelle séquence » la sortie commande la remise a zéro du compteur mais aussi dans la commande de la bascule JK qui commande le blocage du compteur Table de vérité du blocage du compteur.
Quand CE=1 alors le compteur est bloqué et arrête d’envoyer la transmission sinon il continu de compter.
J= Réinitialisation nouvelle séquence
Le signal provenant de l’émetteur MU entre dans une bascule D qui sera remit à zéro lors de l’information « réinitialisation nouvelle séquence » et la sortie commandera le blocage du compteur qui donne l’image de la distance en pilotant le bit CE.
III) Résolution du CDC partie analogique
La partie analogique est divisée en deux parties : - L’émission du signal - La réception du signal
1) L’émission du signal
Nous avons choisi de prendre un AOP en montage suiveur pour évité de demander trop de courant de la carte vers le MU (voir schéma)
2) La réception du signal
Pour la réception du signal dans un premier temps le signal est d’abord amplifier grâce a un non inverseur avec un gain de 101 puis ce signal est comparer à une tension de 4V pour éliminer touts les parasite qui ont été trop amplifié.