Electronique

Bonsoir,

Depuis mon récent déménagement, j’ai le plaisir de vivre dans une (très ?) grande maison totalement chauffée à l’électrique.

L’hiver approche et j’ai peur des factures qu’EDF vas m’envoyer. Je vais donc chercher à gérer au plus juste mes radiateurs. Pour cela, j’utilise bien sur le fil pilote même s’il faut que je tire tous les câbles vers le tableau électrique.
En effet, je considère (et mon porte monnaie est d’accord) que quelque chose d’aussi basique doit être intégré au réseau électrique et ne pas passer par les ondes. Celles-ci sont réservées aux équipements nomade.

Pourquoi mon porte monnaie est il d’accord ? Tous simplement par ce qu’il serait très facile de tout gérer avec des modules z-wave à 50 € pièce + la clé (30€) + la centrale domotique.
J’ai 14 radiateurs, avec une tel solution j’aurais intérêt à en faire des économies pour amortir l’ensemble…

En plus d’être fainéant, je suis radin. J’ai donc choisi de tirer des câbles à travers toute la maison (seulement 15€ de câble en tout), et de les gérer avec des circuits dont j’ai vais vous parler ce soir.
Vous vous posez la question ? Alors, OUI, tirer des câbles vers 14 radiateurs c’est chiant ! Merci Christophe et Mme Jilks pour le coup de main 🙂

Pour ceux qui connaissent ma maison et qui se sont amusé à compter, il en manque 2 : les radiateurs des salles de bain ne possèdent pas de fil pilote, je prévois donc de les commander directement depuis le tableau électrique (ON / OFF).

Quel système choisir ? Un projet que je suivais depuis bien longtemps : Jeedom, mais que je n’avais pas encore eu l’occasion d’essayer.

Leurs idées correspondent aux miennes :

  • Pas de système sur serveur externe
  • Un système très évolutif, on commence simple et on étoffe éventuellement
  • Une base gratuite, des options payantes
  • Un forum réactif.

Côté matériel, j’ai choisi une base qui pourrait évoluer ou servir à autre chose selon les besoins : Un Raspberry PI 3.
J’ai bien un NAS Synology qui aurait pus faire tourner Jeedom, mais je considère que ce n’est pas son rôle. De plus, mon idée de départ était d’intégrer le raspberry et le circuit d’interface dans le tableau électrique.

Bon, J’ai un Raspberry, Jeedom est installé… On se doute bien que je ne vais pas brancher les fils pilote directement dessus…

Je vais utiliser le port I²C pour commander un MCP23017, qui ira lui même commander des optocoupleurs. Il faut 2 optocoupleurs par fil pilote, chacun gérant l’alternance positive ou l’alternance négative. Cela grâce à 2 diodes montées dans un sens opposé :

Je n’ai représenté qu’un seul couple d’optocoupleurs mais un MCP23017 permet de gérer 8 fils pilotes, si ce n’est pas assez, on ajoute un MCP23017 supplémentaire. On peut en mettre ainsi jusqu’à 8 sur le bus I²C et donc gérer 64 radiateurs pour un coût ridicule.

Juste pour rire : La broche /reset à Vcc est obligatoire !! J’ai perdu quelques heures avant de le comprendre 🙁

Notez bien que ce schéma n’est valable que pour gérer un fil pilote 4 ordres, pas un 6 ordres.

Et en vrai, ça donne quoi ?

Heu… Je veux bien vous montrer le proto, mais on se moque pas, ok ?

Le disjoncteur de gauche (16A) protège une prise classique, sur laquelle est branché l’alim du Raspberry, ainsi que le boitier CPL. Le disjoncteur de droite (2A) protège la phase qui vas sur les optocoupleurs puis vers les fils pilote.

Les bornes grises sont les arrivées des chambres de l’étage.

On peut voir que j’avais câblé 2 fils pilotes sur mon proto (4 optocoupleurs). Notre chambre et celle de petit bout N°1 afin de tester le système sur quelques semaines.

