Ignorer la navigation

Révision N°5 : traitement du signal

Transmission d’information

 

Nous allons traiter un signal analogique qui malheureusement se trouve parasité. Ce signal doit être numérisé et ensuite utilisé par un microcontrôleur.

 
Chaîne d’information:

Le récepteur récupère le signal hertzien (porteur d’une information numérique) et le convertit en une tension. Ce récepteur règle sa tension de référence (~ gain de 1) à partir du fondamental reçu (sa fréquence est connue du récepteur et dans notre cas c’est la fréquence dont l’amplitude est la plus grande). La valeur max du signal est 1,5V (1 logique) et sera proche de 0V pour le zéro logique.

 

Partie N°1 : Filtrage

Voici l’analyse fréquentielle de notre signal (quand le récepteur reçoit un »1 logique »:

1. Quelle est la fréquence principale (et utile) appelée « fondamental » de notre signal ?
2. Quelles sont les principales fréquences des parasites?
3. Donnez les caractéristiques du filtre permettant d’atténuer efficacement ces parasites
4. Dessinez approximativement notre signal après le filtre (on l’estime suffisamment efficace pour faire disparaître les parasites)
       Pour un « 1 logique » reçu

       Pour un « 0 logique » reçu

 

Partie N°2 : amplification

 

Le signal reçu n’est pas sinusoïdal. Nous travaillerons donc sur la valeur max du signal et non sur sa valeur efficace. Le gain de notre montage amplificateur est de 10,46 dB.

5. Calculez le gain (sans dimension) du montage à partir du gain en décibels. En déduire la valeur max de la tension Vok

 
Notre amplificateur est réalisé à l’aide d’un transistor :

Caractéristiques du transistor :
   Données : V+=5V, β=100-250, VBE=0,7V, VCEsat=0,45V, Rc = 150 Ω
On prendra un coefficient de sursaturation de 2
6. Écrivez l’équation de la maille de sortie
7. A partir de la maille de sortie du montage, calculer le courant Ic traversant la résistance Rc.
8. En déduire IB (transistor saturé)
9. Écrivez l’équation de la maille d’entrée
10. A partir de la maille d’entrée en déduire la valeur de la résistance RB.

11. Complétez les colonnes (valeurs des tensions) « Vfiltre » et «Vok1 » du tableau de la question 13

 

 
En fait après le transistor il y a une porte logique :


12. Quelle est le nom de cette porte logique ?

13. Complétez la dernière colonne du tableau

 


Partie N°3 : numérisation

La numérisation est réalisée en fait par une carte Arduino Uno. Le signal est en effet câblé sur une entrée analogique de la carte.

Voici ce que dit la documentation Arduino sur l’instruction qui permet de lire une entrée analogique :

 

analogRead()

Description :
Reads the value from the specified analog pin. Arduino boards contain a multichannel, 10-bit analog to digital converter. This means that it will map input voltages between 0 and the operating voltage(5V or 3.3V) into integer values between 0 and 1023. On an Arduino UNO, for example, this yields a resolution between readings of: 5 volts / 1024 units or, 0.0049 volts (4.9 mV) per unit. See the table below for the usable pins, operating voltage and maximum resolution for some Arduino boards.

14. Le convertisseur de la carte Arduino est-il un CAN ou un CNA ?
15. Sur combien de bits travaille ce convertisseur ?
16. Donnez la formule pour calculer son quantum (résolution) et calculez le.
17. Cette valeur est-elle suffisante pour notre application ?
18. Retrouvez vous la valeur de la documentation ?
19. Calculez la valeur numérique (décimale et binaire) pour un signal de 0 V
20. Calculez la valeur numérique (décimale et binaire) pour un signal de 0,5 V
21. Calculez la valeur numérique (décimale et binaire) pour un signal de 4,5 V
22. Calculez la valeur numérique (décimale et binaire) pour un signal de 5 V
23. Le choix de type d’entrée vous semble-t-il logique ?

 

 

Partie N°4 : traitement

 
Partie informatique

Le programme va être chargé de lire l’entrée (signal), de compter le nombre d’impulsions reçues pendant une certaine durée et ensuite d’envoyer les résultats sur une base de données disponible sur un serveur (liaison Ethernet).
Le signal analogique Vok issu de notre transistor sera compris entre 0 et 5V. On estimera que le signal sera un « 0 logique » lorsque la tension sera inférieure à 0,5V. On estimera que le signal sera un « 1 logique » lorsque la tension sera supérieure à 4,5V.

Ensuite l’envoi des données se fera lorsque l’une des conditions suivantes sera validée :
• si le nombre d’impulsions est supérieur ou égal à 700, on envoie alors le temps (durée pour obtenir ce nombre d’impulsions) et le nombre d’impulsions (ici forcément à 700)
• si temps est supérieur à 1240 sec on envoie alors le temps (ici forcément à 1240) et le nombre d’impulsions


24. Complétez l’algorigramme suivant (sur les 4 parties en pointillé) en fonction de ce qui est demandé ci dessus.


 

 

Partie réseau.
La carte Arduino est reliée au réseau à travers une carte Ethernet.

Voici la structure d’une trame :

 
On donne ci-dessous le début d'une capture de la requête envoyé par la carte Ethernet de la carte Arduino vers le serveur. Cette trame est codée en hexadécimal. Le « préambule + SFD » n’est pas enregistré dans cette trame.

25. Déterminer l'adresse IP (en hexadécimal puis en notation décimale pointée) de la carte Ethernet (Arduino)
26. Déterminer l'adresse IP (en hexadécimal puis en notation décimale pointée) du serveur
27. Déterminer l'adresse MAC de la carte Ethernet (Arduino)
28. Quelle « nombre » (en décimal) a été envoyé (attention à l’ordre d’envoi des octets)?
29. Quelle « durée » (en décimal) a été envoyé ?