Contrôle de bras robotique, 2012/2013, TD3
Sommaire
Evaluation informatique et électronique
Gestion de projet / rédaction Wiki
- Informatique :
- Electronique :
Note .
Test fonctionnels
- Sous-système.
- Sous-système informatique :
- Sous-système électronique :
Qualité de la réalisation
- Informatique : Note .
- procédure de test :
- pages HTML et Javascript :
- scripts PHP ou programmes C :
- installation sur FoxBoard :
- Electronique : Note .
- qualité de la réalisation :
- tests autonomes :
Bilan
Note finale :
Rapports des élèves
> INFORMATIQUE
28/03 : Séance 1 > Découverte et analyse du projet, envoi d'informations au robot
- Installation de la librairie J-Querry
- Installation du paquetage libusb-1.0-0-dev mais était déjà installé.
- Analyse et exécution du programme C : demon.c
- Test des différentes commandes vers le robot (m1+, m1-, m2+...) en MODE_MANUAL puis en MODE_UDP.
- Début de création du site web de gestion du robot :
- Dans var/www/bras, création de la page commande.php
- Création d'une page HTML commande_bras_robot.html avec création de boutons et des commandes associées,
- Ajout d'une image du robot pour le site web, ajout du fichier jquery.js pour gestion des commandes.
03/04 : Séance 2 > Récupération des valeurs des accéléromètres sur l'interface Web
- Création de nouveaux fichiers à partir de codes existants.
- Création d'un fichier C permettant la configuration de la liaison série : serial.c avec inclusion de serial.h - Récupération des informations des accéléromètres via la liaison série et affichage dans un premier temps sur le terminal (création du fichier C lportserie.c).
- Identification des différents accéléromètres du robot à partir des valeurs reçues par la liaison série (quelques difficultés à réaliser cette partie).
- Récupération des 4 valeurs des 4 accéléromètres sous la forme d'une chaine de caractères qui sera ensuite utilisée dans l'interface Web.
- Création du dossier cgi-bin sur le serveur. - Modification du fichier commande_bras_robot.php pour affichage des valeurs des accéléromètres sur le site Web.
- Création de nouvelles fonctions display et charger pour récupérer les valeurs à partir du programme C.
- A la fin de la séance les valeurs sont bien affichées sur le site Web.
-> Il convient maintenant de trouver un moyen pour récupérer une à une ces valeurs à partir de la chaine de caractères (grâce à l'utilisation d'une fonction
- javascript (recherches sur internet). -> Il conviendra de convertir ces valeurs pour les rendre interprétables par l'utilisateur.
-> Il reste à terminer l'interface Web par l'ajout de schémas de variation des angles des accéléromètres.
-> Il faudra également terminer le placement des boutons aux endroits adéquats par rapport à l'image du robot sur le site Web.
> ELECTRONIQUE
Description du système : Partie électronique
Ce système est constitué de deux sous-systèmes communiquant par le protocole série ; une carte FoxBoard et une carte FPGA incluse sur la NanoBoard.
Ce projet a pour but de mesurer la position de la boussole et la pression appliquée sur un capteur de pression. Les mesures se basent sur la conversion analogique-numérique de signaux.
La conversion analogique-numérique développée dans ce projet est basée sur la génération de signaux PWM (Pulse Width Modulation, ou Modulation de Largeur d'Impulsions) puis par leur filtrage (filtre passe-bas) permettant d'obtenir une tension continue variable représentant la valeur numérique.
Le capteur de pression donne une tension continue proportionnelle à la pression à laquelle il est soumis. Ce module est composé de deux parties : une partie implémentée dans la carte FPGA de la NanoBoard et une partie analogique réalisée sur une plaque d'essais.
28/03 : Séance 1 : Découverte et analyse du projet
-Prise en main de la Nanoboard grâce au tutoriel fourni.
Explication du fonctionnement :
Nous pouvons constater qu’en laissant votre doigt appuyé sur le bouton poussoir SW0, Le compteur compte à partir de la valeur fixée par le bus AOUT. En relâchant votre doigt, le compteur est en mode chargement.
-Prise de connaissance de la partie électronique du sujet.
-Recherche d'une solution mettre en place une PWM autrement qu'avec le "circuit tout fait" d'Altium.
- Objectif prochaine séance : Début de la conception de la partie FPGA.
03/04 : Séance 2 : Test de la partie FPGA
La partie implantée dans le FPGA a pour fonction de générer 2 signaux PWM dont la tension moyenne (après filtrage) varie de zéro volt jusqu'à la tension maximale des composants. Le signal PWM est un signal de fréquence constante, mais dont on change le rapport cyclique grâce à une donnée de commande codée sur cinq bits. Ainsi, la donnée de commande correspond indirectement à la valeur moyenne du signal PWM.
-Partie FPGA: finie.
[Description de chaque composant de la PWM et explication du fonctionnement]
[IMG]
- Objectif prochaine séance : Conception de la partie analogique
11/04 : Séance 3 : Test de la partie analogique
La partie analogique permet de comparer la valeur moyenne du signal PWM (signal issu de la NanoBoard) avec la tension provenant des composants. Tant que la valeur moyenne du signal PWM (réglée par la donnée de commande V0) est inférieure à la tension provenant du composant, la sortie du comparateur est à 0V. Lorsque la valeur moyenne du signal PWM devient supérieure ou égale à la tension du composant, la sortie du comparateur passe à +Vcc. À ce moment-là, la donnée de commande correspond à la représentation numérique de la tension du composant (conversion analogique-numérique). L’écriture dans la mémoire ne se faisant que sur un seul octet, il conviendra donc d’effectuer un multiplexage pour envoyer les deux octets correspondant aux deux composants vers la mémoire. Afin de simplifier la vérification du fonctionnement, l'utilisation de l'analyseur logique est fortement recommandée.
-Test final de l'ensemble.
[IMG]
[IMG]
[Description de chaque composant de la PWM et explication du fonctionnement]
[IMG]
[Pourquoi y'a-t-il un changement de valeur en fin de conversion]
[La CAN de 0 à 254 seulement]
[IMG]
[IMG]
Chargement de la valeur sur le bus
[IMG]