IMA4 2017/2018 P15

De Wiki de Projets IMA
Révision datée du 12 mai 2018 à 00:00 par Tcattela (discussion | contributions) (2.2) Test du boost converter)

Sommaire


Présentation générale

Description

Notre objectif est le suivant :

L'institut CAMSP Montfort s'occupe d'enfants sourds ou malentendants. La plupart de ses enfants sont équipés de systèmes de prothèses auditives. Or, il y a reste certains enfants qui ne peuvent pas être appareillés. Ainsi, l'institut à eu l'idée d'équiper les enfants d'un objet vibratoire qui soit connecté au son que ferait le praticien : cela permettrait notamment à l'enfant de :

  • prendre conscience du monde sonore, auquel ils n’ont pas accès du fait de leur handicap
  • développer une fonction d’alerte
  • renforcer les informations sonores apportées par leur appareillage
  • compléter les informations visuelles

Or pour l'instant, il n'existe aucun dispositif de la sorte mis sur le marché (car trop peu d'enfants concernés). Nous allons donc créer ce dispositif qui sera mis en open source.

Objectifs

Notre travail consistera donc à créer un dispositif vibrant réagissant au son que produira le praticien. Ce dispositif devra :

  • être facile à prendre en main ou a déplacer sur le corps de l'enfant (une balle)
  • Pouvoir avoir différentes intensités de vibrations (proportionnel à l'intensité de la voix )
  • Etre relié à un micro pour capter le son du praticien
  • Etre équipé d'une application Android permettant de gérer :
    • une base de données assurant le suivi médical des enfants
    • régler la plage de vibration souhaitée (suivant la sensibilité de l'enfant)
    • pouvoir faire vibrer la balle manuellement

Analyse du projet

Positionnement par rapport à l'existant

Un prototype permettant d'affiner le cahier des charges de l'institut à déjà été conçu durant un projet IMA5. Celui ci à déjà notamment réalisé un prototype à partir d'Atmega 328p, d'un bracelet vibrant relié et un micro avec un boitier en imprimerie 3D. tous deux étaient relié par un fil. Le bracelet vibrait effectivement suivant l'intensité sonore. mais n'avait pas plusieurs niveaux de vibrations possible, La liaison entre le bracelet et le micro n'était que filaire. Une application Android gérant le suivi des patients à également été développé, mais il était impossible de gérer l'intensité de la vibration via l'application ou de déclancher une vibration par l'appui sur un bouton.

Analyse du premier concurrent

Nous n'avons actuellement aucun concurrent direct (personne tentant de réalisé une dispositif similaire au notre) Néanmoins, nous avons certains concurrents indirect tel qu'une université au Colorado à créé une oreillette équipé d'un micro qui est capable de capter les sons et le retransmet via bluetooth à un petit dispositif placé sous la langue. celui ci transforme le son initial en motif et l'envoie sous forme de signaux électrique. En revanche, il faut un certain temps d'adaptation avant que ce dispositif puisse fonctionner et il n'est pas forcement adapter pour tout le monde.

Analyse du second concurrent

Notre second concurrent est une brosse à dents électrique. Le principe de faire vibrer un objet pour signifier aux enfants qu'une personne veut leur parler a déjà été expérimenté grâce à une brosse à dents électrique positionnée sur le corps de l'enfant. Or ce procédé est très limité :

  • Un seul type de vibration
  • Présence obligatoire du praticien juste à coté de l'enfant pour déclencher la vibration
  • Pas de convivialité apportée par la forme de l'objet
  • Impossibilité d'automatiser le déclenchement de vibration en fonction du son émis par le praticien.

Scénario d'usage du produit ou du concept envisagé

Tim est un jeune enfant de 2 ans. Malheureusement, il a très vite été diagnostiqué mal entendant, et son état médical ne lui permet pas de porter un implant pouvant lui redonner la possibilité d'entendre quelque sons.

Dans le but d'apprendre à vivre dans le monde qui l'entoure avec son handicap, et ce dans les meilleures conditions, ses parents le conduisent régulièrement au CAMSP MONTFORT, un service social classifié Centre d'action médico-sociale précoce (CAMSP). Dans cet institut, Tim utilise à raison d'une dizaine de minutes par jour une petite balle vibrante. Cette balle a pour intérêt d'aider Tim à comprendre qu'il y a un lien entre des lèvres qui bougent, et la volonté de transmettre un message. Pour ce faire, cette balle émet une vibration proportionnelle à l'intensité de la voix du praticien. De cette manière, la balle devient une sorte de signal mobilisant l'attention de Tim.

Tom est un ami de Tim. Alors que ce dernier sent très bien les vibrations en tenant la balle dans le creux de sa main, Tom a plus de mal à les percevoir. En effet, il est moins sensible que Tim, heureusement, Sophie, la praticienne s'occupant d'eux, peut modifier l'intensité des vibrations grâce à une application installée sur son smartphone Android, directement connecté à la balle. Avec cette application, elle gère également des fiches propres à chaque enfant dans lequel elle note leur évolution grâce à la balle. A la fin de la journée, grâce à la certification waterproof, Sophie peut plonger la balle sous l'eau pour la nettoyer et la reposer sur un socle qui rechargera la balle pour qu'elle puisse la réutiliser le lendemain durant toute la journée.

Réponse à la question difficile

Quelle sera le système de rechargement

Nous optons pour le moment pour un système de rechargement par induction. Ce mode de rechargement a les mêmes caractéristiques qu'un chargement classique par câble, et il en offre l’avantage de ne pas devoir placer un port USB sur la surface de la balle. Ainsi nous pourrons plus facilement assurer son étanchéité.

Quelle devra être l'autonomie de la batterie

Selon notre scénario d'usage, la balle vibrante sera utilisée toute la journée par le praticien, soit 10h sans interruption, et rechargée durant la nuit. Nous disposerons donc une batterie à l'intérieur de la balle. Celle-ci devra fournir de l'énergie à la fois à notre module de contrôle mais aussi au moteur qui actionnera un excentrique permettant à la balle de vibrer.

Préparation du projet

Cahier des charges

Choix techniques : matériel et logiciel

Matériel Fournisseur Quantité Prix à l'unité (€) Prix total (€) URL
Vibreurs Mouser Electronics 8 1.66€ 13.28€ https://www.mouser.fr/productdetail/adafruit/1201?qs=sGAEpiMZZMsMyYRRhGMFNstIkcYqaSq8%2fLLE3lYp32I=
Module Bluetooth 4.0 Low Energy Mouser Electronics 1 16.96€ 16.96€ https://www.mouser.fr/ProductDetail/Adafruit/2479?qs=sGAEpiMZZMsMyYRRhGMFNjWi9ZmxEfRwbLHKJ6JemUg%3d
Bobine de recharge à induction (norme Qi) Mouser electronic 1 12.71€ 12.71€ https://www.mouser.fr/productdetail/adafruit/1901?qs=sGAEpiMZZMsMyYRRhGMFNkyDC95Rd%252blHW46I1pJekjA%3D
Batterie rechargeable LiPo 5.2Ah GoTronic 1 22,90€ 22,90€ https://www.gotronic.fr/art-accu-li-ion-mgl9033-26425.htm#complte_desc
Controleur pour moteur Mouser Electronics 2 3.26€ 6.52€ https://www.mouser.fr/ProductDetail/STMicroelectronics/L293DD?qs=sGAEpiMZZMukgiigmf73gOko5bw7EE67
add on board Mouser Electronics 1 12.71€ 12.71€ https://www.mouser.fr/productdetail/adafruit/1944?qs=sGAEpiMZZMsMyYRRhGMFNjrX4VXoJdtaYLT7dYXdb%2F4%3D
Résonateur 16MHz 12pf Mouser Electronics 1 0,57€ 0,57€ https://www.mouser.fr/ProductDetail/ECS/ECS-160-12-33Q-JES-TR?qs=sGAEpiMZZMuMAfj%252bWfX4nLed60zyr3PUv7Kre5ygQ%252bs%3d
Total

Liste des tâches à effectuer

Calendrier prévisionnel

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 Total
Analyse du projet 8 8 8 8 8

Premier prototype

Voici à quoi ressemblera notre premier prototype :

Le diamètre extérieur de la balle sera de 14cm.

Proto1.jpg

Le revêtement extérieur ne sera pas celui-ci. Nous avons également commencé à modéliser l'application qui ressemblera à cela :

Proto logiciel-page-001.jpg

Prologue

Semaine 1

Durant cette semaine, nous nous sommes fait un aperçu global du circuit que nous allions utiliser. Le schéma était le suivant :

  • Une batterie fournit la tension d'alimentation nécessaire.
  • Cette batterie est rechargée par un bloc de charge prenant sa source sur une bobine à induction.
  • La tension de la batterie diminuant lors de la décharge, sera stabilisée à 5v par un boost converter.
  • Un Atmega328PB, relié à deux contrôleurs moteur, trois leds et un module bluetooth gérera les commandes.
  • Le module bluetooth assurera la connectivité avec le téléphone/tablette Android.
  • Les contrôleurs moteur convertissent le signal PWM provenant de l'Atmega328p en variation de tension.
  • Les contrôleurs moteurs entraînent des vibreurs disposés sur la surface de la balle.


Schéma de fonctionnement

Semaine 2

Nous nous sommes penchés plus sur le cahier des charges, et avons passé la semaine à définir comment serait notre balle vibrante. Il en est ressorti que :

  • La balle sera réalisée via imprimante 3D. Nous devrons ensuite recouvrir cette balle de mousse puis, d'un matériau qui soit adapté au touché de l'enfant. Nous attendons une réponse du CAMSP pour pouvoir définir la texture finale; L’avantage de créer une base en imprimante 3D est que nous pouvons créer la balle de la façon dont nous le voulons, ainsi, Nous disposerons à l'intérieur de la balle d'un support pour tenir la batterie et la carte électronique.
  • Concernant la carte électronique, il a fallu déterminer quels composants nous allions placer. En effet notre carte électronique sera donc composée :
    • D'un Atmega 328p pour pouvoir stocker notre programme.
    • D'un module Bluetooth LE pour pouvoir avoir une connexion sans fil entre la balle et la tablette, et ce avec une grande efficacité énergétique. Les flux de données transmis entre le terminal Android et la balle étant faible, nous pouvons nous contenter des débits offerts par le bluetooth 4 Low Energy.
    • D'une batterie Li-on pour pouvoir alimenter l'Arduino et les vibreurs. Nous avons choisi une batterie de type Li-on car elle est a un bon rapport poids/énergie. De plus, pour des raisons de sécurité (balle manipulé par des enfants ) nous n'avons pas voulu utiliser de batterie Li-Po que nous considérions trop instables (risques d'explosion).
    • Pour recharger la batterie, nous avons décidé de mettre une bobine à induction dans la balle. l’avantage de ce mode de recharge est qu'il se fait entièrement sans fil. Cela permettra un nettoyage facile de la balle, et aucun port USB apparent. De plus, après plusieurs recherches, nous avons décidé d'utiliser une bobine à la norme QI car la porté est très grande (environ 4cm) et vu que nous allons remettre des épaisseurs de mousse sur la balle pour la protéger en cas de choc, il faut que la distance de recharge puisse être assez grande.
    • Des LEDs pour indiquer les différents états de la balle

Nous avons également modélisé le premier prototype de notre balle vibrante pour que le CAMSP nous confirme que ce que nous faisons est bien en adéquation avec leurs attentes

Semaine 3

Durant cette semaine, les derniers choix de matériel ont été faits.

Charge de la batterie

Chargeur de batterie Li-Ion

La batterie utilisée étant de type Lithium-Ion, cette dernière nécessite un chargeur affin d'assurer le cycle de charge et de décharge. La charge est assurée selon les étapes suivantes :

  • Courant maximum constant et tension minimale (3.2v) au début de la charge
  • Augmentation de la tension jusqu'à la tension maximale de charge (5v)
  • Abaissement du courant de charge jusqu'à 0A

Le chargeur MCP73831T (U1) permet d'assurer ce cycle tout en pouvant être supervisé par des leds :

  • Une led orange (D2) témoignant de la charge en cours
  • Une led verte (D1) témoignant d'une charge complétée

La tension d'entrée est également découplée (C1).


Boost de la tension

Boost-Converter

Le module choisi pour maintenir la tension à 5v est le TPS61090. La tension de sortie de ce module dépend de la valeur des résistances R8, R9, R3, R7. Elles sont calculées selon les équations suivantes fournies dans la datasheet :

Équation 1:

R3 = {R7}\times{(\frac{Vo}{Vfb}-1)}

Avec R7 = 200kΩ, Vfb = 500mV d'après la datasheet. Vo, la tension de sortie souhaitée est de 5V.

Après calcul, R3=1.8MΩ.


Équation 2:

R8 = {R9}\times{(\frac{Vbat}{Vlb}-1)}

Ici, R9 = 340kΩ, Vlb = 500mV toujours d'après la datasheet. Vbat est la tension minimale de la batterie à partie de laquelle l'indication de batterie faible se déclenche. Cette tension est selon la datasheet de la batterie de 2.75V, mais nous préférons éviter tout risque : en cas de non utilisation de la batterie pendant une longue periode, la batterie continue de se décharger à cause de courants de fuite. Si la tension de la batterie passe sous les 2.75V, elle deviendra inutilisable, c'est pourquoi nous minimalisons les risques en fixant le tension de batterie faible Vbat = 3.2V.

Après calcul, R8 = 1.8V.

Équation 3 & 4:

Le boost converter nécessite une "boost inductor" afin de stocker l'énergie durant la conversion. Afin de pouvoir déterminer la valeur de cette inductance (L1), il est nécessaire d'estimer le courant moyen Il traversant l'inductance :

Il = {Iout}\times{\frac{Vout}{{Vbat}\times{0.8}}}

On fixe ici Iout à 500mA, ceci donnera une charge plus lente, mais la balle ne chargeant que durant la nuit, le temps de charge n'est pas un problème, de plus ceci prolongera la durée de vie de la batterie. Concernant Vbat, on se place dans un cas très défavorable, avec une batterie extrêmement déchargée à Vbat = 1.8V. La tension de sortie désirée reste Vout=5V.

Après calcul, Il = 1.750A.

Avec ces données, nous pouvons maintenant dimensionner L1 :


\frac{{Vbat}\times{(Vout - Vbat)}}{{\Delta Il}\times{f}\times{Vout}}


Avec ΔIl = 0.2 * Il, f = 600kHz.

Après calcul, on trouve une inductance Il = 5.5uH au minimum.


Les capacités en entrée, C2 et C3, sont des capacités servant à améliorer le comportement transitoire du montage, et sont conseillées respectivement à 10uf et 0.1uf d'après la datasheet.

La capacité C5 en sortie sert à limiter le ripple (résidus de variation de tension), elle est conseillée à 100uF pour une sortie de 5V.

Enfin, la présence de leds informent des états du circuit :

  • Une led bleue (D3) branchée sur la sortie 5V confirme la présence de 5V.
  • Une led rouge (D4) alimentée par un transistor (Q1), commandé par la tension Lbo indique une batterie faible.



Gestion du bluetooth

Convertisseur 3.3v

Le module bluetooth choisi fonctionne en 3.3v, or la seule tension d'alimentation présente est 5V, il faut donc un convertisseur 5v vers 3.3v. Nous nous sommes orientés vers un montage avec le MIC5225-3.3 (U5). Des capacités de découplage (C7 et C8) sont également ajoutées ainsi qu'une diode Schottky afin de protéger le circuit.


Les choix étant faits, l'étape suivante était la conception du PCB ainsi que de ses composants. Initialement, pour une question pratique, les composants choisis étaient de taille 1206. Mais rapidement nous nous sommes rendus compte que les composants, de par leur nombre, prendraient trop de place sur le PCB et ne nous permettraient pas de le compacter comme souhaité. Nous nous sommes alors orienté vers des tailles 0603.


Schéma de fonctionnement

Avec les informations précédentes, on établit le schéma suivant :

Schéma complet

Semaine 4

Nous nous sommes penché plus en détails sur la création de l'application Pour créer l'application mobile, Nous avons décidé d'utiliser le langage Java. En effet nous devons créer une application Android et après plusieurs recherches, il nous est apparu que le langage Java avec l'aide D'Android Studios était le plus adapté. Nous aurions pu utiliser d'autres IDE (appInventor; inDesign CS6) Celles-ci sont plus facile à prendre en main, mais offre beaucoup moins de possibilités. Seul petit problème, nous n'avons pour l'instant, que des bases assez faible en langage Java. une grande partie de la semaine à donc été consacré à l'apprentissage de ce langage.




Nous sommes ensuite passés à une phase de modélisation des composants sous altium. Certaines footprints étaient déjà disponibles, d'autres non telles que le moduble bluetooth MDBT40 :

Empreinte du module Bluetooth


Premier placement

Durant cette semaine s'est déroulée une longue session de rootage, un premier placement des composants a pu être proposé. Cependant, certains problèmes ont pu être relevés :

  • La largeur des pistes par défaut à 0.6mm n'est pas adaptée, en effet, les pads les plus étroits sont ceux du booster de tension avec 0.35mm.
  • La face inférieure du booster de tension n'est pas reliée à la masse alors qu'elle le devrait selon sa datasheet afin de dissiper la chaleur. Cela implique également que les pistes ne peuvent pas passer sous ce composants (sur la face supérieure).
  • Le placement du module bluetooth n'est pas correct, il doit être idéalement placé en bordure du PCB afin que les interférences ne soient pas un problème. De plus, il est préconisé dans la datasheet de ne pas faire passer de pistes sous ce module (toujours sur la face supérieure). Afin de pouvoir faire passer des pistes sous le module (face inférieure), une masse doit être présente sous le composant en face supérieure. Enfin, le coté de l'antenne coté PCB (ici le coté gauche), doit être espacé de 1 centimètre du reste des composants/pistes.
  • Les angles aigus doivent être supprimés afin d'éviter de générer du bruit.
  • Le placement des composants doit être revu afin de réduire au maximum la taille du PCB.
  • Le placement de composants doit être fidèle à celui préconisé dans les datasheet, surtout au niveau des composants fonctionnant à fautes fréquences (le booster de tension, qui fonctionne en PWM à 600kHz).



Semaine 5

Pour la partie application :

  • Nous avons continué à nous former sur le langage Java. En fin de semaine, nous avons téléchargé l'application Andoid Studios et avons commencé à nous familiariser avec la programmation pour la création d'applications (notamment via le tutoriel d'Openclassroom).



Pour la partie PCB : Les placements de composants ont été revus afin de corriger les erreurs de la semaine précédente.


Cette version de PCB sera très proche de celle gravée lors de la réception des composants.

Semaine 6

Maintenant que nous connaissons les dimensions de la carte électronique ainsi que des différents composants qui nous servirons à créer notre balle vibrante, nous pouvons commencer avons réfléchi sur comment nous allions créer la balle en elle même. En effet nous ne pouvons pas remettre à notre client ( le CAMSP ) simplement un logiciel et des circuits électrique mais il faut bien une balle. Ce premier prototype sera réalisé en imprimante 3D. Nous pensons ensuite envelopper de mousse le modèle 3D que nous aurons fabriqué pour lui donner une meilleur résistance au choc.

Nous devons donc créer une balle qui respectera les exigences suivantes :

  • Avoir un diamètre de moins de 15cm pour que l'enfant ou le praticien puisse la manipuler avec aisance.
  • Fixer la carte électronique et la batterie de manière à ce que ces dernières ne bouge pas lors des manipulations de la balle vibrante.
  • Avoir des emplacements pour pouvoir poser des vibreurs ( 6 au total ).
  • Avoir des trous pour pouvoir placer des LEDs et un interrupteur.

Nous avons réfléchi à comment nous pourrions fabriquer une balle répondant à tous ses critères et nous avons ensuite modéliser notre prototype sur le logiciel de CAO OnShape.

Après réflexion, nous avons décidé de faire deux parties pour la balle, nous assemblerons ensuite ces deux parties via un système de clips. La partie basse de la balle devra contenir le PCB, la bobine à induction ainsi que 3 vibreurs tandis que la partie haute aura la batterie et les trois dernier vibreurs.

Voici donc différentes vu du premier modèle de notre balle :

Vue de coté
Vue isométrique

Comme on peut le voir sur les images ci-dessus, la balle ne sera pas totalement ronde mais aura une partie plate. Nous avons prit cette décision pour que la balle puisse être rechargée par induction. En effet, la bobine à induction doit obligatoirement être posé sur une surface plane pour pouvoir fonctionner de manière optimale. De plus le fait d'avoir cette surface plane nous permettra de poser la balle et de la manipuler plus facilement.

La bobine sera donc déposé au fond de la balle est sera fixé avec une pointe de colle et du ruban adhésif pour que la bobine puisse bien plaquer contre le PLA de la boule. Les données constructeur nous indiquait que la portée d'une recharge par induction QI était de 4cm. une fois le matériel reçu nous aovns fait nos propres tests pour vérifier la porté. Il nous est apparu que au delà de 1cm, l'échange de tension n'avait plus lieu. Il est donc très important que la bobine plaque bien contre la balle pour que celle ci soit au plus près du chargeur lorsqu'on pose la balle sur la base. Nous avons mis une épaisseur de balle de 5mm. Nous avons également prévu des renfoncement pour pourvoir placer les vibreurs, de cette façons, nous pourrons les placer exactement à égal distance et nous aurons également une meilleur vibration.

Comme on peut le voir sur la figure ci-dessous, nous avons deux plaques rebords qui serviront à maintenir la carte électronique.

vue de dessus

La carte viendra se poser sur les rebord, et deux plaques viendront par dessus le PCB. ceci seront munies de tétons qui viendront s'enficher dans les trous prévu à cet effet. Ainsi la carte sera pris en tenaille et ne pourra plus bouger. Nous avons modéliser ce système de fixation sur le logiciel OnShape pour vérifier que toutes nos dimensions concordaient et que cela était viable :

modélisation du système de fixation du PCB

Notre modèle étant terminé nous avons pu l'enregistrer au format STL et l'imprimer sur la Witbox du fabricarium. Il devrait normalement être imprimé la semaine prochaine.

Semaine 7

Partie Bluetooth

Bluefruit LE

Les premières commandes ont été livrées, nous avons alors pu commencer à travailler sur le module bluetooth de Adafruit (Bluefruit LE) que nous avions commandé afin de pouvoir commencer le développement de l'application android avant d'avoir une version finale du PCB.

Cette carte est basée sur le MDBT40, une carte de développement elle même basée sur la famillede puces nRF51 de Nordic Semiconductor. Cette carte de développement permet donc une connectivité bluetooth 4.2 BLE. Cette dernière fonctionnant avec des tensions de 3V, Adafruit n'a fait qu'abaisser la tension de 5V délivrée par un Arduino à 3V grâce à un convertisseur MIC5225-3.3 que nous réutiliserons dans notre PCB. De plus, afin de protéger les IO de la puce du 5V provenant de l'arduino, des diodes sont placées afin d'abaisser la tension à 3V.

Le but ici est d'initialiser une communication série entre l'arduino et le module bluetooth. Ce module possède un mode UART, lui permettant de se connecter à un téléphone Android et de recevoir et envoyer des trames série. Adafruit fournit des exemples de programmes arduino, avec une librairie spécialement faite pour le module, et même une application android permettant de tester la communication.

Le but ici étant de développer notre propre application, il nous a semblé indispensable de se séparer le plus possible des sources et lourdes appendices de Adafruit. La première étape a donc été de remplacer l'application conseillée par adafruit par une application plus générique : Serial Bluetooth Terminal, cette dernière permettant le strict minimum : la communication série en bluetooth. L'application est disponible à cette adresse sur le playstore : https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=fr

Nous avons ensuite entrepris de modifier le code de Adafruit afin de pouvoir contrôler indépendamment les 3 sorties analogiques. Pour cela, la convention adoptée pour la trame est la suivante :

  -Un bit de start sera modélisé par la lettre a, b ou c afin de contrôler respectivement les sorties 1, 2 et 3.
  -Au plus 3 chiffres formant un nombre compris entre 0 et 255 (pas du PWM de l'atmega328p)
  -Un bit de stop (envoyé automatiquement par l'application)

Le code proposé est le suivant :

 while(1) {
   //acquisition de la data
   if ( ble.available() ) {
     c = ble.read();
     //bit de start
     if (c==97) {
       start1=1;
       data=0;
     }
     else if (c==98) {
       start2=1;
       data=0;
     }
     else if (c==99) {
       start3=1;
       data=0;
     }
     //bits de data
     else if (c<=57 && c>=48 && start1==1) {
       data=data*10+(c-48);
     }
     else if (c<=57 && c>=48 && start2==1) {
       data=data*10+(c-48);
     }
     else if (c<=57 && c>=48 && start3==1) {
       data=data*10+(c-48);
     }
     //bits de stop
     if ((c==13 && start1==1) || (c==10 && start1==1)) {
       data_available1=1;
       start1=0;
     }
     else if ((c==13 && start2==1) || (c==10 && start2==1)) {
       data_available2=1;
       start2=0;
     }
     else if ((c==13 && start3==1) || (c==10 && start3==1)) {
       data_available3=1;
       start3=0;
     }
   }
   //écriture de la data sur la sortie PWM
   if (data_available1==1) {
     analogWrite(motor1_2, data);
     data_available1=0;
   }
   if (data_available2==1) {
     analogWrite(motor3_4, data);
     data_available2=0;
   }
   if (data_available3==1) {
     analogWrite(motor5_6, data);
     data_available1=0;
   }
 }

Partie modèle 3D

photographie de notre premier prototype imprimé de balle On remrque bien le clips qui a cedé


coté prototype de la balle nous avons pu imprimer la partie basse au fabricarium. Cela a été très instructif car ça nous a permis de repérer ce qui fonctionnait mais également ce que ne fonctionnait pas avec notre premier modèle. La conception générale était bonne, mais nous avons eu deux gros problèmes :

  • Entre le moment de la conception et de l'impression, les dimensions de la carte électronique avait changés et nous n'avions pas pensé à prendre cela en compte. Les rebords étaient donc placé trop bas et la carte électronique ne pouvait plus être fixée.
  • Les clips qui devait servir à assembler la partie basse et la partie haute n'était pas du tout assez flexible, de plus il était bien trop petit et fragile. En conséquence, ce qui devait arriver arriver arriva et un des clip s'est cassé lors d'une manipulation.

Cela nous a fait comprendre que réaliser la fixation des deux partie de la balle garce à des clip était faisable mais nous devions changer notre type de PLA voir prendre une autre matière et réaliser de nombreux essais avant de trouver la bonne forme et les bonne dimension. Or nous avions encore beaucoup d'autres points sur lesquels nous devions travailler (réalisation de l'application, du PCB...) pour que nous nous attardions la dessus. Nous avons donc décidé de changer le système de fixation.


photographie de notre premier prototype imprimé de balle On remrque bien le clips qui a cedé


Nous n'utiliserons plus de clips mais des attaches qui viendront se loger dans des renfoncement qui se trouveront dans la partie supérieur de la balle. le renfoncement se rétrécira afin que l'attache finissent pas se bloquer. Pour faire cela nous sommes resté sur le design général du clips mais avons changer quelque peu son ergonomie afin qu'il puisse répondre aux nouvelles contrainte et surtout nous avons doublé son épaisseur pour le rendre bien plus résistant. Le croquis à gauche montre comment les attaches de la partie basse vienne s’emboîter dans les alcôves de la partie haute. Il y aura pour la balle 3 fois ce système d’accroche des deux parties de la balle.

Nous avons donc modélisé ces changements sur la partie basse puis avons nous sommes occupée de la partie haute que nous n'avions pas encore commencé. Il nous a fallu plus de temps que prévu pour faire la partie haute car celle-ci était beaucoup plus complexe que ce que nous devions faire initialement. En effet, il a fallu modéliser les creux pour les attaches ainsi que la fixation de la batterie. Voici donc ce que nous avons après modélisation :

vue de dessus de la partie haute de la balle
vue de dessus de la partie haute de la balle



vue isométrique de la partie haute de la balle


Comme sur la partie basse, on remarque les emplacements pour poser les vibreurs. Nous avons également placé 3 trous pour pouvoir mettre les LEDs du cahier des charges. Pour rappels ces LEDs devront s'allumer lorsque la balle sera connectée, vibrera ou encore sera en recharge. Nous avons fait un trou pour insérer un bouton ON/OFF qui nous semblait indispensable afin d'économiser de la batterie. Et justement, la batterie viendra se poser dans l'emplacement prévu à cet effet, et un couvercle viendra se fixer au dessus pour empécher la batterie de bouger ou de sortir de son emplacement. Le couvercle sera monté serré dans l'emplacement et il sera également muni de 4 ergos qui viendront se ficher dans les 4 petits trous afin de renforcer encore la fixation. Le couvercle à également été modélisé sur OnShape :


couvercle pour la fixation de la batterie
assemblage des parties de la balle pour vérifier que tout s’emboîtait correctement.




Nous avons donc modélisé tout de qu'il nous fallait pour faire notre balle. Mais les temps d'impression étant relativement long ( environ 8h pour la partie basse et 11h pour la partie haute) nous avons voulu être absolument sûr que tout fonctionnerait une fois imprimer. Heureusement le logiciel OnShape comme beaucoup de logiciel de CAO possède un mode assemblage qui nous permet de faire des assemblages entre plusieurs pièces et d'ajouter des contraintes etde vérifier les liaisons. Ainsi nous avons pu nous apercevoir que notre modélisation fonctionnait et nous avons également réalisé quelques ajustement notamment au niveau du jeu entre la pièce mal et la pièce femelle qui était à notre gout trop faible. Sur la photos de gauche, on remarque que nous avons également ajouté les logos de polytech et du CAMSP. Ajoutes un peu d'esthétique à notre balle ne peut pas faire de mal.

Les imprimantes 3D du fabricarium étant très utilisé et non disponible avant au minimum une semaine, Mr Redon nous a proposé d'imprimer les parties haute et basse de la balle pour gagner du temps. Nous avons donc créé les fichiers STL et les avons donné à Mr Redon pou l'impression.




Semaine 8

Pour la partie PCB : Les dernières modification avant gravure ont été apportées :

  -L'épaisseur des pistes régulières (ne véhiculant pas de tension d'alimentation) a été grossie à 0.4mm.
  -L'épaisseur des pistes véhiculant des tensions d'alimentation a été grossie à 0.6mm
  -Dans un souci d'évolutivité, un maximum de pins de l'atmega328p ont été brochés à des connecteurs (pins analogiques et digitaux).
  -Afin d'éviter les soucis lors de la gravure du bootloader de l'atmega328p, deux résistances de 0ohms à souder après la gravure ont été rajoutées sur les broches MOSI et MISO, cette operation n'étant pas nécessaire pour SCK, cette dernière n'étant pas connectée.
  -Une led du module bluetooth a été remplacée par un connecteur, permettant de brancher une LED qui sera montée à la surface de la balle, ceci permettant de donner un feedback à l’utilisateur quand a l'état de la connexion entre la balle et l'appareil android.
  -Des vias ont été rajoutés surtout au niveau du boost converter (ce dernier fonctionnant à une haute fréquence) afin de garantir une bonne masse sur toute la surface du PCB.
  -Le routage a été optimisé au niveau du second contrôleur moteur afin de raccourcir au maximum la longueur des pistes.

Semaine 9

Lors de cette semaine, nous avons pu lancer la gravure de notre PCB après une dernière vérification par Mr BOE et Mr FLAMEN. La gravure s'est correctement déroulée, une inspection à la loupe du PCB n'a révélé aucun défaut. Le PCB est donc prêt pour la soudure. Nous avons donc récupéré les derniers composants (surtout les CMS). Malheureusement le peu d'expérience que j'ai ne me permettait pas de souder tous les composants en moins de 4 heures (affirmation confirmée par Mr FLAMEN et vérifiée lors de la phase de soudure). En effet, un passage au four était désiré, tous les composants se devaient d'être placés avant le passage. La soudure se fera donc la semaine suivante.


Photos de la gravure :

Reste de la semaine : travail sur l'appli android.

Semaine 10

1) Partie soudure

Package 16-QFN (4x4)

Lors de cette semaine, nous avons soudé les composants en trois étapes :

1.1) Soudure des CMS

La première étape est le dégraissage du PCB (à l'aide d'une gomme par exemple) afin d'assurer de bonnes soudures et pas des "collages". On dépose ensuite la pâte à braser sur les points de contact Enfin les composants peuvent être posés directement sur la pâte. Cette étape n'est pas d'une grande difficulté, excepté pour le boost converter (TPS61090) qui a un package 16-QFN (4x4), c'est à dire avec les contacts situés sous le composant, empêchant de voir si oui ou non des ponts se sont formés lors de la soudure. Une fois les composants placés, la carte peut être passée au four. Le résultat est dans ce cas très satisfaisant, aucune anomalie n'est détectée visuellement (pas de pont, de soudure craquelée ou de mauvaise soudure), et les tests au multimètre (continuité entre autre) n'ont pas révélé d'anomalie au niveau de toute la partie recharge, boost de tension, conversion 5v - 3.3v. En revanche, un souci est détecté au niveau du quartz qui est en court circuit avec la masse.

PCB en sortie de four

L'origine du court circuit du quartz est du à une mauvaise lecture de la datasheet du composant.

Extrait de la datasheet du quartz


En effet, le rootage a été fait en pensant que les pins 2-3 et 1-4 étaient liés. Or, comme nous le montre la datasheet, 2 et 4 sont à la masse. Le quartz a donc été extrait de son emplacement grâce à la station à air chaud, le PCB modifié, et le quartz resoudé, avec succès et sans problème cette fois.

1.2) Soudure du module bluetooth

