La Gestion Automatisée
Photo: Yvan Vial

La gestion automatisée

Introduction

Pour une bonne maintenance de mon aquaterrarium, je souhaite automatiser le plus possible la gestion de celui-ci. Pour moi, une gestion automatique de la plupart des tâches est gage de la bonne santé des organismes vivants qui seront introduis dans ce milieu clos. Mais automatiser son aquaterrarium, ne veut pas dire ne rien faire.... En effet, une surveillance journalière est indispensable si on veut maintenir dans d'excellentes conditions ses plantes et ses poissons préférés. En effet, aucun automatisme ne pourra déceler le comportement anormal d'un poisson ou la dégénérescence d'une plante. Il faut considérer la gestion automatisée comme une aide dans la maintenance de son aquaterrarium pour les tâches répétitives.

Cahier des charges

Voici le cahier des charges que je me suis fixé pour le démarrage de l'aquaterrarium:

- Gestion de l'éclairage (plusieurs sources) par une horloge.

- Mesure et régulation de la température de la partie aérienne.

- Renouvellement de l'air de la partie aérienne.

- Mesure et régulation de l'humidité relative (φ) de la partie aérienne par brumisation d'eau.

- Mesure et régulation de la température de la partie aquatique.

- Mesure et régulation par diffusion de dioxyde de carbone (CO2) du potentiel hydrogène (pH) de la partie aquatique.

- Evacuation et changement automatique de l'eau.

Il est bien entendu évident que ce cahier des charges évoluera au fur et à mesure de la construction de mon aquaterrarium et de l'évolution de mes connaissances dans la réalisation de mon automate.

Solutions envisagées

Automate programmable LOGO! de SIEMENS (Photos SIEMENS)

Logo!

La première solution envisagée était l'utilisation d'un automate programmable industriel. J'ai choisi le modèle LOGO! de SIEMENS car j'en avais récupéré un lors de la démolition d'un magasin. Il existe, bien sûr, sur le marché d'autres modèles équivalents au LOGO! qui peuvent aussi être utilisés. Cet API comprend dans sa version "basic" 8 entrées et 4 sorties ainsi qu'un écran de contrôle de 4 lignes de 12 caractères. Je vous conseille d'utiliser la version 12V car 2 entrées (sur les 8) peuvent être utilisées en analogique (0 à 10V) pour mesurer la température et le pH par exemple. Le LOGO! intègre 34 fonctions permettant d'élaborer des programmes du plus simple au plus complexe. De nombreux modules complémentaires peuvent être ajoutés: Entrées et sorties numériques tout ou rien, des entrées analogiques... Dans la limite de 24 entrées TOR, 16 sorties TOR et 8 entrées analogiques.

Logiciel Softcomfort

La programmation de cet API peut se faire directement sur l'appareil à l'aide des 6 touches en façade. Mais l'utilisation du logiciel LOGO!Soft-Comfort V5.0 sur PC facilite grandement la programmation. Ce logiciel permet de créer et tester le programme sur votre PC puis de le transférer, à l'aide d'un câble spécifique, dans le LOGO!.

Pour les personnes intéressées, cet API se trouve chez les revendeurs pour entreprises électriques ou sur internet chez certains fournisseurs de composants électroniques. Je vous conseille d'acheter pour débuter un coffret comprenant un LOGO! de base, le logiciel LOGO!Soft-Comfort V5.0, la documentation et le câble spécifique.

Une description en italien d'une gestion d'un aquarium marin avec le LOGO! est décrite sur le site AcquaPortal il portal di acquariofilia. L'auteur de cet article vend également sur eBay son programme à insérer dans le LOGO!.

Microcontrôleur BASIC STAMP ou CUBLOC

Pour la gestion de mon aquaterrarium, l'utilisation de l'API LOGO! de SIEMENS s'est rapidement avérée complexe (et onéreuse...) à mettre en oeuvre du fait d'un besoin croissant en entrées - sorties pour gérer l'ensemble des capteurs... De plus la plupart des capteurs que je souhaite utiliser ne peuvent pas être intégrés avec cette solution pour des raisons de compatibilité.

J'ai rapidement abandonné cette solution pour me tourner vers l'utilisation de microcontrôleurs puissants et relativement faciles à mettre en oeuvre avec, en plus, la possibilité de gérer le protocole IIC ou I2C : Le BS2P24 (de la famille des BASIC STAMP) de la société PARALLAX et le CB220 (de la famille des CUBLOC) de la société COMFILE TECHNOLOGY. Ces 2 microcontrôleurs se programment en langage BASIC et sont de plus compatibles broche à broche!

Le microcontrôleur BASIC STAMP BS2P24

BS2P24

Pour voir les caractéristiques de ce microcontrôleur, le mieux est d'aller ici sur le site du fabricant (en anglais). Ce circuit est pour moi excellent pour débuter en programmation BASIC, les commandes sont compréhensibles et faciles à mettre en oeuvre. Il existe sur le site du fabriquant (et sur le net....) de nombreux programmes qui vous aideront à comprendre l'intégralité des commandes de ce microcontrôleur. Il existe aussi un forum très actif (en anglais) qui saura vous aider en cas de blocage... Les seuls petits bémols concernant ce circuit sont le manque de mémoires (programme + données) pour les applications un peu conséquentes et son prix.....

