Contrôle d'accéléromètre, groupe A : Différence entre versions
(10 révisions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | == Evaluation informatique == | ||
+ | |||
+ | === Gestion de projet / rédaction Wiki === | ||
+ | |||
+ | Minimal, des réalisations qui sont des copier-coller des objectifs. Orthographe et grammaire à revoir.(note 50%). | ||
+ | |||
+ | === Test fonctionnels === | ||
+ | |||
+ | * Sous-système : Fonctionnel avec le PC et la télécommande. Beaucoup d'aide (note 75%). | ||
+ | * Système : Pas abordé (note 0%). | ||
+ | |||
+ | === Qualité de la réalisation === | ||
+ | |||
+ | * Procédure rédigée sur le Wiki : La meilleure description du groupe (note 75%). | ||
+ | * Pages HTML et Javascript : Correct (note 75%). | ||
+ | * Scripts PHP ou programmes C : Beaucoup d'aide, programme encore imparfait (code mort, variables inutiles, pas de signaux Unix, du code parfois approximatif (note 50%). | ||
+ | * Installation sur FoxBoard : Pas abordé (note 0%). | ||
+ | |||
+ | === Bilan === | ||
+ | |||
+ | Tous les points ont un poids équivalent (sauf "système" qui est un bonus). | ||
+ | |||
+ | Note finale : 50% | ||
+ | |||
+ | == Présentation == | ||
+ | |||
+ | Le but de ce projet est de réaliser un sous-système d'acquisition pour accéléromètre et la création d'un interface web associée permettant ainsi à l'utilisateur de suivre les accélérations suivant les trois axes.Ce projet sera constitué de 2 parties, une informatique qui consistera au traitement des valeurs de l’accélération reçu et à l'affichage sur un site web 2.0 et une partie électronique qui fera la conversion analogique-numérique des signaux reçus. | ||
+ | |||
+ | |||
+ | == Avancé du Projet == | ||
+ | |||
+ | |||
+ | |||
+ | |||
---- | ---- | ||
Ligne 17 : | Ligne 51 : | ||
*Prise en main de l'environnement | *Prise en main de l'environnement | ||
*Création de la page web HTML(champ texte pour l'affichage des valeurs de l’accéléromètre) | *Création de la page web HTML(champ texte pour l'affichage des valeurs de l’accéléromètre) | ||
− | * | + | *Prise de connaissance du CGI-BIN et début de l'écriture du script. |
'''Objectif Partie Électronique''' | '''Objectif Partie Électronique''' | ||
Ligne 24 : | Ligne 58 : | ||
*Analyse du problème de la partie électronique | *Analyse du problème de la partie électronique | ||
+ | |||
Ligne 30 : | Ligne 65 : | ||
*Nous avons réussi à comprendre le fonctionnement du système, grâce à des sujets sur internet. | *Nous avons réussi à comprendre le fonctionnement du système, grâce à des sujets sur internet. | ||
Il reste à comprendre un peu plus le principe du PWM. | Il reste à comprendre un peu plus le principe du PWM. | ||
− | pour réaliser le schéma, On aura besoin d'un filtre pour transformer la tension continue sortant du PWM en valeur moyenne. Ensuite, à l 'aide d'un comparateur logique, on compare la valeur moyenne du PWM à la tension de l'accéléromètre, on retourne 0 si | + | pour réaliser le schéma, On aura besoin d'un filtre pour transformer la tension continue sortant du PWM en valeur moyenne. Ensuite, à l 'aide d'un comparateur logique, on compare la valeur moyenne du PWM à la tension de l'accéléromètre, on retourne 0 si V Moyenne<V Accéléromètre |
et +Vcc sinon. On effectuera ainsi une conversion analogique numérique de la tension de l 'accéléromètre. | et +Vcc sinon. On effectuera ainsi une conversion analogique numérique de la tension de l 'accéléromètre. | ||
*Finalement, étant donné que l'écriture dans la mémoire ne se fera que sur un seul octet, on effectuera un démultiplexage pour envoyer les trois octets vers la mémoire. | *Finalement, étant donné que l'écriture dans la mémoire ne se fera que sur un seul octet, on effectuera un démultiplexage pour envoyer les trois octets vers la mémoire. | ||
− | *En fin de séance, nous avons réussi à comprendre un peu le principe du PWM, cette partie sera plus abordée et détaillée pendant la 2ème séance. | + | *En fin de séance, nous avons réussi à comprendre un peu le principe du PWM, cette partie sera plus abordée et détaillée pendant la 2ème séance. |
+ | |||
Ligne 62 : | Ligne 98 : | ||
'''Réalisation Partie Informatique''' | '''Réalisation Partie Informatique''' | ||
− | A la fin de cette séance, nous avons récupérer les valeurs des | + | A la fin de cette séance, nous avons récupérer les valeurs des accélérations sur un axe et nous les avons visualisées dans le terminal,le script C pour la redirection des valeurs sur le site web 2.0 est presque terminé et sera normalement achevé la séance prochaine et lors de cette dernière séance, des tests sur la FoxBoard seront effectués. |
'''Réalisation Partie Electronique''' | '''Réalisation Partie Electronique''' | ||
Partie électronique : | Partie électronique : | ||
− | + | les objectifs étaient: | |
− | + | *Comprendre le principe du PWM. | |
− | - | + | *Effectuer le schéma de câblage. |
− | - | + | *Tester. |
+ | |||
+ | A la fin de cette séance, nous n'avons réalisé qu'un seul des 3 objectifs. Nous n'avons pas eu le temps de finir le montage ni de tester sur la NanoBoard. Une fois le câblage est fini, nous pourrons tester et voir si ça marche. Le câblage effectué pour l'instant est le suivant : | ||
+ | [[Fichier:Cablage.png]]. Il nous restait à comprendre combien de top d'horloge seront faits avant de faire un RESET. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | '''Séance du 27 Mai 2011''' | ||
+ | ---- | ||
+ | |||
+ | |||
+ | '''Objectif Partie Informatique''' | ||
+ | |||
+ | *Terminer le script c pour l'affichage de l'acceleration sur le site web | ||
+ | *Faire des tests sur la foxboard | ||
+ | |||
+ | '''Objectif Partie Électronique''' | ||
+ | |||
+ | *Finir le schéma de cablage. | ||
+ | *Réaliser le programme sur Altium designer pour le fonctionnement d'une seule LED. | ||
+ | *Tester avec la nanoboard. | ||
+ | *Faire le programme avec les 3 LED. | ||
+ | [[Fichier:As.jpg]] | ||
+ | |||
+ | '''Réalisation Partie Informatique''' | ||
+ | |||
+ | A l'issu de cette dernière séance, nous n'avions pas complètement atteint les objectifs fixés pour cette dernière séance car le temps nous as fait défaut(il restait plus de temps pour faire une implémentation à travers la FoxBoard). Cependant: | ||
+ | *Un script CGI-BIN a été écrit en C et permet de récupérer le dernier octet en provenance de l'accéléromètre sur un axe à l'aide d'une requête Ajax. | ||
+ | *le site web 2.0 a été créé à l'aide d'un script PHP et permet ainsi d'afficher périodiquement la dernière valeur acquise de l'accéléromètre sur un axe dans la zone de texte prévu grâce à un minuteur JAVASCRIPT qui permet de mettre à jour cette valeur à chaque fois tout en détruisant l'ancienne valeur ceci à l'aide du script CGI-BIN mentionné ci-dessus. | ||
+ | '''NB:'''- La conception de ce site web necéssitait l'utilisation de le bibliothèque '''''prototype.js'''''-Le minuteur a été réalisé grace au script php '''''setTimeout''''' | ||
+ | |||
+ | '''Réalisation Partie Electronique''' | ||
+ | |||
+ | Nous avons pendant cette dernière séance, réussi à finir le montage, ce qui est donné à la figure ci dessous (voir aussi les documents du Projet). | ||
+ | |||
+ | Une conception complète des parties FPGA et analogique a été effectuée. Nous avons aussi réussi à tester sur la NanoBoard, nous avons pu afficher les valeurs du compteur du signal PWM puis effectuer les différents câblage du filtre passe-bas. Pour ce faire, nous avons utilisé un AOP de type LM324N,qui nous a servi de comparateur, et un filtre RC, (résistance de 10kOhms et une capacité de 470nF). Ce filtre sert à récupérer la valeur moyenne du PWM, l'envoie au comparateur qui renvoie 0V si le signal est < à la valeur de l'accéléromètre, et 1 (5v) si le signal PWM dépasse cette valeur. A ce moment, le compteur s'arrête à cette valeur, et on la récupère dans un registre pour pouvoir l'afficher sur les LED de la NanoBoard. Ensuite, le compteur se réinitialise. | ||
+ | Nous avons effectué le câblage et les tests sur la mesure d'un seul axe de l'accéléromètre, mais le principe reste le même pour les 3 axes. | ||
+ | Par contre, les tests du signal PWM n'ont pas été bons, étant donné qu'on n'arrivait pas à avoir un signal en dents de scie à la sortie de la NanoBoard, même en variant le rapport cyclique, ce qui nous a empêché de finir le travail. | ||
+ | |||
+ | |||
+ | '''Fin''' | ||
+ | La partie électronique n'a pas été finalisée totalement, ce qui a empêché la mise en commun des deux parties, informatique et électronique. Toutefois, nous avons pu remplir les objectifs de chaque partie et de chaque séance, et avoir un aperçu des résultats potentiels attendus à la fin du projet. | ||
+ | |||
+ | == Partie Informatique(Informations) == | ||
+ | |||
+ | *Poste utilisé: Tutur04 | ||
+ | *Emplacement fichiers: /var/www/ | ||
+ | *Noms des fichiers: Liaison-série.c;Script.c;accelerometre.html;un fichier test. | ||
+ | |||
+ | *Pour l'envoi et la réception des données via le port série nous utilisons: | ||
+ | **Un programme C appelé Demon série '''''Liaison-série.c''''' | ||
+ | **Un site internet 2.0 qui est composé de: | ||
+ | ***Une page Html '''''accelerometre.html'''''(composé d'une zone de texte permettant la visualisation de la dernière valeur de l'acceleration) | ||
+ | ***Un Javascript '''''prototype.js''''' | ||
+ | ***Un script CGI-BIN implémenté en C '''''script.c''''' qui récupère le dernier octet en provenance de l'accéléromètre à l'aide d'une requête Ajax tout en détruisant l'ancienne valeur | ||
+ | |||
+ | *Fonctionnement: | ||
− | + | Lorsque qu'un texte est saisie dans la zone prévu à cet effet, chaque caractère est enregistré dans un fichier texte qui est ensuite placé dans le répertoire du démon série. Des signaux sont envoyés sur le port série lorsque nous branchons la télécommande en balsa.Ensuite,lorsque nous exécutons "''liaison-série.c''", le démon série lit ensuite les données présente sur le port série et les enregistres dans un fichier '''''test'''''. Ce fichier texte est lu, puis détruits par le script CGI-BIN et le contenu est enregistré périodiquement dans la zone de texte. | |
− | |||
− | + | '''NB:''' A chaque fois qu'on bouge la télécommande, les accélérations changent. | |
− | + | [[Fichier:imag.jpg]] | |
− | |||
− | |||
− |
Version actuelle datée du 7 juin 2011 à 09:54
Sommaire
Evaluation informatique
Gestion de projet / rédaction Wiki
Minimal, des réalisations qui sont des copier-coller des objectifs. Orthographe et grammaire à revoir.(note 50%).
Test fonctionnels
- Sous-système : Fonctionnel avec le PC et la télécommande. Beaucoup d'aide (note 75%).
- Système : Pas abordé (note 0%).
Qualité de la réalisation
- Procédure rédigée sur le Wiki : La meilleure description du groupe (note 75%).
- Pages HTML et Javascript : Correct (note 75%).
- Scripts PHP ou programmes C : Beaucoup d'aide, programme encore imparfait (code mort, variables inutiles, pas de signaux Unix, du code parfois approximatif (note 50%).
- Installation sur FoxBoard : Pas abordé (note 0%).
Bilan
Tous les points ont un poids équivalent (sauf "système" qui est un bonus).
Note finale : 50%
Présentation
Le but de ce projet est de réaliser un sous-système d'acquisition pour accéléromètre et la création d'un interface web associée permettant ainsi à l'utilisateur de suivre les accélérations suivant les trois axes.Ce projet sera constitué de 2 parties, une informatique qui consistera au traitement des valeurs de l’accélération reçu et à l'affichage sur un site web 2.0 et une partie électronique qui fera la conversion analogique-numérique des signaux reçus.
Avancé du Projet
Scéance du 17 Mai 2011
Objectif Partie Informatique
- Prise en main de l'environnement
- Création de la page web HTML(champ texte pour l'affichage des valeurs de l’accéléromètre)
Réalisation Partie Informatique
- Prise en main de l'environnement
- Création de la page web HTML(champ texte pour l'affichage des valeurs de l’accéléromètre)
- Prise de connaissance du CGI-BIN et début de l'écriture du script.
Objectif Partie Électronique
- Prise en main de la NanoBoard(Réalisation du tutoriel)
- Analyse du problème de la partie électronique
Réalisation Partie Électronique
- Nous avons réussi à comprendre le fonctionnement du système, grâce à des sujets sur internet.
Il reste à comprendre un peu plus le principe du PWM. pour réaliser le schéma, On aura besoin d'un filtre pour transformer la tension continue sortant du PWM en valeur moyenne. Ensuite, à l 'aide d'un comparateur logique, on compare la valeur moyenne du PWM à la tension de l'accéléromètre, on retourne 0 si V Moyenne<V Accéléromètre et +Vcc sinon. On effectuera ainsi une conversion analogique numérique de la tension de l 'accéléromètre.
- Finalement, étant donné que l'écriture dans la mémoire ne se fera que sur un seul octet, on effectuera un démultiplexage pour envoyer les trois octets vers la mémoire.
- En fin de séance, nous avons réussi à comprendre un peu le principe du PWM, cette partie sera plus abordée et détaillée pendant la 2ème séance.
Séance du 20 Mai 2011
Objectif Partie Informatique
- Récupérer les valeurs de l’accéléromètre dans un fichier à l'aide de la liaison série
- Écrire un script pour récupérer la dernière valeur(le dernier octet) en provenance de l'accéléromètre
- Afficher la donnée(valeur) reçu sur ma page web
Objectif Partie Électronique
- Comprendre mieux le principe du PWM.
- Effectuer le schéma de câblage.
- Tester
Réalisation Partie Informatique
A la fin de cette séance, nous avons récupérer les valeurs des accélérations sur un axe et nous les avons visualisées dans le terminal,le script C pour la redirection des valeurs sur le site web 2.0 est presque terminé et sera normalement achevé la séance prochaine et lors de cette dernière séance, des tests sur la FoxBoard seront effectués.
Réalisation Partie Electronique Partie électronique :
les objectifs étaient:
- Comprendre le principe du PWM.
- Effectuer le schéma de câblage.
- Tester.
A la fin de cette séance, nous n'avons réalisé qu'un seul des 3 objectifs. Nous n'avons pas eu le temps de finir le montage ni de tester sur la NanoBoard. Une fois le câblage est fini, nous pourrons tester et voir si ça marche. Le câblage effectué pour l'instant est le suivant : . Il nous restait à comprendre combien de top d'horloge seront faits avant de faire un RESET.
Séance du 27 Mai 2011
Objectif Partie Informatique
- Terminer le script c pour l'affichage de l'acceleration sur le site web
- Faire des tests sur la foxboard
Objectif Partie Électronique
- Finir le schéma de cablage.
- Réaliser le programme sur Altium designer pour le fonctionnement d'une seule LED.
- Tester avec la nanoboard.
- Faire le programme avec les 3 LED.
Réalisation Partie Informatique
A l'issu de cette dernière séance, nous n'avions pas complètement atteint les objectifs fixés pour cette dernière séance car le temps nous as fait défaut(il restait plus de temps pour faire une implémentation à travers la FoxBoard). Cependant:
- Un script CGI-BIN a été écrit en C et permet de récupérer le dernier octet en provenance de l'accéléromètre sur un axe à l'aide d'une requête Ajax.
- le site web 2.0 a été créé à l'aide d'un script PHP et permet ainsi d'afficher périodiquement la dernière valeur acquise de l'accéléromètre sur un axe dans la zone de texte prévu grâce à un minuteur JAVASCRIPT qui permet de mettre à jour cette valeur à chaque fois tout en détruisant l'ancienne valeur ceci à l'aide du script CGI-BIN mentionné ci-dessus.
NB:- La conception de ce site web necéssitait l'utilisation de le bibliothèque prototype.js-Le minuteur a été réalisé grace au script php setTimeout
Réalisation Partie Electronique
Nous avons pendant cette dernière séance, réussi à finir le montage, ce qui est donné à la figure ci dessous (voir aussi les documents du Projet).
Une conception complète des parties FPGA et analogique a été effectuée. Nous avons aussi réussi à tester sur la NanoBoard, nous avons pu afficher les valeurs du compteur du signal PWM puis effectuer les différents câblage du filtre passe-bas. Pour ce faire, nous avons utilisé un AOP de type LM324N,qui nous a servi de comparateur, et un filtre RC, (résistance de 10kOhms et une capacité de 470nF). Ce filtre sert à récupérer la valeur moyenne du PWM, l'envoie au comparateur qui renvoie 0V si le signal est < à la valeur de l'accéléromètre, et 1 (5v) si le signal PWM dépasse cette valeur. A ce moment, le compteur s'arrête à cette valeur, et on la récupère dans un registre pour pouvoir l'afficher sur les LED de la NanoBoard. Ensuite, le compteur se réinitialise.
Nous avons effectué le câblage et les tests sur la mesure d'un seul axe de l'accéléromètre, mais le principe reste le même pour les 3 axes. Par contre, les tests du signal PWM n'ont pas été bons, étant donné qu'on n'arrivait pas à avoir un signal en dents de scie à la sortie de la NanoBoard, même en variant le rapport cyclique, ce qui nous a empêché de finir le travail.
Fin
La partie électronique n'a pas été finalisée totalement, ce qui a empêché la mise en commun des deux parties, informatique et électronique. Toutefois, nous avons pu remplir les objectifs de chaque partie et de chaque séance, et avoir un aperçu des résultats potentiels attendus à la fin du projet.
Partie Informatique(Informations)
- Poste utilisé: Tutur04
- Emplacement fichiers: /var/www/
- Noms des fichiers: Liaison-série.c;Script.c;accelerometre.html;un fichier test.
- Pour l'envoi et la réception des données via le port série nous utilisons:
- Un programme C appelé Demon série Liaison-série.c
- Un site internet 2.0 qui est composé de:
- Une page Html accelerometre.html(composé d'une zone de texte permettant la visualisation de la dernière valeur de l'acceleration)
- Un Javascript prototype.js
- Un script CGI-BIN implémenté en C script.c qui récupère le dernier octet en provenance de l'accéléromètre à l'aide d'une requête Ajax tout en détruisant l'ancienne valeur
- Fonctionnement:
Lorsque qu'un texte est saisie dans la zone prévu à cet effet, chaque caractère est enregistré dans un fichier texte qui est ensuite placé dans le répertoire du démon série. Des signaux sont envoyés sur le port série lorsque nous branchons la télécommande en balsa.Ensuite,lorsque nous exécutons "liaison-série.c", le démon série lit ensuite les données présente sur le port série et les enregistres dans un fichier test. Ce fichier texte est lu, puis détruits par le script CGI-BIN et le contenu est enregistré périodiquement dans la zone de texte.
NB: A chaque fois qu'on bouge la télécommande, les accélérations changent.