Contrôle de bras robotique, 2012/2013, TD2

De Wiki de Projets IMA
Révision datée du 15 juin 2013 à 13:28 par Mgerier (discussion | contributions) (Bilan)

Evaluation informatique et électronique

Gestion de projet / rédaction Wiki

  • Informatique :
  • Electronique :

Présentation

Dans notre projet, l' électronique a pour but de récupérer la valeur d'un capteur de pression. En effet celui-ci se comporte comme une résistance variable, la valeur que l'on récupérera sera donc une valeur analogique (tension). Nous aurons donc pour but de créer un convertisseur analogique vers numérique. De cette manière, la transmission pourra se faire via une communication série.

Partie numérique


Partie analogique

La partie analogique se compose d'un amplificateur opérationnelle monté en comparateur, de résistances, de capacité et d'un capteur de pression. L'AOp nous permet de comparer la tension issue du capteur avec la tension de la PWM filtrée. Lorsque la tension de la PWM est supérieur à la tension du capteur la sortie de l'AOp est à 1 logique (5V). Afin de pouvoir comparer la tension de la PWM nous avons du la filtrer à l'aide d'un filtre passe-bas pour obtenir une rampe de tension (Rappel : le signal d'une PWM est un signal carré de rapport cyclique variable).

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 :


Objectif du projet :

  • Réaliser une interface Web de pilotage de bras robotique permettant de commander les différents moteurs du bras.
  • Afficher la position du bras ainsi que des objets placés sur les capteurs de position.


Le projet se compose de trois parties :

  • Partie électronique : Réalisation d’un convertisseur analogique numérique (CAN) permettant de connaître la valeur d’un capteur de pression. Pour la réalisation du CAN, nous avions besoin d’un mélange d’électronique numérique (NanoBoard) et d’électronique analogique (comparateurs, résistances…).
  • Partie Informatique : Réalisation d’un fichier html comprenant du Javascript , du Php ainsi qu’un programme en langage C. Les programmes sont ensuite stockés sur une FoxBoard, serveur relié au bras robotique, ce qui permet de commander le bras n’importe où lorsqu’on est connecté à la FoxBoard.
  • Partie permettant de rendre compatibles les systèmes informatiques et électroniques afin de pouvoir faire une bonne liaison série.


PARTIE ELECTRONIQUE

  • Séance 1 :


La première séance a servi à comprendre le lien entre le logiciel Altium et la NanoBoard. Sur Altium, des composants sont mis à disposition (bascules RS, D, des compteurs…). Le but est, à partir de ces composants, de les relier pour concevoir le système désiré (ici un CAN). Ensuite, le système ainsi réalisé est adapté pour fonctionner sur la NanoBoard.


Schéma de principe :


Schéma à faire.png

Le Convertisseur analogique numérique), à partir d’une Modulation à Largeur d'Impulsions (MLI) aussi appelée PWM , permet de comparer la valeur de la PWM avec la tension du capteur de pression afin de connaître la valeur de ce dernier. Pour cela, nous avons du adapter les tensions du capteur et de la PWM pour que les résultats puissent correspondre. C’est-à-dire que lorsque le capteur ne reçoit aucune pression, la valeur de la tension est par exemple de 3.3V alors la PWM doit être au maximum à 3.3V.


La PWM sera crée par la Nanoboard. Ce signal sera dans la partie analogique, filtré par un filtre passe-bas puis comparé avec un comparateur.


schéma de déroulement :

Partienumetanal.png


La valeur du capteur de pression sera donnée par la PWM, lorsque la la tension de la PWM sera supérieure à la valeur du capteur, le comparateur enverra un 1 logique ou 5V (0 sinon) au fpga qui enregistrera la valeur de la PWM dans un registre 8 bits. Ce résultat sera alors envoyé périodiquement par liaison série à la FoxBoard.


Lorsque le sujet était clair, des tests sur Altium ont été effectués. Le bloc PWM était mis à notre disposition afin de voir comment cela fonctionner. Nous avons fait des tests et nous sommes arrivés à cela :


Seance1.png

Exemple de MLI


Dans ce schéma, il y a deux compteurs. Le premier, qui compte jusqu'à 256, représente la période de la PWM et le second quant à lui permet de faire varier la rapport cyclique. Plus le rapport cyclique du signal est grand, plus la valeur de la tension de la PWM sera grande.

Le deuxième compteur servant à générer le rapport cyclique doit varier à chaque nouveau comptage de la PWM. Par exemple, le compteur U5 est initialement à 0, le compteur U4 compte jusqu'à 256, puis retombe à 0. Lorsqu'il est égal à 0, il incrémente le compteur U5 grâce à la broche CEO et passe ainsi à 1, ainsi de suite jusqu'à son maximum qui est T, la période de la PWM.

La fréquence de l'horloge est celle de la Nanoboard 50MHz. Cependant, nous avons eu recours à la CLKGEN afin de diminuer la fréquence à 1MHz.





Nous n'avons pas fini sur le fpga, il reste seulement la gestion de la mémorisation car on ne veut mémoriser la valeur de la PWM seulement quand nous avons la réelle valeur du capteur de pression.


  • Séance 2 :