Nous avons fait le choix de ne pas passer le module bluetooth au four. En effet, même si les températures max notées dans la datasheet du module étaient inférieures à celle du four, Mr FLAMEN nous a déconseillé par expérience de le passer au four. En effet, il serait risqué pour le composant de l'exposer à de trop hautes températures. La soudure s'est donc faite à la pâte à braser, au fer à souder, mais aussi avec un fil d'étain. Les premières étapes sont les mêmes que précédemment avec les CMS : dépôt de la pâte à braser sur les pistes, placement du composant, et fonte de la pâte avec le fer à souder cette fois ci. Mon erreur aura été de fondre un côté sans appuyer sur le composant, le résultat étant que ce dernier s'est mis en porte à faux sur l'autre côté. Afin de régler le souci, j'ai rajouté de l'étain sur les pistes dont le contact n'était pas bon.

1.3) Soudure des traversants et des vias

Les seuls composants traversants que nous avons sont juste des headers sur lesquels nous viendrons repiquer des fils qui serviront pour de la programmation, du débuggage, de l'évolution, ou tout simplement pour relier les LEDS, moteurs, et alimentations de la balle. Cette phase du projet est simple mais relativement longue. Pour les connecteurs, même pour une simple masse j'ai pris soin de bien faire la connexion entre les deux faces de la carte. Certains câbles temporaires ont également été soudés, tels que ceux servant uniquement à graver le bootloader de l'atmega328p, et un câble gris permettant de mesurer le 3.3v. Ces câbles pourront être coupés une fois leur tache remplie.

