L’injecteur 5 Volts pour bus 1-wire (version alpha)

Les sondes de température DS18B20 peuvent fonctionner de deux façons :

  • Mode parasite : DATA + GROUND.
  • Mode non-parasite/normal : DATA + GROUND + 5 Volts.

Le fonctionnement en mode parasite va vite être handicapant, lorsqu’on atteint un certain nombre de sondes (?!) et une certaine distance entre elles (?!), les DS18B20 ne répondent plus ou rebootent sans cesse.
De plus, les autres élements 1-wire, tels que le capteur d’ouverture/fermeture, hygrométrie requirent d’office une alimentation 5Volt, alors inutile de tourner autour du pot, il faut injecter 5Volt dans le bus 1-wire.

Comme vu précédemment, le 1-wire fonctionne sur une paire, mon bus est câblé sur du RJ45, le DS9490R me fournit ceci :

Information sur la sortie du DS9490R (Source : vesta.homelinux.free.fr)

Information sur la sortie du DS9490R (Source : vesta.homelinux.free.fr)

Onéreux injecteur 1-wire d'Hobby Boards

Onéreux injecteur 1-wire d'Hobby Boards

Pour faire simple sans mon injecteur j’utilise uniquement le pin 3 et 4, jusque là, tout va bien.
Le but de l’injecteur est de me fournir du 5Volt d’une alimentation externe sur ma pin 8 de mon bus, à l’extremité de mon RJ45.

Pour cela, hobby-boards.com propose un magnifique injecteur à 22 $.
Bon, il faut avouer ça sera difficile de faire mieux, surtout niveau prix …

Ou bien … DIY. Yoann QUERET, encore lui, nous propose une version très logique, que j’ai modifié et rendu un chouïa plus clair :

Schéma de l'injecteur 5V dans le bus 1-wire

Schéma de l'injecteur 5V dans le bus 1-wire

Idéalement :
D3 est une diode de puissance entre 1N4001 et 1N4007.
R2 120 Ohms environ.
D2 LED classique 1.8V.

Transfo 5V

Transfo 5V

Personnellement :
Alim externe, un transfo de récup et son jack : 5V, 2.4A.
2 RJ45 femelle pour panneau de brassage.
D3 récupéré sur un pont de diode d’alim : 1N4148.
D2 LED récupéré sur la base d’un DECT.
R2 16 Ohms de la même base.
Ça brille fort !

Une boite de bonbons en guise de boitier, en métal, pour ne pas faire les choses à moitié.
Une grosse dose de pistolet à colle !

Le Comic Sans MS, c'est cadeau !

Le Comic Sans MS, c'est cadeau !

Travail de qualité ! Usinage parfait

Travail de qualité ! Usinage parfait

Le meilleur est à l'intérieur

Le meilleur est à l'intérieur

Cet injecteur n’est là que pour les tests, rien de définitif, il s’agit juste de comprendre le 1-wire, d’avoir le minimum pour alimenter mon bus.
Je ferais prochainement une version beta d’un injecteur avec un boitier mural RJ45, le tout très propre, enfin… « propre » plutôt.

J’ai donc sur mon bus un brin 5 Volt sur le brin n°8 de mon RJ45.

Schéma de l'injecteur 5 Volt dans le 1-wire

Schéma de l'injecteur 5 Volt dans le 1-wire

Partout dans mon bus, j’aurai donc la même chose, le bus 1-wire sur le 4 et 5 du RJ45, ainsi que le 5 Volt sur le brin n°8.

Au final, mon minimum de test est établi, fonctionnel, évolutif :

Le DS9490R, l'injecteur 5V, 1 splitter RJ45 et 2 DS18B20.

Le DS9490R, l'injecteur 5V, 1 splitter RJ45 et 2 DS18B20.

Une plateforme de test idéale pour débuter avec le 1-wire

Une plateforme de test idéale pour débuter avec le 1-wire


Ce billet est posté dans 1-wire. Mettre en favoris le permalien.

