Contrôle d'accéléromètre, 2013/2014, TD1 : Différence entre versions

De Wiki de Projets IMA
Ligne 12 : Ligne 12 :
  
 
==== Conversion Analogique Numérique : Principe ====
 
==== Conversion Analogique Numérique : Principe ====
 +
 +
La NanoBoard ne travaillant qu'en signaux numériques, il est nécessaire de convertir le signal analogique émis par l'accéléromètre (de 0 à 5 V).<br>
 +
Elle envoie soit 0V, soit 5V. Nous utilisons donc une '''PWM'''.<br><br>
 +
 +
On utilise un compteur qui fixe la fréquence du signal à générer.<br>
 +
On compare en permanence la valeur du compteur à une valeur fixe qui permet de définir le rapport cyclique<br><br>
 +
 +
Nous obtenons ceci :
 +
 +
[[Fichier:MLI_filtree.png|500px]]
 +
 +
Pour obtenir la valeur moyenne du signal de sortie de la NanoBoard '''(comme montré ci-dessus)''', nous utiliserons un filtre passe bas afin d'éliminer toutes les harmoniques qui ne nous intéressent pas.<br><br>
 +
[[Fichier:Passe-bas.gif]]<br><br><br>
 +
 +
Un comparateur AOP de type TL081 nous permettra de comparer notre signal ainsi filtré avec la sortie de l'accéléromètre : <br><br>
 +
'''Traits en pointillés : Valeur de l'accéléromètre'''<br>
 +
[[Fichier:PWM_Principe.png|600px]]<br><br><br>
 +
 +
'''Schéma résumant notre système de conversion Analogique Numérique :'''<br><br>
 +
 +
[[Fichier:Schema_recap.png]]
  
 
==== Conversion Analogique Numérique sous Altium ====
 
==== Conversion Analogique Numérique sous Altium ====
Ligne 21 : Ligne 42 :
 
[[Fichier:Altium1.jpg|500px|vignette|Programmation sous Altium Designer]]
 
[[Fichier:Altium1.jpg|500px|vignette|Programmation sous Altium Designer]]
  
=== Séance 3 ===
+
=== Séance 3 : Mise en pratique ===
 +
 
 +
==== Compilation sur la NanoBoard et Câblage ====
 +
 
 +
==== Principaux problèmes rencontrés ====
  
 
== Partie Informatique ==
 
== Partie Informatique ==

Version du 24 mai 2014 à 16:38

Introduction

Partie Electronique

Séance 1 : Découverte de la NanoBoard & d'Altium

N'ayant aucune notion de projets FPGA sous Altium, il nous a d'abord fallu nous familiariser avec cette interface.
Nous avons donc suivi le tutoriel nous permettant d'apprendre à programmer la NanoBoard.
Nous avons alors réalisé avec succès notre premier compteur 4 bits sous Altium.

Séance 2

Conversion Analogique Numérique : Principe

La NanoBoard ne travaillant qu'en signaux numériques, il est nécessaire de convertir le signal analogique émis par l'accéléromètre (de 0 à 5 V).
Elle envoie soit 0V, soit 5V. Nous utilisons donc une PWM.

On utilise un compteur qui fixe la fréquence du signal à générer.
On compare en permanence la valeur du compteur à une valeur fixe qui permet de définir le rapport cyclique

Nous obtenons ceci :

MLI filtree.png

Pour obtenir la valeur moyenne du signal de sortie de la NanoBoard (comme montré ci-dessus), nous utiliserons un filtre passe bas afin d'éliminer toutes les harmoniques qui ne nous intéressent pas.

Passe-bas.gif


Un comparateur AOP de type TL081 nous permettra de comparer notre signal ainsi filtré avec la sortie de l'accéléromètre :

Traits en pointillés : Valeur de l'accéléromètre
PWM Principe.png


Schéma résumant notre système de conversion Analogique Numérique :

Schema recap.png

Conversion Analogique Numérique sous Altium

Partie Analogique


Conception du programme de conversion analogique numérique sous Altium Designer

Programmation sous Altium Designer

Séance 3 : Mise en pratique

Compilation sur la NanoBoard et Câblage

Principaux problèmes rencontrés

Partie Informatique

Séance 1 : Familiarisation avec l'accéléromètre et communication série

Ecriture des fichiers serial.h et serial.c
Compilation de serial.c
Exécution de l'exécutable
-> On envoie un octet nul au port série. Notre système sans fil équipé de l'accéléromètre reçoit cet octet.
-> Le système sans fil envoie 4 octets au port série qui correspondent à :
octet 1 : position en x
octet 2 : position en y
octet 3 : position en z
octet 3 : état des 2 boutons (00 : 2 boutons non enfoncés, 01 : 1er bouton enfoncé, 02 : 2ème bouton enfoncé, 03 : les 2 boutons enfoncés)
-> Affichage de ces 4 octets en hexadécimal dans le terminal

Séance 2

Séance 3

Annexes

Acteurs du projet

Projet réalisé par Julien Hérin, Shuai He et Jérémie Denéchaud

Liens externes

Sujet disponible à l'adresse suivante :

Lien