Electronique

Bonsoir,

Comme je vous en avais parlé rapidement ici, ma première version du système permettant de générer les tensions de 1 à 4 Volts nécessaires au contrôle du fauteuil utilisait la sortie PWM de l’arduino.

C’est ce montage là :

PWM Arduino

Que j’ai depuis déporté sur une tablette :

PWM Arduino

Voyons plus précisément comment cela fonctionne…

PWM Arduino

Le principe est de faire varier sans cesse une broche de sortie entre un état haut et un état bas (5V, 0V), comme on peut le voir sur les signaux de gauche.
Le moment ou la broche passe de l’état bas vers l’état haut est toujours le même, toutes les secondes par exemple.
Par contre, on fait varier la durée à l’état haut. Pas longtemps comme le signal ‘2’, d’une durée moyenne comme le signal ‘1’ ou longtemps comme le signal ‘3’.

Ce qui vas nous intéresser, c’est la tension moyenne de ce signal.

Par exemple, il est évident que si je reste en haut 100% du temps, la tension moyenne sera de 5V et au contraire, si je reste à l’état haut 0% du temps (jamais donc), la tension moyenne sera de 0V.
Après, une simple règle de 3 permet de connaitre la tension moyenne théorique : 20% du temps => 20 x 5 /100 = 1 soit 1V.
Et comment on obtient une tension moyenne ?

Avec un condensateur et une résistance dont les valeurs ont été soigneusement choisi, pas comme moi qui ai pris plus ou moins au pif dans le stock jusqu’à ce que cela fonctionne.

Ici donc, ça marche pas …

PWM Arduino

En gros, plus la résistance et le condensateur auront une valeur élevé, plus le signal sera lisse.
MAIS :
– Si la résistance est trop élevée, alors il n’y a plus suffisamment de courant qui passe, et le signal de sortie est absorbé par le boitier de contrôle du fauteuil et disparait, le fauteuil se met en erreur.
– Si le condensateur est trop élevé, alors le signal de sortie met 3 plombes à suivre une modification du signal d’entrée et le robot de tonte est chez le voisin avant de comprendre qu’il doit tourner.

Bref, c’est simple, pas chère, mais surtout adapté pour faire varier directement la vitesse d’un moteur, pas beaucoup plus.

Comment faire la même chose, en mieux ? C’est à dire, comment à partir de mon code, avoir une tension de sortie variable, parfaitement lisse et qui réagit immédiatement ?

On utilise un Convertisseur Numérique Analogique (CNA). Il en existe avec des commandes séries ou parallèle. La commande en parallèle a l’avantage d’être plus rapide puisque pour un convertisseur 10 bits, chaque bit est envoyé en même temps sur un fil dédié alors que pour une commande série, il faut envoyer chacun des 10 bits l’un après l’autre sur le même fil.

Et la commande série, à l’avantage de n’utiliser qu’un fil (ou 2 avec l’horloge).

J’ai choisi un CNA avec une commande en I²C (série donc), je n’ai pas besoin d’atteindre les vitesses d’un port parallèle et l’arduino dispose déjà d’un port I²C et de bibliothèques dédiées.

Une recherche rapide me guide vers le DAC6573IPW

CNA Arduino

C’est pas grand, mais à priori on peut le souder sur un adaptateur :

CNA Arduino

Ha oui

CNA Arduino

Mais en vrai, j’aurais beau m’y reprendre plusieurs fois après m’être bien pris la tête à essayer de comprendre pourquoi mon code ne fonctionnais pas… je n’ai jamais réussi à le souder correctement, à moins que j’ai trop abîmé une patte. Quoi qu’il en soit, il fallait poser le doigt dessus pour qu’il fonctionne, et dans ce cas il faisait bien le boulot. Et hop, un échec pour moi !

J’ai donc recherché plus attentivement un CNA, I²C, 4 sorties, boitier DIP !

Cette fois, j’ai trouvé le MAX520BCPE+, en 8bits, ce qui après réflexion ne change pas grand chose pour mon usage.

Câblage sur une plaque à essais, réagit bien, mais la tension indiquée sur le volmètre à aiguille varie seulement de 0 à 2,5V alors que la tension de référence est de 5V…

J’ai aussi cherché un moment… Jusqu’à me rendre compte que ce CNA est un réseau R/2R SANS amplificateur. Pas d’ampli, cela signifie que le courant qui sort influe directement sur la tension mesurée, et que mon voltmètre est trop gourmand. Intuition confirmée par une mesure au voltmètre numérique, qui me donne bien un fonctionnement entre 0 et 5V.

Cette fois, pas de problème, j’ai des LM324 qui trainent … (ce sont des boitiers renfermant 4 amplis op), un montage en suiveur résout ce petit soucie.

C’est quoi un montage en suiveur ?

un amplificateur opérationnel est constitué de 2 entrée (entrée + et entrée -) et d’une sortie. si on relie la sortie a l’entrée -, et que l’on injecte un signal sur l’entrée +, alors la sortie reproduit fidèlement ce signal. Mais en plus, les entrées d’un ampli op ont une résistance infinie, il n’y a donc pas de courant qui entre, et donc pas de courant qui vient modifier la tension fournie par le CNA. Encore plus cool, le courant de sortie est infinie lui aussi (dans les limites de ce genre de truc, largement au dessus de mes besoins), ce qui signifie que je n’ai pas a me soucier du courant dont à besoin le boîtier de contrôle du fauteuil.

