1. Introduction:
Après une première version déclinée en plusieurs implémentations (et présentées sur mon site web) , il s'est avéré que cette solution bien que très économique pouvait être améliorée par une possibilité d’accès via le web. En effet qui n’a pas rêver de pouvoir contrôler à distance son aquarium et ce depuis n’importe quel coin du globe.
Aussi disposant depuis quelque mois de temps libre (bien malgré moi) je me suis lancé dans ce développement matériel et logiciel en même temps qu'un nouveau job.
Je vous propose donc ci-après le descriptif de cette réalisation, dont vous me pardonnerez la piètre qualité des photos du fait des limitations de la publication sur le site. Cependant je joins à ce descriptif un fichier zip
sur ce lienqui contient une documentation pdf ainsi que tous les fichiers qui sont nécessaires à cette réalisation.

Le montage proposé offre :
• Des performances intéressantes : une consommation électrique réduite, un fonctionnement H24, un coût matériel réduit. L’utilisation d’un PC standard aurait simplifié l’aspect ‘soft’ mais pour disposer d’une bonne disponibilité il faudrait investir dans un PC ‘durci’ dont le prix serait, bien sur, en conséquence (PC auquel il faudrait adjoindre les cartes d’E/S TORs et analogiques).
• Une interface homme/machine performante (WEB, mail, PC Windows, menus déroulants sur écran LCD) .
Trois interfaces IHM sont disponibles :
o Une interface homme/machine en local avec un écran LCD/clavier . Cette interface permet la saisie des données en ‘clair’ : en valeur physique pour les mesures et les constantes, par des boutons poussoirs pour des commandes simples (étalonnage mesure, reset, envoi de mail) ainsi que des voyants(leds) permettant de visualiser très rapidement l’état du système ( 1 mesure forcée, un log web en cours,..). Ceci est complété avec des boutons poussoirs pour des commandes simples (étalonnage mesure, reset, envoi de mail) ainsi que des voyants(leds) permettant de visualiser très rapidement l’état du système( 1 mesure forcée, un log web en cours,..)
• Une interface WEB permettant de configurer à distance (ou local) les paramètres de fonctionnement du système (mise à l’échelle, offset, validation de fonction, heure d’activation ou d’arrêt de séquence). Bien évidemment, cet accès est protégé à 2 niveaux: un premier niveau par identifiant / mot de passe et un deuxième niveau d’autorisation de modification distante au niveau du serveur (IHM locale). Cette interface permet aussi l’envoi de mail sur détection d’alarme (dépassement seuil, intrusion, ...) et/ou périodiquement (paramétrable)
• Une interface Pc via ligne série RS232 développée en DotNet. Cette interface permet de configurer les constantes d’application mémorisées en EEPROM (mot de passe, ID login, adresse IP, ...) ainsi que de sauvegarder ou télécharger en EEPROM les fichiers HTML de l’interface WEB. Ce logiciel permet en outre d’accéder au niveau octet (en R et W) à l’EEPROM du microcontrôleur, aux EEPROM et TIMER sur bus I2C, à l’interface WEB sur bus SPI ainsi qu’à la zone programme afin de fournir un outil de mise au point logiciel en cas de modification.
• Une application d’automatisme orientée gestion bac récifal qui permet la gestion :
o des lampes,
o de 3 groupes de pompes de brassage,
o d’un réacteur à hydroxyde (ou éventuellement à calcaire),
o de la régulation de température en chaud et froid,
o la mesure du pH, o l’injection de produit (Strontium, l’iode, …) sur des périodes jour, hebdo, mensuelles.
2. Droits d’utilisation, responsabilités : Je laisse l’utilisation de cette documentation libre pour toute utilisation personnelle non commerciale. Toute la réalisation est originale.Les logiciels utilisés pour le développement du logiciel du microcontrôleur, sont disponibles sur le WEB. On se référera aux sites de téléchargement pour leurs conditions d’utilisation.Cette réalisation nécessite des compétences en électricité, électronique et informatique et je décline toute responsabilité quand à la réalisation et/ou l’utilisation de ce montage de même qu’aux conséquences directes ou indirectes liées à son utilisation.
3. Les critères de réalisation retenus:Pour mémoire, je reprends ici les critères qui ont guidés cette réalisation :
Les sécurités électriques :
1. Prise en compte des remarques de sécurité proposées sur le site de MARS : sécurisation de l’alimentation 220V par double disjoncteur différentiel.
a) En plus de l’aspect sécurité, cette solution permet un fonctionnement minimal du système en cas de court circuit sur un des éléments du système (pompe, chauffage, éclairage).
b) Au niveau sécurité, il est bon de rappeler que l’on doit mettre l’aquarium à la terre, en faisant plonger une tige conductrice (acier INOX,…) dans l’eau du bac et en la connectant à une terre,
c) ne pas oublier le bac de décantation s’il y a lieu. Par précaution, tous les capteurs de niveau qui sont utilisés dans le montage utiliseront une tension de 5V (signal logique) isolé du secteur (transfo). 2 La connectique de raccordement des périphériques (Pompes, lampes, …, capteurs niveau, ..) doit se faire simplement sans être obligé d’ouvrir le coffretSécurités de fonctionnement : 3 L’alimentation +5V pourra être secourue par Batterie afin de se prémunir des coupures de courant si l’on utilise l’automatisme comme détection de défaut avec signalisation via Internet. Pour l’automatisme seul, une horloge est prévue avec une pile de sauvegarde (1,5V).
4. Les paramètres de l’automatisme sont sauvegardés dans l’EEPROM du microcontrôleur.
5. Pour assurer un redémarrage minimisant les actions intempestives sur les sorties (surtout celles relatives à la commande des HQI), les états des sorties ‘sensibles’ seront recopiés sur des entrées TORs afin que l’automatisme prenne en compte l’état courant de ces sorties.
6. Le logiciel d’automatisme est conçu pour reprendre naturellement le contexte de fonctionnement lors d’un reset CPU ou disparition de défaut EDF
7. Afin d’éviter tout incident de débordement, l’arrivée d’eau brute commandée par une électrovanne sera sécurisée par un capteur de niveau mécanique (de type WC) monté en série sur l’arrivée afin de limiter le niveau dans le bac arrivée eau douce en cas de blocage de l’EV.
8. Les sécurités de base (stop pompes hors eau, débordement,…) seront réalisées en coupant l’alimentation 220V de l’organe concerné et non en interrompant seulement le signal de commande (cas de triacs HS ou contacts relais collés).
9. Les capteurs de niveau commanderont des signaux en basse tension isolés du secteur exclusivement (pas de commande directe en 220V)
10. Eviter au maximum l’électromécanique (relais, interrupteur, …) pour une fiabilité maximum (oxydation des contacts, …) et essayer de baisser le prix de revient du montage.
11. Présenter une disponibilité globale, donc une fiabilité équivalente à un système programmateur traditionnel (électromécanique) et si possible supérieure
Ergonomie :
12. La modification des paramètres de fonctionnement pourra être réalisée en autonome, sans être obligé de connecter un PC, et de façon conviviale : utilisation de menus arborescents et saisie de valeur physique.
13. Une connectivité sur PC (ligne série RS232) pour: • offrir une meilleure ergonomie lors de la saisie des paramètres de configuration (@IP,…).
• personnaliser les fichiers HTML pour la fonction serveur http,
• réaliser une collecte de données pour vérification et/ou études diverses notamment sur toute ou partie de l’automatisme.
14. Pouvoir visualiser d’un seul coup d’oeil le bon fonctionnement du système sans avoir à passer en revue tous les paramètres : des voyants (Leds) de synthèse sont donc prévus à cet effet
15. Le logiciel sera conçu pour être facilement paramétrable
Montage :
16. Eviter une usine à gaz presse-boutons. L’utilisation doit être aussi facile que possible avec un minimum de documentation.
17. Utiliser des composants courants pour éviter les difficultés d’approvisionnement
18. Proposer une solution modulaire permettant une réalisation progressive du système et sa personnalisation
19. Présenter une solution réalisable par tout bon bricoleur en électronique.
20. Disposer de 16 sorties, 8 entrées et une mesure pour la température et une pour le pH.
21. utilisation d’outils logiciels de préférence Free pour minimiser les coûts d’utilisation.
22. Permettre une modification de logiciel sans démontage du coffret.
4. Le fonctionnement du bac :
Pour comprendre le fonctionnement de l’automatisme, notamment au niveau logiciel, je présente ci-après les principes de commande des différentes pompes et les sécurités associées. Ce schéma type est celui de mon installation telle qu’à présent et ne prétend nullement être idéal, il sert seulement de support pour la compréhension du câblage du panneau électrique (l’automate peut, bien sûr être utilisé dans d’autres configurations)
4.1 Schéma du bac Schéma général de l'installation Remarques :
- C4 protège P3 contre un niveau trop bas dans le bac d’eau osmosée
- C1 est un capteur de sécurité qui coupe l’alimentation de P3 sur niveau anormalement haut dans le bac de décantation
- C3 protège P1 contre un niveau trop bas dans le bac de décantation
- C5 arrête P1 en cas de niveau trop haut dans le bac principal (cas du retour d’eau bouché)
- C7 est une entrée de l’automate et permet de vérifier le retour vers la décantation : tuyau de retour non bouché et le bon fonctionnement des pompes de relèvement
- L’électrode de pH et la sonde de température sont installées dans la réserve, L’arrivée d’eau douce via l’électrovanne EV1, arrive dans le bac via un dispositif de limitation de niveau (type WC) qui ne figure pas sur le schéma.
4.2 Câblage des pompes et sécuritésC1 Capteur niveau trop haut dans la décantation --> (Relais) coupe l'alimentation de la pompe P3 sur niveau trop haut (contact ouvert)
– Coupe l’alimentation 220V de la pompeC2 Capteur régulation de niveau bas dans la décantation --> Signal utilisé comme entrée TOR de l’automatisme de régulation de niveau
Contact fermé: niveau pas assez haut
Contact ouvert : niveau correctC3
Niveau trop bas dans la cuve de décantation --> (Relais) Coupe la pompe P1 sur niveau trop bas (contact ouvert)
– C4 Niveau trop bas dans le bac eau douce --> Coupe l'alimentation de la pompe P3 (contact ouvert)
- C5 Niveau trop haut dans la cuve principale --> (Relais) Coupe l'alimentation de la pompe P1 (contact ouvert)
– C6 Niveau haut dans le bac eau douce --> (Relais) coupe l'alimentation de la pompe P3 sur niveau trop haut (contact ouvert)
– Coupe l’alimentation 220V de la pompe
- C7 Retour d’eau cuve vers Décantation --> Signal utilisé comme entrée TOR de l’automatisme
Nota : 1 La pompe de l’écumeur sera connectée avec la pompe P1 : il ne sert à rien de faire fonctionner l’écumeur s’il n’y a pas de circulation d’eau.
2 L’électrovanne utilisée est en 220V, son alimentation nécessite de redresser le 220V via un pont de diode (se référer à la notice fournie avec l’électrovanne) la masse de l’EV sera reliée à la terre (prise 3 broches). Cette interface sera réalisée sur la carte de sortie puissance au niveau de la sortie S0
5.Conception de l’automatisme
5.1 Le panneau électrique
Ce panneau est prévu pour être installé contre un mur près du bac de décantation. Il est constitué d’une plaque de contreplaqué peinte sur laquelle seront fixés les éléments suivants :
• Le boitier MCp
• Le boitier d’interface des sorties 220V.
Sur ce panneau nous installerons pour chaque sortie automate un couple Interrupteur à voyant et un fusible et de telle façon que le voyant éclairé signal aussi le bon état du fusible.
• Un boitier, réalisé en contreplaqué pour le support des prises de courant 220V qui sera fixé au panneau via deux charnières qu permettront de le faire pivoter vers l’avant afin de faciliter le câblage et la maintenance. Le Panneau

