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
sondes 18B20 erreurs de lecture
Modérateur : Francois
-
- 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
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 :
) :

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

- Pour le bus : http://destroyedlolo.info/BananaPI/1wire/
- Pour ce à quoi ca me sert : http://destroyedlolo.info/IoT/

- 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.
Re: sondes 18B20 erreurs de lecture
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
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
-
- 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
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 :
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

- 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.
Re: sondes 18B20 erreurs de lecture
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
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