Bon, n’importe qui ayant envie de faire ça trouve ces schémas / idées sur internet alors pourquoi écrire un article ?

Tout simplement parce que je me suis retrouvé comme un couillon devant Jeedom à ne pas savoir comment gérer mes radiateurs, quoi faire, comment démarrer … Et là, je n’ai rien trouvé sur Internet pour m’aider.
J’espère que le prochain qui pose la question à Google aura au moins ma réponse pour essayer de sortir du brouillard 🙂

Il faut commencer par créer des objets pour représenter sa maison. Un objet maison puis objet Radiateur, qui est dans la maison.

Là, je simplifie. En vrai on vas également créer chaque niveau (rez de chaussé, étage) et chaque pièce de la maison.

Ensuite, on vas installer le plugin “Virtuel”, il va nous permettre de créer des curseurs virtuel ayant 4 positions (oui, comme le nombre d’ordres du fil pilote).

On créer l’élément virtuel “Mode Radiateur R4”, pour cet exemple.

Il contient une commande de type “Curseur”, pouvant varier de 0 à 3 (donc 4 positions)

Notez bien le nom de la valeur “Mode chauffage”, il resservira.

A ce niveau, si vous retournez dans le dashboard Jeedom, vous avez un curseur, et l’affichage de sa valeurs.

On vas maintenant installer et utiliser le plugin “Widget”, et plus particulièrement le widget “Radiateur 6 ordres” :

Il est prévu pour fonctionner avec des valeurs comprises entre 10 et 60, l’une de ses 6 images en fonction de la valeur de #state#.

On va le modifier de 2 manières :

  • Il ne vas gérer que 4 images, pour les 4 ordres
  • Les valeurs de #state# seront 0, 1, 2 ou 3 pour correspondre au curseur définie juste au dessus

On clique doc sur le bouton dupliquer, et on lui donne un nouveau nom : “Radiateur 4 ordres”.

Le code est modifié comme cela :

Suppression de 2 lignes (confort-1 et confort-2) et modification des conditions des “if” et “else if”. Vous n’y connaissez rien en code ? Pas grave, y a juste à copier 🙂 .

Enfin, on vas lier ce widget au radiateur. Pour cela, on clique sur le bouton “appliquer sur des commandes”.

Et on coche le ou les radiateurs.

Pour mon proto, c’était R3 et R4.

Retour dans le Dashboard, et test du curseur :

Bon, le proto électronique fonctionne, Jeedom fonctionne et affiche des modes de chauffage.

Il faut maintenant faire communiquer le logiciel et le matériel. Pour cela, je vous propose d’installer le plugin “Jeedouino”. Il est gratuit, il fonctionne bien et le développeur est très réactif sur le forum en cas de besoin.

En plus, ce plugin permet de faire d’autres truc cool dont on reparlera une prochaine fois.

Avant que j’oublie : Sur votre raspberry, il faut activer l’I²C, internet regorge d’infos a ce sujet.

On créer un équipement, j’ai choisi de le nommer “MCP23017”, bien sûr vous mettez le nom qui vous plait.

Modèle de la carte : blabla / MCP23017

Adresse I²C : Sur le schéma au dessus, c’est 0x00, ne tenez pas compte de la capture qui était sur un autre montage.

Adresse IP de la carte, c’est celle du raspberry, le port doit juste être libre.

On sauvegarde, et on vas dans Pins/GPIO, il faut tout passer à “Sortie mise a low (High généré aussi)”, ainsi les 16 sorties du MCP23017 seront utilisable.

Après cette génération, on sauvegarde et on vas dans “Commandes”:

Avec les boutons “tester”, il est maintenant possible de commander les sorties du MCP23017 depuis Jeedom, on s’approche de la fin 🙂

Pour terminer, on créer un scénario qui vas faire le lien entre le mode souhaité pour un radiateur, et les optocoupleurs à activer pour l’obtenir.

Je suis en mode avancé, c’est un scénario provoqué, par le changement du “Mode chauffage” du curseur virtuel correspondant au radiateur R4

