IMA4 2018/2019 SEC4 : Différence entre versions
(→Fabrication) |
(→Configuration de l'ATMega32u4) |
||
Ligne 23 : | Ligne 23 : | ||
= Configuration de l'ATMega32u4 = | = Configuration de l'ATMega32u4 = | ||
− | L'ATMega32u4 doit être programmé par les broches ICSP. | + | L'ATMega32u4 doit être programmé par les broches ICSP. Soit avec un programmateur spécifique, soit simplement en utilisant un Arduino type Uno avec un branchement fil à fil entre le connecteur ICSP de l'ATMega328p et celui de l'ATMega32u4. Attention la broche reset de l'ATMega32u4 fait exception et doit être reliée à la sortie 10 de l'Arduino Uno servant de programmateur. Utilisez l'IDE Arduino pour téléverser sur l'Arduino Uno le programme de démonstration <code>ArduinoISP</code>. |
− | Pour jouer, il est possible d'installer un ''bootloader'' pour Arduino Leonardo en utilisant l'IDE Arduino. | + | Pour jouer, il est possible d'installer un ''bootloader'' pour Arduino Leonardo en utilisant l'IDE Arduino. Dans l'IDE Arduino, sélectionnez Leonardo comme plateforme, prenez "Arduino as ISP" comme programmateur et prennez le port série de l'Arduino Uno comme moyen de communication. Il suffit ensuite de cliquer sur "burn bootloader" pour que votre manette soit considérée par l'IDE Arduino comme un Arduino Leonardo. |
+ | |||
+ | Cela dit le but est de programmer cette manette en C pour, à terme, utiliser la bibliothèque USB LUFA. Il est donc plus confortable de charger un lanceur permettant de téléverser le programme par USB. De tels lanceurs existent sur le site d'ATMEL : [http://www.atmel.com/Images/megaUSB_DFU_Bootloaders.zip]. Le lanceur peut se charger sur l'ATMega32u4 avec la méthode du programmateur Arduino IDE sus-citée et en utilisant l'utilitaire <code>avrdude</code>. |
Version du 9 août 2019 à 15:56
Introduction
L'épreuve complémentaire avait donné un certain résultat mais il fallait approfondir pour une utilisation éventuelle en tutorat système IMA4.
Circuit imprimé
Le circuit imprimé a été légérement revu pour supprimer les via sous le micro-contrôleur. Le paquetage QFN a la particularité d'imposer un pad de refroidissement sous le composant.
Le fichier Fritzing utilisé pour la conception du PCB est disponible : Media:Circuit 16u4 rex v5 pcb.zip (renommez le fichier en .fzz
).
Fabrication
Une version de la manette a été réalisée par soudage manuel. Seuls les vibreurs n'ont pas été installés.
A noter que l'ATMega32u4 a été soudé avec un fer à air chaud. Du flux a été utilisé pour tenter de mieux conduire la chaleur sur les pads sous le composant. La soudure a du être consolidée en promenant un fer classique le long des connecteurs du micro-contrôleur (avec là aussi utilisation de flux).
Les autres composants ont été soudé par un fer classique avec une panne pas particulièrement fine.
Configuration de l'ATMega32u4
L'ATMega32u4 doit être programmé par les broches ICSP. Soit avec un programmateur spécifique, soit simplement en utilisant un Arduino type Uno avec un branchement fil à fil entre le connecteur ICSP de l'ATMega328p et celui de l'ATMega32u4. Attention la broche reset de l'ATMega32u4 fait exception et doit être reliée à la sortie 10 de l'Arduino Uno servant de programmateur. Utilisez l'IDE Arduino pour téléverser sur l'Arduino Uno le programme de démonstration ArduinoISP
.
Pour jouer, il est possible d'installer un bootloader pour Arduino Leonardo en utilisant l'IDE Arduino. Dans l'IDE Arduino, sélectionnez Leonardo comme plateforme, prenez "Arduino as ISP" comme programmateur et prennez le port série de l'Arduino Uno comme moyen de communication. Il suffit ensuite de cliquer sur "burn bootloader" pour que votre manette soit considérée par l'IDE Arduino comme un Arduino Leonardo.
Cela dit le but est de programmer cette manette en C pour, à terme, utiliser la bibliothèque USB LUFA. Il est donc plus confortable de charger un lanceur permettant de téléverser le programme par USB. De tels lanceurs existent sur le site d'ATMEL : [1]. Le lanceur peut se charger sur l'ATMega32u4 avec la méthode du programmateur Arduino IDE sus-citée et en utilisant l'utilitaire avrdude
.