Contrôle de bras robotique, 2014/2015, TD1 : Différence entre versions

De Wiki de Projets IMA
Ligne 8 : Ligne 8 :
 
Au travers de ce projet, nous utiliserons des appareils tels que des accéléromètres, la NANOBOARD (FPGA), la FOXBOARD (système embarqué) ou encore de l'ARDUINO (Microcontrôleur).<br />
 
Au travers de ce projet, nous utiliserons des appareils tels que des accéléromètres, la NANOBOARD (FPGA), la FOXBOARD (système embarqué) ou encore de l'ARDUINO (Microcontrôleur).<br />
 
Nous avons pour but de réaliser le projet en respectant ce schéma fonctionnel<br />
 
Nous avons pour but de réaliser le projet en respectant ce schéma fonctionnel<br />
[[Fichier : Schfct_m.jpg | 650px | center]]
+
[[Fichier : schema.jpg | 650px | center]]
  
 
<h3> Séance 1 : 13/02/2015</h3><br />
 
<h3> Séance 1 : 13/02/2015</h3><br />

Version du 15 février 2015 à 14:19

Personnes participant au projet

ROJ Thomas
PIEKACZ Geoffrey
CASIER Corentin

Introduction

Ce projet SC a pour but de manipuler un bras robotique afin de faire bouger des blocs.
Au travers de ce projet, nous utiliserons des appareils tels que des accéléromètres, la NANOBOARD (FPGA), la FOXBOARD (système embarqué) ou encore de l'ARDUINO (Microcontrôleur).
Nous avons pour but de réaliser le projet en respectant ce schéma fonctionnel

Schema.jpg

Séance 1 : 13/02/2015


Partie Informatique

Pour cette partie, nous avons fortement étudié le cahier des charges et le fonctionnement des différents code sources mis à notre disposition. Nous avons réfléchis à la manière dont nous allons traiter les informations issus de l'ARDUINO. Nous avons décidés de créer dans notre code un vecteur qui serait utilisé pour stocker les différentes positions que pourrait atteindre le bras. A l'aide de ces positions de référence, nous pourrons ainsi déterminer les mouvements simples que devrait effectuer le bras pour attraper la pièce et aller la positionner à un autre endroit.

La séance suivante, nous essaierons de manipuler manuellement le bras en compilant le code source du démon et en y utilisant la fonction de contrôle manuel que nous avons repérés en l'étudiant.

Partie électronique


Dans un premier temps, nous avons longement étudié le cahier des charges, afin de bien comprendre ce qui nous était demandé.
Puis, nous avons commencé à réfléchir sur l'architecture de notre générateur de signaux MLI (Modulation à Largeur d'Impulsion ou PWM). Nous avons penser mettre en place l'architecture suivante :

Mli1 m.jpg

Il se présente sous la forme d'un amplificateur opérationnel utilisé en mode comparateur. Nous comparons un signal triangulaire à une constante. Si le signal triangulaire dépasse la constante, le signal de sortie Vm passe à +Vcc (ou 1 logique), sinon le signal passe à 0. Nous remarquons que si nous faisons varier la constante, les largeurs du signal de sortie grandissent, faisant varier le rapport cyclique et la valeur moyenne. Finalement, le comportement serait le suivant :

Mli2 m.jpg

Nous comptons créer le signal triangulaire à l'aide de VHDL s'il nous est impossible d'implémenter un générateur de signal triangulaire à l'aide du logiciel Altium Designer.

Par la suite, nous avons réfléchis à la partie analogique, c'est-à-dire la comparaison de nos signaux aux valeurs réelles des capteurs pour réaliser l'asservissement du bras. Nous pensons réaliser l'architecture suivante :

Ets m.jpg

Le filtre RC est utilisé ici comme intégrateur. A sa sortie, nous récupérons la valeur moyenne du signal de MLI. En faisant varier le signal de MLI, nous modifions son rapport cyclique donc sa valeur moyenne. Nous comparons ensuite cette tension à la tension issu de capteur pour récupérer un nouveau signal MLI.