2) Partie debugging

Le PCB étant maintenant entièrement soudé, il peut être mis sous tension pour la première fois. Pour ce faire, je procède par étapes.

2.1) Test de la partie Arduino/Bluetooth

J'injecte du 5V provenant d'une alimentation secteur après le partie de gestion de batterie (je saute donc le chargeur et le boost-converter) : pas de chauffe anormale d'aucun composant, mais le 3.3V est absent, je n'ai qu'une tension résiduelle de quelque mV. Je me penche donc sur le composant ayant pour fonction d'abaisser le 5V en 3.3V (le MIC5225). Ce dernier reçoit bien les 5V, mais ne sort que quelque mV. Je me suis par la suite rendu compte que j'avais fait une erreur lors de la commande : j'ai commandé un MIC5225 et pas un MIC5225-3.3YM5. La datasheet (commune à ces deux composants) nous apprend que le MIC5225-3.3YM5 sort toujours du 3.3V, alors que la tension en sortie du MIC5225 dépend de deux résistances R1 et R2 supplémentaires représentées sur le schéma ci dessous (extrait de la datasheet) :

Cette erreur ayant été découverte dans la nuit de vendredi à samedi, je n'avais pas toutes les valeurs de résistances à disposition. J'ai donc soudé un fil sur la broche 4 du MIC5225, repris le fil du 3.3V et une masse, et avec une breadboard, une résistance fixée, un potentiomètre et cette formule : Vout = Vref(1+(R1/R2)), avec Vref = 1.24V, j'ai pu obtenir un 3.3V correct.

