Sonde DS18B20 resistance

Bonsoir,

J'ai un réseau de 9 sondes en étoiles. 1 cable avec 3 sondes (2.5m), un câble avec 6 sondes (10m).

Mon problème est que la lecture se fait aléatoirement une sonde après l'autre. Les sondes non lues sont a -127. Parmis les sondes lues, une ne l'est jamais (Par contre je vois sa présence quand je scan les adresses).

Plus je descend la resistance pullup plus je lis de sondes simultanément.

Pour un test, je suis arrivé a 330ohm de pullup. Et la, je les lis toutes (sauf une). C'est bizarre mais ça marche. Y a t'il un risque de cramer mes sondes avec un resistance aussi basse?

La sonde jamais lue mais visible peut être morte et parasiter le réseau?

Je n'ai pas testé les sondes individuellement car elles sont difficiles d'accès.

Mon câblage est en U72 1x4x0,5mm2.

Merci !

Salut,

Comment sont alimentées tes sondes ? En mode parasite ? 5v ou 3.3v ?

Pour la résistance : plus tu la diminue, plus tu réduit les parasites mais plus tu stresses les sondes. Et a 330ohm, tu sorts largement des specs. En plus de stresser leur électronique, tu risques d'avoir des valeurs faussées car elles vont chauffer.

Ensuite, 12 ou 13 mettre avec 9 sondes, ca commence peut-être a faire beaucoup : il faudrait peut etre utiliser un driver comme le DS2482 ou DS2484.

A+

destroyedlolo:
Comment sont alimentées tes sondes ? En mode parasite ? 5v ou 3.3v ?

Hello, merci pour ton message.

En 5v en mode standard sur 3 fils.

Quand je branche uniquement la ligne des 6 sondes, ca bug tout autant. Trop de parasites sur ligne? J'ai pas mal de câbles qui passant dedans(commandes et sondes) et un canal a 25cm avec les alimentation des pompes.

Je comprends pas vraiment a quoi sert le driver DS2482... j'ai beaucoup de peine avec le hardware...
Je vais tester une ligne de 6 et une de 3 avec une res de 2.2k.

Et que penses-tu d’une seconde requête bus sur une autre pin?

bylex0802:
En 5v en mode standard sur 3 fils.

Ok, ca élimine déjà une mauvaise alimentation et le 5v réduit aussi la sensibilité au parasite ; mais ...

bylex0802:
Trop de parasites sur ligne? J'ai pas mal de câbles qui passant dedans(commandes et sondes) et un canal a 25cm avec les alimentation des pompes.

ben effet, si ca alimente des moteurs et/ou qu'il y a souvent des marche/arret, c'est clair que ca doit faire pas mal de parasitage.

bylex0802:
Je comprends pas vraiment a quoi sert le driver DS2482... j'ai beaucoup de peine avec le hardware...

Ben :

  • comme son nom l'indique, "drive" le bus c'est a dire qu'il a des filtres pour améliorer les signaux (forcer les niveaux des signaux, diminuer les effets miroir, donne des signaux plus propre au proc, ...)
  • protection contre les décharges électrostatiques, les courants induits, ...
  • séparer ton proc des parasites externes et donc ca évite de stresser l'électronique des GPIOs dus aux trucs décrits dans le point précédent

En plus, ces 2 modeles sont des passerelles I2C -> 1wire. Sur les Arduino, on s'en fout un peu, mais si tu fais des montages sur des *PI, tu bloques les CPU lorsque tu lui demande de faire du 1-wire car ce protocole demande des timing très précis donc le kernel ne fait rien d'autre.
L'I2C étant gérer coté hardware, tu n'as pas ce pb : le CPU n'a qu'a mettre a jour des registres et continuer ce qu'il a a faire ailleurs.

dans un cas comme le tien, j'avais fait une tache (avec une machine à états) qui s'occupait uniquement de lire les sondes, et qui bouclait sur celle qui foire tant que je lis pas autrechose que -127
C'est pas techniquement satisfaisant, mais j'avais codé ça pour dépanner "en live" et ça fait 3 ans que ça fonctionne...

Bonjour,

@Artouste avait donné un lien vers une doc intéressante de Maxim concernant les réseaux long 1w dans ce post