Un schéma pour finir de comprendre ?

CNA Arduino

En vrai, c’est un peu lourd quand même …

CNA Arduino

… mais fiable !

Et le résultat en vidéo ?

Oui, mais avec un autre sujet, j’ai d’autre vidéos un peu plus parlante, mais ce sera pour le prochain article. En attendant, je vous propose celle-ci :

Bah, et le code ? Pareil, vous l’aurez avec le prochain article 🙂

Bonne soirée,

Jilks

Edit : Bon aller, je vous la met quand même… vous connaitrez le prochain sujet 😉

Bonjour,

La dernière fois, j’ai réalisé un câblage propre pour prendre la main sur le boitier de commande, et un circuit tout pourri pour en vérifier le fonctionnement. C’est normal. On vas y aller par étapes …

Faire des essais en suivant le fauteuil n’est franchement pas pratique, avant de finaliser la “fabrication” des signaux, je dois prendre le contrôle à distance.

Pour cela, j’ai choisi une flysky FS-i6. Elle n’est pas chère, et je pourrais l’utiliser lorsque je me ferais un hexacopter brushless.

fsi6

Je l’ai acheté un peu moins de 40€ chez banggood (lien) avec un récepteur FS-iA6B. La référence du récepteur est importante.
Ce même récepteur est vendu seul 8€ environ et la télécommande peut en mémoriser 20. Ce qui permet facilement de piloter le future hexacopter sans reprogrammer sans cesse la télécommande.

A noter que je n’y connais pas grand chose en radio, juste le fonctionnement basic des servos, je peux donc être imprécis sur certains points.
Pourquoi ce choix ? Grâce à cet article : lien ou il explique que ce récepteur fournis des signaux CPPM. Cela signifie donc qu’il peut être raccordé à un arduino via 1 seul fil pour transmettre toutes les commandes.

Finalement, et c’est la que la référence du récepteur est importante, il est encore mieux que prévu : il fournit aussi des signaux iBus, une communication sur le port série à 115200 bauds avec un protocole connu.

iBus, c’est bien, surtout qu’en cherchant un peu, on trouve le code de quelqu’un qui a déjà fait tout le boulot : C’est ici
Pour mémoire, j’ai gardé une copie du code source ici

Et pourquoi iBus, c’est mieux que CPPM ? Et, c’est quoi CPPM ?
En RC, pour gérer un servomoteur on envoi une impulsion d’une durée comprise entre 1 et 2ms, la durée de cette impulsion correspond à la position désirée du servo entre son min (1ms) et son max (2ms). Sur un récepteur 6 voies, il y a donc 6 connecteurs pour 6 servos différents.
Sur un multirotor, on a pas de servomoteur, mais un contrôleur de vol qui gère la stabilité (oui, pour ceux qui connaissent, je prend des raccourcies). Pour éviter d’avoir a relier les 4 voies des commandes au contrôleur de vol, il existe le CPPM : les impulsions de chaque voies passent les une après les autres sur le même file. Et hop, 1 seul câble entre le récepteur et le contrôleur de vol.
C’est cool, mais il y a peut être mieux à faire… le récepteur reçoit une info numérique (les récepteurs actuels en 2.4GHz, pas les anciennes générations) puis doit créer une impulsion, et le récepteur doit compter le temps qui passe, avec sa propre précision pour transformer cela en valeur numérique… autant tout passer en numérique, ainsi la valeur 1240 reçut par le récepteur, reste 1240 dans le contrôleur de vol, et pas 1238 ou 1243 (par exemple).
Et voilà, donc le iBus, c’est toutes ces valeurs transmises sur 2 octets en série, avec un en-tête spécifique et un code de validation à la fin pour être certain de la qualité des données.

Moi, je n’ai pas un contrôleur de vol, mais un arduino : c’est pareil.

Pour la connexion, j’ai choisi d’utiliser le port série N°1 de l’arduino, et ainsi garder le N°0 libre pour les communication avec le PC (via l’usb, mais c’est un port série quand même)..

Ce qui donne :

Cablage ibus arduino

On peut difficilement faire plus simple …

Pour le code, je reprend la partie qui m’intéresse dans celui publié par povlhp et je remplace la partie télécommande filaire.
Le nouveau programme est donc : celui-ci

Une fois de plus, c’est juste un code de test/travail, il permet de vérifier la logique du système mais est loin d’être parfait.

Je reçoit donc bien les infos des 6 voies : les 4 voies joystick et 2 interrupteurs ou potentiomètre au choix.
ici, j’utilise le levier 3 position (interrupteur C) pour choisir un mode (1, 2 ou 3). Pour cela, j’ai paramétré la télécommande pour que cet interrupteur soit assigné à la voie 5.

Et le résultat :

Dans les prochains articles nous parlerons d’une bien meilleur façon de commander le fauteuil et d’une amélioration notable du fonctionnement avec cette radiocommande.

Bonne journée,

Jilks

PS : j’ai essayé d’être plus précis que la dernière fois, si c’est cool ou si c’est chiant, dites le moi.

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 donc 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