Domotique1/2 : les capteurs

Introduction

Cet article est paru dans le magazine PC Team numéro 68, mai 2001, au sein de la rubrique “Team pratik” sous rubrique “Électronique”.

pcteam_65

Article

Cette première partie consacrée à la domotique va nous initier plus particulièrement aux capteurs météorologiques. Pour cela, l’ordinateur va nous être d’une grande aide afin de centraliser toutes les informations.

À l’évidence, la maison du futur n’est pas encore pour demain. Les constructeurs ayant du mal à s’entendre sur des normes communes, le la maison toute-automatique rêvée par nos parents doit encore attendre. Qu’à cela ne tienne, nous allons automatiser nous même notre chère demeure à l’aide de moyens relativement simples.

Le but est d’effectuer certaines taches automatiquement, comme réaliser un délestage, fermer des volets, contrôler l’éclairage d’une pièce ou tout autre chose. Nous allons commencer ce mois-ci par apprendre à interfacer quelques capteurs qui existent sur le marché. Une fois ces informations centralisées vers notre ordinateur, il nous sera facile d’agir en conséquence sur les actionneurs.

Capteur de luminosité

Ce capteur est d’une simplicité enfantine : il s’agit d’une résistance dont la valeur varie en fonction de la luminosité reçue. Par exemple, la version présentée ici donne 300 Ohms pour 1000 lux, et 30K Ohms pour la luminosité ambiante. Il existe énormément de versions, qui varient selon la résistance maximale, la sensibilité, la puissance etc. Plusieurs solutions s’offrent à nous pour interfacer ce genre de capteur.

La façon la plus souple est d’utiliser un convertisseur analogique-numérique : on a ainsi accès à toute la plage de variation. Il y a encore d’autres méthodes comme de créer un petit oscillateur à l’aide d’un 74HCT14 ou d’un NE555, mais nous avons choisi une solution encore plus simple. Le montage ci-contre, un très classique comparateur à amplificateur opérationnel, va nous donner deux états : présence de lumière ou non. Cela pourra nous être utile pour allumer une lampe à partir d’une certaine obscurité par exemple.

pcteam

Le plus simple des montages peut se révéler très pratique

On peut même faire un montage plus efficace en fabriquant un comparateur à hystérésis, qui permet de fixer les deux seuils haut et bas avec effet mémoire. Il n’y a pas de meilleur montage, tout dépend de votre système et ce que vous voulez faire. Enfin, vous pouvez inverser les entrées de l’amplificateur opérationnel selon la logique que vous souhaitez obtenir en sortie.

Capteur de température

Parmi la très grande variété de capteurs dans ce domaine, nous avons choisi un composant original et tout à fait remarquable. Le plus souvent, nous avons affaire à des capteurs à trois broches qui nous fournissent une tension analogique proportionnelle à la température. L’ennui est qu’il faut alors faire appel à un convertisseur analogique numérique afin de pouvoir traiter le signal par un automatisme quelconque.

Le DS1620 de Dallas Semiconductor est un capteur numérique empaqueté dans un petit boîtier DIL à 8 broches ne nécessitant aucun composant supplémentaire (hormis l’alimentation) pour pouvoir fonctionner. Le dialogue avec le capteur se réalise par l’intermédiaire de 3 fils, les données étant transmises en série. La plage de température est très étendue, allant de –55°C à +125°C, en espérant que vous n’aurez jamais besoin d’une telle résolution pour mesurer la température ambiante de votre salon ! Bien entendu, vous retrouverez le datasheet sur le CD.

pcteam

Le DS1620 seul suffit pour mesurer une température

Passons au branchement ; nous allons utiliser la seule broche du port parallèle non inversée et bidirectionnelle, la broche 16 /Init. Le deuxième fil est l’horloge et le troisième le signal Reset ; n’importe qu‘elles autres broches en sortie feront l’affaire. Comme d’habitude, nous allons utiliser Visual Basic qui se prête parfaitement à ce genre d’applications. Il est également possible d’utiliser Visual Basic pour Applications, qui a l’immense intérêt d’être fourni en standard avec Microsoft Office : vous pourrez ainsi créer de beaux graphiques, présentant la variation de température en une journée par exemple. Notre application se montre assez simple, a vous de l’adapter à vos besoins et de la compléter à l’aide de la documentation fournie.

pcteam

Un sèche cheveux est pratique pour tester ce genre de montage :-)