L'écriture et le transfert des programmes dans le BS2P24 (via un port COM ou USB d'un PC) est réalisé par l'intermédiaire du logiciel BASIC Stamp Windows Editor disponible gratuitement ici

Ce produit est distribué en France par la société SELECTRONIC. Voir ici la page dédiée aux BASIC STAMP.

Le microcontrôleur CUBLOC CB220

CB220

Devant l'augmentation conséquente de mes variables à gérer suite à l'ajout de plusieurs capteurs sur le BS2P24, j'ai été amené à chercher un nouveau microcontrôleur plus puissant. Mon choix s'est porté assez rapidement sur le CUBLOC CB220. ceci pour plusieurs raisons:

-1- Compatibilité broche à broche avec le BS2P24.

-2- Utilisation de la même plaquette d'essai (avec une légère modification) que celle du BS2P24.

-3- Programmation en langage BASIC proche de celui du BS2P24.

-4- Utilisation aisée (avec adaptation pour le CB220) de la plupart des programmes créés pour le BS2P24.

Les caractéristiques de ce microcontrôleur sont données ici sur le site du fabricant ou encore ici sur le site de la société LEXTRONIC: le distributeur français des produits COMFILE TECHNOLOGY. Il est à noter l'entreprise LEXTRONIC a fait un effort particulier de promotion du CB220 en traduisant en français la documentation de mise en oeuvre de ce microcontrôleur ainsi que de nombreuses notes d'applications sur l'utilisation de divers composants avec le CB220. Cette documentation peut être téléchargée ici et les notes d'applications sont disponibles sur cette page. La version 3.0 en anglais de cette documentation est, quant à elle, disponible ici.

Comme le BS2P24, le CB220 se programme via le port COM ou USB d'un PC à l'aide d'un logiciel spécifique et gratuit CUBLOC STUDIO téléchargeable sur cette page.

Ce composant est distribué en france par la société LEXTRONIC.

La mise en oeuvre

Les platines d'expérimentation

Platine expérimentation

Pour tester les 2 microcontrôleurs choisis, je me suis procuré la même platine d'expérimentation. Ceci est possible car le BS2P24 et le CB220 ont exactement la même architecture au niveau des pattes de connexion. Mon choix s'est porté sur un modèle simple mais évolutif que l'on peut se procurer ici. Il s'agit d'une plaquette de 10 cm par 8 cm permettant d'insérer tous les composants nécessaires au fonctionnement et à la programmation du microcontrôleur ainsi que d'une partie libre perforée et pastillée au pas de 2,54 mm.

Cette partie libre permettra d'ajouter des composants supplémentaires pour tester les entrées et sorties des microcontrôleurs. Cette platine est également pré-percée pour le montage d'un afficheur LCD 2 x 16 caractères standard.

Une platine d'expérimentation avec un BS2P24

Platine avec BS2P24

Une platine d'expérimentation avec un CB220

Platine avec CB200

Choix du microcontrôleur

Pour l'étude de mon système de gestion automatisée, j'ai choisi le microcontrôleur CB220 par rapport au BS2P24 pour plusieurs raisons:

- 8 entrées convertisseurs analogique - numérique avec une résolution de 10 bits sur le bloc 0 (port 0 à 7).

- Une capacité mémoire RAM plus importante.

- Une gestion du bus I2C aisée avec des fonctions dédiées.

- Possibilité de programmer en langage LADDER.

Le CB220 est un module hybride comprenant 24 broches qui correspondent aux fonctions décrites ci-dessous (la plupart des broches possédent plusieurs fonctions):

Broches_CB220

Description_Broches_CB220

Les broches 1 à 4 sont reliées à une prise DB9 femelle, elle servent à la programmation du CB220 à travers un port série d'un ordinateur PC.

La broche 21 est reliée à la sortie d'une alimentation stabilisée délivrant une tension de 5V continue. La broche 23 est reliée à la masse de cette même alimentation ainsi qu'à la broche 4. Notre CB220 est maintenant alimenté et prêt à fonctionner

Prototype de mon automate programmable

Le microcontrôleur étant choisi et en état de fonctionnement, je dois développer maintenant les différentes fonctions du cahier des charges de mon automate programmable.

La première fonction à implémenter sur mon automate est un afficheur pour visualiser les mesures ou états des différents capteurs qui seront installés. J'ai dans mes tiroirs un afficheur LCD 4 lignes de 20 caractères qui dort... Il est temps de lui donner une seconde vie !

Afficheur LCD

Pour mettre en oeuvre cet afficheur LCD, il faut utiliser au minimum 6 ports du microcontrôleur.... ce qui est beaucoup pour un CB220 qui n'en comporte que 16 ! Heureusement, je suis abonné depuis quelques années à la revue ELECTRONIQUE PRATIQUE.... Cette revue publie régulièrement d'excellents articles sur l'utilisation du CB220.

Dans les numéros 308 et 309 de septembre et octobre 2006, est décrit un montage avec un afficheur LCD interfacé avec le bus I2C. Une bonne idée car cet afficheur pourra être piloté par seulement 2 ports du CB220 ! De plus le programme écrit par Y. Mergy est didactique et très détaillé. Il montre comment mettre en oeuvre et utiliser des fonctions personnelles pour simplifier le programme de base.

Design by Nicolas Fafchamps, disponible sur OSWD, modifié par mes soins.
Ce site est optimisé pour Firefox : téléchargement gratuit