On retrouve la même logique que dans le code du Widget :

Si mode chauffage < 1, alors c’est 0 et je demande l’arrêt, pour cela je dois activer l’optocoupleur de la broche 6 et désactiver celui de la broche 7, avec les diodes correspondantes, j’obtiens des demi alternance positive : l’arrêt 🙂

Sinon, si mode chauffage < 2 (et comme il n’est pas inférieur a 1), c’est 1 donc je demande le hors gel. Pour cela, facile, il faut les demi alternances négatives, c’est l’inverse de l’arrêt : broche 6 a l’état haut, broche 7 a l’état bas, c’est l’autre diode qui est utilisée.

Sinon, si mode chauffage < 3 (et comme il n’est pas inférieur à 2), c’est 2 donc je demande le mode éco. Pour cela, il faut envoyer le 230V au complet, on met les 2 broches a l’état bas, pour activer les 2 optocoupleurs et utiliser les 2 diodes.

Sinon, bah c’est 3, mode confort (normal), on coupe le fil pilote en mettant les 2 broches a l’état haut pour désactiver les deux optocoupleurs.

Alors, oui, c’est un peu longuet a coder, mais ça fonctionne parfaitement et rapidement.

Bon, c’est pas mal ça : on clique et le radiateur passe dans le mode désiré !

Oui, mais… on vas pas passer son temps connecté a l’interface de Jeedom pour faire basculer les radiateurs d’un mode a l’autre.

Pour cela, la meilleur méthode que j’ai trouvé est d’utiliser des scénarios programmés.
Notre chambre par exemple : le radiateur est éteint dans la journée, passe en mode confort à 20h00 (on se couche ainsi dans une chambre a 18°), passe en mode éco à 0h00, en mode confort à 5h00 et s’éteint à 7h30. tout cela, la semaine. En weekend il s’éteint à 9h00.
Le scénario qui éteint le radiateur à 7h00 est le suivant :

On peut voir que c’est un scénario programmé, dont la commande cron est “30 7 * * 1-5”, ce qui signifie : “à 7h30 de toutes les dates de tous les mois pour les jours du lundi au vendredi”.

Et pour l’extinction du weekend : “00 9 * * 0,6”, je vous laisse décoder 🙂

Youhou !! j’ai atteint mon objectif de base, et ça marche très bien !!

L’une des principales évolutions logiciel sera l’utilisation d’un planning. Mais je ne veux pas planifier les radiateurs, je veux renseigner les horaires de travail (variable) de Mme Jilks, la présence ou non de petit bout n°1 le mercredi après midi (sieste et donc chauffage ou non), ainsi que des modes “globale”, tel que : “On est partis en weekend”, “y a des invités dans les chambres d’ami”, etc … et que la gestion se fasse en fonction de tout cela. Plus tard, pour l’instant j’ai d’autres projets.

On parle coût ?

Raspberry PI 3 : 35,70 €
Boitier, alim : 14,99 €
Carte micro SD : 6,49 €

Soit une centrale domotique à 57,18 €, qui pourra servir a autre chose si besoin.

MCP23017 : 1,25 € pièce avec support et condo.
78L33ACZ : 0,675 €
MOC3043 : 0,70 € pièce (2 par fil pilote)
Résistance 470 Ohm : 0,05 € pièce (2 par fil pilote)
Diode 1N4007 : 0,028 € pièce (2 par fil pilote)

Soit 14,37€ pour exploiter les 16 sorties du MCP23017, et donc gérer 8 fils pilotes.

Jeedom : Gratuit
Plugin Virtuel : Gratuit
Plugin Widget : Gratuit
Plugin Jeedouino : Gratuit

Bien sur, avec tout ça, on ne fait qu’un proto, pas un circuit de prod qu’on met en place dans l’armoire.
Nous reparlerons de cela une prochaine fois, avec un circuit réellement exploitable “en vrai” 🙂 Mais il suffit juste de faire cela proprement, le schéma reste le même.

Bonne soirée,

Jilks

Bonsoir,

