IMA4 2017/2018 EC1

De Wiki d'activités IMA

Présentation du projet

Contexte

L'élève continue son semestre S8 à l'école.

Objectif

Concevoir et réaliser une manette série pour des travaux pratiques de GIS3.

Description du projet

La manette sera réalisée autour d'un micro-contrôleur ATMega328p et connectée à un PC via une liaison USB/série.

Les caractéristiques demandées sont les suivantes :

  • la manette peut être reprogrammée en utilisant l'IDE Arduino standard ;
  • la liaison série est implantée à l'aide d'une puce FTDI ;
  • la manette comporte quatre boutons, il peut être supposé que les boutons sont utilisés pour se déplacer selon deux dimensions ;
  • la manette comporte autant de LEDs que possible organisées en ligne ou en matrice ;
  • les composants de la manette sont des composants de surface, se renseigner pour connaître les composants disponibles ;
  • la manette n'est constituée que d'un PCB et des composants soudés dessus, elle doit s'inscrire dans un carré de 10cm sur 10cm.

La manette est à livrer avec un programme permettant de contrôler son fonctionnement (boutons et LEDs) à partir d'un moniteur série comme minicom.

Le circuit imprimé peut être conçu avec Fritzing ou un autre logiciel de conception de carte électronique. Si vous souhaitez avoir des conseils ou de l'aide sur la conception prenez Fritzing.

Vous avez des exemple de carte à base d'ATmega328p sur ce même Wiki ou sur le Wiki des PeiP [1].

Matériel nécessaire

Description Fabricant Référence Fabricant Fournisseur Quantité Lien fournisseur
Microcontrôleur Atmel ATMEGA328P 1
Puce FTDI 1
Red LED 11 (+1?)
Blue Led (1?)
1MΩ Resistor 1
10kΩ Resistor 6
1kΩ Resistor 4
220Ω Resistor 12
Condensateur 100nF 7
Condensateur 22pF 2
USB-C Connector 1
Bouton Poussoir 5
Bouton Poussoir Reset 1
Quartz 16MHz 1
Diode 2
Transistor NPN 2
Moteur vibrant 10mm 2

Planning prévisionnel

  • Étude Électronique
    • Création de la carte Électronique sous Fritzing.
  • Étude informatique : programmation en C


Travail effectué

Étude Électronique

Les débuts

Afin de débuter ce projet, je me suis basé sur le cahier des charges afin de créer une ébauche de PCB pour la manette USB.
Je me suis ensuite aidé de la carte électronique utilisée par les PEIP dans le module IMA afin de corriger ou développer certaines parties telle que la partie USB.

J'ai ainsi créé un schématique avec les différents composants tels que le microprocesseur Atmega 328p, la puce FTDI, les quatre boutons de jeu ainsi que les LEDs. Sur la vue PCB, j'ai ensuite placé et câblé ces composants de sorte à avoir les puces au centre, à droite les boutons comme la plupart des manettes connues, les LEDs sur la droite en symétrie des boutons et le connecteur USB au dessus.

PCB : Création de la plaque.PCB : ébauche


La plaque PCB

La forme de la carte électronique devant s'inscrire dans celle d'une manette de jeu, j'ai utilisé le logiciel Inkscape.

J'ai ainsi utilisé les différentes fonctions du logiciel afin d'assembler les formes géométriques et ainsi produire le résultat attendu.

PCB : Création de la plaque.PCB : Plaque finalisée.


L'avancement de la carte

Suite à de nombreuses corrections de la part de mon professeur, le remaniement complet de la carte a en effet été nécessaire.

Pour cela, j'ai d'abord placé sans les câbler les composants de façon à optimiser le routage et l'utilisation de la carte.

De plus, de multiples Leds et deux vibreurs ont été ajoutés afin de rendre la manette plus complète et enrichir ses fonctions.

PCB : Création de la plaque.


Finalisation de la carte

Suite à quelques modifications telles que l'ajout de broches AVR-ICSP afin de programmer l'Atmega328p et au câblage des composants sur la représentation PCB, j'ai pu obtenir la carte finalisée.

PCB : Création de la plaque.PCB : Création de la plaque.


Lors de la reception de la carte gravée, j'ai ainsi pu me rendre compte d'une erreur dans le schéma de l'empreinte, ce qui engendrait une cassure sur la carte elle-même. Cela ayant été rectifié, j'ai ainsi pu passer au soudage des composants qui déterminera si la carte est fonctionnelle et permettra une programmation convenable.


Rootage et premiers tests

Le soudage des composants s'est fait sans encombre. En effet, j'ai soudé fonction par fonction les différentes parties ce qui m'a permit de tester les différentes soudures afin de les corriger ainsi que de possibles ponts créant des court-circuits.

Un test de programmation par ICSP à pu montrer le bon fonctionnement partiel de la carte autant au niveau du microprocesseur que des LEDs.


Une finalisation compliquée

Une fois la carte entièrement soudée et les pistes vérifiées, j'ai pu tenter de programmer la carte au travers du port USB. Cette partie à cependant posé soucis. En effet, lors de l'upload d'un programme sur la carte, rien ne se passait niveau matériel : Les LEDs continuaient de suivre le programme implanté plusieurs semaines à l'avance, alimentées au travers du port USB, et le logiciel Arduino ne faisait part d'aucun problème. La programmation par l'ICSP ne fonctionnait pas mieux, pourtant testée fonctionnelle plus tôt.

Plusieurs passages de tests de l'intégralité des pistes à alors été réalisé en vérifiant de nouveau la bonne qualité des connections en les refaisant lorsqu'il pouvait y avoir un doute, et en analysant les différents ponts de matières possibles.

Même suite à cela je ne parvenait pas à programmer la carte, pourtant paraissant accepter le programme implanté.

Du fait du manque de temps suite à la fin de l'année, j'ai donc repris une dernière fois chaque piste de la carte pour m'assurer que le problème ne venait pas (du moins d'après ce que je pouvais vérifier avec mes connaissances) du matériel, avant de la rendre en l'état..


Documents

Programme simple afin de tester les différentes fonctions de la manette : Fichier:Programmation Manette Etcheguibel.zip