Binome2021-5 : Différence entre versions

De Wiki de bureau d'études PeiP
(Cours du 25/04)
Ligne 169 : Ligne 169 :
  
 
Nous avons réussi à changer les fusible avec le programmateur ISP.
 
Nous avons réussi à changer les fusible avec le programmateur ISP.
 +
 
<tt>avrdude -c arduino -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m</tt>   
 
<tt>avrdude -c arduino -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m</tt>   
 +
 
Cette commande ne fonctionne pas, on obtient une erreur de communication  
 
Cette commande ne fonctionne pas, on obtient une erreur de communication  
 
En utilisant la commande suivante le problème est résolu.
 
En utilisant la commande suivante le problème est résolu.
 +
 
<tt>avrdude -c stk500v1 -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m</tt>  
 
<tt>avrdude -c stk500v1 -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m</tt>  
 +
 
On flash ensuite le bootloader at90usb162 sans problème toujours en remplacant le parametre <tt>arduino</tt>  par <tt>stk500v1</tt>  
 
On flash ensuite le bootloader at90usb162 sans problème toujours en remplacant le parametre <tt>arduino</tt>  par <tt>stk500v1</tt>  
 
Nous avons aussi testé les mémoires avec les différents programmes de test et nous obtenons 5 clignotement indiquant que les mémoires sont fonctionnelles. Nous passons maintenant a l'utilisation de la bibliothèque LUFA
 
Nous avons aussi testé les mémoires avec les différents programmes de test et nous obtenons 5 clignotement indiquant que les mémoires sont fonctionnelles. Nous passons maintenant a l'utilisation de la bibliothèque LUFA

Version du 2 mai 2022 à 10:57

Bienvenue dans le wiki de Louis et Alexis ! Nous travaillons cette année sur la création d'une clé USB. La clé doit avoir une ou plusieurs fonctionalités propre à chaque binôme, mais aussi avoir un boîtier personalisé. Nous avons organisé notre wiki comme un journal de bord, afin que vous puissiez suivre notre avancement séance par séance.

Semaine 1

Cours du 17/01

Aujourd'hui, nous avons suivi la présentation du projet que nous devons effectuer, puis choisi constitué notre binôme. Nous avons également choisi nos fonctionnalités supplémentaires. Nous aloons créer plusieurs boutons permettant d'écrire des phrases prédéfinies (nom, prénoms, adresse-mail,...) ou des raccourcis clavier. Notre seconde idée de personalistion est un système de led clignotantes et multicolores.

Cours du 20/01

Durant cette séance, nous avons commencé le schéma PCB d'un circuit prototype. Ce circuit va nous permettre de tester nos fonctionnalités, et ainsi être plus sûr du fonctionnement du circuit final. Il y a tout de même plusieurs différences entre ces deux circuits : la première est que le circuit prototype a pour micro-contrôlleur une Attiny 84, alors que le final aura une ATMEGA 16U2, la seconde étant que le circuit prototype n'aura pas la partie stockage USB, ceci afin d'être plus économe sur les composants.

Semaine 2

Cours du 31/01

Nous terminons le prototype de test des fonctionalités avec Attiny_84. Nous avons fait le choix d'installer plusieurs type de led RGB, pour pouvoir tester les différents modèles et choisir le meilleur pour notre circuit final. Les deux modèles sont : deux WS2812B et une RGB à cathode commune.

Schéma du PCB
Notre Premier Prototype (PCB routé)
Pré-visualistaion du circuit


Notre circuit prototype n'étant pas encore imprimé, nous commençons le schéma de notre circuit final.

Semaine 3

Cours du 07/02

Nous continuons d'avancer sur le schemas de la carte avec l'ATMEGA. Nous avons également régler des problèmes de routage sur notre circuit protoype, pour qu'il soit plus facilement imprimable (écartement des pistes, ajout d'un plan de masse...). En voici un apperçu:

Notre Deuxième Prototype (PCB routé)
Pré-visualistaion du circuit


Voici le fichier Kicad de la version corrigée de notre prototype : Fichier:Prototype Louis Alexis.zip

Semaine 4

Cours du 21/02

Nous avons terminé le schéma pour le circuit final, avec l'ATMEGA. En voici un apperçu :

Schéma du circuit final

Cours du 24/02

Notre circuit protoype a été imprimé :

Circuit Vierge

Nous avons donc brasé les bouttons, le micro-contrôleur, la led RGB, les condensateurs ainsi que les résistances. Par manque de stock, nous n'avons malheureusement pas pu braser les leds WS2812B. Nous pouvons tout de même tester le circuit tel quel. Voici le résultat final, sans les ponts passant sous le circuit, ni les deux diodes RGB(WS2812B) :

Circuit brasé

Semaine 4

Cours du 28/02

Nous avons cette séance brasé les ponts, puis testé au multimètre l'absence de court-circuit.

Cours du 03/03