Aujourd’hui, je vais vous parler du câblage permettant a un microcontrôleur de démarrer la voiture.

L’idée est simple : Faire en sorte que le neiman n’alimente plus directement les différents circuits, mais qu’il commande des relais qui, eux même, commanderons les circuits. Puis, il faudra faire en sorte qu’un microcontrôleur puisse venir commander ces relais. Ainsi, la voiture pourra être démarrée de la même manière par le neiman, ou un circuit électronique.

Pour répondre tout a fait à mon cahier des charges, il faut que le microcontrôleur sache si le neiman demande à actionner ou non les relais. Ainsi, lorsque la voiture est démarrée a distance et que le conducteur tourne la clé, le microcontrôleur relache sa commande des relais. et donc, lorsque le conducteur enlève sa clé, le moteur se coupe naturellement. Nous allons voir cela…

J’ai trouvé ce relais chez Ad, pour 13€ environ. Très (trop) chère, je n’en ai pris qu’un pour le tester.

Je me suis servis dans mon stock de vieux câbles pour en ressortir 6 connecteurs, 3 mâles, 3 femelles, en gris, marron, noir.

Cool, rien n’est abîmé a l’intérieur. Je ferais un article un jours sur les moyen de sortir les fiches sans abîmer les connecteurs.

A l’origine, les câbles connectés au neiman ont une section de 5mm², je reste donc sur cela. Les seuls que j’ai trouvé étaient chez Norauto, au rayon audio.

Très souple et très agréable a utiliser (bien plus que les câbles d’origine qui sont plus raide). Il y a ici 6 mètre, j’en ai utilisé plus de 5.

Le neiman est connecté a 6 fils :

  • 2 apportent le +12V directement de la batterie
  • 1 alimente les accessoires
  • 1 fonctionne en position marche, mais se coupe lorsque le démarreur fonctionne
  • 1 fonctionne en position marche, et reste alimenté même lorsque le démarreur est lancé (aliment au moins le calculateur)
  • 1 alimente le démarreur

J’ai ici un câblage me permettant d’ajouter 2 relais

  • 1 sur la position marche qui ne se coupe pas
  • 1 sur la commande du démarreur

Mise en position provisoire sur la voiture, pour essai.

Premier essai de démarrage sans la clé :

Bon, ça marche. Mais ce n’est pas bon : ainsi démarré, la voiture n’alimente pas le bloc aération car la position contact n’est pas alimenté. La position marche (celle qui se coupe) ne l’est pas non plus. Pas terrible. Je vais donc finalement mettre 4 relais, et ainsi être en mesure de reproduire totalement un démarrage “normal”.

Le schéma retenu est le suivant :

relativement simple, 1 diode est ajouté entre le neiman et le relais afin de permettre au micocontroleur de savoir si la clé est en position ou non. En effet, avec le câblage actuel :

  • Le microcontrôleur commande le relais
  • Dans ce sens la diode est bloquante, donc sur la broche “information”, il y a 0 V
  • Le conducteur tourne la clé, il y a maintenant 12V sur la broche “information”
  • Si le microcontrôleur arrête d’alimenter le relais, le moteur ne se coupe pas, car le relais est toujours alimenté par le neiman (ce qui est le fonctionnement souhaité)
  • Si, avant de mettre la clé de contact, le conducteur appuis sur une pédale, alors le microcontrôleur est en mesure de vérifier que non, la clé n’est pas tournée, il s’agit donc peut être d’une tentative de vol, il vas donc arrêter d’alimenter les relais et ainsi couper le moteur.

une simple diode placé ainsi permet donc de répondre à tous les besoins.

Fabrication du faisceau complet, avec les fils de commande et d’informations.
La diode est la petite boule grise.

Des gaines thermos permettent ensuite de s’assurer de l’absence de court circuit.
Tous les fils de commande / informations sont prêts

Les fils de puissance maintenant. Je reprend ici le câblage tel qu’il était conçu par citroën :

  • l’un des +12V alimentait 3 sorties du neiman, il alimente maintenant 3 relais
  • l’autre des +12V alimente un seul relais (le marche qui se coupe)

