RaspFR :: Forum

Forum de la communauté francophone de Raspberry PI.

Vous n'êtes pas identifié(e).

Annonce

Canal irc: #raspfr sur zeolia.net

#1 06-11-2016 13:25:07

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Problème d'identification de sonde de température DS18B20 [Résolu]

Bonjour,

Sur mon raspberry, sont branchées 3 sondes de température DS18B20 en 1Wire.

Voici un bout de code python qui récupère la valeur de la température sur les 3 sondes. Il fonctionne mais le répertoire "/sys/bus/w1/devices/28-800000038a0d/w1_slave" dont le nom est l’identifiant de la sonde se transforme en "28-380000000000" et on ne peut plus rien lire puisque ça ne correspond plus à rien.(même chose pour les deux autres répertoire relatif au deux autres sondes)

Si je reboote le RPi, ça fonctionne pendant quelques lectures et le changement de nom intervient intempestivement.

Le 1Wire mesure un bonne vingtaine de mètre : Faut-il revoir la valeur de la résistance (4,7k) ?
J'ai lu sur un forum que "ça arrive...." sans explication.....
Si quelqu'un à des info, je suis preneur !!!!!

Merci

[== C++ ==]
def lireFichierTemperature(Fichier):            # lecture
    f = open(Fichier, 'r')
    lignes = f.readlines()
    f.close()
    return lignes
 
def LireTemperature(Capteur):               # extraction de la temperature
    lignes = lireFichierTemperature(Capteur)
    while lignes[0].strip()[-3:] != 'YES':
        time.sleep(0.2)
        lignes = lireFichierTemperature(Capteur)
    equals_pos = lignes[1].find('t=')
    if equals_pos != -1:
        temp_string = lignes[1][equals_pos+2:]
        temp_c = float(temp_string) / 1000.0
    return temp_c  

lcd.set_cursor(0,3)
lcd.message("In")
temp = str(LireTemperature("/sys/bus/w1/devices/28-0415915c80ff/w1_slave"))
lcd.message(temp[0:-2])

lcd.set_cursor(7,3)
temp = str(LireTemperature("/sys/bus/w1/devices/28-800000038a0d/w1_slave"))
lcd.message("Ex")
lcd.message(temp[0:-2])

lcd.set_cursor(14,3)
temp = str(LireTemperature("/sys/bus/w1/devices/28-0415916583ff/w1_slave"))
lcd.message("Pi")
lcd.message(temp[0:-2])

Dernière modification par passemoilaclede12 (11-11-2016 16:56:22)

Hors ligne

#2 06-11-2016 18:19:44

chris57100
Chris
Lieu : Thionville
Inscription : 23-06-2013
Messages : 1 405
Site Web

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

les répertoires sont créés sous un autre nom ?


Raspberry Pi Home Server : http://www.pihomeserver.fr
Tutorials and tips : Samba, Airplay, CUPS, Time machine, MPD+Rompr, Nginx, Owncloud, rTorrent+ruTorrent, Wordpress, Joomla, Subsonic, VNC, etc.
Electronic : weather station, Arduino, etc.

Hors ligne

#3 06-11-2016 19:47:24

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

J'ai avancé. en ne branchant qu'un capteur, ça fonctionne. deux aussi.
le 3eme capteur fait chuter la tension du 1Wire et fait planter le RPi qui n'identifie plus les sondes.
Donc un problème matériel.
Reste à changer le 3eme capteur.
Pour l'instant le temps me manque....

Hors ligne

#4 07-11-2016 15:26:52

wared
Membre
Inscription : 25-10-2013
Messages : 81

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

salut,

tu devrais faire un test croisé avec tes sondes pour voir si ce n'est pas une d'elle qui pose probleme.

ensuite,si c'est pas deja fait, fais le test sans les 20m de cable

Hors ligne

#5 07-11-2016 16:20:47

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Merci pour ces conseils.
J'ai lu qu'il est possible d'alimenter les sondes indépendamment, mais avec une masse commune..... je vais essayer ça aussi....

Hors ligne

#6 08-11-2016 13:20:44

wared
Membre
Inscription : 25-10-2013
Messages : 81

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

j'en suis la aussi avec mes relais ssr, j'ai commandé diodes et transistor pour faire le montage

si ca peut aider voici le schema que je suis : http://electronics.stackexchange.com/qu … th-arduino

Hors ligne

#7 08-11-2016 17:29:57

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

j'utilise une carte relais avec optocoupleur tout fait pour un prix dérisoire !

http://www.ebay.fr/sch/sis.html?_nkw=5V … 2749.l2658