5.2 La solution matérielle : La réalisation comprend 3 coffrets :
• Un coffret comportant l’automatisme.
Ce coffret est constitué de 2 demi coquilles ; sur chacune est fixée une carte circuit imprimé (carte processeur et carte entrée/sorties).
• Un coffret électrique qui supporte les triacs, relais, circuits optocoupleur , filtre anti-parasite et les deux disjoncteurs différentiels, prises et interrupteurs fixés sur rails.
• Un coffret ‘boite à prise’ qui supporte les prises de sortie 220V sur lesquelles seront branchés les pompes, éclairage, …
La liaison entre les coffrets automate et coffret de puissance est réalisé par câble et prises multibroches afin d’être facilement démontable. Le coffret de puissance possède un interrupteur permettant le forçage de l’alimentation des sorties 220V afin de permettre un fonctionnement ‘manuel’ sans l’automatisme lors de la mise au point ou la maintenance.Le micro contrôleur :
• contrôle ses périphériques :mémoires et Timer, via son bus I2C. L’interface Internet est connectée sur le bus SPI et offre une prise RJ45 pour un câble standard attaquant un switch réseau.
• adresse ses périphériques (buffer entrées et de sorties ) via un démultiplexeur de 4 vers 8*2.
• La communication série utilise l’UART interne du mc, une interface RS232 (MAX 232) adapte les signaux (V24).
• Les mesures de température et PH sont réalisées en utilisant les entrées analogiques du MC après mise à l’échelle et réglage d’offset par un quadruple ampli opérationnel à haute impédance d’entrée.
• L’alimentation +5V et +12V, -12V est intégré sur la carte processeur. Le 220V utilisé pour l’alimentation est au préalable, filtré par une carte anti-parasite.
5.3 Les produits logiciels :
- Les schémas électroniques et le tracé des circuits ont été réalisés avec l’outil logiciel PROTEUS (respectivement ISIS et ARES). La version téléchargeable de démo (hors licence) permet de relire et imprimer les schémas fournis (pas de les modifier). Les schémas sont aussi fournis en format GIF . - Le logiciel des microcontrôleurs est réalisé avec l’AGL AVR mis à disposition sur le site AVR . Le chargement du code exécutable dans le mc est réalisé avec le logiciel PonyProg via l’interface parallèle d’un PC. Le plan de l’interface est proposé dans ce document. - Le logiciel sur PC est réalisé en VB DotNet .
- Les pages HTML ont été réalisées via un éditeur de texte et sont chargées dans les EEPROMs du microcontrôleur avec le logiciel proposé sur PC5.4 Les composants principaux:
- Le microcontrôleur choisi est un ATMEGA 32 et a pour particularité :
o compact et économique
o on dispose pour la programmation d’un logiciel disponible sans nécessiter d’achat de licence (développement avec l’AGL AVR Studio et programmation avec PONY PROG)
o l’interface de programmation peut être intégré à la carte processeur du MCP-WEB (interface SPI).
- Sur le bus I2C on connecte 2 EEPROM 256Kbits pour supporter les fichiers HTML, et un circuit horloge dont la sortie ‘top secondes’ sera utilisée pour générer une IT sur le microcontrôleur
- Sur le bus SPI, on connecte le circuit d’interface WEB dont les signaux Chip Select, Reset seront connectés au mc, le signal interruption sera connecté à une des IT du mc
- Le système d’affichage LCD : est un module prêt à l’emploi regroupant le système LCD et la puce de contrôle. Cette solution a pour intérêt de réduire à sa plus simple expression le câblage correspondant. Cet afficheur propose 4 lignes de 16 caractères.
- Le clavier : 10 touches numériques avec ‘*’ et ‘#’, du type matrice à contact .
- L’interface RS232 utilise un MAC 232, cette puce intègre, moyennant 3 condensateurs, les multiplieurs de tension pour la sortie V24.5.5 Les circuits imprimés :
- On se limite pour des raisons de facilité de réalisation à une solution simple face cuivre même si cela nous oblige à quelque straps
- Les circuits sont réalisés avec du PnP-blue pour des raisons de simplicité. Toute autre solution étant bien sûr valable
- La carte proposée MCP permet une programmation du microcontrôleur directement au niveau de la carte.
- Bien que non prévus à l’origine, la plupart des circuits intégrés sont montés sur supports (tulipe dorée) afin de faciliter les tests.
- La connectique est réalisée en vis terminale à vis soudées sur le CI. Des clous à souder sont utilisés pour les points de mesure, la connexion des régulateurs.
- Les nappes de connexion sur CI utilisées sont précablées sur connecteurs à souder sur CI 5.6
Le boitier de puissance :
Ce boitier est réalisé sur la base d’une armoire électrique standard du commerce à 3 emplacements (rails) . Les cartes CI proposées sont dimensionnées pour être fixées à la place des profilés de fixation des éléments électrique. On retire la barrette métallique de fixation sur 2 de ces emplacements et on y installera à la place les 2 circuits imprimés dont les dimensions et le perçage sont prévus en conséquence. Deux pattes métalliques sont fixées avec les CI et serviront à présenter 2 supports plexi percés (à réaliser en spécifique) et supportant les interrupteurs avec voyants et les fusibles de sorties.
Le schéma ci-après représente le raccordement de ces 2 CI dans ce boitier :

