IMA4 2016/2017 P38 : Différence entre versions

De Wiki de Projets IMA
(semaine 9)
(=semaine 10)
Ligne 205 : Ligne 205 :
 
Je me demande si le problème viens de l'alimentation ou du software.
 
Je me demande si le problème viens de l'alimentation ou du software.
  
==semaine 10=  
+
==semaine 10==  
  
 
J'ai trouvé d’où venais le dernier problème de mon pcb.
 
J'ai trouvé d’où venais le dernier problème de mon pcb.

Version du 24 avril 2017 à 13:20

Description du projet

Le but du projet est d'améliorer une veilleuse créée l'an passé. Cette veilleuse doit pouvoir sélectionner une image à projeter ainsi que pouvoir lancer une musique afin d'améliorer la nuit des nourrissons et des jeunes enfants. Il serait de plus intéressant de pouvoir visualiser l'enfant via une webcam. La famille pourrait de ce fait pouvoir passer des nuits sereines et reposantes.

Il serait tout d’abord nécessaire de revoir la partie matériel (coque) qui au fil du temps a subi quelques dommages.

Après cela, il serait intéressant d'améliorer ce prototype pour le rendre plus fonctionnel et plus performant :

  • Permettre de configurer la connexion réseau de la veilleuse,
  • Pouvoir récupérer les images et les musiques dans le cloud, pour l'instant les contenus multimédia utilisés sont ceux stockés dans la veilleuse,
  • Ajouter un comportement de veilleuse statique avec une source lumineuse autre que le vidéo-projecteur,
  • Ajouter des capteurs, d'humidité, de température et de qualité de l'air pour surveiller l'environnement de l'enfant,
  • Les parents doivent pouvoir paramétrer les plages horaires de fonctionnement et de mise en veille.

Précisions sur le cahier des charges

Après discussion avec les professeurs référents et la découverte du prototype, les nouvelles tâches à réaliser en priorité sont :

  • L'allumage et l'extinction de la veilleuse n’est pas idéal. La Raspberry pi n'est pas autonome. Il est intéressant de la relier à une batterie. Il est donc nécessaire d'ajouter un circuit permettant l'extinction et l'allumage proprement (à l'aide d'un bouton on/off). Il sera nécessaire de réaliser un circuit adapté pour contrôler l'ensemble de ces deux fonctions avec un seul bouton.
  • Quand tous les composants auront été implémentés, nous pourrons concevoir l’enveloppe externe qui sera définie selon la place occupée par les composants. En effet l'enveloppe de la veilleuse a été abîmée avec le temps et n'était pas adaptée pour que l'on puisse modifier les composants qu'elle comportait.
  • Nous pourrons changer la configuration de façon à ce que la Raspberry pi puisse accéder à des points d’accès. Il sera ensuite possible de la relier au cloud de façon à directement récupérer les images et musiques dans celui-ci.
  • Enfin l'idée d'une lumière représentant une veilleuse statique pourra être ajoutée.
  • Après avoir pu répondre à toutes ces contraintes, il sera possible de perfectionner le prototype en rajoutant des capteurs d'environnement (chaleur, humidité, bruit).

Tâches à réaliser

Création du circuit d'allumage/extinction :

  • Connecter les pôles "run" à un bouton poussoir.
  • Ajouter le code adéquate pour configurer correctement les broches GPIO de la raspberry pi
  • Ajouter le code pour gérer l'extinction (sudo halt) lors d'une baisse du courant sur une broche GPIO(bouton enclenché).
  • Créer un circuit permettant l'allumage et l'extinction de la Raspberry pi proprement, à l'aide d'un seul bouton.

Création de la structure :

  • Il a été suggéré que je puisse utiliser la découpeuse laser de façon à concevoir une coque simple et épurée.
  • Ayant une large gamme d'outils permettant de manipuler le bois, je me sens capable de pousser cette idée d’enveloppe vers un conteneur plus artistique (bois brute taillé ou planches de palette poncées).