Aujourd'hui, nous avons commencé à coder notre protoype à l'aide du système Arduino. Les leds clignotent en continu, alternativement. Nous parlons ici des leds, puisque notre led RGB est enfait constituée de 3 leds (une rouge, une verte et une bleue), chacune reliée à un pin de l'Attiny différent. Lorsque l'on appuie sur un des 3 bouttons, une seule led se met à clignoter. Chaque bouttons est assigné à une couleur. Nous ne pouvons malheureusement pas faire de transitions progressives entre les couleurs, étant donné qu'elles ne sont pas toutes connectées à des pins PWM. Ces Pin permettent de faire varier l'intensité du courant, contrairemnt aux autres pins, qui envoie un 0 ou un 1. Nous aurions pu faire varier l'intensité de chaque led progressivement avec un pin PWM, et non juste la mettre allumée ou éteinte. Voici une vidéo de son fonctionnement :

Apperçu du fonctionnement

Semaine 5

Cours du 07/03

Nous parvenons à faire clignoter les leds du circuit prototype, tout en mettant en place un système de mise en veille. Les leds s'arrêtent maintenant de clignoter au bout d'un certain temps, et se remettent à le faire lorsqu'un boutton est pressé. Ce circuit protype est un succès, nous passons donc au routage du circuit final.



Cours du 10/03

Nous avons aujourd'hui décidé de tester une led différente (led RGB 5050) or notre PCB était prévu pour une LED WS2812B, nous avons donc modifié la carte. Nous avons également décidé de souder cette led sur des pins PWM, pour pouvoir lui faire appliquer une coloration progressive. Nous avons donc trouvé 3 pin PWM "libres" de notre micro-contrôlleur : les pin MISO, MOSI et n°7. L'utilisation des pins MISO et MOSI n'est pas dérangeant, étant donné qu'ils sont utilisés uniquement lorsque l'on programme le micro-contrôlleur. Nous avons donc coupé les traces et modifié notre carte, en voici le résultat :

Apperçu des modifications
Apperçu du fonctionnement


On a également avancé sur le routage du circuit final, et programmé une fonction pour la nouvelle led.

Semaine 5

Cours du 14/03

Nous avançons sur le routage, il reste des chose à modifier, mais voici un premier apperçu :

Face avant
Face arrière


Cours du 17/03

Nous avons également presque terminé le programme pour nos leds. Nous avons ajouté une fonctionnalité qui fait que lorsqu'un boutton est pressé, les deux leds clignotent en rouge.

Voici le code Arduino : Fichier:Code Louis alexis.zip

Nous avons terminé notre PCB, il manque plus qu'il soit vérifié par un professeur.

Semaine 6

Cours du 21/03 et du 24/03

Après vérification par un professeur, nous apportons des modifications, comme écarter les pistes, ajouter des condensateurs de découplage supplémentaires, passer à des boutons SMD, ou ajouter un connecteur série pour pouvoir débugger la carte plus facilement.


Voici notre circuit final :

Face avant
Face arrière
PCB


Voici le fichier Kicad : Fichier:Codefinallouisalexiskicad.zip

Et le fichier GERBER : Fichier:Codefinallouisalexisgerber.zip

Semaine 6

Cours du 28/03

En attendant la livraison de notre PCB, nous avons commencé le model 3D de notre boitier.

Voici notre avancement :

Boitier 3D


Cours du 31/03

Nous continuons le boitier 3D, avec un design de fusée

Boitier 3D fusée

Semaine 7

Cours du 04/04

Nous avons reçu le PCB, nous commençons a souder les composants nécessaires pour faire clignoter une led afin de tester le PCB

PCB vierges
PCB avec quelques composants


Cours du 07/04

Les composants essentiels sont soudés, la LED indiquant que le 3.3V est présent s'allume

La led 3.3v allumée

Avant de continuer à souder les composants pour notre fonctionnalitée nous essayons de faire clignoter une led reliée au microcontrolleur.

La led clignote

La led clignote mais trop lentement, il faut modifier les fuses en passant par le connecteur ISP. Nous soudons donc tout les composants manquants et le connecteur ISP. Voila notre carte totalement assemblée.

Avant de notre carte
Arrière de notre carte


Semaine 8

Cours du 25/04

Le boitier 3D est en cours d'impression.

Nous avons réussi à changer les fusible avec le programmateur ISP.

avrdude -c arduino -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m

Cette commande ne fonctionne pas, on obtient une erreur de communication En utilisant la commande suivante le problème est résolu.

avrdude -c stk500v1 -p atmega16u2 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m

On flash ensuite le bootloader at90usb162 sans problème toujours en remplacant le parametre arduino par stk500v1 Nous avons aussi testé les mémoires avec les différents programmes de test et nous obtenons 5 clignotement indiquant que les mémoires sont fonctionnelles. Nous passons maintenant a l'utilisation de la bibliothèque LUFA

Cours du 28/04

Le boitier 3D est imprimé, voici quelques photos :

Boitier imprimé
Boitier avec la clef

Il faudra dessouder le connecteur ISP pour fermer le boitier mais la clef rentre parfaitement à l'intérieur

Nous continuons le travail avec la bibliothèque LUFA, en modifiant le code pour l'adapter à nos pins mémoires nous obtenons une clef USB de 16mo fonctionnelle, c'est possible de transferer des fichiers d'une machine a une autre

La clef est detectée

Semaine 9

Cours du 02/05

Nous avons dessoudé le connecteur ISP pour fermer le boitier

Boitier

La clef est terminée et nous pouvons copier des fichiers dessus, nous travaillons donc sur le code pour implementer nos fonctionnalitées avec les led et les boutons


Conclusion

Conclusion