PAE 2021 Transmission d'un signal

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche

TAJ Ahmed/TALLARITA Hugo

PROJET : Transmission d'un signal :

Séance 1 :

Découverte du sujet.

Objectif : Transmettre un signal codé en 8bits issue d’une diode laser. Etude des différents éléments du système.

Emetteur : Diode laser : Laser composé de semi-conducteurs permettant d’émettre une lumière monochromatique.

Récepteur : Phototransistor : Transistor sensible à la lumière permet d’émettre des impulsions électriques permettant d’étudier le signal lumineux

Choix du microcontrôleur : Microprocesseur va nous permettre de lire les données pour le transmettre au laser et aussi le recevoir du phototransistor.

Par conséquent nous avons choisi d’utiliser deux microcontrôleurs pour les deux parties du système (émetteur, récepteur).

Séance 2 :

Prise en main des éléments du système et mise en place du schéma de liaison du système.

Capture21.PNG

Choix du microcontrôleur : Carte Arduino Uno Capture22.PNG

Laser diode : Capture23.PNG

Phototransistor : Capture24.PNG

Travail à faire prochaine séance : étude des propriétés du laser et du phototransistor (puissance maximale d’émission, durée maximale d’acquisition du transistor)

Séance 3 :

Objectif n°1 : Transmettre un seul bit ente l’émetteur et le récepteur. Mise en place de l’émetteur :

Capture31.PNG

Nous avons réalisé l’émission du seul bit grâce au code suivant :

Capture32.PNG

Pour le récepteur on a le montage ci-dessous :

Capture33.PNG


Puis nous avons réalisé le programme du récepteur :

Capture34.PNG

Grâce au traceur série du logiciel on obtient la courbe suivante :

Capture35.PNG

On observe bien le delay entre chaque bit transmis. La photorésistance renvoie une valeur entre 412 et 0 correspondant au tension émis par le transistor.

Séance 4 :

Mise en place de la transmission par paquets. Le matériel a changé, on a un système isolé que l’on peut manipuler facilement, on utilise une gaine pour transmettre le signal au récepteur :

Capture41.PNG

Objectif n°2 : Transmettre un octet entre l’émetteur et le récepteur. Notre objectif est de transmettre un octet grâce à notre système c’est-à-dire 8 bits. Pour cela nous avons commencer par la partie émission. Nous avons dans un premier temps simplifier nos données d’entrée. Au lieu de lire une valeur pour ensuite la transmettre au laser, nous avons commencé par remplir un tableau pour que le microcontrôleur puisse le lire chaque valeur du tableau puis le transmettre au laser. Ainsi le code suivant permet de réaliser cette tâche avec un exemple de tableau :

Capture42.PNG

Nous avons aussi implémenté un bit de start et de stop (les deux à 1) pour faciliter le codage du récepteur prochainement. En téléversant les informations on parvient finalement à voir l’information que l’on souhaite émettre grâce au laser (0XFF => Emission du signal lumineux ; 0X00 => Le laser n’émet rien)

Séance 5 :

Maintenant que nous savons comment émettre une trame de 8 bits, il faut savoir émettre cette trame à partir d’une valeur que l’on a. Pour cela il faut convertir la valeur en binaire (8bits), le code suivant permet de réaliser cette conversion :

Capture43.PNG

Séance 6 :

Nous avons essayé d’implémenter des valeurs pour réaliser la conversion et observer si les clignotements du laser correspondaient à la valeur codée en binaire. Cependant le code ne fonctionne pas correctement. Nous avons implémenté un Serial.print dans le loop pour observer d’où provient ce problème. L’erreur provient du remplissage du tableau dans la fonction loop qui ne se remplit pas correctement pour les différentes valeurs. Par conséquent nous avons décidé de simplifier notre étude en réaliser l’émission pour une seul fois donc dans le bloc setup.

Capture61.PNG

Séance 7 :

En plaçant notre code dans le bloc setup une seule trame apparaît pour la valeur implémenter. Celle-ci correspond à la conversion de la valeur 18 (0001001). En effet dans notre étude les valeurs affichées vont du LSB au MSB :

Capture712.png

Séance 8 :

Après avoir codé l’émission, nous avons commencé la partie réception du signal. Pour cela il faut pouvoir détecter le premier bit qu’émet le laser. Donc on se propose de commencer la lecture au moment où le bit de start apparaît. De plus pour lire les données il faudrait attendre un certain temps pour être assez précis et ne pas oublier des valeurs. Pour cela lors de l’apparition du premier bit il suffira d’attendre une demi-période pour se placer entre chacune des impulsions. Le code suivant permet de réaliser la réception des données :

Capture81.PNG

Séance 9 :

Lors de cette dernière séance nous nous sommes focalisés sur les erreurs de transmission. Pour cela nous avons choisi d’implémenter un code pour détecter les bits de parité et transmettre à l’utilisation s’il y’a une erreur de transmission. Pour la partie émission on a le code suivant qui convertit, émet les données et ajoute un bit de parité :

Capture91.PNG

Capture92.PNG

Pour la partie réception on a :

Capture93.PNG

Et finalement en testant notre système on obtient le résultat suivant sur le moniteur série :

CaptureFinale.PNG

Montage final : (Sans la gaine)

Capture95.PNG