Beaucoup trop gros pour être sertis avec mes moyens techniques, je choisi la soudure. Ici, le câble principale n’est pas coupé, seul la gaine est enlevée, puis les autres fils viennent s’enrouler autour du fil principale. Avec cette méthode, je ne créer aucune fragilité et la soudure qui viens dessus ne permet que de maintenir les fils enroulé, elle ne participe pas vraiment à la solidité de l’ensemble.

Les connecteurs (neuf) sont sertis, puis soudé et enfin protégé avec de la gaine thermo.

Environs 3 heures de travail seront nécessaire pour préparer tous les câbles. Il ne reste qu’a les assembler.

Bah voila, c’est plus propre. Je ne sait pas si on le vois, mais j’ai fait en sorte de respecter les sens d’origine des connecteurs. De plus, dans un premier temps, les fils sont reliés 2 à 2 sans être placé dans les connecteurs Gris, marron et noir le temps que je teste l’ensemble.

Et…

je découvrirais plus tard que si la clim ne fonctionne pas, c’est tout simplement parceque j’avais oublié de reconnecter ce connecteur marron :

Bon, les relais fonctionnent s’ils sont commandé coté microcontrôleur, voyons maintenant si le fonctionnement d’origine est correct.

Mise en place provisoire…

Et…

Tout fonctionne bien, je peut donc clipser les éléments dans les parties plastiques afin d’assembler les connecteurs.

Le faisceau terminé. Si jamais je rencontre des soucies avec mon système, je n’ai qu’a le débrancher, et la voiture retrouve son câblage d’origine. D’un point de vue plus optimiste, je peut également considérer que je peut reprendre ces éléments pour installer le démarrage à distance sur une autre XM.

C’est tout de même bien plus propre !

Je reprend ici l’information “moteur tournant”. Ce fils est en l’aire ou au +12V quand le moteur est a l’arret (tout dépend de la position de la clé), et ramené a la masse quand le moteur tourne. il permettra donc au microcontrôleur de savoir quand arrêter le démarreurs.

Je reprend ici l’information du préchauffage, directement sur le fil de l’ampoule. Ainsi, je n’ai pas besoin d’avoir une temporisation pour éstimer le temps de préchauffage : mon programme le saura.

Clic clic, mon connecteur se remplis.

Bon, j’ai fait une erreur de conception : mon connecteur blanc arrive au pieds du conducteur et je n’aurais jamais la place d’y glisser mon nouveau circuit. Je le déporte donc au dessus des pieds du passager.

Pour cela, je prépare un faisceau complet, avec les 13 fils sur un nouveau connecteur blanc 13 voies, et rien de l’autre coté.

Je le place proprement au dessus des pieds du passager, mon circuit électronique prendra la place du boitier d’alarme, sur la trappe.

Au passage, je lui est mis de la mousse dans le virage, puis j’ai placé le faisceau dans le rail.

Les fils descendent ensuite derrière le rail, passent au dessus des fusible…

puis je les raccordes 1 par 1 au faisceau préalablement posé (coupure / soudure). Et voila le résultat :

Si vous comptez bien, il reste 4 fils dont je n’ai pas encore parlé. Il s’agit des fils permettant de savoir si l’une des 3 pédale est actionné, et de celui permettant de s’assurer que le levier de vitesse est bien au neutre.

pour les pédales, ils ne sont pas encore câblé. Pour le levier de vitesse, j’ai eu de la chance de trouver un emplacement vide dans l’un des connecteurs sous l’autoradio.

Et voila :

Le problème est donc également reporté a plus tard : la nouvelles portion de câble à poser est accessible juste en déposant la console centrale, je verrais donc cela plus tard. Je doit également retrouver le site internet qui vendait un contacteur pas mal du tout pour cette fonctionnalité. A suivre …

