IMA4 2018/2019 P10

De Wiki de Projets IMA
Révision datée du 22 février 2019 à 15:49 par Abranqua (discussion | contributions) (Choix du microcontrôleur)


Présentation générale : Réalisation d'un capteur de pollution dans l'eau.

  • Élève : Branquart Antoine
  • Encadrants : Alexandre Boé / Xavier Redon / Thomas Vantroys

Description

La pollution de l'eau entraîne une mauvaise qualité de l'eau qui provoquerait des maladies à l'origine de près de deux millions de décès par an dans le monde. Cette pollution peut se présenter sous différentes formes : chimiques, bactériologiques mais aussi thermiques et atteint toutes les sortes d'eaux.

Elle est difficile à détecter puisque ce qui est au fond de l'eau, ou dilué dans l'eau est souvent invisible, et que certains toxiques infiltrés dans le sol ne produisent souvent leur effet qu'après un long délai.

De plus on a du mal à se prévenir des épisodes de pollution (quand la concentration d’un ou plusieurs polluants dépasse les seuils réglementaires horaires ou journaliers) puisque les tests de la qualité des eaux sont souvent ponctuels et ont longtemps nécessité des équipements coûteux : les échantillons d'eau devaient en effet être envoyés à des laboratoires spécialisés le plus souvent distants.

La réalisation d'un capteur autonome permettrait de se prévenir de ces épisodes de pollution de manière beaucoup plus régulière.

Objectifs

Le système autonome en énergie devra pouvoir être déployé et fixé afin que la source d'énergie renouvelable rattachée au capteur ne voit pas son rendement chuté en cas de déplacement qui engendrerait des mauvaises conditions de récupération d'énergie et tout cela dans n'importe quelles eaux.

La fixation du capteur évitera aussi la perte de celui-ci si il est coincé proche des berges nécessitant une intervention humaine.

Il devra être capable de récupérer les dosages d’éléments chimiques significatifs d'une pollution ainsi que le niveau de salinité de l'eau et d'envoyer ces informations par un protocole de communication longue distance à une station de base.

Ce capteur complet assurera donc les fonctions de:

  • Mesures de salinité de l'eau et de densités chimiques grâce à des capteurs du type galvanostat et conductimètre.
  • Traitement de données grâce à un microprocesseur.
  • Transmission de données par le protocole de communication radiofréquence "LoRa" à une station d'analyse.
  • Alimentation par batterie rechargeable par un panneau photovoltaïque.

Bien sûr ce capteur devra être protégé par un packaging imperméable permettant le maintien en service du système pour de longues durées, idéalement sur plusieurs années.

Voici le synoptique du système:

SynoptiqueCapteurPollution.jpg

Ce système sera déployé dans les eaux aux alentours de Lille ou bien dans la rivière Saïgon au Vietnam.

Par la suite il sera possible de continuer ce projet au Vietnam après validation du capteur en apportant une interface graphique ainsi qu'une base de données à la station de base qui serviront à la visualisation des données à n'importe quel moment.

Analyse du projet

Positionnement par rapport à l'existant

On trouve beaucoup plus souvent, en effectuant des recherches, des laboratoires ou des universités qui développent des prototypes se rapprochant de ce projet mais il existe en réalité peu d'industries qui commercialisent des capteurs de niveau de pollution de l'eau.

Les quelques entreprises qui possèdent des produit de ce style mettent à disposition des capteurs avec des mesures ponctuelles ainsi qu'une interface qui est câblée à la sonde et qui nécessite donc de se déplacer au point d'eau que l'on souhaite analyser.

Il existe aussi des capteurs autonomes vendus par ces sociétés mais à des prix onéreux, qui mesurent de nombreux paramètres inutiles dans notre cas et qui semblent être difficile à utiliser.

L'avantage du système développé dans ce projet par rapport au marché actuel serait l'autonomie du capteur ainsi que sa capacité de transmission de données. En effet le système une fois installé n’entraînerait plus par la suite des déplacements vers le point d'eau que l'on souhaite analyser.

