Contrôle d'accéléromètre, 2011/2012, TD1

De Wiki de Projets IMA
Révision datée du 12 avril 2012 à 16:56 par Amahir (discussion | contributions) (Partie informatique)

Projet accéléromètre

1ère séance

Nous avons dans un premier temps étudier le sujet.

Partie informatique

Au cours de la 1ère séance, nous avons cherché à comprendre le but du projet. L'objectif principal du projet est de pouvoir mesurer l'accéleration de l'accelerometre et de l'afficher grâce à un sous-système d'acquisiton. De ce fait, nous avons créé une page web nommée "projet_accelerometre.html" afin d'afficher la valeur de l'accéleration. Nous nous sommes aidé de prototype.js qui était un exemple de système de messagerie instantanée primitive. Pour relier la page web aux programmes, nous devons utiliser une requête. Nous avons modifié l'exemple fourni de la page web utilisant JavaScript. Par ailleurs, nous avons ensuite lu les programmes cgi-bin.c ainsi que demon.c pour comprendre leurs fonctions. Nous avons compris que: - cgi-bin.c est un programme utilisant le démon série -> envoie 1 octet nul au port série via le démon série puis récupère 8 octets nuls au port série. - demon.c gère le port série de la Foxboard.

Partie électronique

Durant cette séance, nous avons réalisé le schéma de câblage de la PWM sur le logiciel altium, c'est à dire créer un signal carré de rapport cyclique variable à partir d'un mot de 6 bits. Une fois réalisé, nous avons testé le schéma de câblage sur la nanoboard et vérifié le bon fonctionnement à partir d'un oscilloscope. En modifiant le mot de commande de 6 bits, nous obtenions bien un signal carré avec un rapport cyclique variable.


2ième séance

Partie informatique

Pour créer le programme principale, on s'est aidé de l'exemple du script CGI-BIN.c. On a tout d'abord tester le script CGI-BIN.c fourni sur le site après avoir remplacer l'URL fileaccess.php dans les constructeurs Ajax.Request dans la page par l'URL /cgi-bin/fileaccess. On a en particulier utiliser la bibliothèque cgilib et certaines fonctions appartenant à la biblitohèque cgilib dans le programme principal telles que: cgiInit pour initialiser la bibliothèque, cgiFree... Ensuite, on utilise les fonctions du démon série afin de gérer la connexion au port série de la Foxboard. Dans le programme principal, c'est la fonction "read(sl,&c,sizeof(char))" qui va permettre de lire sur la connexion au serveur sl 1 caractère. Nous avons taper "man select" dans le terminal afin de récupérer les fonctions qui vont permettre de créer des descripteurs de fichiers et de lire la donnée du port série s'il y en a et de faire un "break" s'il y en a pas.

On a par ailleurs installé l'exécutable dans /usr/lib/cgi-bin.

On a alors relié la pièce sur lequelle il y a l'accelerometre à l'ordinateur, puis on constate que après avoir exécuter démon.c on peut lire sur la page web projet_accelerometre.html l'accéleration de la pièce. Nous avons modifié dans le programme de la page web 'setTimeout("charger()",500)' afin de récuperer des données toutes les 5 ms.

L'objectif de la dernière séance a été de copier tous les programmes sur la nanoboard. Le soucis rencontré a été de télecharger la bibliothèque cgilib que l'on ne trouvait pas. La solution a été de télecharger une bibliothèque presque similaire puis de changer le nom de certaines fonctions du programme dans cgi-bin.c .

Partie électronique