Je possède un aquarium de 120 litres. Un simple programmateur journalier est utilisé pour allumer les néons pendant une dizaine d'heure chaque jours. L'automatisation de cet aquarium n'est pas essentielle, mais me permet surtout d'explorer les possibilités des micro contrôleurs de chez Microchip.

Les besoins.

  • Allumage de 2 rampes de néons. Les allumages et extinctions seront décalés le matin et le soir pour simuler légèrement le lever et coucher du soleil.
  • Sonde de température de l'eau et commande du chauffage.
  • Sonde de température de l'air sous la galerie et commande d'un ventilateur.
  • Gestion de LEDs pour simuler un éclairage lunaire (Utilisation du PWM pour faire varier l'intensité lumineuse).
  • Gestion d'une horloge
  • Gestion d'un afficheur LCD.

Le matériel

Descriptions des entrées

Entrées analogiques

Nous utiliserons les entrées analogiques afin de mesurer les différentes températures.

Entrées digitales

Les entrées digitales permettront de piloter la carte électronique.

Descriptions des sorties

Toutes les sorties de commandes se feront en utilisant des relais possédant 2 contacts RT. Cela permettant de couper la phase et le neutre lors d'interventions dans le bac. Il est obligatoire de couper l'alimentation de courant de l'ensemble du bac avant toutes interventions, l'eau et l'électricité n'ayant jamais fait bon ménage.

Sorties Relais

Les sorties Relais sont utilisées pour la commande des néons (2 rampes), la commande de chauffage, et la commande de pompe.

Sortie PWM

Cette sortie permettra de connecter une rampe de LED simulant un éclairage lunaire.

Sortie LCD

Un afficheur LCD de 2 lignes sera utilisé pour afficher les diverses informations du bac, comme la température, l'heure et toutes autres informations disponibles

Port USB

Nous utiliserons également le port USB afin de paramétrer la carte et récupérer les informations.

Horloge

Nous utiliserons une horloge I2C de type PCF8583 pour la gestion de l'heure et des différents allumages. Le port I2C sera disponible sur la carte, permettant ainsi de faire évoluer la partie matérielle.

Choix du contrôleur.

Nous avons donc besoin de :

  • 2 port Analogique
  • 1 port PWM
  • 4 ports en sorties pour la commande des relais
  • 7 ports pour la gestion de l'afficheur LCD
  • 1 port I2C pour la gestion de l'horloge
  • 1 port USB

La réference PIC18F2550 devrait être suffisante, mais le nombre d'entrées sorties risque de nous limiter dans le cas d'extensions. Son grand frère, le PIC18F4550 peut être également utilisé. Du point de vue logiciel, ces 2 micro contrôleur sont compatibles.

Module lunaire.

Après avoir trouvé sur un site une formule permettant de connaitre l'éclairage de la lune en fonction du mois lunaire, l'implémentation d'un module lunaire ne devrait pas poser de problèmes particuliers.
La formule simplifiée est la suivante : EL = (1-Cos A) x 50
Pendant 1/2 mois lunaire, la luminosité croit, puis décroit jusqu'à la nouvelle lune. Le mois lunaire dure environ 29,5 jours. On peut donc faire varier le rapport PWM en fonction de cette formule.

Alimentation

L'alimentation est relativement simple. Un transformateur protégé par un fusible fournira une tension d'environ 14 Volts. Cette tension sera redressé, puis filtré et régulé en +12V et +5V.
Le +12V permettra l'alimentation des relais ainsi que des leds utilisées pour l'éclairage lunaire, le +5V étant utilisé pour alimenter la partie logique de ce circuit. Une led indiquant la présence de tension pourra être branchée. Une pile, avec un système anti-retour, permettra de sauvegarder l'horloge du circuit temps.