Voilà pour cette première partie sur le faisceau électrique du démarrage a distance. Dans les prochains articles je vous parlerais du raccordement au divers autres signaux (télécommande, boutons ajoutés, …) ainsi qu’aux autre fonctionnalité (allumage AB, dégivrages, …)

Bonne soirée,

Jilks

Bonjour,

Je souhaite ajouter une fonctionnalité de démarrage a distance sur la bleue. Je souhaite garder la télécommande d’origine, tout simplement parce qu’elle permet de ne pas avoir a saisir le code de déverrouillage.

Le fonctionnement retenue est le suivant : verrouillage et déverrouillage : comme d’habitude. Si par contre, on appuis 3 fois en laissant mois de 10 secondes entre chaque appuis, alors la voiture démarre.

Pourquoi 3 ? tout simplement pour laisser la voiture déverrouillée alors que le moteur tourne. En effet, lorsque le contact est mis, la télécommande n’a plus d’effet sur les portes, en la laissant verrouillé, je serais donc obligé d’utiliser la clé. Je souhaite donc la laisser déverrouillée.

Bien entendu, quelques éléments viennent s’ajouter autour de cela.

  • Tout d’abord, un bouton qui permet d’autoriser ou non les démarrage a distance. Ainsi, je peux le désactiver avant de sortir de la voiture si je le souhaite.
  • Des capteurs serons ajouté sur les 3 pédales, si l’une d’elles est actionné alors que la clé n’est pas en position de marche, alors le moteur est coupé.
  • Un capteur sera ajouté pour vérifier que la boite de vitesse est bien sur le neutre.
  • Il faudra un retour pour connaître l’état du préchauffage
  • Il faudra également avoir une information “moteur tournant” pour relâcher le démarreur.

L’objectif du démarrage a distance est de trouver une voiture chaude et dégivré les matins d’hivers, j’ajouterais donc la possibilité de commander le dégivrage, et ferait en sorte que la climatisation fonctionne avec le démarrage automatique. La climatisation fonctionnera avec le réglage laissé a l’arrêt précédent, le dégivrage par contre aura un bouton supplémentaire pour l’autoriser ou non.

Je vais également en profiter pour ajouter une autre fonctionnalité, qui me manque relativement souvent : l’illumination autour de la voiture au déverrouillage. En effet, je suis souvent dans le noir complet, cela me permettrais de voir ou je marche au moment de rejoindre la voiture. Le circuit de gestion du démarrage a distance connait déjà les ordres venant de la télécommande, il n’y a donc qu’a ajouter un allumage des anti brouillard avant. Pour le reste de la voiture, je réfléchis a des leds, mais aimerais trouver quelque chose qui ne fasse pas tuning, mais juste une bande de lumière de 1 mètre de large sur les coté et l’arrière. Comme pour le reste, un bouton permet d’activer ou non les lumières au déverrouillage.

Et enfin, juste pour le plaisir, comme le circuit n’a rien a faire lorsque la voiture est en fonctionnement, je vais lui donner les informations de distance et de consommation issues du capteur de la boite de vitesse et du calculateur. L’idée est d’obtenir ainsi un compteur kilométrique de référence pour de futurs circuits / logiciels. Et essayer, pour le jeux, de calculer non seulement les consommations instantané et moyenne, mais surtout la consommation horaire lorsque la voiture est a l’arrêt, et la quantité de carburant consommé au démarrage. A voir, je ne sais pas encore si j’y arriverais.

Afin de rendre l’ensemble un petit peu plus communiquant, il sera capable de contrôler les clignotants droite et gauche. L’idée est d’indiquer par des clignotements différents la phase de démarrage : Préchauffage, lancement du démarreur, moteur en marche, échec, …

Bien entendu, le circuit électronique disposera d’une interface bus CAN afin de pouvoir y connecter un PC ou d’autres circuits (futur démarrage par texto ? peut être, mais alors loin, très loin dans le temps).

La première étape sera de répertorier tous les signaux d’on j’aurais besoin, regarder ou je peux les trouver sur la voiture et profiter du fait que le tableau de bord complet est déposé pour me raccorder a ces signaux.

Jilks