Hors ligne

#8 09-11-2016 00:14:14

Claudius
Membre
Lieu : 78 - Yvelines
Inscription : 06-05-2015
Messages : 160
Site Web

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Bonsoir,

@passemoilaclede12: Peux-tu fournir le câblage exact entre le RPi et les 3 sondes car, sauf erreur de ma part, 2 alternatives se présentent; à savoir:

  • le mode "normal" (pour le DS1820)

  • le mode "parasite" (pour le DS18B20)

Cf. Le bus 1-WIRE

Dernière modification par Claudius (09-11-2016 00:16:03)

Hors ligne

#9 09-11-2016 15:05:36

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Bonjour Clauduis,

Les trois capteurs sont en mode Normal.
la broche 4 du gpio correspond au bus 1wire des capteurs. j'alimente les capteurs en 5V.
Entre la broche 4 du gpio et le bus de données 1wire j'ai interposé un adaptateur de tension 5V <--> 3,3V .

Hors ligne

#10 11-11-2016 14:03:48

wared
Membre
Inscription : 25-10-2013
Messages : 81

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

salut,

pourquoi changer la tension?

sur le 1 wire, sauf erreur de ma part, tu utilises 3 broches, GND, data et vcc

vcc sur le +5, data sur ton gpio 1 wire et gnd sur le gnd

à moins que j'ai loupé un truc...?

Hors ligne

#11 11-11-2016 14:43:32

Claudius
Membre
Lieu : 78 - Yvelines
Inscription : 06-05-2015
Messages : 160
Site Web

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Bonjour,

wared a écrit :

pourquoi changer la tension ?

Entièrement d'accord, c'est aller au devant des problèmes; toujours rejoindre une solution qui à priori fonctionne...
(cf. DS18B20: Connexion au Raspberry Pi qui utilise en plus le GPIO #4 ;-)

Si toujours pas ok, je réduirais fortement la longueur des 20 mètres, brasserais les 3 sondes comme cela a été suggéré pour éventuellement isoler la coupable, enfin tout le bon sens habituel avant de se lancer dans des réalisations "très" personnelles

NB: Après, il est possible qu'il y ait un problème logiciel...

Hors ligne

#12 11-11-2016 16:55:35

passemoilaclede12
Membre
Inscription : 19-10-2015
Messages : 16

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Bonjour,
Pour répondre à Wared :  3 broches, GND, data et vcc : le GPIO fonctionne en 3,3V, j'ai lu qu'en 5V les sonde répondaient mieux (moins de parasite)
je me sers d'un convertisseur 3.3v 5v à 4 voies, deux pour le bus i2c, il m'en restait pour le 1Wire.... de plus ça protège le Rpi.
Pour répondre à Claudius : le Rpi est dans la maison et pour mesurer la température de la piscine il me faut 20m
J'ai résolu mon problème :
1 -  j'avais une chute de tension au bout de 20m, de plus je me servais de ces 5V pour alimenter différent truc  qui  consommaient et peut être, faisaient chuter la tension : j'ai installé une alim 5V à l'autre bout des 20 m
2 - la sonde piscine trempait depuis 1 an dans le skimmer, je pense que malgré la gaine thermo, l'eau a pénétré.... j'ai changé la sonde en la faisant passer par un presse-étoupe. la partie inox est en contact avec l'eau, pas le fil.
Suite à ces modifications je retrouve un fonctionnement normal.
Merci pour vos interventions.
J'aurais du être plus précis dans ma demande : ces sondes fonctionnaient depuis une bonne année. Mon problème de répertoire était une panne.
La cause : une sonde défectueuse mais qui s'est mise à dysfonctionner par intermittence.... d"où mon PB.

Dernière modification par passemoilaclede12 (11-11-2016 16:55:47)

Hors ligne

#13 11-11-2016 21:22:10

Claudius
Membre
Lieu : 78 - Yvelines
Inscription : 06-05-2015
Messages : 160
Site Web

Re : Problème d'identification de sonde de température DS18B20 [Résolu]

Bonsoir,

On est content pour toi, mais effectivement, si tu avais commencé au 1st post par "... ces sondes fonctionnaient depuis une bonne année ...", et après nous présenter des points très techniques cela aurait facilité les choses ... il faut attendre le post #12 pour savoir que c'est une installation qui a déjà fonctionné ...

NB: Je vais reprendre ma formule de 10 ans de support et qui peut parfois déplaire; à savoir: Cela a-t'il déjà fonctionné ?

Hors ligne

Pied de page des forums