sondes 18B20 erreurs de lecture

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

Répondre
JBaill
Messages : 31
Enregistré le : jeu. 14 juil. 2016 10:36

sondes 18B20 erreurs de lecture

Message par JBaill » ven. 24 janv. 2025 10:49

Bonjour,

J’utilise depuis longtemps une installation de mesure de température avec un réseau assez long en étoile et je rencontre depuis longtemps des erreurs de lecture des sondes 18B20 .
Qui font planter mon programme.
J’ai essayer les fonction de gestion d’erreur sans succès.
Une donnée erroné provoque dans les fonction d’affichage un plantage en règle.
Bref après des modif du câblage ( placement de condensateurs sur les alimentation des branches de l’étoile et de résistances en série)
Essais avec une interface usb dédié (c est encore pire qu’en direct ce raspi est vraiment robuste)
Bref impossible d’éviter une erreur de temps à autre ….

et je viens d’essayer une autre méthode simplement en testant la longueur de trame envoyé par la sonde et surprise plus de plantage j’avoue ne pas comprendre pourquoi mais en tout cas ça fonctionne…. Aussi je me permet de la diffuser.

Je suis en python 3 sur un raspi 2

def RecupTemp (fic):
fich=open(fic)
temp = fich.read()
time.sleep(0.5)
fich.close
while len(temp)<60: #74
fich=open (fic)
temp = fich.read()
fich.close
print("erreur",fic)

temp = temp.split("\n")[1]
temp =temp.split(" ")[9]
temp =float(temp[2:])
temp = round(temp/1000,1)
return temp

fic est l’adresse de la sonde que l’on trouve ici
sys/bus/w1/devices/28-xxxxxxxxxxx/w1_slave

et donc a chaque erreur il affiche la sonde incriminé mais le temp retourné est toujours valable .

Voila ce n est pas très élégant mais j espère que cela pourra servir à quelqu’un

cordialement

Jacques B

destroyedlolo
Raspinaute
Messages : 1627
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: sondes 18B20 erreurs de lecture

Message par destroyedlolo » ven. 24 janv. 2025 13:47

Salut,

Tu parles d'erreurs, mais quelles erreurs ? Des températures a 85° ? Des erreurs de com ?

Je vois que t'utilise "/sys", tu passes donc par les modules système et c'est ton PI en direct qui gère le bus ?

Si c'est le cas :
  • owfs est beaucoup plus fiable et surtout complet que les modules système. En plus, il fait les conversions lui-même (pas besoin de décoder les registres).
  • il est largement préférable de passer par des drivers (USB ou surtout I2C) car en utilisant directement le CPU
    • tu stresses son électronique qui n'est pas prévue pour
    • le 1-wire interrompt le multitâche car il a besoin de timing très précis. Il n'y a pas ce genre de problème en I2C, la gestion étant hard
Plus d'info (sur mon site, pub :mrgreen: ) : N'hésite pas si tu veux échanger sur nos projets respectifs :D
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

JBaill
Messages : 31
Enregistré le : jeu. 14 juil. 2016 10:36

Re: sondes 18B20 erreurs de lecture

Message par JBaill » dim. 2 févr. 2025 20:20

bonsoir

merci de votre réponse.
Cependant j ai essayé plusieurs interface usb et I2C j ai plus les références en tête
mais c est encore pire qu'en direct sur le raspi ..
Les erreur courantes sont l absence de la sonde lors du scan
La ruse permet d'éviter le plantage qui est préjudiciable au reste de l'activité de ce raspi qui affiche toute ces températures sur des
cadrans avec des moteurs pas a pas qui actionnent les aiguilles ....
avec cette méthode l'absence de sonde reboucle et fini par la retrouver (je ne sais pas pourquoi ni comment ....

cordialement
Jacques Baillargeat

destroyedlolo
Raspinaute
Messages : 1627
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: sondes 18B20 erreurs de lecture

Message par destroyedlolo » dim. 2 févr. 2025 22:36

Bonsoir aussi,

Très surpris : ces drivers délivrent un signal beaucoup plus propre et sont plus fiables.

Bref, seules raisons qui peuvent faire qu'une sonde "disparaisse" régulièrement sont :
  • réseau parasité : est-ce dans un milieu "sale" électromagnétiquement parlant ? genre un environnement industriel ou à coté d'un moteur mal anti-parasité ? Ou encore, ca peut venir d'une alimentation à découpage défaillante. Quelle est la longueur du réseau ? D'autres sondes ?
  • sonde mal alimentée (si elle est en mode parasite, il faut attendre quelques secondes avant qu'elle puisse répondre à nouveau. Ca se voit aussi si elle répond souvent 85°C
Quoi qu'il en soit, je testerai quand même avec OWFS :mrgreen:
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

JBaill
Messages : 31
Enregistré le : jeu. 14 juil. 2016 10:36

Re: sondes 18B20 erreurs de lecture

Message par JBaill » jeu. 6 févr. 2025 09:56

En effet le milieux est parasité a proximité d'une chaudière a fuel (avec notamment l allumeur qui doit générer des parasites ..
J ai pourtant fait un maillage de masse qui aurait du faire disparaître ces problèmes.
l alimentation du raspi est faite par une alim 5 volt industrielle tracopower qui est largement suffisante et propre ( j ai regardé au scope)
je ne connaissais pas OWFS mais de toute façon je n'ai plus de place sur le gpio pour L ' l2C peut être en passant par un pico qui est bien plus robuste sur le gpio
le module que j 'avais testé est le DS9490R# d analog device qui malgré son prix (65 balles) fonctionne encore plus mal....
bref en attendant la solution " a l'arrache" fonctionne même si j ai des messages d'erreurs parfois rien ne plante c est déjà ça
merci de votre réponse en tout cas....
Jacques Baillargeat

Répondre

Retourner vers « Utilisateurs avancés »