jeudi 14 février 2013

Projet Domotique. Partie 1: l'alimentation

Bonjour à tous. Je bosse depuis un moment déjà sur 2 projets domotiques. Un pour notre nouvelle maison et un pour celle d'un ami. Les deux projets sont quasiment similaires à part qu'une des 2 maisons sera chauffée au bois + complément électrique et l'autre au chauffage central gaz.

Chaque projet sera construit autour d'un Arduino méga et aura pour but de gérer (dans un premier temps):

   - le chauffage pièce par pièce,
   - les volets,
   - la ventilation,
   - le suivi des consommations (électrique et/ou gaz) et des températures.

Puis dans un second temps:
   - l'alarme,
   - l'éclairage (ambiances, simulateur de présence...)

Le premier objectif du projet est l'optimisation de la consommation d'énergie, d'où la gestion du pièce par pièce. Mais d'autres pistes vont être suivies comme le délestage afin de réduire la puissance du compteur électrique et donc de payer moins cher d'abonnement (il y a 80€ d'écart par an entre un abonnement 9KVA et un 12KVA, ce n'est pas négligeable) ou l'optimisation de l'utilisation des heures creuses. Pour le projet sur chauffage central au gaz, le système devra "apprendre" au fur et à mesure le comportement des pièces (par rapport à la température extérieure) pour optimiser ces cycles de chauffe. J'y reviendrais plus en détail dans les prochains posts.
Mais comme il faut bien commencer par quelque chose,  j'ai décidé de vous présenter l'alim que j'ai fabriquée pour le système.

Je me suis imposé 4 objectifs pour l'alimentation, elle doit être:

  - simple (pour la maintenance et parce que je ne suis pas électronicien...)
  - robuste (car le système gère quand même le chauffage de la maison)
  - pas chère (parce que je suis une pince...)
  - munie d'une batterie (en cas de coupure de courant, pour garder les données et paramètres et pour pouvoir redémarrer dans de bonnes conditions)

Je me suis vite aperçu que le 4ème objectif allait à l'encontre des 3 premiers. Je n'ai pas trouvé de plans d'alimentations simples qui aient une batterie de sauvegarde. La durée de vie des batteries constamment branchés est très faible, les circuits de charges sont de plus en plus compliqués avec les nouvelles batteries...

Après quelques temps, je me suis de nouveau tourné vers les super-condensateurs (ou Ultra-Cap, Ultracapacitor, GoldCap...). Les supercondensateurs ont l'avantage d'une durée de vie exceptionnelle par rapport au batteries et n'ont pas besoin d'un circuit de charge très compliqué. Cependant il n'ont pas des capacités aussi importantes que les batteries. Mais je n'ai pas besoin d'une grosse quantité d'énergie stockée, le système pouvant se mettre en veille pendant la coupure de courant car le chauffage ne peut pas marcher (un chauffage centrale au gaz à besoin d'un circulateur électrique pour fonctionner et est donc arrêter lors d'une coupure de courant).

Le dernier inconvénient des condensateurs est que la tension à leurs bornes diminue en même temps que leur charge. L'Arduino est muni d'un système de régulation interne qui lui permet d'être alimenté par une source de 6 à 20 V (7 à 12V recommandé). Le problème de baisse de la tension ne sera donc pas un gros problème.

J'ai donc décidé de faire une alimentation avec un transformateur 10V redressé et quatre condensateurs en série (les condensateurs que j'ai choisi pouvant supporter une tension de 2,7V).

Voici le résultat:



Voici avec mes humbles connaissances en électronique le principe (étape par étape) du fonctionnement de l'alim pour les débutants en électroniques qui voudrait l'installer sur leur arduino (ça peut aussi marcher avec un arduino Uno qui possède la même régulation mais pas avec un Nano)


Le principe est tout simple. Des condensateurs de fortes capacité sont en parallèle du transformateur. Ils prennent le relais quand le courant est coupé. Cependant, si c'est possible de le faire avec des condensateurs      
de quelques milli Farad, ce n'est pas aussi simple avec 10 Farad. Il faut impérativement mettre une résistance de charge pour limiter l'intensité car sinon les condos vont se détériorer et le transformateur risque de cramer. On peut aussi au passage rajouter une diode pour éviter les problème en cas d'inversion de la polarité du transfo. Cela donne:

Presque n'importe quelle diode fera l'affaire (suffisamment grosse pour supporter la puissance). Par contre pour la résistance, il faut calculer sa valeur:
Sachant que mon transfo supporte 300 mA, que lors de la première charge les condensateurs sont vides, la résistance se prend donc les 10 Volt. Donc R=U/I = 10/0.3= 33.3 ohms.
J'ai mis une résistance de 50 ohms. La puissance dissipée dans la résistance sera au maximum de :  P=U*I= U²/R=100/50=2 watts. Il n'est donc pas question d'utiliser une résistance d'1/4 de Watt. La résistance va bien chauffer (surtout au début de la première charge).

Il reste un petit problème: 10 Volt divisé par 4 donne 2,5 Volt, on pourrait penser que les condensateurs avec 2,7 Volt de limite n'auront aucun problème. Cependant, ils n'ont pas forcément exactement la même résistance interne. Ils ne vont donc pas se charger à la même vitesse. Il y a donc un risque qu'un condensateur se charge à plus de 2,7V et là, c'est la cata. Il va "claquer" et devenir passant, les autres condensateurs vont ensuite "claquer" les uns à la suite des autres car ils ne seront plus que 3 pour recevoir les 10 Volt puis 2 puis 1....

Il faut donc les protéger. J'ai choisi de leur mettre à chacun une diode Zener en parallèle. J'ai mis des 2,4 Volt pour avoir une petite marge par rapport aux 2,7 volts. Le schéma devient donc:




Sur le schéma, les diodes Zener sont branchés à l'envers, c'est normal. C'est à l'envers qu'elles sont passantes à 2,4V, dans le sens habituelle, elles sont passantes à 0,6V ce qui ne serait pas suffisant.

Il reste une dernière petite chose à faire: trouver le moyen d'informer l'Arduino que le courant a été coupé ou que le transfo a été débranché pour qu'il se mette en veille. J'ai choisi d'utiliser une PIN Analogique du Arduino et un pont diviseur de tension avec une résistance de 4,7Kohms et une de 10Kohms. La broche du arduino recevra donc une tension de 10*4700/(10000+4700)=3,2Volt. La lecture de cette tension sur la broche donnera donc une valeur proche de 1024 / 5 * 3.2 = 655. Le système pourra donc se mettre en veille quand la valeur descendra en dessous de 500 par exemple.

Le schéma final est donc:

Cette alim, avec des composants de récup (transfo, résistance et diode) et quelques composants achetés sur Ebay (Condo 10 Farad, diodes zener et borniers) ainsi qu'un petit bout de plaque de prototypage (Veroboard) ne revient qu'à 5 Euros.

A+







2 commentaires:

  1. Très beau projet en perspective. Je vais le suivre attentivement, étant aussi dans un cas similaire (construction + projet domotique) et ayant des connaissance en électronique proche du 0 absolu...
    Merci pour le partage de connaissances et d’expériences

    RépondreSupprimer
  2. Bonjour,

    Projet très intéressant ! Avez-vous avancer depuis votre dernière publication?

    RépondreSupprimer

Un petit commentaire, ça fait toujours plaisir!