Le problème suivant étant que le module bluetooth ne donnait aucun signe de vie : pas de led, et non détecté par les téléphones. J'ai mis ce problème de coté et ai continué à tester les autres fonctions.

2.2) Test du boost converter

J'ai ensuite injecté du 5V avant le boost converter, toujours avec une alimentation secteur pour ne pas endommager la batterie en cas de souci. Aucun souci, avec une batterie à 3.7V, le boost converter sort un 5V stable, et le 3.3V est aussi stable comme on peut le voir sur la photo ci dessous.

2.3) Test du chargeur li-ion

J'ai laissé la batterie se décharger jusqu'à allumage de la led rouge témoignant d'une faible charge. J'ai branché une alimenantion 5V avant le chargeur de batterie li-ion et après quelque minutes, la led rouge s'était éteinte, témoignant du bon fonctionnement de la fonction de recharge.

Semaine 11

Semaine 12

Partie création de la balle

Nous avons récupéré le vendredi l’impression 3D des parties hautes et basse de la balle vibrante. il y avait énormément de support sur la partie haute. cela était du au fait que le seul moyen d'imprimer la balle était de le faire avec la demi sphère tournée vers le haut. Il nous a fallu environ deux heures simplement pour enlever les supports. Nous avons en effet voulu prendre beaucoup de précaution afin d'être sur de ne pas endommager les parties de la balle. Surtout qu'il y avait des support au niveau des attaches et nous ne voulions surtout pas endommager l'un d'eux. Le fait de doubler l'épaisseur a considérablement augmenter leur résistance. En revanche, une chose assez étrange s'est produite. une des trois attaches s'est cassé des que nous l'avons touché, alors que les deux autres était bien plus résistant. Nous en avons déduit que cela devait provenir d'une erreur ou d'une fragilité lors de l'impression et avons donc décidé de le recoller plutôt que de revoir le design des attaches. La colle utilisé était très puissante mais nécessitait environ 100 heures de séchage. Nous devrons donc attendre la semaine prochaine pour pouvoir assembler les différentes parties de la balle.

