IMA4 2017/2018 P16 : Différence entre versions
(→Semaine 12) |
(→Feuille d'heures) |
||
(17 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 95 : | Ligne 95 : | ||
- Etudier la partie mécanique du projet : découpage laser de la semelle, collage des deux demi-semelles, installation des capteurs de température et création du boitier de la batterie et de l'Arduino. | - Etudier la partie mécanique du projet : découpage laser de la semelle, collage des deux demi-semelles, installation des capteurs de température et création du boitier de la batterie et de l'Arduino. | ||
+ | ==cahier des charges== | ||
+ | Dans ce projet nous avons donc défini le cahier des charges à partir du problème posé précédemment. | ||
+ | Tout d’abord la priorité était d’avoir un réglage automatique de la température de la semelle. L’utilisateur ne devra donc pas modifier la température en fonction de la semelle. L’avantage de cette fonction est tout d’abord que la personne utilisant ces chaussures ne doit pas se soucier de la température extérieur lors de son utilisation. Dans un second temps, la semelle ne sera pas abîmé par une surchauffe du fil car le système assurera une température qui ne dégradera pas la chaussure. | ||
+ | Ensuite la taille de la semelle doit être adapté pour un pied moyen d’homme . Le prototype sera donc basé sur une pointure 42/43. | ||
+ | Nous avons aussi établie que le bloc batterie comprend le circuit électronique et la batterie : ce boitier devra venir se fixer derrière le mollet à l’aide de scratch ou venir se poser dans une poche basse du pantalon. | ||
+ | Par ailleurs, la semelle s’attachera grâce à des scratch au niveau de la cheville et du bout du pied. | ||
+ | Enfin l’autonomie du système sera d’environ 2h30 voire 3h afin de garder la semelle à la bonne température durant une demie journée de travail. | ||
=Réalisation du Projet= | =Réalisation du Projet= | ||
Ligne 100 : | Ligne 107 : | ||
{| class="wikitable" | {| class="wikitable" | ||
− | !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 | + | !Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Heures S11 !! Heures vacances !! Heures Après vacances !!Total |
|- | |- | ||
| Analyse du projet | | Analyse du projet | ||
Ligne 114 : | Ligne 121 : | ||
| 4 | | 4 | ||
| 4 | | 4 | ||
− | | | + | | 4 |
+ | | 20 | ||
+ | | 20 | ||
+ | | 84 | ||
|} | |} | ||
Ligne 323 : | Ligne 333 : | ||
[[Fichier:carte_verso.jpg|900px|thumb|center]] | [[Fichier:carte_verso.jpg|900px|thumb|center]] | ||
− | On peut | + | On peut remarquer que les trous laissés afin de mettre les fils utilisés pour le capteur et le fil resistif étaientt trop petit. Nous avons donc du utiliser une autre méthode afin de rendre les connexions possible. |
==Semaine 12== | ==Semaine 12== | ||
− | Maintenant que toutes les soudures sont correctement | + | Maintenant que toutes les soudures sont correctement faites, nous avons commencé les tests de régulation : |
− | La première | + | La première étape consistait d'abord à vérifier si la lecture des capteurs était correcte. |
Comme vous pouvez le voir ci-dessous, nous avons défini trois niveaux de chauffe : "On chauffe" , "On chauffe un peu" et "on chauffe très peu". | Comme vous pouvez le voir ci-dessous, nous avons défini trois niveaux de chauffe : "On chauffe" , "On chauffe un peu" et "on chauffe très peu". | ||
Ligne 339 : | Ligne 349 : | ||
[[Fichier:chauffe_tres_peu.png]] | [[Fichier:chauffe_tres_peu.png]] | ||
− | Nous avons testé ce programme dans les | + | Nous avons testé ce programme dans les mêmes conditions de température. Nous avons donc changé les paliers de température afin de voir si les informations envoyées étaient les bonnes. |
− | Pour chaque valeur de température, nous avons défini une | + | Pour chaque valeur de température, nous avons défini une sortie PWM différente afin de réguler le chauffage. |
− | Pour les différents niveaux de chauffe, nous avons des valeurs moyennes en sortie différentes mais les valeurs max | + | Pour les différents niveaux de chauffe, nous avons des valeurs moyennes en sortie différentes mais les valeurs max restent de 3.3V afin d'activer le MOSFET et laisser passer le courant. |
− | Une fois cette étape finie, | + | Une fois cette étape finie, nous avons donc voulu vérifier la tension aux bornes de la résistance afin de connaitre le courant (ajouter un ampèremètre rajoutait de l'impédance au circuit (pinces crocos) ce qui faussait les résultats). |
− | Malheureusement, nous n'obtenons aucune tension | + | Malheureusement, nous n'obtenons aucune tension aux bornes de la résistance. |
Nous nous posons alors plusieurs questions : | Nous nous posons alors plusieurs questions : | ||
Ligne 353 : | Ligne 363 : | ||
-tensions à l'entrée assez elevée afin d'activer le MOSFET : Nous décidons de faire des tests sur une plaque d'essais avec un MOSFET possédant les mêmes caractéristiques que celui sur que nous utilisons sur notre circuit final. | -tensions à l'entrée assez elevée afin d'activer le MOSFET : Nous décidons de faire des tests sur une plaque d'essais avec un MOSFET possédant les mêmes caractéristiques que celui sur que nous utilisons sur notre circuit final. | ||
− | Avec une alimentation sur la grille de 3.3V et notre batterie en alimentation du Drain : une fois encore nous n'avons aucune tension | + | Avec une alimentation sur la grille de 3.3V et notre batterie en alimentation du Drain : une fois encore nous n'avons aucune tension aux bornes de la résistance. |
Nous décidons d'augmenter la tension à la grille et apercevons que la résistance se met à chauffer. | Nous décidons d'augmenter la tension à la grille et apercevons que la résistance se met à chauffer. | ||
− | Le problème | + | Le problème venait donc de la tension de sortie de l'Arduino qui était trop faible pour activer le MOSFET. |
Nous retournons sur la datasheet de notre mosfet afin de voir les caractéristiques et nous avons constaté deux choses : | Nous retournons sur la datasheet de notre mosfet afin de voir les caractéristiques et nous avons constaté deux choses : | ||
− | -Ce qui nous a induit en erreur au départ est que l'information "tension de seuil maximale" est la tension | + | -Ce qui nous a induit en erreur au départ est que l'information "tension de seuil maximale" est la tension maximale à laquelle le MOSFET va se mettre à conduire le courant entre le drain et la source et non la tension maximale que la grille peut supporter. Cette information nous la trouvons a la ligne "tension grille source maximum" |
[[Fichier:datasheet_mosfet.png]] | [[Fichier:datasheet_mosfet.png]] | ||
− | De plus la courbe | + | De plus la courbe ci dessous nous a permis de savoir jusque quelle tension nous devons alimenter la grille afin de laisser passer un maximum de 2 ampères entre le drain et la source. |
+ | |||
+ | [[Fichier:courbe_mosfet.png]] | ||
+ | |||
+ | Nous pouvons voir que pour une tension Vds de 50V il faut une commande de 6.5V afin d'obtenir au minimum 2A. | ||
+ | |||
+ | De plus à 25°C et pour Vds à 5v il faut au minimum Vgs à 6.5V afin d'obtenir 2A. | ||
+ | Enfin nous pouvons aussi voir pour des température plus basse que 20 degrés, nous aurons une conductions plus faible. | ||
− | ==Semaine 10 et | + | Avec ces informations, nous pensons que si l'on prend une tension maximale de commande à 9V nous pourrons obtenir la gamme de courant nécessaire aux différents modes de chauffage. |
+ | |||
+ | Il faut donc maintenant, trouver la solution afin d'obtenir 9V a l'entrée. | ||
+ | Le moyen le plus simple est de mettre un circuit AOP non inverseur afin d'obtenir nos 9V en commande. | ||
+ | le problème de cette solutions est qu'il faut une alimentation de 9V minimum pour l'aop. | ||
+ | Afin de répondre à ce problème nous avons décidé d'ajouter une pile rechargeable de 9V. | ||
+ | |||
+ | Nous savons que le maximum en sortie de l'arduino est de 3.3V et que nous voulons autour de 9v en sortie. Il fallait donc un gain de 2.7. | ||
+ | Or pour un montage non inverseur, nous avons G=1+R1/R2 donc nous avons pris R1=1.8k et R2=1k afin d'obtenir une sortie proche de la tension d'alimentation. | ||
+ | |||
+ | Une fois la théorie appliquée à notre projet, nous avons voulu tester le circuit afin de déterminer si nos besoin étaient respectés. | ||
+ | |||
+ | Nous avons choisi l'AOP LM358N car il peut être alimenté en simple alimentation de +9V. | ||
+ | |||
+ | Une fois le circuit fait, si nous mettons en entrée 3.3V et un alimentation de 9V nous obtenons ne sortie 7.5V. | ||
+ | Cette valeur est un peu inférieure à la théorie mais reste cependant suffisante pour obtenir nos 2A dans la résistance (fil chauffant). | ||
+ | |||
+ | Nous ajoutons donc au circuit, notre MOSFET (IRF530N) avec des caractéristiques identiques à celui que l'on va utiliser au final. | ||
+ | |||
+ | Nous avons donc relevé, pour différentes valeurs de tension à l'entrée du mosfet, la tension aux bornes de la résitance afin de connaitre le courant qui passe et voir si la régulation a bien lieue. | ||
+ | |||
+ | [[Fichier:tableau_regu.png]] | ||
+ | |||
+ | Dans le tableau ci dessus, nous pouvons donc voir que la tension de commande a un influence directe sur le courant qui passe dans la résistance. Cependant, nous obtenons un courant plus faible que voulu pour une tension de 3.3V à l'entrée de l'aop. Cela est dû au fait que notre MOSFET possède des caractéristiques un peu différentes donc le valeur ne sont pas totalement exactes. | ||
+ | Cependant, les résultats obtenus sont proche de ceux voulus. | ||
+ | |||
+ | Enfin nous avons obtenu les mêmes résultats lorsque nous commandons la tensions grâce à l'arduino. | ||
+ | |||
+ | Nous décidons donc de faire une nouvelle carte afin de pouvoir obtenir le système final. | ||
+ | |||
+ | [[Fichier:Circuitfini.JPG]] | ||
+ | |||
+ | [[Fichier:Circuitfinipcb.JPG]] | ||
+ | |||
+ | Les prochaines étapes du projet vont consister à souder la carte, imprimer le boitier, tester le film thermique et enfin tout assembler et créer l'ensemble circuit semelle. | ||
+ | |||
+ | ==Semaine Après vacances== | ||
+ | |||
+ | Au retour des vacances, nous avons pu nous remettre sur les soudures de la carte. | ||
+ | Cette partie n'a pas présenté de soucis réel. | ||
+ | |||
+ | Durant ce temps de soudure nous avons réfléchis à un système qui montrerai bien que le fil se met a chauffé lors de la détection de froid. | ||
+ | Nous avons donc penser à une caméra thermique qui nous permettrai de montrer un échauffement du fil lors de l'exposition du système au froid. | ||
+ | |||
+ | Nous avons donc cherché une caméra qui pourrait être présente a polytech afin de filmer mais vous avons été réorienté vers l'utilisation de la caméra Infrarouge présente sur la Kinect. | ||
+ | En effet celle ci utilise cette technologie afin de reconnaitre les personnes qui se trouvent devant. | ||
+ | |||
+ | Après quelque recherches nous avons trouvé qu'il était possible d'utiliser uniquement la caméra infrarouge en modifiant le code utilisé pour l'utilisation de la caméra. | ||
+ | Nous avons donc téléchargé les IDE nécessaires a l'élaboration des modifications de code. | ||
+ | Une fois les logiciels installé, nous avons trouvé des exemples de code qui sont directement implanté dans la caméra. Cependant lorsque nous lancions le programme, le pilote de la caméra se désinstallé et n'était plus retrouvé par la machine. | ||
+ | |||
+ | Cette partie du projet étant supplémentaire, nous avons décidé de la remettre a plus tard afin de se concentrer sur les tests de notre carte. | ||
+ | |||
+ | Maintenant que tous les composant sont soudé, nous pouvons réaliser les tests de notre carte : | ||
+ | |||
+ | Tout d'abord nous vérifions si les températures des capteurs sont bien récupérés par le programme qui adapte sa tensions de sortie en fonctions de la température ressenti. | ||
+ | (les résultats sont les mêmes que nous avons obtenu lors du premier essai ) | ||
+ | |||
+ | Ensuite nous nous assurons le bon fonctionnement du circuit amplificateur non inverseur : | ||
+ | Nous obtenons bien les mêmes caractéristique que sur la plaque d'essai : | ||
+ | |||
+ | En entrée nous avons une tension maximum de 3,3V et en sortie nous obtenons une tension de 8,2V. | ||
+ | Le gain théorique était de 2,7 (tension maximum en sortie théorique était donc de 8,91). Cependant la valeur obtenu est suffisante afin de laisser suffisamment de courant entre le drain et la source ( d'après la datasheet, nous pouvons laisser passer près de 10A). | ||
+ | |||
+ | Nous commençons donc la vérification du passage de courant entre le drain et la source en regardant si nous avons un échauffement. | ||
+ | Malheureusement, nous ressentons un échauffement très faible et non significative. | ||
+ | Nous regardons donc de plus près le système afin de trouvé d'ou vient le problème : | ||
+ | -Nous observons dans un premier temps que le Mosfet chauffe très rapidement (jusqu'a décollé la soudure) ce qui peut limiter le courant Drain Source (sur la datasheet la température est un facteur important a prendre en compte afin de connaître le courant max traversant le composant) | ||
+ | -Dans un second temps nous observons aussi une chute de tension important entre le drain et la source. (théoriquement celui ci doit être proche de 0). Encore une fois, cela vient peut être de son échauffement. | ||
+ | La tension entre le drain et la masse, nous avons 5V et au borne de la résistance nous retrouvons uniquement 1,8V. | ||
+ | |||
+ | Afin de résoudre le problème de l'emballement thermique, nous décidons d'y souder un radiateur (plaque de métal qui servira de dissipateur thermique ). | ||
+ | |||
+ | Après cette ajout, nous avons testé de nouveau afin de voir si, l'emballement thermique était géré et si la tension aux bornes de la résistance était plus grand et donc que le courant était plus important. | ||
+ | Nous observons bien que le Mosfet chauffe beaucoup moins grâce a son radiateur mais cependant nous observons encore 2V aux bornes de la résistance. | ||
+ | |||
+ | Nous décidons donc a ce moment de changer de mosfet(IRF530) afin de voir si, l'emballement thermique précédent n'aurait pas abimé le composant. | ||
+ | |||
+ | Après avoir changé de composant, nous réalisons dans un premier temps, les tests sur une plaque d'essai. Nous observons alors une petite amélioration mais rien de significatif. | ||
+ | Nous avons donc étudier de plus près le application de l'IRF530 afin de voir comment il est utilisé. | ||
+ | Nous avons donc trouvé qu'un résistance de 12 Ohms en commande était suffisante et idéal. Le changement fut important et nous n'observions aucun emballement thermique. | ||
+ | |||
+ | Nous avons donc décidé de changer définitivement sur notre circuit le mosfet. | ||
+ | Avant les premier tests, nous avons changé la pile d'alimentation de l'AOP et celle ci délivre 9,2V. | ||
+ | |||
+ | Avec tous ses changement, nous observons une tension au borne de la résistance chauffante une tension de 5V et un courant de 1,8A. | ||
+ | |||
+ | [[Fichier:2ampere.jpg|900px|thumb|center]] | ||
+ | |||
+ | Le système devient donc fonctionnel ! | ||
+ | |||
+ | Nous décidons après ce test de tout assemblé pour tester réellement la semelle en conditions réelle | ||
+ | |||
+ | [[Fichier:assemblagesemelle.jpg|900px|thumb|center]] | ||
+ | Une fois la semelle montée, nous la mettons dans un congélateur à -10 degrés pendant près de 10 min et attendons le résultat. | ||
+ | En sortant la semelle, nous avons senti une semelle tiède ce qui nous laisse pensé que la commande de la température fonctionne correctement et que le caoutchouc se réchauffe au contact du fil mais surtout du film thermique qui permet une meilleure propagation de la chaleur. | ||
=Documents Rendus= | =Documents Rendus= | ||
+ | |||
+ | [[Fichier:Projet_P16_MAIRESSE_ROUX.pdf]] |
Version actuelle datée du 16 mai 2018 à 17:58
Sommaire
SOUS-CHAUSSURE CHAUFFANTE POUR DOCKER
Présentation générale
Description
Sur les ports, les conditions de travails peuvent être parfois rudes. En hiver, les températures peuvent vite devenir négatives et il est impératif pour les entreprises de sécuriser leurs ouvriers. Les glissades ou autres chutes sont régulières, et elles peuvent s’avérer très dangereuses. Les ouvriers étant obligés de travailler avec des chaussures de sécurité, certaines entreprises ont décidé de rendre obligatoire le port de sous-chaussures en caoutchouc (matériau avec un pouvoir antidérapant bien connu) lorsque les températures sont trop basses. Néanmoins, la capacité antidérapante du caoutchouc diminue énormément quand cette sous chaussure se refroidit.
Nous allons donc nous pencher sur la conception et la réalisation d’une paire de sous-chaussures chauffantes, qui aura pour but de maintenir le caoutchouc à sa température optimale et ainsi éviter les chutes.
Objectifs
Le principal objectif de cette sous-chaussure est son action antidérapante. Notre sous-chaussure devra aussi remplir plusieurs critères importants :
- Facilité pour mettre et enlever les sous-chaussures.
- Légèreté du produit ainsi que de la batterie.
- Stabilité parfaite pour l'utilisateur (sous-chaussure inulite si elle accroche au sol mais que la chaussure s'accroche mal à la sous-chaussure).
- Imperméabilité du produit (surtout de la batterie).
- Épaisseur minimum de la semelle (Un chaussure de sécurité a déjà une semelle très large en général, il s'agit de ne pas sur-élever encore plus l'utilisateur).
- Temps de recharge adéquat. Si la batterie dure une demi journée, il faut qu'elle soit rechargeable sur le temps de pause du midi. Si elle dure une journée complète de travail, il faut qu'elle soit rechargeable en une nuit.
- Adaptabilité avec tout type de chaussures de sécurité.
Analyse du projet
Positionnement par rapport à l'existant
Ce qui se fait déjà : Sur le marché, il existe des centaines de types de « semelles chauffantes ». Cependant, elles ont quasiment toutes pour but de réchauffer le pied de l’utilisateur et non la semelle. Ce sont des objets de confort qui n’ont aucun impact sur la sécurité de l’utilisateur.
Il existe également de nombreuses formes de « sur-chaussure de sécurité ». Ce type de produit se met au-dessus d’une chaussure normale. Ce type de produit est utilisé pour des personnes extérieures qui viennent intervenir ou visiter, et qui sont obligées de porter des chaussures de sécurité.
Analyse des concurrents
Notre premier concurrent serait la semelle chauffante à placer à l'intérieur de la chaussure, qui sert à garder le pied de l'utilisateur à la bonne température. Il existe des centaines de marques et de types de semelles chauffantes pour tous types de prix allant de 10 à 200 euros. Cependant, ce concurrent ne résout pas du tout le problème d'adhérence qui est notre problématique principale.
En effet, un véritable concurrent doit résoudre les mêmes problématiques par n'importe quel autre moyen. Donc nous pouvons considérer les entreprises qui installent des sols antidérapants comme des concurrents.
Scénario d'usage du produit ou du concept envisagé
Jean-Yves travaille sur la plateforme multimodale de Dourges depuis maintenant 17 ans. Son job consiste à assurer la bonne coordination et le déchargement des porte-conteneurs. Il passe beaucoup de temps dehors. Il y a 4 ans, il a eu une urgence sur un des ponts de la plateforme. Dans la précipitation, il a glissé sur une plaque métallique gelée. 2 mois d’arrêt de travail s’en sont suivi à cause d’une hanche cassée. Après étude, l’entreprise s’est retrouvée confrontée à un problème qu’elle ne savait pas palier. En effet, la loi oblige les ouvriers à travailler avec des chaussures de sécurité, un casque, des gants… Cependant, l’hiver, quand la température chute, le caoutchouc antidérapant des chaussures de Jean-Yves durcit et perd son effet antidérapant. Les responsables de la plateforme multimodale ont donc décidé d'investir pour concevoir une sous-chaussure chauffante. Maintenant, Jean-Yves enfile ses sous-chaussures antidérapantes tous les matins. Il lui suffit de récupérer les deux batteries qui ont chargé la nuit, de les accrocher à ses mollets, de les brancher, et c’est parti pour la journée. Ses chaussures accrochent beaucoup mieux à tout type de surface et en plus, les résidus thermiques chauffent ses pieds. Il s’agit donc également d’un produit de confort. Le port de ces sous-chaussure est maintenant obligatoire lorsque la température est négative. Chaque soir, en les enlevant, il lui suffit de retirer la batterie de sa pochette en bas du mollet, de la poser sur son chargeur afin qu’elle charge toute la nuit.
Réponse à la question difficile
Pour notre projet, la plus grosse problématique est clairement la batterie. Quelle type de batterie utiliser, quelles dimensions et quel poids possible ? Ou positionner cette batterie pour qu'elle gène le moins possible l'utilisateur. Il faut également que la batterie soit bien mise à l'écart du froid et de l'humidité, pour des questions de sécurité évidentes.
Pour répondre à cette problématique, nous avons décidé de fixer la batterie sur le bas des mollets de l'utilisateur à l'aide d'une sangle et d'un scratch. En effet, il serait difficile de placer la batterie directement dans la sous-chaussure car nous allons essayer de minimiser l'épaisseur de celle-ci. De plus, il pourrait être plus dangereux de placer la batterie sur un coté de la chaussure car en cas de choc, la batterie pourrait être endommagée.
Préparation du projet
Choix techniques : matériel et logiciel
- 2 Arduino Pro Mini [1]
- 1 bouclier USB vers UART pour mini Arduino [2]
- 4 capteurs de température et humidité DHT22 [3]
- 2 MOSFET [4]
- 1 batterie [5]
- 1 film de tranfert thermique [6] Référence SILPAD400AC
- 1 Bobine fil résisitif [7]
- 1 paire de chaussure de sécurité (utilisation de nos chaussure)
- 1 plaque de caoutchouc antidérapant antivibration [8] (achetez, remboursement par la suite)
- 1 Rouleau de scratch [9] (achetez, remboursement par la suite)
Liste des tâches à effectuer
- Code de l'Arduino Pro Mini
- Doit convertir la trame binaire des DHT 22 en une température
- Doit comparer cette température à un seuil.
- Si la température est inférieure au seuil, on active la sortie de l'Arduino pour commander le MOSFET
- Choisir la manière de chauffage Deux choix s'offrent à nous pour l'instant
- Chauffer via un film de la forme de la semelle sur lequel on colle un fil résistif
- Utiliser des LED Infrarouge pour chauffer qu'on mettrait en série avec une résistance pour commander le courant entrant
- En fonction de la manière de chauffage Choisir la batterie adéquat (courant et tension)
- Choisir le MOSFET
- Tester la chaleur émise par le fil résistif en fonction de la tension d'alimentation et du courant de sortie max.
- Etudier le montage Arduino - PWM - MOSFET
- Tester l'efficacité du film de transfert thermique.
- Faire le schéma PCB de notre montage pour y souder en CMS le MOSFET.
- Etudier la partie mécanique du projet : découpage laser de la semelle, collage des deux demi-semelles, installation des capteurs de température et création du boitier de la batterie et de l'Arduino.
cahier des charges
Dans ce projet nous avons donc défini le cahier des charges à partir du problème posé précédemment. Tout d’abord la priorité était d’avoir un réglage automatique de la température de la semelle. L’utilisateur ne devra donc pas modifier la température en fonction de la semelle. L’avantage de cette fonction est tout d’abord que la personne utilisant ces chaussures ne doit pas se soucier de la température extérieur lors de son utilisation. Dans un second temps, la semelle ne sera pas abîmé par une surchauffe du fil car le système assurera une température qui ne dégradera pas la chaussure. Ensuite la taille de la semelle doit être adapté pour un pied moyen d’homme . Le prototype sera donc basé sur une pointure 42/43. Nous avons aussi établie que le bloc batterie comprend le circuit électronique et la batterie : ce boitier devra venir se fixer derrière le mollet à l’aide de scratch ou venir se poser dans une poche basse du pantalon. Par ailleurs, la semelle s’attachera grâce à des scratch au niveau de la cheville et du bout du pied. Enfin l’autonomie du système sera d’environ 2h30 voire 3h afin de garder la semelle à la bonne température durant une demie journée de travail.
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Heures S11 | Heures vacances | Heures Après vacances | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 4 | 4 | 0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 20 | 20 | 84 |
Semaine 1
Les premières idées que nous avions, et que nous avons pu rapidement éliminer ou remplacer étaient :
- Contrôler la chaleur avec une tension variable car l'Arduino peut uniquement sortir une seule tension.
- Utiliser un JFET comme interrupteur contrôlé. En effet, il est préférable de commander l'interrupteur en tension plutôt qu'en courant donc d'utiliser un MOSFET.
- Utiliser des résistances de puissance en série pour chauffer la semelle. Nous avons deux autres solutions plus optimales. La première consiste à utiliser un fil résistif chauffant sur un film thermique et la deuxième à utiliser des LED Infrarouges sur un film de transfert thermique également.
Semaine 2
Nous avons pu chercher plus précisément les références des produits recherchés, trouver le lien de l'Arduino mini pro, de son bouclier USB vers UART pour pouvoir le programmer. Nous avons également décidé de changer d'interrupteur. En effet, nous avions décidé d'utiliser un JFET (commandé en courant). Il sera plus simple d'utiliser un MOSFET (commandé en tension) à la sortie de l'Arduino car on peut directement contrôler la tension de sortie de l'Arduino.
MOSFET :
Nous avions besoin d'un MOSFET qui avait un courant de drain maximum assez élevé, de l'ordre de quelques ampères. Il faut que l'interrupteur se ferme quand on a une tension de grille de 5V (tension à la sortie de l'Arduino qui correspond à sa tension d'alimentation). Nous avons également décidé d'utiliser la technologie CMS pour que notre composant soit le plus discret possible. Nous avons donc pu définir la référence de ce MOSFET.
Semaine 3 et 4
C'est à cette séance que nous avons pu finaliser la commande de tous nos composants. Nous avons décidé d'utiliser une batterie rechargeable USB de tension de sortie 5V, avec une capacité de 5000 mAh. Son courant de sortie max étant 2,1 A.
Nous avons également décidé de changer notre capteur de température. En effet, nous avions choisis d'utiliser des DHT11, cependant, ils ne sont pas précis pour des températures négatives. Nous avons donc décidé d'utiliser plutôt des DHT22, qui sont certes plus volumineux, mais plus précis et efficaces dans les températures négatives, qui seront nos températures d'utilisation.
Nous avons récupéré une bobine de fil résistif avec un courant max de 4,1 A et une résistivité de 0,45 Ohm/m.
Pendant cette séance, nous avons récupéré une Arduino Mini Pro, un bouclier USB et un DHT22 ce qui nous a permis de pouvoir commencer et achever notre programme Arduino.
Notre programme doit analyser la trame envoyée par les DHT22 pour en déduire la température extérieure. Puis comparer cette température à un seuil. C'est en dessous de ce seuil que l'on chauffera la semelle. On veut donc activer un MOSFET avec une tension comprise entre 3V et 5,5V. Il faudra donc que nous alimentions notre Arduino dans cette plage de tension. Donc lorsque l'on compare cette température, on active une sortie de l'Arduino.
Voici le code terminé :
#include "DHT.h" // Librairie des capteurs DHT #include "DHT_U.h" #define DHTPIN1 3 // Changer le pin sur lequel est branché le DHT1 #define DHTPIN2 2 // Changer le pin sur lequel est branché le DHT2 #define PIN_SORTIE 13 // Choisir le pin de sortie #define DHTTYPE DHT22 // DHT 22 (AM2302) #define SEUIL 25 DHT dht1(DHTPIN1, DHTTYPE); DHT dht2(DHTPIN2, DHTTYPE); void setup() { pinMode(PIN_SORTIE, OUTPUT); Serial.begin(9600); dht1.begin(); dht2.begin(); } void loop() { // Délai de 2 secondes entre chaque mesure. La lecture prend 250 millisecondes delay(2000); // Lecture de la température du premier capteur en Celcius float t1 = dht1.readTemperature(); // Lecture de la température du deuxième capteur en Celcius float t2 = dht2.readTemperature(); // Stop le programme et renvoie un message d'erreur si le capteur 1 ne renvoie aucune mesure if (isnan(t1)) { Serial.println("Echec de lecture !"); return; } // Stop le programme et renvoie un message d'erreur si le capteur 1 ne renvoie aucune mesure if (isnan(t2)) { Serial.println("Echec de lecture !"); return; } float t=(t1+t2)/2; if(t < SEUIL) { Serial.print("Température Basse, on chauffe !\n"); digitalWrite(PIN_SORTIE, HIGH); } else { Serial.print("Température haute, on chauffe pas!\n"); digitalWrite(PIN_SORTIE, LOW); } }
Nous avons pu tester notre programme avec 1 DHT22 et un multimètre, effectivement, on a une sortie à 3,3V lorsque le seuil est dépassé. Ici, il s'agit de 3,3V car nous avons alimenté en USB. Dans notre cas, nous alimenteront l'Arduino grâce à la batterie de 5V et nous aurons 5V en sortie.
Semaine 5
Nous avons pu étudier le fonctionnement PWM. Il s'agit simplement de découper la tension qui commande le MOSFET avec un rapport cyclique choisi pour pouvoir commander la valeur moyenne et ainsi chauffer avec des intensité différentes.Sans le PWM, nous pouvines uniquement chauffer à pleine puissance ou ne pas chauffer du tout. Grâce à ça, nous pouvons définir plusieurs seuils pour différentes intensités de chauffe.
Pour utiliser ce PWM, il faut utiliser le pin 3, 5, 6, 9, 10 ou 11 en sortie pour commander le MOSFET (les autres PIN ne peuvent pas être configurées en PWM) et utiliser la commande :
analogWrite(PIN_SORTIE, RapportCyclique);
C'est ce rapport cyclique qui déterminera l'intensité de chauffage, il est compris entre 0 et 255. Le rapport cyclique est proportionnel à la valeur moyenne de la tension.
La fin du notre programme change et devient :
if(t < SEUIL1) { Serial.print("\nTempérature Basse : on chauffe !\t"); Serial.print(t); analogWrite(PIN_SORTIE, 250); } else if(t > SEUIL1 && t < SEUIL2) { Serial.print("\nTempérature moyenne : on chauffe un peu!\t"); Serial.print(t); analogWrite(PIN_SORTIE, 127); } else { Serial.print("\nTempérature haute : on chauffe très peu!\t"); Serial.print(t); analogWrite(PIN_SORTIE, 40); } }
Deuxième partie de la séance
Nous sommes allés en C205 pour tester le chauffage de notre fil chauffant. On a utilisé une alimentation qui varie sa tension en fonction du courant demandé. Nous avons fixé le courant à 2,1 A (courant max de sortie de notre batterie). Nous avons pu observer un échauffement du fil. En absence de thermomètre précis, nous n'avons pas pu étalonner notre fil mais il y a bel et bien un échauffement.
Semaine 6
Arrivée de la commande Gotronic et Mouser. Nous avons pu récupérer nos DHT22 ainsi que nos 2 Arduinos pro mini. Nous avons pu tester le bon fonctionnement de notre programme Arduino avec 2 DHT22, chose que nous ne pouvions pas faire avant. Sans trop de surprise, cela fonctionne parfaitement. Aucune raison que cela fonctionne avec 1 DHT et pas avec 2.
Nous avons également récupéré un thermomètre infrarouge. Nous avons pu etalonner notre fil résistif. En voici sa courbe d'étalonnage à Tambiante=22°C
La partie intéressante de la courbe est celle qui va jusque 2,1A, le courant max de sortie de notre batterie. A une température ambiante de 22°C, on a pu atteindre 46°C à 2,1A. Cependant, on utilisera nos semelles exclusivement en cas de température négative. Nous devons donc effectuer ces mêmes mesures dans un endroit ou la température ambiante se rapproche de -5°C. Un congélateur serait idéal.
Pendant cette séance, nous avons pu également commencer le dessin de notre plaque PCB, qui contiendra la carte Arduino, 2 résistances, le MOSFET. Nous avons travaillé sur Altium et avons commencé les recherches sur la footprint de notre Arduino Pro Mini.
Semaine 7
Durant la séance 7, nous avons commencé la partie pratique. Nous avons dans un premier temps fait les soudures sur l'Arduino. Dans un second temps nous avons commencé la création de notre circuit électronique sur Altium. La principale difficulté a été de créer nos composant qui n'étaient pas dans la bibliothèque et plus particulièrement l'Arduino Pro mini.
Semaine 8
Cette semaine, nous avons avancé sur la conception de la carte PCB sur Altium. Création des fooprint de notre Arduino pro mini et de notre Mosfet.
Pour la création de la footprint de l'Arduino, nous avons créé 12 trous espacés de 2,54mm. Les trous ont un diamètre de 0,762MM. Voici la footprint crée :
Voici le schema Altium de notre Arduino
Pour créer la footprint du Mosfet, nous avons utilisé la procédure D-Pak. Pour cela, nous avons eu besoin de la datasheet et principalement de cette partie de la datasheet :
La procédure va nous demander de lui indiquer les dimensions de notre MOSFET. La footprint sera ensuite crée automatiquement.
En discuttant de notre problème au niveau de la batterie, Thierry nous a fait remarqué qu'il était possible que la batterie ne délivre pas forcément 2,1A max. Nous avons donc fait des tests pour vérifier cela. Après quelques test, nous avons pu determiner que la batterie peut délivrer 2,15A max.
Semaine 9
Nous avons rencontré un problème durant cette séance. En voulant tester notre fil rrésistif dans un congélateur à -5°C, nous nous sommes rendu compte que la résistivité de notre fil étatit trop faible. En effet, la tension de sortie est imposée par la batterie : 5V, et le courant de sortie maximu est de 2,1A. Nous sommes donc obligé de mettre un charge en sortie de minimum 2,38 Ohms. Cependant, la résistivité de notre fil est de 0,624 Ohms/m. Cela signifie que nous devont mettre 3,8m de fil dans notre semelle, ce qui représente un trop grande longueur. Nous avons donc 2 solutions pour palier à ce problème : diminuer la tension de sortie ou augmenter la charge en sortie avec des résistance de puissance. La solution des résistance n'est pas optimale car la chaleur sera concentrée sur cette résistance. Nous avons donc penser à diminuer la tension moyenne de sortie grâce à un convertisseur Buck. Nous avons passé du temps à étudier cette idée. Puis nous avons simplifié ce probème en testant directement la résistivité réelle du fil. Il s'avère que la résistivité réelle est supérieure à la résistivité théorique. Cette résistivité est également sensible à la variation de température. Après plusieurs test, nous avons pu trouver un longueur raisonnable qui permet d'utiliser notre fil sans convertisseur Buck ni résistance de puissance.
Semaine 10 et 11
Ces semaines, nous avons réalisé le routage de notre carte et nous l'avons envoyé en production.
Une fois cette carte imprimé, nous avons donc soudé tous les composants dessus. Il n'y a pas eu de difficulté majeure dans cette étape.
Pendant les soudures, nous avons également réalisé sur Onshape la modélisation du boitier qui comportera la batterie et le circuit électronique. Nous avons donc laissé la place pour y faaire passer les bandes scratch ainsi que les fils. Cette boite comportera un couvercle qui servira à pouvoir enlever la batterie afin de la charger. Dans les mesures du boitier nous avons pris en compte une epaisseur supplémentaire afin, de laisser la place pour une protection isotherme afin de garder la chaleur dégagé par la batterie car la boitier sera exposée à des conditions qui ne lui sont pas favorables (températures négatives).
Voici donc la carte finie :
On peut remarquer que les trous laissés afin de mettre les fils utilisés pour le capteur et le fil resistif étaientt trop petit. Nous avons donc du utiliser une autre méthode afin de rendre les connexions possible.
Semaine 12
Maintenant que toutes les soudures sont correctement faites, nous avons commencé les tests de régulation :
La première étape consistait d'abord à vérifier si la lecture des capteurs était correcte.
Comme vous pouvez le voir ci-dessous, nous avons défini trois niveaux de chauffe : "On chauffe" , "On chauffe un peu" et "on chauffe très peu".
Nous avons testé ce programme dans les mêmes conditions de température. Nous avons donc changé les paliers de température afin de voir si les informations envoyées étaient les bonnes. Pour chaque valeur de température, nous avons défini une sortie PWM différente afin de réguler le chauffage.
Pour les différents niveaux de chauffe, nous avons des valeurs moyennes en sortie différentes mais les valeurs max restent de 3.3V afin d'activer le MOSFET et laisser passer le courant.
Une fois cette étape finie, nous avons donc voulu vérifier la tension aux bornes de la résistance afin de connaitre le courant (ajouter un ampèremètre rajoutait de l'impédance au circuit (pinces crocos) ce qui faussait les résultats).
Malheureusement, nous n'obtenons aucune tension aux bornes de la résistance.
Nous nous posons alors plusieurs questions :
Probleme de routage : -nous vérifions si toutes les bornes du MOSFET sont bien connectées et qu'il n'y a pas eu d’inversion : Aucun problème a ce niveau la.
-tensions à l'entrée assez elevée afin d'activer le MOSFET : Nous décidons de faire des tests sur une plaque d'essais avec un MOSFET possédant les mêmes caractéristiques que celui sur que nous utilisons sur notre circuit final.
Avec une alimentation sur la grille de 3.3V et notre batterie en alimentation du Drain : une fois encore nous n'avons aucune tension aux bornes de la résistance. Nous décidons d'augmenter la tension à la grille et apercevons que la résistance se met à chauffer.
Le problème venait donc de la tension de sortie de l'Arduino qui était trop faible pour activer le MOSFET.
Nous retournons sur la datasheet de notre mosfet afin de voir les caractéristiques et nous avons constaté deux choses : -Ce qui nous a induit en erreur au départ est que l'information "tension de seuil maximale" est la tension maximale à laquelle le MOSFET va se mettre à conduire le courant entre le drain et la source et non la tension maximale que la grille peut supporter. Cette information nous la trouvons a la ligne "tension grille source maximum"
De plus la courbe ci dessous nous a permis de savoir jusque quelle tension nous devons alimenter la grille afin de laisser passer un maximum de 2 ampères entre le drain et la source.
Nous pouvons voir que pour une tension Vds de 50V il faut une commande de 6.5V afin d'obtenir au minimum 2A.
De plus à 25°C et pour Vds à 5v il faut au minimum Vgs à 6.5V afin d'obtenir 2A. Enfin nous pouvons aussi voir pour des température plus basse que 20 degrés, nous aurons une conductions plus faible.
Avec ces informations, nous pensons que si l'on prend une tension maximale de commande à 9V nous pourrons obtenir la gamme de courant nécessaire aux différents modes de chauffage.
Il faut donc maintenant, trouver la solution afin d'obtenir 9V a l'entrée. Le moyen le plus simple est de mettre un circuit AOP non inverseur afin d'obtenir nos 9V en commande. le problème de cette solutions est qu'il faut une alimentation de 9V minimum pour l'aop. Afin de répondre à ce problème nous avons décidé d'ajouter une pile rechargeable de 9V.
Nous savons que le maximum en sortie de l'arduino est de 3.3V et que nous voulons autour de 9v en sortie. Il fallait donc un gain de 2.7. Or pour un montage non inverseur, nous avons G=1+R1/R2 donc nous avons pris R1=1.8k et R2=1k afin d'obtenir une sortie proche de la tension d'alimentation.
Une fois la théorie appliquée à notre projet, nous avons voulu tester le circuit afin de déterminer si nos besoin étaient respectés.
Nous avons choisi l'AOP LM358N car il peut être alimenté en simple alimentation de +9V.
Une fois le circuit fait, si nous mettons en entrée 3.3V et un alimentation de 9V nous obtenons ne sortie 7.5V. Cette valeur est un peu inférieure à la théorie mais reste cependant suffisante pour obtenir nos 2A dans la résistance (fil chauffant).
Nous ajoutons donc au circuit, notre MOSFET (IRF530N) avec des caractéristiques identiques à celui que l'on va utiliser au final.
Nous avons donc relevé, pour différentes valeurs de tension à l'entrée du mosfet, la tension aux bornes de la résitance afin de connaitre le courant qui passe et voir si la régulation a bien lieue.
Dans le tableau ci dessus, nous pouvons donc voir que la tension de commande a un influence directe sur le courant qui passe dans la résistance. Cependant, nous obtenons un courant plus faible que voulu pour une tension de 3.3V à l'entrée de l'aop. Cela est dû au fait que notre MOSFET possède des caractéristiques un peu différentes donc le valeur ne sont pas totalement exactes. Cependant, les résultats obtenus sont proche de ceux voulus.
Enfin nous avons obtenu les mêmes résultats lorsque nous commandons la tensions grâce à l'arduino.
Nous décidons donc de faire une nouvelle carte afin de pouvoir obtenir le système final.
Les prochaines étapes du projet vont consister à souder la carte, imprimer le boitier, tester le film thermique et enfin tout assembler et créer l'ensemble circuit semelle.
Semaine Après vacances
Au retour des vacances, nous avons pu nous remettre sur les soudures de la carte. Cette partie n'a pas présenté de soucis réel.
Durant ce temps de soudure nous avons réfléchis à un système qui montrerai bien que le fil se met a chauffé lors de la détection de froid. Nous avons donc penser à une caméra thermique qui nous permettrai de montrer un échauffement du fil lors de l'exposition du système au froid.
Nous avons donc cherché une caméra qui pourrait être présente a polytech afin de filmer mais vous avons été réorienté vers l'utilisation de la caméra Infrarouge présente sur la Kinect. En effet celle ci utilise cette technologie afin de reconnaitre les personnes qui se trouvent devant.
Après quelque recherches nous avons trouvé qu'il était possible d'utiliser uniquement la caméra infrarouge en modifiant le code utilisé pour l'utilisation de la caméra. Nous avons donc téléchargé les IDE nécessaires a l'élaboration des modifications de code. Une fois les logiciels installé, nous avons trouvé des exemples de code qui sont directement implanté dans la caméra. Cependant lorsque nous lancions le programme, le pilote de la caméra se désinstallé et n'était plus retrouvé par la machine.
Cette partie du projet étant supplémentaire, nous avons décidé de la remettre a plus tard afin de se concentrer sur les tests de notre carte.
Maintenant que tous les composant sont soudé, nous pouvons réaliser les tests de notre carte :
Tout d'abord nous vérifions si les températures des capteurs sont bien récupérés par le programme qui adapte sa tensions de sortie en fonctions de la température ressenti. (les résultats sont les mêmes que nous avons obtenu lors du premier essai )
Ensuite nous nous assurons le bon fonctionnement du circuit amplificateur non inverseur : Nous obtenons bien les mêmes caractéristique que sur la plaque d'essai :
En entrée nous avons une tension maximum de 3,3V et en sortie nous obtenons une tension de 8,2V. Le gain théorique était de 2,7 (tension maximum en sortie théorique était donc de 8,91). Cependant la valeur obtenu est suffisante afin de laisser suffisamment de courant entre le drain et la source ( d'après la datasheet, nous pouvons laisser passer près de 10A).
Nous commençons donc la vérification du passage de courant entre le drain et la source en regardant si nous avons un échauffement. Malheureusement, nous ressentons un échauffement très faible et non significative. Nous regardons donc de plus près le système afin de trouvé d'ou vient le problème : -Nous observons dans un premier temps que le Mosfet chauffe très rapidement (jusqu'a décollé la soudure) ce qui peut limiter le courant Drain Source (sur la datasheet la température est un facteur important a prendre en compte afin de connaître le courant max traversant le composant) -Dans un second temps nous observons aussi une chute de tension important entre le drain et la source. (théoriquement celui ci doit être proche de 0). Encore une fois, cela vient peut être de son échauffement. La tension entre le drain et la masse, nous avons 5V et au borne de la résistance nous retrouvons uniquement 1,8V.
Afin de résoudre le problème de l'emballement thermique, nous décidons d'y souder un radiateur (plaque de métal qui servira de dissipateur thermique ).
Après cette ajout, nous avons testé de nouveau afin de voir si, l'emballement thermique était géré et si la tension aux bornes de la résistance était plus grand et donc que le courant était plus important. Nous observons bien que le Mosfet chauffe beaucoup moins grâce a son radiateur mais cependant nous observons encore 2V aux bornes de la résistance.
Nous décidons donc a ce moment de changer de mosfet(IRF530) afin de voir si, l'emballement thermique précédent n'aurait pas abimé le composant.
Après avoir changé de composant, nous réalisons dans un premier temps, les tests sur une plaque d'essai. Nous observons alors une petite amélioration mais rien de significatif. Nous avons donc étudier de plus près le application de l'IRF530 afin de voir comment il est utilisé. Nous avons donc trouvé qu'un résistance de 12 Ohms en commande était suffisante et idéal. Le changement fut important et nous n'observions aucun emballement thermique.
Nous avons donc décidé de changer définitivement sur notre circuit le mosfet. Avant les premier tests, nous avons changé la pile d'alimentation de l'AOP et celle ci délivre 9,2V.
Avec tous ses changement, nous observons une tension au borne de la résistance chauffante une tension de 5V et un courant de 1,8A.
Le système devient donc fonctionnel !
Nous décidons après ce test de tout assemblé pour tester réellement la semelle en conditions réelle
Une fois la semelle montée, nous la mettons dans un congélateur à -10 degrés pendant près de 10 min et attendons le résultat. En sortant la semelle, nous avons senti une semelle tiède ce qui nous laisse pensé que la commande de la température fonctionne correctement et que le caoutchouc se réchauffe au contact du fil mais surtout du film thermique qui permet une meilleure propagation de la chaleur.