IMA5 2018/2019 P16 : Différence entre versions
(→Choix de techno de communication sur le terrain) |
(→Préparation du projet) |
||
Ligne 73 : | Ligne 73 : | ||
Je partirai sur des modules Xbee pour la communication longue portée, ils ont l'avantage d'etre assez simple d'utilisation, et permettront de ne pas perdre de temps. (J'ai pu deja travailler avec lors de mon projet IMA4) | Je partirai sur des modules Xbee pour la communication longue portée, ils ont l'avantage d'etre assez simple d'utilisation, et permettront de ne pas perdre de temps. (J'ai pu deja travailler avec lors de mon projet IMA4) | ||
− | |||
− | |||
− | |||
=Réalisation du Projet= | =Réalisation du Projet= |
Version du 19 décembre 2018 à 21:43
Sommaire
Présentation générale
Description
Le sportif amateur ne dispose que de peu de retour quant à ses performances, notamment lors des entraînements. Dans les sports collectifs, le seul retour possible provient des entraîneurs, qui eux-même ne disposent pas de données chiffrées.
Nous proposons de réaliser un ensemble de capteurs permettant de :
- Mesurer différents paramètres du sportif ; - Collecter ces informations au niveau d\'une base (portée par le sportif) ; - Transmettre ces informations à une base posée sur le bord du terrain.
Une version légèrement modifiée des capteurs pourra être disposée sur le terrain, voire dans les ballons.
Objectifs
Concevoir et réaliser des objets connectés permettant de mesurer les performances sportives et d'adapter l'entraînement
Il sera necessaire de mettre en place differents système pour y parvenir :
- Un réseau de capteur placés sur le sportif, connectés à une base plus puissante accrochée sur son dos/sa ceinture : Base Portable (BP) - Un réseau de capteur placés sur le terrain (plots/cerceaux/balises) afin de verifier la bonne réalisation des exercices - Une base posée sur le bord du terrain (PC/Tablette) qui récuperera les données et permettra un affichage : Unité de controle (UC) - Une communication entre la BP sur le sportif et l'UC
Préparation du projet
État de l'art
Analyse des concurrents : FitBit
Fitbit est une société américaine fondée en 2006 qui conçoit et vend des équipements connectés. La force de leur produit est leur facilité d’utilisation en plus de leur grande inter-compatibilité avec différents moniteurs grâce à la technologie ANT+. Cependant ces produits coûtent une certaine somme, et ne propose qu’un panel réduit de données récoltables. En général ces derniers ne mesurent que la température, le rythme cardiaque ou les calories dépensées de l’utilisateur, mais en aucun ne permettent de monitorer ses performances
Analyse des concurrents : Strava
Strava est un réseau social de fitness, utilisant des données GPS dans le cadre de la course à pied, du cyclisme et de la natation afin de récolter les performances des utilisateurs. Ainsi chaque utilisateur peut, grâce aux cartes mis en place sur le site/l'application mobile, voir les trajets parcourus, l'evolution des performances au fil du temps et se comparer avec les autres utilisateurs parmis une selection
Ces données sont recoltées à partir de dispositifs tiers, tels que les bracelets/montres FitBit mais également parmis une plus grande liste de devices
Cahier des charges
- Concevoir une architecture réseau permettant la récolte des données jusqu’au PC
- Définition de la typologie du(es) réseau(x) utilisé(s)
- Définition des technologies utilisées
- Définition du protocole de communication et des trames
- Réaliser les différentes cartes nécessaires au fonctionnement de l’architecture réseau
- Cartes de prototypage afin de valider le modèle et faire fonctionner les différents modules de communication
- Conception des PCB intégrant les modules
- Fabrication des packagings
- Proposer une application sur PC afin de pouvoir visualiser les données
Choix techniques : matériel et logiciel
Choix de techno de communication sur le sportif
Afin de mettre en place la recolte de données issues des performances du sportif, il sera necessaire de mettre en place un système de communication a courte portée (environ 2 mètres) afin d'envoyer les données récoltées par les différents capteurs (acceleromètres, ECG, thermomètre, giroscope...) avec la base qui sera portée par le joueur dans son dos, ou à la ceinture (afin de ne pas trop le gener). Pour ce faire, plusieures technologies sont disponibles et pourraient permettre la mise en place d'une telle communication, il faut donc en choisir une pour se fixer..
802.15.6 : Body Area Network
Nouveau standard pour les communications à courte portée (echelle humaine), beaucoup de recherche encore sur le protocole, très peu de board de developpement, et certaines assez cher. Plusieur techno possibles : extra, over et intra body.
- Extra : Communication RF via des protocoles de com a 2,4Ghz a faible consommation de courant - Over : Communication filaire placée directement sur l'utilisateur ou sur/dans ces vêtements - Intra : Communication en utilisant le corps humain comme couche physique, encore très expérimental mais beaucoup de recherche sur le sujet
802.15.4 : Zigbee
L'avantage du reseau Zigbee est qu'il est très facile a utiliser (et que j'ai deja utilisé plusieur fois la technologie), cependant il est assez consommateur d'energie (environ 50mA à la transmission), ce qui dans notre cas ne pourra pas etre envisagé, car l'autonomie du système sera un point très important du projet
BLE
Le BLE est tout a fait envisageable car il propose - comme son nom l'indique - une communication basse consommation d'energie.
ANT
ANT+ est un protocole de communication sans fil, similaire au BLE, designé specifiquement pour l'envoi de données issues de capteur mais également pour monitorer certain systèmes (notamment en domotique). Il a l'avantage d'être specifiquement désigné pour les équipements sportifs, à tel point que beaucoup de dispositifs fonctionnent aujourd'hui avec. On retrouve notamment les bracelets et montre du style FitBit, mais également plusieurs applications comme des cardiogrammes...
Radio 'simple'
On peut également partir sur de petites radios proposant un courrant d'emission tres faible (2mA), mais il refaudra faire tout l'étage de modulation, de démodulation et d'encodage de l'information, ce qui peut rajouter un travail de conception non négligeable. Cela pourra etre interessant pour un modele final, afin d'optimiser le systeme
Choix retenu
Je me focaliserai sur le protocole ANT en essayant de mettre en place un support a differents device disponible sur le marché, afin que le système global puisse être utilisés avec des produits déjà existant. Je dispose d'ailleurs déjà d'une ceinture Cardiofrequencemetre de la marque Polar (Il ne s'agit pas d'une communication avec ANT mais d'une "simple" communication via un champ magnétique)
Choix de techno de communication sur le terrain
802.15.4 : Zigbee longue portée (~100m)
Le Zigbee permet également une communication assez longue portée lorsqu'il est utilisé en espace ouvert (~100m), et propose un consommation
Wi-Fi
L'utilisation du Wi-fi est envisageable de par l'utilisation du signal en espace ouvert (stade/salle de sports) permettant ainsi de limiter les absorptions/reflections dues aux murs. Cependant le Wifi est très consommateur d'energie de part le fait que ce protocole propose un très grand débit, que l'on ne pourrait pas exploiter complètement
Choix retenu
Je partirai sur des modules Xbee pour la communication longue portée, ils ont l'avantage d'etre assez simple d'utilisation, et permettront de ne pas perdre de temps. (J'ai pu deja travailler avec lors de mon projet IMA4)
Réalisation du Projet
Semaine 1
essais fonctionnement shield arduino olimex + Electrodes
Semaine 2
recherches sur le protocole ANT+ et son implem via un atmega328P / MSP430
Il sera interessant d'obtenir un module du style : [1] pour les tests
Il est possible de se procurer directement le [2] RF (datasheet) a embarqué sur un PCB apres coup, mais cela sera plus complexe a mettre en place pour le prototype puisqu'il faut remettre en place l'antenne comme le montre la figure 6 de la datasheet :
Recherches de modules compatibles Ant+ https://www.digikey.com/product-detail/en/garmin-canada-inc/ANTAP281M5IB/1094-1004-ND/2748494
Info sur la ceintures :
http://arduino-projects4u.com/rmcm01/
https://www.reddit.com/r/electronics/comments/10oct3/polar_heart_rate_monitor_chest_strap_arduino_cant/ (Champ magnétique 5Khz Oo" ?)
Datasheet du rmcm01 permettant d'interfacer avec la ceinture (selon le constructeur)
Sur Adafruit : kit de dev de test de la ceinture T34 https://www.adafruit.com/product/1077
Apres beaucoup de recherche, en vain, afin d'obtenir des informations sur des modules compatibles avec la ceinture T31 de polar, une information a illuminé l’intérêt de mon PFE, comme le dit les avis - très - positifs sur le composant, qui n'est plus disponible, permettant d'interfacer la ceinture à une arduino :
"In addition to working on humans, the Polar T31 transmitter can be strapped to a cow." @Member #322613, Source
====> Problem solved avec la seconde partie du kit de test de la ceinture !! :D
Datasheet du receiver compatible avec la ceinture
Suite du travail
https://www.digikey.com/en/product-highlight/s/stmicroelectronics/stm32-overview
recherches circuit embarqué (capteur): STM32L0 / F0 ? (Cortex M0) : https://www.digikey.com/product-detail/en/stmicroelectronics/STM32L031K6T7/497-16269-ND/5805501 (L : low power // F : fast ==> On s'interesse principalement a une faible conso, on prendra donc le modele L)
24 MHz Quartz (+ capa) Le STM32L0 embarque un oscillateur RC (HSI) de 16 MHz (source : page 23 de la datasheet
https://www.sciencezero.org/index.php?title=STM32L031K6_Microcontroller
Depuis le schéma de la carte NUCLEO-L031K6 (carte de developpement qui embarque un STM32L0) on défini l'environnement passif minimal necessaire au MCU.
- Capa 100 nF sur le reset pour stabilité du signal (eviter des resets intempestifs) - Capa 200 nF sur VDD (Capa decouplage sur l'alim) - Capa 100 nF sur AVDD (Tension reference a l'ADC) - 10K resistor entre le pin BOOT0 et la masse afin de set le PIN à l'etat 0 afin de choisir un boot depuis la flash
Afin de reprogrammer le STM32L0 : "The boot loader is located in System memory. It is used to reprogram the Flash memory by using SPI1 (PA4, PA5, PA6, PA7), USART2 (PA2, PA3) or USART2 (PA9, PA10). See STM32™ microcontroller system memory boot mode AN2606 for details"
recherches base embarquée : La base recevra les données de tous les capteurs embarqués sur le sportif, et devra decoder les différentes trames, afin d'en reconstruire une globale après. Il sera donc necessaire d'avoir un MCU un peu plus puissant.
STM32L1 (Cortex M3 : datasheet) : https://www.digikey.com/product-detail/en/stmicroelectronics/STM32L100RBT6/497-13631-ND/3973519
Selon la carte NUCLEO-L152, l'environnement passif du MCU est similaire a celui du STM32L0, cependant la capacités de découplages est un peu plus grande : elle passe a 400nF.
Commande matos farnell/mouser
Suite a un probleme de commande sur digikey.. voila les composants commandées mais chez farnell, avec quelques ajouts
LED RVB * 5
Xbee Module *2
BLE Module *4 (ou ce module plus petit mais plus cher) Il sera pas possible de les souder au four, mais ca devrait pas trop poser de probleme a la main, pads a 0.7mm pour le plus grand)
Module protection USB (pour faire une carte de programmation)
Resistance 22 Ohm (Adaptation USB) *10 (qtt mini)
Connecteur USB B Micro Femelle a souder *2
Changement de techno
Ayant pas mal de difficulté a trouver de bon module ANT utilisable rapidement, et quelques problemes de livraison de matériel, je décide donc de changer de techno de communication courte portée. Voulant respecter l'objectif de la basse consommation en energie du systeme, je m'oriente vers le BLE.
Avec un peu de recherche, on se rend compte que le BLE propose plusieur typologie de réseau, dont un réseau en étoile, qui pourrait être compatible avec notre objectif. En effet, on souhaite connecter la base portable (centre de l'étoile) aux differents capteurs (extremités) placés sur le joueur
https://blog.groupe-sii.com/le-ble-bluetooth-low-energy/
Trames
Trame capteur vers base
Le BLE propose un débit de 1Mbps, vu la taille de la trame, on pourrait proposer plus de 1000 mesures par secondes.. A voir cependant l'implementation logicielle et le temps de traitement
Trame base vers PC
Le Xbee imposant des trames d'une taille inférieure à 80 octets, cela pourrait donc correspondre.