13 réponses à L’injecteur 5 Volts pour bus 1-wire (version alpha)

  1. Domino says:

    Bonjour,

    Après avoir lu la documentation sur le DS18B20 de Maxim Dallas, je découvre votre injecteur 5V DC qui répond au schéma de câblage du capteur en mode « non-parasite » si je puis dire. Je ne suis pas expert en électronique donc pardonnez ma question si c’est une évidence mais la voici :

    Pourquoi créer une alimentation « externe » alors que les pins 1 et 2 du DS9094R fournissent déjà les 5V du port USB ?

    Merci pour votre lumière.

    • Lionel says:

      Salut,

      Alors, oui, on pourrais très bien alimenter quelques DS18B20 avec les pins 1 et 2 du DS9094R, il y a techniquement pas de soucis avec ça.

      Le soucis qu’il peut y avoir, c’est dans le cas où on alimente trop de composants de ce type. Ou que l’on cherche à faire d’autres choses gourmandes avec ce 5V dans le cordon du 1-wire : alimenter un moteur pas à pas, compteur à impulsion, barrière infra-rouge, etc…
      Le 5V du DS9094R provient de l’USB, qui provient de la carte mère, qui provient de l’alim du PC et on ne peut pas trop « tirer sur la corde » au risque de cramer son port USB ou pire.

      Donc le plus raisonnable, sécurisant pour les ports USB est d’utiliser une autre alimentation 5Volt.
      Ici, 5Volt à 2,4A c’est laaaarge

  2. fran6t says:

    Voici mon petit retour d’experience:
    Je suis en train de me debatre avec ces maudites sondes 1wire, actuellement le seul résultat positif que j’obtiens et en mode parasite. Dès lors que j’utilise un fil pour du +5V mon arduino ne sait plus lire les capteurs. Au départ j’ai utilisé du cable multibrins jusqu’a 10 mètres c’était ok au dela je commençais à avoir des pertes de sondes. Maintenant je suis repartit su du cable RJ45 cat 5 de 4 paires, l’ensemble est blindé malheureusement les paires elles même ne sont pas blindés.
    Voici ce que j’arrive à faire avec ce cable:

    8 sondes 1wire sur une plaquette à 50 mètres OK

    Puis plus proche de la config que je veux en sortie de l’arduino en étoile pseudo étoile:
    1 sonde à 2 mètres (T°Dehors)
    1 sonde à 5 mètres (T° de radiateurs prêt d’une cuisinière)
    1 cable de 6 mètres puis 3 départs vers
    ————>1 de 2,5 mètres vers chauffe eau
    ————>1 depart de 2,5 mètres vers vide sanitaire
    ————>1 depart de 1 mètre dans congélateur

    A savoir qu’avec ce type de cable, je ne peux mettre une alim 5V sinon mon arduino se retrouve parasité il n’arrive plus rien a lire. Je suis obligé aussi de ne pas respecter les paires.
    En gros il faut la patte DATA sur le fils d’une paire et le 0V sur un fils d’une autre paire.

    Pour info le cable et celui de marque Conrad facilement trouvable. Pour l’instant j’en suis qu’a mes tests car la premiere fois j’avais commencé à tirer mes fils pour rien.

  3. seb says:

    Salut.

    Bon je suis pas un spécialiste (du tout, voir je comprend rien) mais ton splitter ne peut il pas expliquer le probleme?
    En effet dans celui ci, tous les pins ne sont pas raccorder je crois, qui fait qu’en mode parasite, cela fonctionne, mais en mode alimenté (sur pin 8), ce dernier n’est pas raccordé…
    Enfin je dis ca , je dis rien!
    J’essai simplement de me mettre au 1-wire avec un Raspberry Pi!
    SEb

  4. Jeanga says:

    Salut, je rebondis sur le message de Seb et sur ton article. Je ne suis pas spécialiste non plus mais 2 réflexions me viennent à l’esprit (si j’en ai) :
    – tu injectes du 5v dans la broche 8 du RJ45 sans nous dire par rapport à quelle autre broche tu as cette différence de potentiel. En PoE les broches 7 & 8 servent au transport de tension, c’est plus clair.
    – dans ton schéma tu as une diode D2 et dans la liste une LED D1, est-ce bien la même ?
    A part ça, je vais tout lire, dans tous les sens sur tes réalisations, vous faites tous ce qui me titille depuis des décennies, merci 🙂

    • Lionel says:

      Salut,

      Merci pour ton feedback.

      – Ah oui en effet, il aurait été bon de préciser que la différence de potentiel de 5V se fait entre la broche 8 du RJ45 et la broche 5 de ce même RJ45.
      Cette même broche est également la masse du 1-wire DATA.

      – Oui, c’est bien la même, l’erreur a été corrigée.

      Content que ça te plaise, ça fait longtemps que je n’ai pas bricolé sur de la domotique et du 1-wire, mais j’attends de recevoir un Raspberry Pi pour decouvrir de nouveaux aspects de la domotique.
      J’ai plein d’idées en tête mais peu de temps malheuresement.
      J’aimerai bien réaliser un système d’alerte pour indiquer que le facteur est passé, en 1-wire
      Ainsi que recycler un « air wick automatique » 🙂 il y’a tout là dedans : un capteur pyro (enfin, ça y ressemble), une tempo, tout pour faire une alarme 😀

  5. Pingback: Alimentation injecteur 5 Volt pour bus 1-wire | Domolio, la domotique et pas que…

  6. remi says:

    Bonjour,
    je rebondi sur votre page (si je peux dire);
    mais n’étant pas électronicien, quelle différence entre une alimentation sur le bus 1-wire et un hub usb qui « épargnera » la carte mère?
    En fait, j’ai un problème sur une sonde avec 10m de longueur, j’ai tenté de mettre un hub pour gagner en puissance, mais est-ce suffisant?
    R. Suinot

    • Lionel says:

      Bonjour,

      Dans le cas d’une alimentation 1-wire, on va alimenter nos paires RJ11/RJ45 après le DS9490R en protégeant celui-ci par un fusible et une diode. Plus simplement, on sépare la partie USB de la partie 1-wire.
      Dans le cas d’un hub USB alimenté, effectivement notre 5V passera par le DS9490R pour se retrouver sur la paire 1 du RJ11, mais il est fort probable qu’on ne puisse pas « tirer du jus » à gogo sans craindre pour le DS9490R.

      Si tu as un problème sur une sonde avec 10m de longueur, il faudrait mesurer la tension aux bornes de cette sonde.
      Essayer différentes approches pour trouver l’origine du problème.

      • remi says:

        le problème, c’est qu’à présent, elle est en hauteur, et en plus, protégé par un peu de gaine rétractable. ça me g….e de tout défaire! En cherchant un peu les sources potentielles de problèmes, je me suis aperçu qu’une de mes sondes était hs déjà. La sonde avec la longueur de câble fonctionne, celle avec 3m de longueur uniquement était hs et me rendait tout instable. Mais cela ne fait que repousser le problème. J’ai deux sondes de température, et je voudrais ajouter une sonde hygromètre/température : http://www.lextronic.fr/P19987-capteur-dhumidite-et-temperature.html Et là, comment l’alimenter!!!

  7. Jeanga says:

    @remi
    Pour ‘épargner’ la carte mère il est tu choisi dans le cas présenté de fournir une tension par une alimentation dédiée au bus 1wire.
    Personellement je ne le fais pas. Toutes mes tensions viennet du PC.
    Je retire de ce dernier toutes les cartes non nécessaires en privilégiant une carte mère équipé d’une sortie vidéo, je désactive le maximum (port parallèle, ports série, MODEM, port MIDI, etc..) par le BIOS, et je dérive le +5V et le 0v depuis un connecteur prévu pour un disque.
    Je conçois que ça puisse choquer mais j’y vois plusieurs points positifs :
    – si le PC est arrêté les sondes ne servent à rien, personne ne les lit
    – l’alimentation d’un PC délivre facilement 400W et les sondes ne sont pas très gourmandes
    – les tensions sont très stables, et si elle faiblissent le PC réagit (voir premier point)
    – pas de consommation supplémentaire ni de transfo qui chauffe quelque part, peut-être inaccessible, avec les risques incendie que cela peut induire
    – alimentation à découpage plutôt qu’un transfo, donc performance de conversion de tension accrue
    – de toutes façons il faut passer un câble du PC aux capteurs, alors un fil de plus ou de moins…
    – enfin, si j’ai également besoin de +12v (ou d’un tension que le PC propose) ce n’est pas un souci
    Ce dernier point est surtout vrai pour des cartes à relais.
    A vous de me dire, bonne lecture.

  8. remi says:

    @Jeanga:
    La sortie par l’alim du pc, je l’ai fait sur mon serveur pour une carte à relais effectivement. Là, j’ai en plus un petit soucis, je vais changer pour un portable au rebut (donné et dépanné). La batterie me fera un pseudo onduleur.
    Mais le 1-wire en mode parasite, je n’arrive pas à comprendre ou placer l’alimentation .

  9. Phypsi says:

    Bonjour,

    Je cherche actuellement à faire une station météo avec mesure de température à différents endroits (avec des longueurs de câbles différentes). L’alimentation en 5V me semble nécessaire à la lecture de votre excellente prose. Par contre je vais réaliser tout cela avec un RASPBERRY, et donc profiter du GPIO. Je n’ai donc pas besoin du DS9490R.
    La question que je me pose c’est si je peux connecter l’injecteur (à la place du DS9490R) au PIN7 (GPIO4) pour les data et au PIN9 (GND) pour le 0 ?
    Merci d’avance pour votre réponse.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *