Conception d'un capteur de remplacement WS2500/WS7000

(En construction)

Introduction

WS2500

Je possède depuis maintenant plus de 10 ans une station WS2500. A l'époque, il s'agissait du modèle phare de Lacrosse Technology et c'est pour moi le meilleur modèle que cette société ait fait à ce jour. Cette station est composée d'un thermomètre-hygromètre, un baromètre, un anémomètre-girouette, un pluviomètre et un luxmètre (chose assez rare). L'écran d'accueil de cette station est grand et bien pensé. On peut toutefois lui reprocher son pas de 3min mais surtout sa mesure de la vitesse du vent un peu "aléatoire" dirons-nous.
Cela fait déjà quelques années que cette station n'est plus fabriquée et il devient presque impossible de trouver des capteurs de remplacement. On en trouve éventuellement d'occasion mais ça devient de plus en plus rare. Ca fait quand même mal au coeur de devoir mettre à la poubelle une station qui fonctionne parfaitement juste parce qu'un des capteurs est en rade et d'avoir à réinvestir des centaines d'euros dans une nouvelle station. C'est la raison pour laquelle j'ai décidé d'entreprendre la réalisation d'un capteur de ma conception. Et si ce projet abouti, alors je pourrais éventuellement dépanner les personnes qui sont dans le même cas que moi.

Description générale

Le cahier des charges du capteur est le suivant:

Pour réaliser tout cela, un microcontrôleur se chargera d'effectuer la communication avec différents capteurs. Le logiciel du micrôcontrôleur déterminera quel type de capteur est émulé. Il assurera par la même occasion la transmission des informations sur le bon format par liaison 433Mhz. Pour rappel le protocole de transmission des capteurs est décrit sur cette page.
Ce capteur est aussi l'opportunité d'améliorer la mesure de la vitesse du vent qui comme je l'ai dit plus haut n'est pas très fiable pour la WS2500. Avec ce nouveau capteur, on va pouvoir repenser la mesure de la vitesse du vent et ainsi améliorer la fiabilité. En utilisant le protocole de transmission du capteur WS7000-20 (capteur qui n'est pas géré par la station d'accueil), on peut ainsi envoyer un vitesse moyenne, une vitesse max et une direction dans la même transmission.

Schéma électronique

Rien de très compliqué pour la partie électronique. On retrouve ainsi:

Schéma Proteus ISIS

Dimensionnement de la batterie

Evidemment, un montage autonome, alimenté par une cellule solaire couplée à une batterie NiMH, censé durer des années à l'extérieur, doit avoir une consommation électrique la plus faible possible. La fréquence du quartz (4MHz) a été choisie de façon à ce que le PIC ne consomme pas énormément (<1mA) tout en ayant des performances d'exécution correctes. On atteint ainsi, en présence de l'ensemble des capteurs, une consommation moyenne de l'ordre de 1mA. On notera que lors de l'émission des datas on passe à 5mA de consommation (à cause de l'émetteur RT4-433) mais pour une très faible durée (<100ms)
Si l'on considère qu'il ne fait pas tous les jours beau en bretagne :-), le montage doit pouvoir fonctionner au moins 20 jours sans être rechargé. Ce qui nous fait une batterie dont la capacité doit être à minima de: 20jrs * 24h * 1mA = 480mAh. Exactement la capacité de certaine batterie qu'on trouve sur internet...
Mais bon, en réalité c'est le coût de la cellule solaire qui a déterminé la capacité de la batterie. Les cellule solaire (made in China) les plus populaires font entre 5 et 6V et sont capable de débiter un courant allant jusque 100mA (deux fois moins en réalité). Si l'on souhaite préserver la batterie NiMH, il ne faut pas la recharger à plus 10% de sa capacité. Donc si on fait le calcul inverse, avec une cellule capable de fournir un courant de 50mA, il nous faut en face une batterie dont la capacité est supérieur à 500mAh. Les 50mA étant rarement atteint ou seulement en pic, une batterie de 480mAh (répendue sur le net) conviendra parfaitement.
Pour plus d'information sur la recharge solaire, vous pouvez consulter ces deux liens très intéressant du site robotroom.com:
Recharge solaire NiMH
Recharge NiMH en hiver

Les différentes mesures

Température et humidité (WS7000-25)

AM2303

Le capteur AM2303 est utilisé pour mesurer la température et l'humidité. Un capteur AM2302/DHT22 peut aussi être utilisé mais sa précision est moindre.
Deux de ces capteurs peuvent être utilisé simultéanément pour par example mesure la température de l'air et du sol. N'ayant pas assez de broche sur le PIC, un switch analogique bidirectionnel (max4561) a du être ajouté. Il aurait été préférable de prendre un microcontrôleur avec plus d'entrées/sorties car le max4561 est un tout petit circuit qui n'est pas évidant à souder à la main. L'activation d'une broche du switch permet ainsi de choisir vers quel capteur on souhaite communiquer. D'après la spécification du capteur, la longueur du câble le reliant au microcontrôleur peut aisément aller jusqu'à 10m.

Vitesse et direction du vent (WS7000-15)

Pour effectuer ces mesures, on réutilise le capteur de la WS2500/WS7000 sur lequel on vient prélever le signal de l'ILS (interrupteur qui bascule à chaque passage de l'aimant des coupelles) ainsi que le signal du potentiomètre qui mesure la direction du vent.
Le module comparateur (ECCP) du PCI se charge de mesurer le temps entre chaque impulsion de l'ILS. On obtient ainsi une mesure de la vitesse du vent (et plus particulièrement des rafales) la plus précise possible. Le module ADC (Analog to Digital Converter) mesure la tension en sortie du potentiomètre pour en déduire la direction du vent.
Le montage à base de transistors sert à mesurer la tension aux bornes du potentiomètre de la girouette que lorsque c'est nécessaire. En effet, ce potentiomètre ayant une valeur de 50KOms, une alimentation permanante de celui-ci provoquerait une fuite de courant d'environ 70µA soit 10% de la consommation totale visée, ce qui n'est pas négligeable. Le transistor MOSFET-P piloté par un transitor NPN active à souhait l'alimentation de ce potentiomètre pour ensuite effectuer la mesure via le ADC du PIC.
A noter qu'il serait tout à fait possible de remplacer l'anémomètre de la WS2500 par celui d'une autre marque fonctionnant sur le même principe (ILS + potentiomètre). Il faudrait toutefois déterminer la relation qui lie la fréquence de rotation à la vitesse du vent pour la programmer dans le microcontrôleur.

Précipitations (WS7000-16)

Rien de bien compliqué pour ce paramètre. Là encore on réutilise le capteur de la station. On vient à nouveau prélever le signal de l'ILS qui sert à incrémenter un compteur allant de 0 à 4095. C'est cette valeur que l'on envoit à la station. La broche d'interruption INT du PIC est utilisée pour déclencher l'incrément.

Intensité lumineuse (WS7000-19)

Utilisation du capteur I2C MAX44009. A venir...

Réalisation du PCB

Le circuit est dessiné de tel sorte qu'il puisse s'intégrer parfaitement dans un botier plastique étanche.
La batterie sera soudée directement sur le circuit.

PCB et représentation 3D sous ARES

Soudure

Pour une partie des composants (résistances, transitors et switch Maxim), j'ai employé une nouvelle technique de soudure: la soudure à la poêle !
Il s'agit en réalité de la soudure à refusion. On vient déposer de l'étain liquide sur les pastilles, on place ensuite les composants, on fait chauffer 5 minutes au four en respectant une courbe de température et c'est prêt. Ne voulant pas polluer mon four, j'ai utilisé une vielle poêle à crêpes.

Lot de PCB + prototype réalisé

Premiers tests

Transmissions

Lors de phase d'initialisation de la WS2500, phase où la station recherche tous les capteurs, le prototype était très bien détecté et l'ensemble des capteurs a pu être simulé. Toutefois, à la fin de la phase d'initialisation, la station ne mettait plus à jour les infos envoyées par le capteur. Il m'a fallu un certains temps pour comprendre que la fréquence d'émission des datas a une importance capitale. En effet, la station n'active sont récepteur que de temps en temps, dans un lapse de temps où théoriquement une émission de data en provenance d'un des capteurs va se produire.
En respectant les intervalles d'émission pour chacun des capteurs émulé, la transmission s'effectue correctement. Ces intervalles d'émission sont renseignés sur la page de description des capteurs.

Consommation

Décharge de la batterie NIMH

Pour mesurer la consommation du montage, on met en entrée une petite résistance dont on connait précisément la valeur puis on mesure la tension à ses bornes. On peut ainsi en déduire le courant la traversant, correspondant au courant consommé par le montage.

Au repos: 380µA - En émission: ~5mA
Si on prend une durée moyenne d'émission + dialogue avec les capteurs d'environ 2s on obtient une consommation moyenne d'environ 400µA soit une durée théorique de fonctionnement (avec une batterie de 480mAh) de: 480/0.4 = 1200h = 50 jours.

Dans la réalité on obtient une autonomie de fonctionnement, lorsque la batterie est complètement chargée, de l'ordre de 32 jours. En témoigne le graphique ci-contre représentant l'évolution de la tension de la batterie au fil des jours (test effectué en intérieur pour une température moyenne de 20°C). Bien évidemment il faudra procéder au même test en extérieur.

Mise en situation

Portée

Un des premiers test a été de mesurer la portée du capteur. Test qui s'est avéré non concluant puisque l'on ne dépassait pas 15m. Pour remédier à cela j'ai changé l'émetteur RT4-433 par le modèle supérieur, le RT14-433P. Par chance il est pin to pin compatible, donc je n'ai pas eu à refaire la carte électronique.
Le changement de cet émetteur à permis d'augmenter condisérablement la portée. Une antenne 433 Mhz de bonne qualité a été ajoutée par la même occasion.

Evolutions futures

Température/Humidité

La précision du capteur am2320 n'est pas execptionnelle. Une modification à apporter plus tard sera l'utilisation du capteur de température/humidité SHT25, nouveau capteur fabriqué par sensirion en remplacement du SHT15. Ce capteur communique en I2C, bus présent sur la carte.

Dernière mise à jour: 18/07/17