5.7 Le boitier support prises :
Ce boitier supporte les prises 220V encastrées. Ce boitier est fixé par charnières sur sa face inférieure afin de faciliter le câblage et la maintenance en le basculant par l’avant. Les sorties 220V arrivant du boitier de puissance sont raccordés sur un bornier interne.

6. Schémas et raccordements
Alimentation 5V, 12V, batterie de sauvegarde : La batterie et 2 régulateurs 5V sont alimentés à partir d’une tension délivrée par un régulateur ajustable. Un régulateur servira à alimenter la carte processeur avec les mesures analogiques et le second sera réservé à la carte d’E/S et le circuit RS232.Le circuit de mise en forme des signaux analogique nécessite une tension symétrique de +-12V qui sera produite par 2 régulateurs 12V.Le transformateur choisi sera donc du type 220V / 2 * 12V 25VA, le premier enroulement secondaire sera utilisé pour +5V et + 12V, le second pour le -12V.

Nota : le schéma peut être simplifié (tripleur tension symétrique depuis 5V)
– le transfo est surdimensionnéRéglage de la tension d’alimentation batterie : Le circuit principal prévoit une entrée Batterie de sauvegarde indépendamment de la pile de sauvegarde de l’horloge.. Cette batterie s’avère nécessaire pour signaler un dysfonctionnement (perte secteur par exemple) par envoi de message email sur le réseau Internet . Bien sûr, cela suppose que la chaîne réseau jusqu’au boîtier interface telecom reste opérationnel via une alimentation secourue. Dans les autres cas, l’utilisation de la batterie ne servira pas du fait que l’horloge est elle-même sauvegardée par une pile implantée sur le circuit.
Le circuit permet l’utilisation de batterie au plomb de 6V à 12V ou éventuellement de NiCD (pack 6 éléments). Une résistance (R1) en série avec le régulateur ajustable en tension afin d’absorber une partie de la puissance non utilisée pour éviter de trop faire chauffer le régulateur.
Pour une batterie plomb de 6V, R = 15ohms et le réglage tension en sortie de régulateur sera d’environ 7,2VPour une batterie au plomb de 12V, la résistance R1 sera supprimée (strap) et le réglage de la tension sera d’environ 13,60V.
Pour les autres types de batterie, voici un site spécialisé pour plus d’information : http://www.ni-cd.net/accusphp/index.php
6.2 Le câble RS232
- MCp
- PCBrochage DB9 Mâle (fixée sur châssis) vue arrière, côté broche à souder

