Binome2020-1 : Différence entre versions
(→CONCEPTION (HARDWARE)) |
(→Premier pas) |
||
(30 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
==Premier pas== | ==Premier pas== | ||
− | Durant ce BE, nous avons décidé de réaliser une clé ayant pour principe de délivrer une décharge à l'utilisateur | + | Durant ce BE, nous avons décidé de réaliser une clé ayant pour principe de délivrer une décharge à l'utilisateur s’il n'éjecte pas la clé correctement. |
Le nom de ce projet est : "éduclé" | Le nom de ce projet est : "éduclé" | ||
− | Description: ce projet est une clé éducative qui a pour but de faire éjecter la clé à l'utilisateur avant de la retirer. La clé fonctionnera normalement mais si l'utilisateur oublie d'éjecter la clé. Alors le condensateur contenu dans la clé se déchargera au moment du retrait de la dite clé. De plus, une fois la clé rebranchée des messages s' | + | Description : ce projet est une clé éducative qui a pour but de faire éjecter la clé à l'utilisateur avant de la retirer. La clé fonctionnera normalement, mais si l'utilisateur oublie d'éjecter la clé. Alors le condensateur contenu dans la clé se déchargera au moment du retrait de la dite clé. De plus, une fois la clé rebranchée des messages s'affiche pour une durée indéterminée. |
==Principe du "shocker"== | ==Principe du "shocker"== | ||
− | Après plusieurs recherches, | + | Après plusieurs recherches, nous avons décidé de réaliser un circuit en 2 parties, d'abord un condensateur chargé par une résistance connectée au 5v en sortie de la clé, puis ce condensateur va se décharger dans un transformateur qui produira une haute tension pour un courant faible dans un temps très court, on devrait donc obtenir une petite décharge. |
− | [https://tinyurl.com/y32m8wo9 Cette simulation | + | [https://tinyurl.com/y32m8wo9] Cette simulation nous permet de comprendre comment fonctionne, le circuit est d'estimer ce qu'on peut avoir en sortie en terme d'intensité et de tension.. |
=<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CONCEPTION (HARDWARE)</div>= | =<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CONCEPTION (HARDWARE)</div>= | ||
Ligne 18 : | Ligne 18 : | ||
[[Fichier:Circuit_1_educle.png|thumb|left|300px|Premiére version du circuit complet]] | [[Fichier:Circuit_1_educle.png|thumb|left|300px|Premiére version du circuit complet]] | ||
− | Voici le premier circuit que nous avons imaginé en utilisant le principe du shocker, deux transistors commande le circuit, un PNP et un NPN ainsi | + | Voici le premier circuit que nous avons imaginé en utilisant le principe du shocker, deux transistors commande le circuit, un PNP et un NPN ainsi lorsqu'un des deux est ouvert, l'autre est automatiquement fermé. |
[https://tinyurl.com/y4s5uzwf Cette 2éme simulation] montre comment le circuit va fonctionner avec les transistors. | [https://tinyurl.com/y4s5uzwf Cette 2éme simulation] montre comment le circuit va fonctionner avec les transistors. | ||
Ligne 25 : | Ligne 25 : | ||
[[Fichier:maj_1_elec.png|thumb|left|300px|mise a jour du circuit shocker]] | [[Fichier:maj_1_elec.png|thumb|left|300px|mise a jour du circuit shocker]] | ||
− | Mise | + | Mise à jour de notre circuit "shocker" après avoir réalisé que les simulations ne marchait pas. Nous avons donc compris qu'il fallait rajouter une masse avec une résistance faible qui "redirigera" les fuites des transistors vers la masse pour éviter que les transistors s'alimentent respectivement. De plus, nous avons ajouté des résistances à la base des transistors pour les utiliser en saturation. |
− | |||
<br style="clear: both;" /> | <br style="clear: both;" /> | ||
Ligne 34 : | Ligne 33 : | ||
<br style="clear: both;" /> | <br style="clear: both;" /> | ||
− | + | Nous profitons de ces premiers circuits pour s'entraîner à souder étant donné que nous ne l'avions jamais fait. | |
− | |||
− | |||
[[Fichier:PCB_Avec_les_fils.JPG|thumb|left|300px|première version imprimée]] | [[Fichier:PCB_Avec_les_fils.JPG|thumb|left|300px|première version imprimée]] | ||
− | Voici notre | + | Voici notre premier PCB. Nous n'avions pas prévu de quoi connecter le microcontrôleur à l'Arduino. C'est pour cela que nous avons soudé des fils sur certaines pâtes du microcontrôleur. |
Ligne 75 : | Ligne 72 : | ||
− | Nous n'avons pas pu tester notre premier circuit, en effet | + | Nous n'avons pas pu tester notre premier circuit, en effet après avoir tout soudés on s'est rendu compte que ça ne fonctionne pas. Nous pensons que c'est parce que le microcontrôleur est brulé. En plus de ça, on s'est rendu compte que le PCB que l'on avait fait est peut-être trop dangereux dû au fait que l'on est en tension continue. On change légèrement notre façon de penser la clé USB, maintenant la clé reposera sur un socle qui permettra de la charger puis quand l'utilisateur la mettra dans un port USB et oubliera de l'éjecter, il se prendra alors une décharge, mais cette fois-ci d'une tension alternative. |
Ligne 83 : | Ligne 80 : | ||
[[Fichier:CleUSBAntoineCharles.zip]] | [[Fichier:CleUSBAntoineCharles.zip]] | ||
− | + | Nous travaillons donc sur une nouvelle idée, nous devons totalement remanier le concept. En effet, nous allons tenter de faire 2 circuits différents un circuit qui sera dans la clé USB et un circuit qui sera dans un boîtier. L'idée étant de charger la clé a l'aide du boîtier qui servira donc de socle pour la clé, puis, une fois chargé la clé pourra être branché à l'ordinateur et sera "amorcée" tant que l'utilisateur ne l'éjecte pas. L'éjection déclenchera le circuit de décharge, permettant donc de retirer la clé sans danger. Avec ce concept, on se débarrasse du transformateur que l'on devait avant placer dans la clé, désormais, il sera dans le socle, son poids ou sa taille ne pose plus de problème. | |
[[Fichier:schematic_extension.png|thumb|left|300px]] | [[Fichier:schematic_extension.png|thumb|left|300px]] | ||
Schéma de la carte que l'on va venir connecter a notre clé. Ce circuit fait office de "shocker". | Schéma de la carte que l'on va venir connecter a notre clé. Ce circuit fait office de "shocker". | ||
Ligne 94 : | Ligne 91 : | ||
<br style="clear: both;" /> | <br style="clear: both;" /> | ||
− | Encore une fois après avoir | + | Encore une fois après avoir soudé la partie "shocker" de notre nouveau concept, nous remarquons que le circuit ne fonctionne pas comme il le devrait. Effectivement, la capacité présente sur le circuit est censée se charger et avec les transistors se décharger lorsque l'utilisateur essaye de l'enlever du PC. Nous chargeons la capacité avec un générateur de tension et, avec l'oscilloscope, nous constatons que la capacité se décharge constamment. Par manque de temps, nous décidons de nous concentrer sur une simple clé USB sans fonctionnalité supplémentaire pour au moins faire quelque chose de fonctionnel. |
− | |||
==Circuit Final== | ==Circuit Final== | ||
− | Comme dis précédemment, il a | + | Comme dis, précédemment, il a été presque impossible pour nous de faire la fonctionnalité que l'on avait imaginée de la clé, nous nous concentrons donc sur une simple clé USB sans fonctionnalité. |
+ | <gallery mode="packed-hover" heights=500p> | ||
+ | File: Clefinalesup_BricoutVion.JPG|Clé finale partie supérieure | ||
+ | File: Clefinalinf_BricoutVion.JPG|Clé finale partie inférieure | ||
+ | File: Extension_BricoutVion.JPG|Extension partie supérieure | ||
+ | </gallery> | ||
+ | <br style="clear: both;" /> | ||
− | + | Cette carte fille, comme les autres ne fonctionne pas, la capacité se décharge toute seule alors que les transistors devraient l'empêcher. | |
+ | <br style="clear: both;" /> | ||
=<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CODE (SOFTWARE)</div>= | =<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CODE (SOFTWARE)</div>= | ||
− | + | Suite à plusieurs échecs pour faire fonctionner notre extension, nous avons décidé de simplement faire une clé fonctionnelle pour réussir au moins une partie du projet. Après avoir soudé nos mémoires, nous les avons testées avec les programmes à disposition. Une fois assurés du bon fonctionnement des mémoires, nous avons commencé à travailler sur le code fourni pour écrire dans les mémoires à l'aide de la bibliothèque LUFA. Nous avons donc, avec l'aide des professeurs et des autres binômes, écrit les fonctions pour initialiser, écrire et lire les mémoires (nous n'avons pu utiliser qu'une mémoire par manque de temps.). | |
=<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CONCLUSION</div>= | =<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CONCLUSION</div>= | ||
− | Nous n'avons pas réussi | + | Nous n'avons pas réussi à concrétiser notre fonctionnalité. Plusieurs fois, nous nous sommes lancés sur des concepts qui au final ne pouvaient pas aboutir, car souvent défaillant ou trop compliqué. Par exemple, nous voulions détecter quand l'utilisateur éjecte la clé, mais nous avons réalisé que cette action était impossible à détecter, avec la bibliothèque LUFA, 1 mois avant la fin de ce BE. Le concept de "shocker" était vraiment difficile à prendre en main, après plusieurs recherches, nous avons remarqués que les avis, les conseils, ainsi que les données varient énormément. Il a donc été très difficile de créer, de penser notre clé avec tous ces avis divergents. |
− | + | Nous avons peut-être manqué de temps, nous aurions eu besoin de bien plus d'heures pour continuer de tester nos circuits et pour penser à une manière de corriger les erreurs de conceptions. Cependant, notre plus gros problème fut le manque de connaissance, même si notre concept était voué à l'échec depuis le début, celui-ci fut un véritable challenge et nous avons beaucoup appris de nos erreurs. | |
+ | Nous avons tout de même réussi à créer une clé fonctionnelle permettant de stocker des fichiers textes, des images, etc. | ||
=<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CHRONOLOGIE </div>= | =<div class="mcwiki-header" style="border-radius: 15px; border-color: #080004; padding: 15px; font-weight: bold;color: #FFFFFF; text-align: center; font-size: 80%; background:#FF483D; vertical-align: top; width: 98%;"> CHRONOLOGIE </div>= |
Version actuelle datée du 10 mai 2021 à 20:03
Sommaire
INTRODUCTION
Premier pas
Durant ce BE, nous avons décidé de réaliser une clé ayant pour principe de délivrer une décharge à l'utilisateur s’il n'éjecte pas la clé correctement.
Le nom de ce projet est : "éduclé"
Description : ce projet est une clé éducative qui a pour but de faire éjecter la clé à l'utilisateur avant de la retirer. La clé fonctionnera normalement, mais si l'utilisateur oublie d'éjecter la clé. Alors le condensateur contenu dans la clé se déchargera au moment du retrait de la dite clé. De plus, une fois la clé rebranchée des messages s'affiche pour une durée indéterminée.
Principe du "shocker"
Après plusieurs recherches, nous avons décidé de réaliser un circuit en 2 parties, d'abord un condensateur chargé par une résistance connectée au 5v en sortie de la clé, puis ce condensateur va se décharger dans un transformateur qui produira une haute tension pour un courant faible dans un temps très court, on devrait donc obtenir une petite décharge.
[1] Cette simulation nous permet de comprendre comment fonctionne, le circuit est d'estimer ce qu'on peut avoir en sortie en terme d'intensité et de tension..
CONCEPTION (HARDWARE)
Premier Circuit
Voici le premier circuit que nous avons imaginé en utilisant le principe du shocker, deux transistors commande le circuit, un PNP et un NPN ainsi lorsqu'un des deux est ouvert, l'autre est automatiquement fermé.
Cette 2éme simulation montre comment le circuit va fonctionner avec les transistors.
Mise à jour de notre circuit "shocker" après avoir réalisé que les simulations ne marchait pas. Nous avons donc compris qu'il fallait rajouter une masse avec une résistance faible qui "redirigera" les fuites des transistors vers la masse pour éviter que les transistors s'alimentent respectivement. De plus, nous avons ajouté des résistances à la base des transistors pour les utiliser en saturation.
Media:éduclé_v1.zip Média:simple_educle_v1.zip
Nous profitons de ces premiers circuits pour s'entraîner à souder étant donné que nous ne l'avions jamais fait.
Voici notre premier PCB. Nous n'avions pas prévu de quoi connecter le microcontrôleur à l'Arduino. C'est pour cela que nous avons soudé des fils sur certaines pâtes du microcontrôleur.
Nous n'avons pas pu tester notre premier circuit, en effet après avoir tout soudés on s'est rendu compte que ça ne fonctionne pas. Nous pensons que c'est parce que le microcontrôleur est brulé. En plus de ça, on s'est rendu compte que le PCB que l'on avait fait est peut-être trop dangereux dû au fait que l'on est en tension continue. On change légèrement notre façon de penser la clé USB, maintenant la clé reposera sur un socle qui permettra de la charger puis quand l'utilisateur la mettra dans un port USB et oubliera de l'éjecter, il se prendra alors une décharge, mais cette fois-ci d'une tension alternative.
Deuxième Circuit
Fichier:CleUSBAntoineCharles.zip
Nous travaillons donc sur une nouvelle idée, nous devons totalement remanier le concept. En effet, nous allons tenter de faire 2 circuits différents un circuit qui sera dans la clé USB et un circuit qui sera dans un boîtier. L'idée étant de charger la clé a l'aide du boîtier qui servira donc de socle pour la clé, puis, une fois chargé la clé pourra être branché à l'ordinateur et sera "amorcée" tant que l'utilisateur ne l'éjecte pas. L'éjection déclenchera le circuit de décharge, permettant donc de retirer la clé sans danger. Avec ce concept, on se débarrasse du transformateur que l'on devait avant placer dans la clé, désormais, il sera dans le socle, son poids ou sa taille ne pose plus de problème.
Schéma de la carte que l'on va venir connecter a notre clé. Ce circuit fait office de "shocker".
PCB de cette fameuse extension.
Encore une fois après avoir soudé la partie "shocker" de notre nouveau concept, nous remarquons que le circuit ne fonctionne pas comme il le devrait. Effectivement, la capacité présente sur le circuit est censée se charger et avec les transistors se décharger lorsque l'utilisateur essaye de l'enlever du PC. Nous chargeons la capacité avec un générateur de tension et, avec l'oscilloscope, nous constatons que la capacité se décharge constamment. Par manque de temps, nous décidons de nous concentrer sur une simple clé USB sans fonctionnalité supplémentaire pour au moins faire quelque chose de fonctionnel.
Circuit Final
Comme dis, précédemment, il a été presque impossible pour nous de faire la fonctionnalité que l'on avait imaginée de la clé, nous nous concentrons donc sur une simple clé USB sans fonctionnalité.
Cette carte fille, comme les autres ne fonctionne pas, la capacité se décharge toute seule alors que les transistors devraient l'empêcher.
CODE (SOFTWARE)
Suite à plusieurs échecs pour faire fonctionner notre extension, nous avons décidé de simplement faire une clé fonctionnelle pour réussir au moins une partie du projet. Après avoir soudé nos mémoires, nous les avons testées avec les programmes à disposition. Une fois assurés du bon fonctionnement des mémoires, nous avons commencé à travailler sur le code fourni pour écrire dans les mémoires à l'aide de la bibliothèque LUFA. Nous avons donc, avec l'aide des professeurs et des autres binômes, écrit les fonctions pour initialiser, écrire et lire les mémoires (nous n'avons pu utiliser qu'une mémoire par manque de temps.).
CONCLUSION
Nous n'avons pas réussi à concrétiser notre fonctionnalité. Plusieurs fois, nous nous sommes lancés sur des concepts qui au final ne pouvaient pas aboutir, car souvent défaillant ou trop compliqué. Par exemple, nous voulions détecter quand l'utilisateur éjecte la clé, mais nous avons réalisé que cette action était impossible à détecter, avec la bibliothèque LUFA, 1 mois avant la fin de ce BE. Le concept de "shocker" était vraiment difficile à prendre en main, après plusieurs recherches, nous avons remarqués que les avis, les conseils, ainsi que les données varient énormément. Il a donc été très difficile de créer, de penser notre clé avec tous ces avis divergents. Nous avons peut-être manqué de temps, nous aurions eu besoin de bien plus d'heures pour continuer de tester nos circuits et pour penser à une manière de corriger les erreurs de conceptions. Cependant, notre plus gros problème fut le manque de connaissance, même si notre concept était voué à l'échec depuis le début, celui-ci fut un véritable challenge et nous avons beaucoup appris de nos erreurs. Nous avons tout de même réussi à créer une clé fonctionnelle permettant de stocker des fichiers textes, des images, etc.
CHRONOLOGIE
18/01: Réflexion sur la fonctionnalité de la clé et recherche de ce qu'est un shocker
21/01:Création de la première ébauche du circuit de la clé en utilisant des ressources sur internet, mais aussi les ressources sur le wiki. Dans ce premier circuit on utilise comme micro-contrôleur une ATMEGA8U2. ON réalise également une simulation pour trouver notre shocker.
25/01:Création d'un circuit plus simple sans port usb mais avec des pins et un micro-contrôleur plus facile d'utilisation (), pour comprendre et réaliser plus simplement un pcb
28/01:Finalisation du PCB, puis envoie à la machine en C102 pour impression du PCB.
04/02:Première soudure sur notre PCB, on a soudé le micro-contrôleur et des résistances.
08/02:On a terminé les soudures des composants sur le PCB.
11/02:On a soudé des fils sur le micro controleur pour pouvoir envoyer notre programme dessus. On a également commencé a réfléchir au programme.
15/02:Fin de soudure des fils mais impossible d'envoyer un programme sur le micro controleur...
18/02:Toujours le probleme avec le micro controleur on attend une réimpression de notre pcb pour pouvoir tester notre circuit.
08/03:Début du codage en attendant d'avoir notre nouveau PCB.
15/03:Changement de circuit pour pouvoir avoir en sortie du shocker une tension alternative.
18/03:On a terminé de faire le circuit et l'avons envoyé pour impression afin de le tester lundi.
22/03:Finalement plutot que d'imprimer la carte on l'as commandé on attend donc de la recevoir, on travail sur le code.
25/03:Début du soudage du shocker.
29/03:Fin du soudage du shocker début des tests.
01/04:Une nouvelle fois tests qui ne sont pas concluant la capacité se décharge alors qu'elle ne devrait pas. Reflexion pour corriger tout ca.
08/04:Nouveau soudage du shocker avec quelques modifications apportées.
12/04:On divise le travail en deux un qui réessaye de souder le shocker un qui soude la carte.
15/04:On a soudé les deux cartes, encore une fois impossible de faire fonctionner le shocker on se concentre donc sur la clé.