IMA4 2018/2019 P1

De Wiki de Projets IMA
Révision datée du 7 octobre 2018 à 15:00 par Qboens (discussion | contributions) (Prologue)


Présentation générale

Description

L'objectif de ce projet est de concevoir et réaliser des manettes à base de micro-contrôleurs, pour des travaux pratiques GIS3 et IMA4.

Chaque manette devra utiliser un protocole de communication différent de l'autre.

Objectifs

La première manette devra être conçue pour pouvoir communiquer via le protocole UDP.

La seconde, sera détectée par le PC comme un périphérique USB, plus précisément de type HID.

Préparation du projet

Cahier des charges

Chaque manette comportera 10 LEDS, qui serviront à indiquer le bon fonctionnement de l'objet. On trouvera également 5 boutons et 2 vibreurs.

La première manette sera semblable à une Arduino Uno, avec un micro-contrôleur ATMega328p et un FTDI. Elle devra se comporter comme un périphérique IP. Grace à une communication, en protocole UDP, il devra être possible de contrôler les LEDs situées sur la manette. Elle devra également être capable de renvoyer l'état des boutons, par sollicitation du PC.

Pour la seconde, une plateforme Arduino Leonardo et un micro-contrôleur ATMega16u2 seront utilisés. En utilisant la bibliothèque LUFA, il sera possible de la programmer pour qu'elle corresponde à un périphérique USB. J'ai déjà utilisé cette dernière, lors d'un tutorat durant le semestre 7.

Choix techniques : matériel et logiciel

Pour ce projet, il m'est possible de me baser sur les réalisations d'autres élèves, dans le cadre d'épreuves complémentaires. Je réutiliserai donc leur matériel, auquel j'ajouterai le mien, dans le cas où des modifications doivent êtres apportées.

Liste du matériel :

Manette 16u2 Manette 328p
LED rouge x12 LED rouge x12
Résistance 10kOhm x6 Résistance 10kOhm x6
Varistances x2
Résistance 22Ohm x2
Résistance 220Ohm x12 Résistance 220Ohm x12
Résistance 1kOhm x2 Résistance 1kOhm x4
Résistance 1MOhm x1 Résistance 1MOhm x1
Capacité 100nF x1 Capacité 100nF x 6
Capacité 22pF x2 Capacité 22pF x2
Capacité 1µF x1
XTAL 16MHz x1 XTAL 16MHz x1
Transistor Bipolaire NPN x2 Transistor Bipolaire NPN x2
Diode Melf DO-213 x4 Diode Melf DO-213 x2
Sparkfun isp header 6 broches x1 Sparkfun isp header 6 broches x1
Switch boitier THT x5 Switch boitier SMD x5
Switch boitier smd x1 Switch boitier smd x1
USB-miniB-smd-ns x 1 USB-miniB-smd-ns x 1
Vibreur (Sparkfun motor) x2 Vibreur (Sparkfun motor) x2
Atmega 16u2 x1 Atmega 328p x1

Liste des tâches à effectuer

Comme je l'ai expliqué plus haut, j'ai à ma disposition les projets réalisés par d'autres étudiants en épreuve complémentaire. Cependant, une phase de test sur les PCB doit être effectuée, afin de vérifier leur bon fonctionnement.

Après avoir discuté avec Mr Redon, celui ci m'a indiqué que la manette FTDI n'était pas fonctionnelle. En effet, le FTDI n'est pas connecté correctement, ce qui fait que la manette n'arrive pas à communiquer avec le PC. J'ai donc prévu de corriger le PCB, en me basant sur la datasheet du FTDI (modèle FT232BL), afin de résoudre le problème. De plus, certaines LEDs ne sont pas correctement connectées au micro-contrôleur. Il faudra également que je corrige ce point sur le PCB.

La manette 16u2 n'avait pas été testée l'année précédente. Par conséquent, il me faudra vérifier son bon fonctionnement, pour ensuite apporter des modifications si nécessaire.

Une fois les deux manettes corrigées, je passerai à la programmation. Je commencerai par la manette FTDI, afin que celle-ci puisse communiquer en UDP avec le PC.

Puis je terminerai par programmer la manette 16u2, afin quelle puisse communiquer en me basant sur la bibliothèque LUFA.

Calendrier prévisionnel

Les trois premières semaines seront consacrés aux tests, et corrections, des PCB crées lors des épreuves complémentaires.

Pour les semaines qui suivront, l'attention sera portée sur la manette FTDI, afin quelle se comporte comme un périphérique IP.

Enfin je me consacrerai à la deuxième manette, pour qu'elle soit détectée en temps que périphérique USB par le PC.

Réalisation du Projet

Feuille d'heures

Ci-dessous le planning prévisionnel du projet.

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Analyse du projet 0
MANETTE 1 : 328P
1 - PCB

Prologue

Planning.jpg

Semaine 1

MANETTE 1

Pour cette première semaine, je me suis concentré sur la correction des erreurs dans le PCB de la manette FTDI. En comparant avec la datasheet, j'ai constaté que plusieurs éléments manquaient, notamment des résistances.

En examinant le PCB, j'ai aussi observé que les PINs RX et TX du FTDI étaient reliés, respectivement, aux PINs RX et TX du micro-contrôleur. Cette erreur est de loin la plus importante, puisque la communication entre le FTDI et l'atmega ne peut pas s'effectuer correctement.

Semaine 2

Documents Rendus