Réalisation du câble 2 DB9 Femelles, 1 câble 3 Fils de longueur 20m maxi

Le câble est symétrique, il n’y a pas de sens de connexion.
Nota: ce câble peut être aussi utilisé pour des communications entre PC (utilisation des ports série)
6.3 Sorties TOR :
Le schéma de raccordement des sorties TORs :

L’optocoupleur et le triac sont montés sur les circuits décrits ci-après et installés dans le boitier plastique d’interface 220V avec les Interrupteurs/ Fusibles/ Néon.
Important : Les triac de commande de sortie de puissance supérieure à 100VA nécessiteront un petit refroidisseur : c’est le cas notamment de la commande des lampes HQI. Les autres sorties ne nécessiteront pas de refroidisseur sur leur triac
6.4 Schéma électrique général :

6.5 Récapitulatif des câblages

7. Les sondes de mesures et réglages
7.1 La sonde de température :
Le capteur (LM35) est mis dans un petit tube PVC puis noyé dans de l’araldite. Il sera utile de protéger la partie immergée du câble par un bout de tuyau plastique (type air) qui sera assemblé par collage au capteur.
Sonde de température :

Cette photo montre le raccordement du capteur sur le fil et l’isolation par gaine thermo rétractable. Le tube plastique servira de protection à la sonde qui sera fixée avec de l’araldite à l’extrémité du tube.
7.2 La Sonde phmètreRéférence de l’électrode
pHmetre utilisée :électrode phmètre Hanna Instruments Ref constructeur : HI 1230B Ref RadioSpare : 176-3241
Cette électrode aura de préférence les caractéristiques suivantes :
• double référence en tension (pas d’ions libérés dans le bac)
• Electrolyte gel
7.3 Réglage des sondes de mesures :
Le réglage du capteur de température:
La sonde est un LM35 et délivre une tension variant de 10mv par Degré C.Nous adoptons le principe de 10 points CAN par degré C. Le CAN est un 10 bits soit 1024 points entre le 0 et la pleine échelle de référence. La tension de référence sera celle disponible en interne du MC soit 5V.Cela nous donne pour une variation de 1 Degré C = 10 points CAN : 10 points CAN soit 5V/1024*10 = 0,4883 Volts
Pour l’ampli op de mise en forme du signal de la sonde, cela correspond à un gain de : 0,4883/0,010 = 4,883 environ
Pour le schéma de montage et la valeur des composants on se reportera aux schémas joints. Nous avons (tension mesurée) environ à 20 degrés, 1,83V en sortie de sonde soit avec un gain de 4,883 une tension de sortie d’environ 8,9 Volt. Nous mettons donc un deuxième ampli op en correction d’offset (environ -6V) afin d’obtenir une tension finale (entrée du MC) comprise entre 0 et 5V maxi.Pour le schéma de montage et la valeur des composants on se reportera aux schémas joints, de la résistance ajustable permettent de régler le gain et l’offset de façon précise. En fait seule un réglage de l’échelle précis sera nécessaire :
L’offset sera ajustable par logiciel. Le réglage de l’offset par la résistance ajustable sert à avoir la plage de température (20-30 degrés C) dans l’échelle 0-5V Le logiciel proposé dispose d’une fonction permettant d’afficher (période 1s) les valeurs acquises du CAN directement sans correction, afin de pouvoir ajuster plus précisément le réglages avec une échelle de température 0-40°C (cela nécessite un thermomètre digital pour avoir des valeurs précises)
Les réglages de la sonde Phmètre
Pour étalonner le pHmètre, il y a deux techniques:
- celle décrite par Frédéric PINCHON que l’on trouvera à l’URL suivante http://aquariocatss.free.fr/aquariophilie/bricolage/phmetre.html- et celle donnée par Fabrice MOUTON que l’on trouvera à l’URL suivante http://mars.reefkeepers.net/NavArticleAquario.html )J’ai personnellement utilisé cette seconde méthode plus facile de mise en œuvre et détaillée ci-après On suit le mode opératoire en simulant la sonde par une tension suivant le tableau suivant
NB : Pour les valeurs négatives, il faudra inverser les 2 fils en entrée de la carte pH mètrepH 4 177,48 mVpH 5 118,32 mVpH 6 59,16 mVpH 7 0 mVpH 8 -59,16 mVpH 9 -118,32 mVpH 10 -177,48 mVpH 11 -236,64 mV
On s’attachera à avoir une valeur la plus exacte autour du pH 8 : c’est la valeur la plus intéressante pour notre sujet. En pratique, une erreur est constatée sur la pleine échelle (négligeable en valeur absolue pour le domaine de fonctionnement) , elle est certainement imputable à la tolérance des composants utilisés. Montage pour réglage pHmètre