Configuration de la Raspberry :

  • Permettre le choix de la veilleuse statique (uniquement lumière d'ambiance)
    • Configurer l'application déjà créée pour demander à la Raspberry pi d'allumer une LED ou de l’éteindre.
  • Permettre le switch de la raspberry pi de "point d’accès" en "client Wifi" pour accéder à un cloud.
    • Une reconfiguration du réseau sera nécessaire pour lui permettre de communiquer avec un point d’accès.
    • Réussir à connecter la Raspberry à un cloud
    • Prévoir une partie de l'application permettant l'importation de musique depuis ce cloud.

matériel nécessaire

  • Raspberry pi modèle B minimum (ok)
  • batterie 5v, 1 A
  • circuit shut down(une breadboard, une LED, une resistance 220 ohms, 3 fils M/M, 2 fils M/F, un interrupteur on/off)
  • bois de palette
  • dongle wi pi (ok)
  • Rétroprojecteur (ok)
  • timer(circuit de retardement 5 secondes)

calendrier prévisionnel

20h sur le circuit d'allumage

10h sur la structure

40h configuration de la Raspberry

30h ajout de capteurs de contrôle de l'environnement de l'enfant.



Semaine 1 et 2

Pour cette première semaine j'ai tout d’abord pris en mains la raspberry pi.
Grâce à la commande "minicom -os" je me connecte par le terminal afin de directement modifier les scripts du mini-ordinateur.

Je me suis tout d’abord attaqué au circuit d'extinction et de redémarrage de la Raspberry pi.

Pour l'extinction de la Raspberry pi j'utilise un script écris en python se lançant au démarrage, tournant en fond et attendant une information précise pour exécuter un "sudo halt" éteignant la machine.

Un bouton relie la masse à une broche GPIO (broche 23). A la réception d'une chute de tension (bouton enclenché faisant le lien entre la masse et la broche 23) la raspberry pi exécute le script donné si dessus consistant donc a éteindre la Raspberry pi.


IMG 0906.JPG

Il faut maintenant réussir à couper le courant arrivant à la Raspberrypi quelques secondes après cette extinction du système. J'aurai donc besoin d'un "timer" ou "retardateur" pour retarder la coupure du courant qui alimente la Raspberry pi. Le coté pratique est que à la réactivation du courant, la machine redémarrera d'elle même et relancera le script en fond de tache.

Semaine 3 et 4

J'ai donc élaboré un circuit permettant, grâce a un bouton switch d'éteinde la raspberry ou de la rallumer. Je vais vous detailler les différentes parties du circuit suivant:

Veileuse co schem.png
  • La broche GPIO 23 paramétrée en entrée permet la détection du turn off/on du switch.

Lors de la détection du turn off la Raspbberry pi lance la commande "sudo halt" permettant l'arret proprement du systeme. Lors de la détection du turn on cette broche est à 1 et rien ne se passe.

  • La broche GPIO 24(une borche sortie 3,3v) envoie une tension quand la Raspberry est allumée. cela permet a la capacitée de se charger a l'allumage de la Raspberry pi.
  • La résistance et la capacité en parallèle permettent de laisser le temps au système de s'éteindre proprement. en effet a l'extinction le ssyteme prends 7secondes avant de s'éteindre. pendant ce temps la capacité se decherge a la fois dans le transistor qui n'est plus alimenté par la batterie et a la fois dans la resistance en parrallele. La valeur de la résistance et la capacité ont été choisies de façon à laisser le temps nécessaire au système.
  • Pour finir, le transistor est alimenté par une batterie et ne laisse passer le courant uniquement si le bouton est sur on ou si il est sur off depuis moins de 7 secondes approximativement.

Avant de construire la carte électronique de ce montage je me suis lancé dans la construction d'un prototype sur une breadboard. le prototype ne marche toujours pas et je rencontre encore quelques problèmes.

je ne suis pas sur d'avoir besoin du branchement de la broche GPIO24. de plus l'alimentation de la Raspberry pi étant une alimentation USB/microUSB j'ai du faire des soudures pour me permettre le branchement sur une breadboard. Je suis actuellement en train de faire des tests en c202, pour pouvoir résoudre au plus vite les problèmes pratiques rencontrés et pouvoir passer la conception de la carte.

Semaine 5

j'ai toujours des problèmes avec le prototype. En effet le transistor Pmos n’est peut être pas le plus adapté a mon montage. lorsque le courant arrive sur la grille du transistor il est bloqué et lorsque le courant sur la grille est coupé le transistor est passant. il me faudrait exactement l'inverse.

Le transistor N-channel est en effet le plus adéquat pour notre circuit. De plus, j'ai constaté qu'une partie du circuit relié à la Raspberry pi n'était pas utile. il faut bien prendre en compte que la broche "source" du transistor NMOS se relie, à l'inverse des PMOS, sur la masse.

Semaine 6

Après avoir reçu le nouveau transistor il nous fallait revoir le circuit. En effet un N-channel MOS FET ne se branche pas de la même manière. J'ai donc mis la broche "source" a la masse, la broche "grille" sur ma tension et ma broche drain à une borne de ma charge. j'ai du en plus rajouter une résistance nommée Rg pour pouvoir ramener la tension VGS à la masse. J'ai eu beaucoup de problème avec mes prises de mesures et donc à vérifier si mon montage fonctionnait. En effet mes mesures de tension étaient bonnes mais le transistor n'était pour autant pas passant. j'ai compris en relisant des cours de base sur le courant et la tension que la borne négative de ma charge prenait la même tension que ma borne positive si le circuit était ouvert. J'en ai donc déduis que je n'avais pas de courant qui circulait. J'ai donc ajouté une diode pour être sur de bien visualiser la circulation du courant ou non dans ma charge. Je suis enfin parvenu à switcher mon transistor comme je le souhaitais. Il me reste a rajouter les composant permettant le retardement de l'ouverture de mon transistor lorsque je n'alimente plus la grille. C'est a dire rajouter la capacité et quelques résistances.

Après avoir rajouter les composant permettant le retardement, mon circuit fonctionne. Seul problème : La valeur de mes composant a été mal choisie. En effet mon circuit s’éteint en 35 secondes, ce qui est beaucoup trop. Je reviens sur mes calculs et décide donc de prendre une capacité de 10uF et d'ajuster la valeur de la résistance en faisant plusieurs essais. Je cherche à obtenir un temps de décharge entre 8 et 15 secondes pour qu'il soit suffisamment long mais pas excessivement.

Je me suis permis de l'optimiser le prototype en remplaçant plusieurs résistances par une seule jouant les différents rôles attribués aux anciennes. De plus j'ai rajouté des LED pour pouvoir contrôler le bon fonctionnement du circuit et faciliter une future maintenance.

Le circuit ayant changer je vous mes la version finale, qui comporte en plus, la connections logique "détection" permettant d'ordonner a la Raspberry d’éteindre le système.

Carte allumage.PNG


Je passe maintenant a la partie conception du PCB. Voici le schéma PCB final obtenu.


PCB allumage.PNG

semaine 7

j'ai continué la création de mon PCB.

J'ai ajouté un "header" qui me permettra de brancher mon circuit directement sur ma raspberrypi sans utiliser de fils. Il fallait penser à la positions des composants et du "header". En effet je souderai les composants sur la face opposée à celle du "header" pour empêcher une collision entre mes composants et la Raspberrypi.

J'ai fais une première version en cours d'impression qui si elle fonctionne me permettrai de passer a la suite du projet.

ce week-end dernier j'ai commencé ma boite qui contiendra tous les composants de ma veilleuse. J'ai donc choisis de faire une boite en bois plus ou moins cubique de dimensions 14cm*14cm*16cm. je mes ici les croquis m'ayant aidé a finaliser l'objet.


La forme reste simple et efficace car je voudrais consacrer un maximum de temps au cœur de mon projet, c'est a dire les parties électronique et programmation. Malgré cela je pense arriver à une coque agréable à regarder. J'ai donc couper mes six planches de palette industriels. je les ai poncés pourque eviter toutes echardes et blessures possibles. De plus cela donne un aspect plus neuf et agréable à regarder au bois. je suis dans l'optique de l’assembler prochainement et de la vernir.

semaine 8

j'ai raté mes soudures sur la carte. De plus les pastilles et les isolettes etant trop petites, j'ai entrepris de faire une deuxième version. J'ai donc agrandi les pastilles les isolettes et j'ai repensé un peu le circuit. les soudures faites sur cette nouvelle carte etaient bien meilleures. Malgrés tout je suis confronté a de nouveaux problemes:

  • la connexions surb se soudant sur la carte a besoin de deux trous suplémentaire que je vais devoir faire a la foreuse pour eviter l'impression d'une nouvelle carte
  • Apres avoir fait ces trous je me suis rendu compte que je les avaient fait au mauvais endroit.
  • la pause du h'eauder risque de gener les autres fils reliant le psb a l'ordinateur.

semaine 9

Mon PCB rencontre encore des erreurs que je compte corriger cette semaine. La diode située juste après la raspberry pi empeche la mise a la masse du "mini ordinateur". cette tension nulle n'étant pas respectée .L'allumage de la raspberry pi est impossible. J'ai donc dessoudé la diode que je ais remplacer par un fil pour tester l'allumage de ma raspberry pi.


De plus la résistance que j'ai mis en place, qui permet la décharge de ma capacité, est trop faible. La capacité se décharge donc trop vite et le système n'a pas le temps de s'éteindre proprement. J'ai désoudé ma résistance que je vais remplacer par une avec une impédance supérieur.

La tension même en ayant retiré la diode reste a plus de 3v. je cherche donc la raison pour laquelle je ne retrouve pas la masse a la borne négative de ma raspberry pi.

Jai retiré la deuxième diode partie grille du transistor qui posait visiblement problème aussi. le système est cohérent au niveau des tensions. mais la raspberry pi peine a démarrer. J'ai pensé que le courant qu'elle nécessitait a l'allumage était trop faible donc j’ai remplacer la batterie par une prise secteur. Le problème reste le même. la raspberry s'éteint aussi vite qu'elle démarre. Je me demande si le problème viens de l'alimentation ou du software.

semaine 10

J'ai trouvé d’où venais le dernier problème de mon pcb. En effet pour rappel, la raspberrypi n'arrivait pas a s'allumer quand je mettait mon citcuit entre celle-ci et l'alimentation. J'ai donc vérifié les tensions et les intensités a différents endroit du montage. elle me semblait toutes correctes: -5v a l'entrée de la raspberry -0v à la sortie de la raspberry En remplaçant la raspberry par un multimètre je constate qu'il y a 1A de disponible ce qui fonctionne donc correctement.$ Je remarque juste que en fonctionnement la tension a la borne positive de ma raspberrypi descend a 4,6V. ce ne me prarait pas excessif étant donné que d’après mes recherches elles tiendrait entre 4,5 et 5,5V sans problème. Toutefois je décide d’augmenter légèrement la tension en la branchant sur un "power supply" plutôt que via USB sur l’ordinateur. Le problème venait en effet de ce léger manque de tension... Visiblement la batterie que j'utilisais ne fournissait pas assez de tension (5V sur la datasheet, 4,6V en pratique) Je dois donc, pour finaliser cette partie du projet, trouver une batterie fournissant légèrement plus que 5v de tension. Mon circuit fonctionne avec 5,5v injectés.

feuille d'heure

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
Définition cahier des charges 2h 4h
circuit d'allumage 2h 4h 4h 2h 8h 8h 8h 8h
structure 2h
configuration Raspberry 2h 4h 4h 2h
ajout des capteurs d'environnement

sources

http://www.framboise314.fr/ma-framboise314-fait-risette-ajouter-un-bouton-de-reset-au-rasperry-pi-version-b/
http://hardware-libre.fr/2013/07/raspberry-pi-5-ajouter-un-bouton-materiel-avec-python/
http://hardware-libre.fr/2013/07/ajouter-un-bouton-dextinction-avec-python/
http://www.framboise314.fr/ma-framboise314-fait-risette-ajouter-un-bouton-de-reset-au-rasperry-pi-version-b/
http://www.raspberrypi-france.fr/tutoriel-se-connecter-wi-fi-raspberry-pi-3/