Semaine 13

Partie création de la balle

La semaine dernière, L'impression s'est terminée et tout s'est passé comme prévu. la partie basse s'est imprimé avec les modifications que nous lui avions apporté et la partie haute n'as eu aucun souci d'impression. Nous avions un peu peur que les supports gênent ou que la balle ne s'imprime pas correctement mais il n'y a pas eu de souci. Une fois que l'attache a été recollé nous avons vu que cela tenait comme il faut. Nous avons donc enfin pu tester d'assembler les deux parties de la balle ainsi que de fixer les différentes pièces allant dans la balle :

1/ fixation de la batterie :

La batterie rentrait pile dans l'emplacement prévu à cet effet, le trou prévu pour faire passer les fils avaient la bonne dimension. Les choses se sont un peu corsés lorsque nous avons mis le couvercle de fixation. Les 4 ergos que nous avions prévu avaient un diamètre bien trop petit (3mm) et se sont cassé dès que nous avons tenté de les insérer dans les trous. Heureusement le couvercle se tenait même sans les ergos. Nous n'avons donc pas du faire de changement pour la partie fixation de la batterie et avons validé cette partie.

2/ fixation de la bobine à induction

Dans la première impression de la partie basse, nous avions mis une épaisseur de 5 mm en pensant que ce serait assez fin. Néanmoins, nous avions tord et la recharge fonctionnait mais par interruption. chaque petit mouvement stoppait la recharge. Nous avons donc décidé dans le deuxième modèle de réduire l'épaisseur à 3mm. Faire plus fin aurait été dangereux pour la solidité de l'ensemble nous espérions donc vraiment que la recharge fonctionnerait sans soucis sinon nous aurions eu à faire face à un sérieux problème. Heureusement pour nous, la recharge a été un succès. concernant la fixation de la bobine, nous avons simplement fixé du scotche pour bien appuyer la bobine au PLA. Nous pouvons donc valider la partie fixation de la bobine à induction.