Pour régler le pH, un petit montage est à réaliser si l’on ne dispose pas de solution étalon. Ce montage permettra de fournir les tensions types correspondant aux différentes valeur de pH afin de régler l’échelle et l’offset. Comme pour la température, le logiciel permet d’effectuer une correction d’offset afin de faire correspondre la valeur mesurée et la valeur physique.
Les réglages se font avec 2 multimètres numériques : 1 pour contrôler la tension simulant la sonde et le second pour mesurer l’entrée voie 1 sur le MC.
La résistance ajustable ‘Gain’ est ajustée pour avoir un écart de tension de 2,92V (soit 600 points CAN) en entrée voie 1 pour un pH 4 (+177,48mv) et pH10(-177,48mv).
La résistance ajustable d’offset est ensuite ajustée pour avoir en pH10 une tension de 4,50V. La valeur théorique de l’offset logiciel à initialiser est donc de 1000 – (4,50/5*1024) = 790.01 unité pH correspondra donc à 1 point CAN 8. Les circuits imprimés
8.1 La carte processeurSchéma électrique :

Circuit imprimé implantation composant :

Cuivre du Circuit imprimé :

8.2 La carte d’entrées/sorties
Circuit imprimé implantation composant :

Cuivre du Circuit imprimé :

8.3 Les cartes d’interface puissance
Circuit imprimé implantation composants S0-S7 :