Il peut être intéressant d’utiliser les sorties thermostats à programmer dans la mémoire EEPROM non volatile du DS1620. Par exemple, vous définissez deux valeurs, haute et basse, limites pour votre système (des températures critiques comme la température d’un processeur si vous vous adonnez à l’overclocking) : dès que la température mesurée atteint une de ces valeurs, la broche correspondante passe au niveau haut, vous donnant les moyens d’actionner n’importe quel automatisme. Enfin, le dernier (grand) avantage de ce capteur est qu’il peut fonctionner en mode autonome : plus besoin de votre ordinateur, pour peu que vous ayez bien programmé tous les paramètres.

Capteur d’humidité

Là encore, il s’agit de fabriquer un petit montage adaptateur. Le capteur d’humidité utilisé est appelé “humidistance” ; c’est un petit boîtier à souder sur circuit imprimé qui, bien qu’un peu cher - 80 F environ -, permet la mesure de l’humidité relative au degré d’hygrométrie ambiant.

pcteam

Voici un capteur d’humidité

C’est en fait un simple condensateur dont la valeur varie en fonction de cette humidité relative. N’allons pas chercher compliqué, encore une fois les montages les plus simples s’avèrent les plus performants. C’est pour cela qu’un petit montage oscillateur à base de 74HCT14 ou de 4011 fera parfaitement l’affaire.

pcteam

Le montage classique d’un oscillateur

Au niveau de la programmation, il faut réaliser un fréquencemètre ou période mètre, la différence entre les deux est que le premier procède à une mesure d’impulsions pendant un certain temps tandis que le second calcule le temps entre deux fronts d’horloge. Nous rappelons que la fréquence est inversement proportionnelle à la période. Dès lors, il s’agit de bien choisir la méthode de mesure en fonction de la plage de fréquence mesurée ; par exemple, un fréquencemètre sera d’autant plus performant que la fréquence est grande. Le problème est qu’il faut au préalable faire des tests à l’aide d’un vrai capteur d’humidité afin d’avoir la correspondance entre le fréquence mesurée et la valeur réelle d’humidité relative (relation qui n’est pas linéaire).

Le plus simple étant de faire des essais et d’en déterminer les valeurs à ne pas dépasser, sans avoir à connaître précisément la valeur d’humidité ambiante. Le circuit présenté ci-contre est à base d’un circuit CMOS 4011 classique, alimenté entre 3 et 15V, et fourni une fréquence sur la broche 4 égale à 1/(R1*C1). Remplacez le condensateur C1 par le capteur d’humidité capacitif et calculez alors la résistance à placer en fonction de la fréquence désirée en sortie. A titre indicatif, sachez que le capteur utilisé ici (de Philips) possède une capacité de 120pF à 40% d’humidité relative. Enfin, il peut être intéressant de connecter la broche 1 du 4011 à une broche du port parallèle pour pouvoir commander l’oscillateur.

Conclusion

Cette petite mise en bouche sur le (vaste) thème des capteurs est loin d’être exhaustive tant les produits sont abondants dans les catalogues. Il est possible d’aller beaucoup plus loin, en créant un véritable réseau de capteurs, pourquoi pas avec un dialogue par infrarouge entre le PC et les capteurs. De même, si vous possédez une connexion illimitée à Internet, pourquoi ne pas créer une page Web supervisant toute votre installation pour vérifier l’état de vos capteurs où que vous soyez.

Comme d’habitude, nous attendons vos réalisations pour les placer sur le CD. Il y a vraiment une quantité impressionnante d’applications qui peuvent émerger, en attendant le mois prochain où nous attaquerons les actionneurs !

Encadré

Plus de place ?

Les ports d’entrées/sorties sont malheureusement limités. Si votre installation devient conséquente, il vous manquera sûrement des broches. Pour remédier à ce problème, sachez qu’il existe quelques astuces et possibilités fortes intéressantes.

Tout d’abord, à condition de disposer d’un peu plus de matériel, le port ISA peut fournir une solution parfaite. L’accès au port se fait à l’aide des fonctions classiques que l’on utilise depuis déjà quelques mois (inportb, outportb etc.). Oubliez le port PCI qui est beaucoup trop complexe à mettre en oeuvre.

Les capacités des ports parallèle et série peuvent être étendus grâce à des “sérialiseurs” et des registres à décalage à accès série. Les 74HC165 et 74HC595, dont les datasheets sont sur le CD Pro, sont deux composants idéaux pour ce genre de problème. En outre, ils peuvent se câbler en cascade ce qui est d’autant plus intéressant. Bref, toutes les diverses techniques de multiplexage et de conversion série/parallèle pourront vous rendre de fiers services.