J'ai un routeur pour piloter ma production d'eau chaude. J'ai installé 2 sonde DB1820 pour pouvoir ajuster ma production en fonction de la température.
Mon problème est que le système fonctionne un moment et ensuite de manière intempestive la donnée de température est perdue ou alors affiche 0°C ou 2°C
Merci par avance pour vos conseils
1m de cable et 4700 ohm c est ok.
Au pire pour essayer tu peux mettre une resistance de 22k en parallèles de celle de 4700 pour voir si le fait de réduire la resistance équivalente améliore le truc.
Sinon oui un coup d oeil sur les connexions car je ne crois pas au bug logiciel
Donc possiblement faux contact ou plus difficile à détecter léger court circuit causé par exemple par le décapant du fil de soudure.
Dernière piste, peut etre une des 2 sondes défectueuses qui met le bazar sur le bus onewire…
05-01-2025, 07:10 PM (Modification du message : 05-01-2025, 07:11 PM par pompey47.)
Bonjour à tous,
Problème à priori résolu. Ça fait 2 jours que je n'ai pas eu de problèmes.
Le soucis était sur un capteur de température défaillant.
Je l'ai changée et tout est nickel.
Merci à tous pour vos réponses.
Ca arrive souvent que les sondes « pas cheres » arrivent avec la meme adresse , ce qui met la pagaille sur le bus oneWire.
Potentiellement la sonde « écartée » n est pas défectueuse mais simplement avec la meme adresse que ta première sonde.
(05-01-2025, 07:22 PM)Lolo69 a écrit : Ca arrive souvent que les sondes « pas cheres » arrivent avec la meme adresse , ce qui met la pagaille sur le bus oneWire.
Potentiellement la sonde « écartée » n est pas défectueuse mais simplement avec la meme adresse que ta première sonde.
Info intéressante bonne à savoir ..
Ya t-il un moyen de connaitre l'adresse d'une sonde sur le bus oneWire ?
06-01-2025, 10:50 AM (Modification du message : 06-01-2025, 10:52 AM par Lolo69.)
Oui on peut la connaître avec un programme arduino separé.
Le principe du programme est de scruter toutes les adresses possibles et lever un flag quand il trouve un device qui repond.
Si ca t intéresse y a plein device tutos pour le faire. Sinon chat gpt est entrain de devenir encore meilleur ami que google
Code :
#include <OneWire.h>
// Définissez la broche du bus OneWire
#define ONE_WIRE_BUS 2 // Connectez votre bus à la broche numérique 2
OneWire oneWire(ONE_WIRE_BUS); // Créez une instance OneWire sur la broche spécifiée
void setup() {
Serial.begin(9600); // Initialisation du port série
Serial.println("Recherche de périphériques sur le bus OneWire...");
}
void loop() {
byte addr[8]; // Tableau pour stocker l'adresse du périphérique
oneWire.reset_search(); // Réinitialisation de la recherche OneWire
while (oneWire.search(addr)) { // Recherche d'un périphérique sur le bus
Serial.print("Périphérique détecté : ");
for (int i = 0; i < 8; i++) { // Affichage de l'adresse unique (ROM)
if (addr[i] < 16) Serial.print("0"); // Ajout d'un 0 si nécessaire
Serial.print(addr[i], HEX); // Affichage en HEX
}
Serial.println();
// Vérifiez le type de périphérique (par exemple, capteur DS18B20)
if (addr[0] == 0x28) {
Serial.println(" -> Capteur DS18B20 détecté !");
} else if (addr[0] == 0x10) {
Serial.println(" -> Capteur DS18S20 détecté !");
} else if (addr[0] == 0x22) {
Serial.println(" -> Capteur DS1822 détecté !");
} else {
Serial.println(" -> Type inconnu.");
}
}
delay(2000); // Pause avant une nouvelle recherche
}