3/ Fixation des 6 vibreurs

Les 6 vibreurs ont été très facile à poser. Il a suffit de les mettre dans les emplacements prévu à ces effets. il y avait déjà du double face intégré au vibreurs. Nous avons été assez content car nous avons passé un temps non négligeable à modéliser les trous pour les vibreurs. Mais en définitive, nous avons rattrapé partiellement ce temps dans la pose des vibreurs. Nous pouvons donc valider la partie fixation des vibreurs.

4/ Fixation de la carte électronique

pièce de fixation du PCB avec les embouts cassés


Pour rappel, la carte électronique devait être prise en étaux entre les deux rebords de la partie basse et les deux parties de fixation. Nous avons confronté au même problème qu'avec le couvercle de la batterie. Les embouts des parties supérieurs n'avaient un diamètre que de 5mm. Il était donc encore trop fragile et se sont cassé après quelques aller retour dans les trous. Nous étions donc face à un problème assez important car la fixation de la carte électronique est extrêmement important et nous ne pouvions pas imprimer de nouvelle pièce avec un diamètre plus important car nous n'avions pas la place. Il a donc fallu improviser et utiliser si nous pouvons nous permettre l'expression la méthode "système D". nous avons donc retiré complètement les embouts (pas de demi-mesure) et avons fait un trou eu milieu de la pièce. Nous avons ensuite fixé la pièce à la partie basse en insérant des vices. Ce système est peut-être rudimentaire et pas très élégant mais il a l’avantage de fonctionner. Toutefois pour ne pas abîmer le pseudo pas de vis, il ne faudra pas monter-démonter trop de fois cet ensemble. nous pouvons quand même valider la fixation de la carte électronique.


5/ Fixation de la partie haute avec la partie basse

C'est sans doute la partie qui nous a le plus stressé. En effet, cette fixation est la plus importante de la balle et nous avons utilisé un système de fixation nécessitant une modélisation assez compliqué. Pour pouvoir vérifier que tout fonctionnait correctement il a fallu encore enlever des supports qui se trouvait dans les renfoncements. Çà à été assez compliqué à enlever. Nous avons enfin pu tester. Et la fixation fut un succès ! Une petite vidéos vaux parfois mieux qu'un long discours alors vous trouverez une vidéo du montage des peux parties à l'ardresse suivante : https://www.youtube.com/watch?v=eKNJTRcCt5s

Semaine 14

Documents Rendus