Contrôle d'accéléromètre, 2011/2012, TD3 : Différence entre versions

De Wiki d'activités IMA
(Partie électronique)
Ligne 57 : Ligne 57 :
  
  
== Partie électronique ==
+
=== Partie électronique ===
  
 
Objectif: Terminer la partie FPGA. Simuler sur la nanoboard avec un analyseur logique.  
 
Objectif: Terminer la partie FPGA. Simuler sur la nanoboard avec un analyseur logique.  
Ligne 63 : Ligne 63 :
 
A la séance précédente, nous avions commencé la partie sur Althium 5. Cette partie terminée, nous avons effectué les simulations afin de vérifier le bon fonctionnement du schéma (voir ci dessous). Avec l'analyseur numérique, nous avons vérifié les signaux de sorties (la valeur du PWM et du compteur). Il nous reste maintenant la partie analogique, à savoir, le PWM suivi d'un filtre RC et d'un comparateur (servant à comparer les valeurs des tensions des trois axes de l'accéléromètre). Le filtre passe bas nous servira à donner une moyenne de la tension.
 
A la séance précédente, nous avions commencé la partie sur Althium 5. Cette partie terminée, nous avons effectué les simulations afin de vérifier le bon fonctionnement du schéma (voir ci dessous). Avec l'analyseur numérique, nous avons vérifié les signaux de sorties (la valeur du PWM et du compteur). Il nous reste maintenant la partie analogique, à savoir, le PWM suivi d'un filtre RC et d'un comparateur (servant à comparer les valeurs des tensions des trois axes de l'accéléromètre). Le filtre passe bas nous servira à donner une moyenne de la tension.
 
               [[Fichier:PWM.png]]
 
               [[Fichier:PWM.png]]
 +
 
== Partie Informatique ==
 
== Partie Informatique ==
  

Version du 25 mai 2012 à 11:29

Evaluation informatique et électronique

Gestion de projet / rédaction Wiki

Test fonctionnels

  • Sous-système :
  • Système :

Qualité de la réalisation

  • Informatique :
    • procédure de test :
    • pages HTML et Javascript :
    • scripts PHP ou programmes C :
    • installation sur FoxBoard :
  • Electronique :
    • qualité de la réalisation :
    • tests autonomes :

Bilan

Tous les points principaux ont un poids équivalent (sauf "système" qui est un bonus).

Note finale :

Projet accéléromètre

Objectif du projet : Réaliser un sous-système d'acquisition pour accéléromètre. Ainsi, ce sous-système doit être capable de mesurer la vitesse suivant trois axes et de les afficher à l'aide d'une interface Web. La partie informatique de ce projet consistera à traiter les données et les afficher. Celle électronique cherchera à faire la conversion analogique-numérique des signaux des 3 axes.


Séance 1

Partie électronique

Objectif: Analyse du projet, première approche d'Altium 05.

Après une brève prise en main du logiciel, nous avons commencé à placer les premiers composants qui permettront de réaliser la partie électronique. Pour réaliser un CAN, nous choisissons d'utiliser une MLI (ou PWM), avec 5 bits de commande. Ainsi, nous pourrons obtenir un signal logique à rapport cyclique variable grâce à un compteur. Cette valeur sera ensuite comparée à l'un des trois axes. La partie MLI se fait à l'aide d'Althium 5.


Partie informatique

Pour la partie informatique une page de base en html a été créé. Elle affiche un champ qui se rafraichira automatique grâce notamment à la fonction javascript qui permet de faire appelle à un ensemble de fonction (écrites en C) qui obtiendra des données directement de l’accéléromètre.

Apprentissage d'Ajax et étude des exemples de programme C de liaison par le port série.

Les fichiers utilisés sont rajouté dans les répertoire suivant:

/var/www/ : index_html, prototypes.js

/usr/lib/CGI-BIN/ : fct (fichier executable permettant de récupérer les données de l'accéléromètre

Séance 2

Partie électronique

Objectif: Terminer la partie FPGA. Simuler sur la nanoboard avec un analyseur logique.

A la séance précédente, nous avions commencé la partie sur Althium 5. Cette partie terminée, nous avons effectué les simulations afin de vérifier le bon fonctionnement du schéma (voir ci dessous). Avec l'analyseur numérique, nous avons vérifié les signaux de sorties (la valeur du PWM et du compteur). Il nous reste maintenant la partie analogique, à savoir, le PWM suivi d'un filtre RC et d'un comparateur (servant à comparer les valeurs des tensions des trois axes de l'accéléromètre). Le filtre passe bas nous servira à donner une moyenne de la tension.

              PWM.png

Partie Informatique

Au cours de cette seconde séance nous avons réalisé le programme C permettant d'obtenir les informations envoyées par l'accéléromètre, celui-ci récupère une valeur puis l'affiche (par un "printf"), l'utilisation de Ajax et de la bibliothèque prototypes.js (bibliothèque javascript) permet de récupérer ce résultat et de l'afficher directement sur la page web. Un "timer" javascript exécute cette opération toutes les deux secondes à partir du moment où on clique pour la première fois sur "Mise en route". Pour communiquer avec l'accéléromètre il est nécessaire de lancer l’exécutable "demon" qui permet l’accès au port série.

La partie informatique fonctionne bien avec la maquette, il ne reste plus qu'à l'envoyer sur la foxboard pour pouvoir la connecter avec la partie éléctronique.

Partie informatique

Séance 3

Partie électronique

Lors de cette séance, nous avons perfectionné notre FPGA. En effet, l'horloge du compteur et du PWM ne doit pas être la même, contrairement au schéma de la séance précédente (fréquence du PWM doit être 2^5 fois supérieur au compteur). Nous avons choisi 1kHz pour l'horloge du compteur, et 50kHz pour celle du PWM. Nous observons bien un rapport cyclique de plus en plus faible. Après cette légère modification, nous avons commencé la partie analogique, c'est à dire le filtre passe-bas qui donne la moyenne du signal. Pour ce faire, nous avons choisi un simple circuit RC (avec des valeurs des composants encore perfectibles) afin d'optimiser le filtre. Pour le comparateur, il s'agit d'un AOP TL 062 qui délivre 0/5V si le signal filtré est supérieur à la tension d'un axe de l'accéléromètre. Ce signal est renvoyé au FPGA qui active la bascule D et ainsi envoie la valeur du compteur.

FPGA.png

Analogique3.png