Le coût du capteur développé serait lui aussi un avantage puisque de nombreux paramètres inutiles comme la mesure de propriétés physiques optiques ou la mesure de la température ajouteraient des technologies à notre système et augmenteraient le prix. Ici on ne recueillera que les informations de la salinité de l'eau ainsi que la densité des éléments chimiques présents dans l'eau.

Analyse du premier concurrent

La sonde paramètres AP-7000 de la société SDEC spécialiste pour les solutions technologiques pour l'environnement.
sonde AP-7000

Site web de la société

Cette sonde a été conçu pour effectuer des mesures continues fiables et précises des paramètres physico-chimiques dans l'eau.

Elle permet la mesure de paramètres standard (voir: [1]).

Avantages:

  • De nombreux paramètres physico-chimiques mesurées.
  • Nettoyage des capteurs par système de balai-brosse programmable.
  • Corps de sonde en aluminium anodisé (Qualité Marine) pour supporter tous les environnements.

Inconvénients:

  • On doit ajouter des modules de communication AP-PC-KIT (pour la calibration des capteurs et la prise de mesures ponctuelles) et un enregistreur(pour le suivi et l'enregistrement de longue durée des paramètres physico-chimiques).
  • Des paramètres comme la température ou la profondeur de l'eau sont mesurés alors que dans notre cas ils ne sont pas nécessaires.
  • Le prix sans doute élevé au vu des technologies employées et il faut demander des devis pour les obtenir.

Objectifs pour le système recherché par rapport à ce concurrent:

  • Offrir la possibilité d'effectuer des mesures de longue duré sans que le système n'est besoins d'être complété par différents modules.
  • Offrir un produit à un prix attractif.

Analyse du second concurrent

Sonde U-50 de la société HORIBA spécialisée dans le process et l'environnement.
Sonde U-50

Site web du fabricant

La sonde multi-paramètres U-50 est capable en un seul appareil de mesurer et d'afficher simultanément les résultats de 11 paramètres d'indication de qualité des eaux.

Elle est utilisée sur des sites tels que pour le contrôle des eaux souterraines, eaux de rivières, eaux de ruissellement, etc...(voir: [2]).

Avantages:

  • Simplicité d'utilisation.
  • De nombreux paramètres en simultanés.

Inconvénients:

  • Obligation de se déplacer sur les points d'eau pour l'utiliser.
  • Communication par USB avec un PC pour visualiser les données sous format EXCEL.
  • Systèmes non autonomes.

Objectifs pour le système par rapport à ce concurrent:

  • Offrir une communication sans-fil avec une station à distance pour l'analyse des données.
  • Offrir la même simplicité d'utilisation.
  • Offrir un système autonome sur une longue durée.

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

Monsieur Haddock, directeur du ponton Belem port de plaisance situé à NANTES à décider de s'engager en faveur de Ports propres qui est la première et la seule démarche de gestion environnementale des ports de plaisance à l'échelle européenne.

Cette démarche traduit une volonté forte de la part des gestionnaires de port de plaisance de prendre des engagements concrets pour lutter en faveur de la préservation des milieux aquatiques et du développement durable des activités littorales et marines.

Monsieur Haddock pour suivre cette démarche décide de faire appel à un laboratoire d'analyse de la qualité de l'eau, le laboratoire Inovalys situé lui aussi à NANTES.

Ce laboratoire est spécialisé dans les analyses physico-chimiques, microbiologiques et biologiques, sur tous les types de produits liés à l’environnement.

L'équipe de recherche d'Inovalys à développé un tout nouveau type de capteur, le capteur "ClearWater".

Ce capteur imperméable et robuste à un environnement hostile une fois déployé dans l'eau est capable de mesurer les valeurs de densités chimiques dans l'eau ainsi que sa salinité et de transmettre ces valeurs directement par liaison sans fil à la station d'analyse à distance situé à 5 km du point d'eau. Son alimentation s'effectuant par le biais d'une source d'énergie renouvelable, "ClearWater" possède une durée de vie d'environ 5 ans et permets donc d'acquérir des données de manière très régulière sans aucun impact sur l'environnement.

Ce capteur est idéal pour observer l'évolution de la qualité de l'eau à distance, au fil du temps, sur de longues périodes, sans intervention de l'homme.

Grâce à ce capteur, Inovalys propose à monsieur Haddock d'assurer la surveillance de la qualité de l'eau du ponton Belem pour 5 ans, et d'assurer la communication d'épisode de pollution au directeur du port.

Monsieur Haddock pourra par la suite prendre les mesures sanitaires nécessaires pour respecter son engagement envers "Ports Propres".

Site web du laboratoire Inovalys Site web du ponton Belem Site web de la démarche ports propres

Réponse à la question difficile

  • Comment réaliser le packaging complet du capteur et comment assurer son déploiement dans l'environnement ?

Le capteur sera déployé au bord du point d'eau que l'on veut analyser lié à un piquet de robinier, bois avec lesquels sont construit les pontons en contact permanent avec l'eau, qui serait lui-même implanter dans la berge.

Schéma de l'installation

Au niveau du packaging, le capteur sera installé dans une boîte en PEHD (Polyéthylène à Haute Densité). Le PEHD est un polyéthylène qui est un des polymères le plus simple et le moins cher. Il est régénéré et recyclé sous forme de granulés. Il est par exemple utilisé pour produire des caisses en plastique hautement résistantes, des canoës-kayaks, câbles enterrés et des tubes pour le transport de gaz ou d'eau.

Un couvercle de cette même matière sera réalisé qui recouvrerait la boîte et qui sera lié avec de la colle époxy. Un moule en plâtre devra être créé afin de pouvoir couler le PEHD préalablement chauffer.

Il reste encore à résoudre le problème de transport d'électricité entre le panneau et le capteur.

  • Quelle est l'autonomie énergétique et quelles sont les solutions pour la récupération d'énergie ?

Sans parler de la solution de récupération d'énergie qui a été proposé précédemment, si on a une pile de capacité de 3700 mAh et que si l'on regarde la consommation du microcontrôleur + la consommation du module émetteur-récepteur on a une consommation pour 100 envois de données en une heure:

  • Pour une consommation du module de 28 mA par émission soit 280 mA par heure
  • Pour une Consommation de 3,70 mA donc 37 mA par heure du microcontrôleur pour une alimentation à 3,3 Volts et une horloge interne de 8Hz
  • 3700 / 37+280 = 380 heures soit 15 jours ce qui est trop faible. Calculs inspirés de ce site : [3]

En ne prenant pas en compte la consommation des deux capteurs l'autonomie du système est beaucoup trop faible pour répondre aux objectifs donnés, la solution de la récupération de l'énergie par énergie solaire, l'optimisation de l'utilisation du microcontrôleur ainsi qu'un choix judicieux d'un nombre d'envoi par heures peuvent être acceptable pour améliorer l'autonomie du système.

Préparation du projet

Cahier des charges

Fonctions Critères d'appréciation Niveaux d'exigence
FP1 Indiquer de façon autonome le taux de pollution de l'eau La durée de vie du système Autonome
FC1 Donner des mesures fiables Le potentiel électrique d'une cellule électrochimique +/- 10% d'erreur
FC2 S'intégrer de façon harmonieuse dans l'environnement Le taux de rejet de déchets du système Aucun rejet de déchets polluant
FC3 Transmettre les données sur une longue distance La distance de communication +/- 5km
FC4 Établir une communication fiable La réception des données Aucune pertes de données
FC5 Être autonome en énergie La consommation d'énergie du système Durée de vie des batteries
FC6 Être imperméable L’imperméabilité du packaging Taux d'humidité à l'intérieur du packaging ~ 0%
FC7 Nécessiter aucune intervention de l'homme La perte du système sur le point d'eau Aucune perte
FC8 Ne perturber aucun autre systèmes aux alentours Niveau de bruit sur le signal transmis Aucun bruit

Choix techniques : matériel et logiciel

Choix matériel :

Choix logiciel :

  • STM32CubeL0 Logiciel embarqué sur la carte Nucleo -> Packages

Liste des tâches à effectuer

  • Réalisation du PCB qui reliera le microcontrôleur, l'émetteur radio, le capteur type galvanostat, capteur type conductimètre et l'alimentation.
  • Réalisation du PCB qui reliera le microcontrôleur, un port USB pour la communication avec le PC et le récepteur radio.
  • Programmation du microcontrôleur pour le traitement des données reçu par le capteur.
  • Programmation du microcontrôleur pour la gestion de l'envoie de données via l'émetteur radio.
  • Programmation du microcontrôleur pour la gestion de la réception des données via le récepteur radio.
  • Réalisation base de données pour stockage des données des capteurs sur le PC.
  • Réalisation d'une interface pour la consultation des données.

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 15 2 0 0
Rédaction du wiki 12 2 2

Prologue

La phase préparation du projet m'a permis de réfléchir sur ce que devra remplir comme fonctions le système et sur les choix matériels pour tout les aspects du systèmes:

  • Le choix pour le traitement, l'envoi et la réception des données.
  • Le choix pour obtenir une autonomie en énergie.
  • Le choix pour que le packaging soit imperméable

Durant la phase réalisation, après discussion avec les encadrants, je me consacre pour cette partie sur l'aspect conception et réalisation de la carte qui contient:

  • Un capteur de type potentiostat
  • Un module radio émetteur
  • Un microcontrôleur qui gérera le traitement des données reçu par le capteur et la transmission de ces données au module émetteur
  • Une alimentation

Cette carte doit recevoir les données du capteur et de les transmettre à une seconde carte électronique.

Cette seconde carte contiendra:

  • Un module radio récepteur
  • Un microcontrôleur
  • Une alimentation

Cette carte doit recevoir les données de l'autre capteur et les transmettre au PC auquel la carte sera connectée.

En résumé la partie réalisation portera et se limitera sur la conception et réalisation de ces deux cartes électroniques, l'objectif étant d'obtenir des mesures correctes du potentiostat sur un pc à distance.

Semaine 1: Comment faire un potentiostat ?

Recherche sur la technologie du capteur de type potentiostat

Le premier PCB a réaliser en priorité est celui ou le capteur sera intégrer. Pour pouvoir établir le schématique du PCB il faut d'abord comprendre le fonctionnement du capteur et trouver des exemples déjà réalisé pour adapter la technologie pour mon utilisation.

Principe de fonctionnement

Un capteur de type potentiostat est composé de 3 électrodes :

  • Électrode de travail "ET" (en platine)
  • Électrode de référence "ECS" (au calomel saturé)
  • Contre-électrode "CE" (en platine)

De manière à ne pas polluer la contre-électrode avec le métal de l'électrode de travail, il faut prendre le même matériaux que pour les deux électrodes

L'électrode de référence sert à mesurer le potentiel de l'électrode de travail.

L'électrode de travail ne doit être parcouru par aucun courant pour que le potentiel de cette électrode reste constant. Pour fermer le circuit on doit donc utiliser une troisième électrode la contre-électrode.

Ici le capteur aura pour objectif de pouvoir tracer une courbe intensité-potentiel grâce aux mesures effectuées sur les eaux.

La réalisation de cette courbe nécessite d'imposer une différence de potentiel entre l'ET et L'ER et de mesurer le courant traversant l'ET.

Schéma de principe

Potentiostat1bis.png

L'amplificateur opérationnel AO sert à maintenir la différence de potentiel entre la référence et l'électrode de travail aussi proche que possible du potentiel d'entrée de la source Ei. Il ajuste sa sortie pour contrôler automatiquement le courant dans la cellule de telle sorte que la différence de potentiel entre référence et travail soit aussi proche que possible de Ei.

Pour maintenir la différence de potentiel entre la référence et l'électrode de travail, j'utiliserai un convertisseur DAC (Digital to analog) comme c'est le cas dans beaucoup de schéma électrique de projets équivalents que j'ai observé.

Exemple de schéma

Apres plusieurs recherches, j'ai trouvé plusieurs projets avec des explications sur la réalisation d'un potentiostat et plusieurs schéma de réalisation qui devrait être utile pour la réalisation de ma carte:

Le point commun de ces trois montages c'est qu'ils utilisent à chaque fois 4 amplificateurs opérationnel pour la partie capteur. Pour ce qui est de fixer le potentiel entre l'électrode de travail et celle de référence, les trois schémas utilisent trois technologies différentes:

Celui de gauche utilise une sortie PWM de l'arduino pour générer une rampe à une certaines fréquence, celui du milieu utilise un pont diviseur de tension avec une source d'alimentation externe +15/-15, celui de droite utilise un DAC pour générer une rampe.

Les voltmètres de tension présent sur le schéma du milieu représenteront dans mon cas les entrées CAN du microcontrôleur.

En résumé pour réaliser mon capteur il me faut :

  • Un DAC en entrée du capteur
  • Deux CAN en sortie du capteur vers le microcontôleur
  • 5 AOP
  • Des composants passifs (résistances, condensateurs)

En reprenant les idées de ces trois schémas je devrais pouvoir réaliser le pcb comprenant le capteur une fois que j'aurai la solution technique pour le choix du microcontrôleur ainsi que pour la transmission radio sans fil.

Semaine 2: La communication sans fil ?

Choix de la technologie sans fil

Pour pouvoir communiquer les données recueillit par le potentiostat à la station à distance, les deux cartes devront donc comporter chacune un module de communication sans fil. La carte contenant le capteur contiendra donc un module d'émission et la carte qui sera relié au PC de la station contiendra un module de réception.

La communication entre le capteur et la station doit pouvoir s'effectuer sur une distance d'à peu près 5 km. Cela élimine donc de nombreux choix de protocole de communication sans fil.

On peut voir sur ce graphique les différentes technologies disponible :

Technologies de communication sans fil

Le choix de protocole se restreint donc entre la technologie GSM, Sigfox ou LoRa. Pour notre système, les protocoles de type GSM ne correspondent pas aux besoins. Le capteur transmettra peu de données et le protocole de communication devra faible en terme de consommation d'énergie.

Il ne reste plus que deux choix :

  • Sigfox
  • LoRa

LoRa est un réseau open-source pouvant être développé et exploité par n'importe qui dès lors qu'on achète des puces LoRa. Sigfox lui est un réseau propriétaire.

Mon choix se dirige donc vers des modules de communication LoRa.

Quelle fréquence d'émission?

Pour trouver quelles puces utiliser, il faut connaître la fréquence à laquelle le système de communication pourra être développer sans licence. Pour cela je me suis projeté dans le cas ou mon projet continuera au Vietnam. La fréquence utilisable pour développer un système sans licence est la fréquence 868 MHz comme en France comme l'indique ce document [4].

Freqvietnam.png

Module sélectionné, exemples d'utilisation

Pendant la préparation mon choix était porté sur le module Grove du fabricant Seed. Mais après discussion avec M.Boé, il m'a dit qu'il était préférable que le module de communication ne comporte pas de microcontrôleur puisque je devais créer une carte avec le capteur, le microcontrôleur et le module de communication.Je m'étais d'ailleurs aussi trompé sur le choix de fréquence (le module sur présent sur la liste était un module communiquant à 433MHz).

Mon choix s'est donc porté sur le module RF-LORA-868-SO qui communique à 868Mhz,ne contient que le module de communication et n'est associé avec aucun microcontrôleur.

Module radio Grove
Module RF-LORA-868-SO

Il existe plusieurs exemple d'utilisation du module RF-LORA-868-SO dans la fiche technique du produit:

Schéma électrique de l'exemple
Application avec le module

L'objectif pour moi est donc de réaliser deux cartes qui reprendrait les éléments de cette exemple pour tester le module de communication, ou bien tout simplement d'utiliser deux breadboards. Pour cela il faut tout d'abord que je choisisse quel microcontrôleur choisir à la place du PIC présent dans l'exemple ci-dessus. Pour réaliser les deux cartes, je suis aussi parvenu à récupérer le symbole, et le footprint du composant que je pourrais utiliser sur Frietzing.

Symbole du composant

Semaine 3: Quel microcontrôleur? Gestion de l'alimentation de la carte?

Choix du microcontrôleur

Lors de la préparation du projet, je m'étais orienté sur le choix d'un ATMEGA328P comme microcontrôleur puisque la programmation de l'ATMEGA328P nous est familière, l'ATMEGA est le microcontrôleur de la carte ARDUINO UNO que nous avons déjà programmé plusieurs fois.

Mais après discussion avec M.Boé, il m'a orienté vers des microcontrôleur STM32 de chez STMicroelectronics qui consomme moins d'énergie que l'ATMEGA et donc qui correspond plus aux besoins du projet.

Les STM32 sont disponibles sous différentes séries:

  • STM32Fx,la série "Fast" servant pour des applications nécessitant des hautes performances.
  • STM32Lx, la série "Low" servant pour des applications nécessitant une faible consommation d'énergie.

Mon choix s'est donc orienté vers la série STM32Lx. Après des recherches j'ai aussi vu qu'il existait des cartes de développement "Nucleo" qui utilise cette série de microcontrôleur.

Un collègue d'IMA5 utilisait lui aussi une carte "Nucleo" pour son projet, la NUCLEO-L031K6 qui utilise le microcontrôleur STM32L031K6T6 qui fait partie de la série STM32L0. Faisant partie de la série très faible consommation, possédant jusqu'à 32 ko de mémoire flash et un nombre suffisant d'entrées sorties pour mon projet, la carte correspondait à mes besoins et je lui ai donc prit cette carte dont il n'avait pas besoins et j'ai décidé d'en rajouter une sur ma liste de matériel. Ces cartes serviront aux tests des modules de communication et de la réception de données du potentiostat .Elles possèdent les mêmes connections que les cartes Arduino Nano.

Le schéma de la carte Nucleo étant open-source, je pourrais aussi m'inspirer pour la réalisation des deux PCB qui reprendront, capteur et module de communication, notamment pour la gestion de l'alimentation et pour les composants nécessaires pour la programmation du STM32L031K6T6. Ce sera donc ce micro-contrôleur qui sera présent sur les deux PCB.

Comparaison des consommations

Ce qui justifie le choix d'un STM32 à la place d'un ATMEGA328P est la différence aux niveau consommation de l'énergie.

Si l'on compare la consommation lorsque les microcontrôleurs sont dans l'état actif:

  • le microcontrôleur ATMEGA328P que j'avais choisit au départ consomme 200µA à 1Mhz, 25°C et à 1,8V.
  • le stm32 consomme lui 76µA/Mhz dans les mêmes conditions.

Une différence de 124µA qui n'est pas négligeable pour la durée de vie du système et c'est ce qui justifie le changement au niveau du choix du microcontrôleur.

Gestion de l'alimentation

Après discussions avec les encadrants du projet, il m'a été conseillé de me concentrer sur la partie capteur et la partie communication sans fil et donc de ne pas me pencher sur la partie énergie renouvelable, solution que j'avais imaginé pour améliorer la durée de vie de mon système.

Dans un premier temps la carte qui contiendra le capteur sera donc alimenté via une batterie portable 5V relier directement à un port USB souder à la carte. Pour le choix du port USB j'ai repris la référence du port USB présent sur la carte NUCLEO. Le microcontrôleur et le module LORA étant alimenté en 3.3V il faut un régulateur de tension permettant de passer de 5v À 3.3v. J'ai donc aussi repris la référence du régulateur de tension présent sur la NUCLEO. La carte connecté au PC sera alimenté donc grâce au PC par liaison USB avec régulation de tension.

Documents Rendus