Cuivre du Circuit imprimé S0-S7 :

Circuit imprimé implantation composants S8-S15 :

Cuivre du Circuit imprimé S8-S15 :

8.4 Dongle de programmation (port //) :
Circuit imprimé implantation composants :

Le ci est 74HCT244
– pour la connexion des câbles on se référera au schéma général de câblage.Cuivre du Circuit imprimé :

8.5 Circuit de réglage pH mètre
Circuit imprimé implantation composants :

Cuivre du Circuit imprimé :

A droite le support de pile (1,5 type AAA)
La résistance ajustable est de 200ohms 20tours, la résistance 1K, 1/4W
9. Liste des composants
On se référera au document en pdf (fichier zip) pour ce chapitre
10. Le logiciel du Microcontrôleur :
Le logiciel de l'automate est réalisé en assembleur ATMEL sans autre outil que l'AGL AVR fourni par le constructeur. Ce logiciel est basé sur un paradigme Main boucle/call back. Les call backs sont générés principalement par interruption (RS232, SPI, I2C, Timer).
La programmation est très modulaire et s'appuie sur une construction d'appel en échelon des modules. Ce code (entièrement original) est d'un volume d'environ 15000 lignes assembleur hors lignes de commentaires et data.
La programmation est réalisée de telle façon que toutes les fonctions sont disponibles en parallèle: La gestion de l'accès aux ressources communes (mémoire, bus, Timer,...) est géré par soft sans Operating System (pas de royalties ni d’overhead soft coûteux en puissance machine.
L’accès en simultané permet par exemple d'engager un dialogue via le PC pendant qu'une connexion Internet est active et la régulation des automatismes en action.
Les éléments principaux de la conception du logiciel sont donnés dans les sous-chapitres suivants
10.1 L’adressage logiciel des composants :
Les composants d’E/S de la carte principale et de la carte d’E/S sont adressés par des signaux issus du microcontrôleur (pin) qui commande deux démultiplexeurs. Les données échangées se font via un bus de 4 bits. On se référera au document en pdf (fichier zip) pour ce chapitre
10.2 La communication série
La communication série avec le PC permet de consulter et de modifier toutes les mémoires gérées par le MC. Un accès en R/W est possible sur les éléments suivants :
- RAM (R/W)
- Programme
- EEPROM MC (R/W) - I2C
– EEPROM0 et 1 (R/W) - I2C
– TIMER (R/W) - I2C
– Interface WEB NM7010A+-
Caractéristiques communication :
- 8 Bits parité paire
- Vitesse 9600 Bds
- Série Asynchrone HALF DUPLEX
- 1 Bit STOPFormat message(Tous les Messages sont doublés pour contrôle à la réception) :
- 1 Octet Fonction <4 Bits PF : périphérique> <4 Bits pf : code>: Bits 4-7 (4 bits PF) :
o RAM = 1
o Programme = 2
o EEPROM MC = 3
o I2C-EEPROM0 = 4
o I2C-TIMER = 5
o SPI-NM7010B = 6
o I2C-EEPROM1 = 7Bits 0-3 (4 bits pf)o Read = 1
o Write = 2
o ACK0 = 3
o ACK1 = 4
o NACK0 = 5
o NACK1 = 6
- 2 Octets adresse (R/W)
- 1 Octet compte octets Data
- 1-255 Octets < DATAs>- 1 Octet LRC- 1 Octet Fonction :- 2 Octets adresse (R/W)- 1 Octet compte octets Data- 1-255 Octets < DATAs>
- LRC Protocole de communicationOn se référera au document en pdf (fichier zip) pour ce chapitre
10.3 Organisation mémoire EEPROM du microcontrôleurOn se référera au document en pdf (fichier zip) pour ce chapitre
10.4 Organisation mémoire des EEPROMs (I2C) On se référera au document en pdf (fichier zip) pour ce chapitre
10.5 Programmation du MC et de ses mémoires :
On se référera au document en pdf (fichier zip) pour ce chapitre
10.6 Modification de la Programmation:On se référera au document en pdf (fichier zip) pour ce chapitre
11 Le raccordement INTERNET
11.1 Schéma général Le raccordement Internet suppose que vous avez une communication ADSL (minimum) toujours disponible. A titre d’exemple, je développerais ma solution personnelle qui utilise FREE comme provider.

11.2 Configuration du router NAT du provider (FREE)Via le portail FREE, on accède à son compte et notamment à sa configuration router NAT. A ce niveau, on défini la redirection du port d’échange avec MCP_WEB (61234) dont l’adresse IP est 192.168.0.132. On remarquera que cette configuration impose d’avoir une adresse ip fixe pour le MCP_WEB, on a donc défini que pour une connexion dont la referens MAC est 00.08.dc.01.02.03 on demande au router d’attribuer d’office l’adresse 192.168.0.132.Ces données (adresse IP, port) sont programmés dans l’EEPROM du microcontrôleur et donc modifiables. Pour son éventuelle modification, l’adresse MAC est dans le fichier ESEG_Definition.asm à l’étiquette ‘M_NET_HWAdress:’Ma configuration impose aussi les adresses IP pour 4 autres machines (192.168.0.131, 133,134,135).

11.3 Configuration réseau du MCP_WEBVia l’IHM sur PC (connexion via RS232), un écran permet de modifier les paramètres nécessaires.
- L’adresse IP de votre MCP_WEB Cette adresse est de la forme 192.168.0.x . . Dans notre configuration ici, x= 132 soit 192.168.0.132
- Le masque réseau : en général il est de la forme : 255.255.255.0
- L’adresse IP de la passerelle : ici pour FREE c’est 192.168.0.254
- L’adresse IP de la messagerie de votre Provider : cette adresse est sur le formulaire de votre contrat avec le provider . Pour retrouver l'adresse IP du serveur SMTP du provider sous Windows ou Linux,
o (Se connecter à sa messagerie pour vérifier si OK)
o lancer dans un terminal: nslookupo puis faire set q=mxo donner le nom domaine pour free: free.fro l'adresse SMTP s'afficheo sortir du dialogue exit
- Le port d’écoute SMTP de la messagerie est 25
- On défini ensuite son Id de login et son password qui seront enregistré dans l’EEPROM. Si l’on perd son pwd : soit on le reprogramme, soit on le relit dans l’EEPROM. via l’interface série :
- Cet écran permet ensuite de positionner 2 flags de sécurité qui permettent de limiter l’accès aux modifications via ethernet. Soit les modifications effectuées via ETHERNET ne seront prises en compte qu’au niveau de la RAM : lors d’un reset les paramètres sont réinitialisés depuis l’EEPROM, soit les paramètres sont répercutés dans la RAM + l’EEPROM et deviennent alors permanent jusqu’à la prochaine modification.
11.4 Accès via ETHERNET au MCP_WEBPour cela il faut ’adresse IP de votre connexion INTERNET Cette adresse est récupérable sur le portail FREE / gestion du compte INTERNET / Mon adresse FREESur un navigateur (IE5, Mozilla, …) l’url sera : http://aaa.bbb.ccc.ddd:61234/index.html
Avec aaa.bbb.ccc.ddd votre adresse IP InternetPour exemple, l’URL de mon MCP_WEB personnel est : http://82.236.69.241/61234/index.html
Remarque :
Pour les accès via un PC sur votre intranet interne (cela suppose que vous avec au moins un router (ou hub) vous pourrez accéder à votre MCP_WEB via l’adresse IP interne à votre réseau soit dans mon exemple : http://192.168.0.132/61234/index.html
12. Les interfaces homme/machine :
12.1 L’IHM locale sur le MCP_WEBLe boitier automate possède une IHM composée de :
- un écran LCD de 4 lignes, 16 caractères
- un clavier numérique- 5*2 Leds de signalisation
- 4 boutons poussoirsBoutons poussoirs de forçage d’action:Bouton Couleur Fonction CommentairesBP0 Vert Etalonnage Mesures Permet affichage des Mesures (Points d’acquisition) pour réglage sans arrêt de l’automatisme
BP1 Noir Demande envoi Email Force l’envoi d’un email (journal Compte rendu) pour test
BP2 Rouge Déconnexion INTERNET Force une déconnexion d’un utilisateur connecté
BP3 Rouge Réinitialisation MC Force un reset du CPU par soft, les paramètres sont rechargés depuis l’EEPROM du Micro contrôleur et la date relue depuis le TIMER
Signalisation par Leds :
Ces LEDs en face avant horizontal bas (2*5) permettent de synthétiser le fonctionnement et de signaler une alarme.Voyants Bas gauche (Etat HARD): repère Couleur Fonction CommentairesZ10 Vert Signe de Vie Clignotement périodique 1s – Signal le fonctionnement de l’automatismeZ11 Orange Défaut EEPROM 0 Défaut d’accès sur EEPROM (I2C) 0Z12 Orange Défaut EEPROM 1 Défaut d’accès sur EEPROM (I2C) 1Z13 Orange Défaut TIMER Défaut d’accès sur TIMER (I2C) Z14 Rouge Défaut Secteur Défaut sur une des 2 Lignes secteur (un disjoncteur différentiel déclenché) ou fonctionnement sur BatterieVoyants Bas Droite (Etat application) :repère Couleur Fonction CommentairesZ0 Rouge Sortie(s) Forcée(s) Au moins 1 sortie est forcée dans un état 0 ou 1Z1 Orange Défaut pH La mesure pH est hors seuilsZ2 Orange Défaut Température La mesure Température est Hors seuilsZ3 Rouge Défaut MAIL Défaut sur envoi emailZ4 Vert Connexion ETHERNET 1 connexion Ethernet est en cours
Menu arborescent (écran LCD + Clavier) :
La prise de main s’effectue par l’appui sur 1 touche du clavier numérique
Les principes suivants sont adoptés :
1 Annulation par #
2 Validation ITEM par *
3 navigation menu suivant les touches : 2 (^), 8 (v), 4 (<-), 6(->)
4 Retour menu niveau -1 par (2) flèche haut
5 EXIT par #
6 Saisie donnée par 0 - 9 ….. Validation par *, correction par #, Abandon par ##Cette arborescence est limitée à 4 niveaux : qui seront affichés chacun sur une ligne de l’afficheur (contexte). La dernière ligne de commande sert à saisir une information (coefficient,…) ou valider une action déterminée par le menu sélectionné.
On se référera au document en pdf (fichier zip) pour ce chapitre 12.2 L’IHM accessible sur le WEBCette IHM est définie par des pages HTML qui doivent répondre aux contraintes telles que vues lors de la description des EEPROMs contenant ces fichiers.L’accès aux informations propres au MCP_WEB (états, status, commandes,..) doivent répondre à la syntaxe suivante quand au nommage de ces informations (on se référera aux fichiers html proposés pour plus de précision.On se référera au document en pdf (fichier zip) pour ce chapitre
12.3 La signalisation de défaut via un Mail
Le logiciel permet d’envoyer un mail sur défaut ou périodiquement. Ce mail est constitué d’un message pré formaté dans un fichier .smtp mémorisé dans l’EEPROM utilisée pour les fichiers WEB. Ce fichier est donc modifiable suivant un éditeur de texte si l’on souhaite modifier son contenu. On se référera au fichier proposé pour plus de détail. On rappelle que l’utilisation des fonctions WEB et MAIL suppose que les données correspondantes sont à jour (menu ‘paramètres WEB’ du logiciel fourni et les fichiers .smtp modifiables sous éditeur de texte
12.4 L’IHM sur PCLe logiciel PC est réalisé en DotNet et peut fonctionner sur tout PC équipé de Windows XP. Ce logiciel est nécessaire pour initialiser les EEPROMs I2C supportant les fichiers HTML. L’utilisation de ce logiciel se fait avec l’application active (attention aux risques de bogues en cas de mauvaise manipulation). Après dézippage du fichier proposé sur C:, l’exécutable se trouve dans C:mcp_2008_LivrablesSoft_PC_DotNET Controle_MCP.exe.La configuration du logiciel est simple et se fait dans l’écran affiché lors du clic du bouton ‘activation Communication’ :
- L’écran d’accueil :
Cet écran permet de lancer l’écran d’initialisation de la communication (via port série) entre le PC et le MCP_WEB par appui sur le bouton ‘activation Communication ….’.L’écran suivant permet :o De paramétrer la configuration : port série utilisé, la vitesse, parité et bits Stop ne sont pas & changer si vous avez conservé la programmation du MCP_WEB livrée (9600 Bds, Parité Paire, 8 bits infos, 1 bit stop)o de consulter et/ou modifier toutes les mémoires de l’application byte par byte ou par bloc (jusqu’à 64 octets) : EEPROM du microcontrôleur, EEPROM sur bus I2C, Timer sur bus I2C, interface WEB sur bus SPI, la RAM, la zone programme.

Le deuxième élément du menu principal, active la fenêtre permettant de modifier les paramètres de fonctionnement et principalement les données du réseau Ethernet :

L’écran suivant permet de télécharger les EEPROMs avec les fichiers HTML. On fera particulièrement attention à l’ordre de ces fichiers qui doit correspondre à leur définition (Numéro d’ordre) au niveau du programme. Toute modification d’un fichier doit engendrer un recalcul des adresses (bouton gauche) puis une sauvegarde du fichier .Flip-flop correspondant et ensuite une RAZ + réinitialisation de l’en-tête de EEPROM (2 boutons droite) puis un rechargement de tous les fichiers (bouton en bas).Avant utilisation, il faut s’assurer que le répertoire supportant les fichiers est bien celui donné dans la liste. Il y a un fichier de configuration par EEPROM, ces fichiers peuvent être modifiés sous éditeur de texte à la condition de ne pas modifier leur structure.A noter que cet écran permet de récupérer les fichiers depuis l’EEPROM afin de les mémoriser sur fichier PC.

Cet écran permet de charger l’EEPROM du micro contrôleur avec un fichier EEP créée sous Câble De développement.

Le contenu de l’EEPROM du microcontrôleur peut être sauvegardée sur fichier sur PC :

13. Plan perçage
– Façades
Les façades sont imprimées sur papier autocollant pour extérieur (type Micro application)
On se référera au document en pdf (fichier zip) pour ce chapitre
14. Conclusion
Le système proposé est robuste, avec de nombreuses fonctionnalités pour un prix modeste par rapport aux produits commerciaux (dont l’équivalent stricto-sensus n’existe pas à ma connaissance) : le prix de l’automatisme est d’environ 600€ (200+100+50+50)
Le coût du coffret électrique (300€) n’est pas inclus car il est difficilement contournable pour une installation correcte même sans automatismes.Ce montage présente en outre l’avantage de permettre très facilement, le raccordement d’état ‘intrusion’ issu d’une centrale d’alarme par exemple.
Article soumis par alain524