Capteur de t° ds18b20 non détecté

Bonsoir,

Ayant reçu mes derniers composants hier, j'ai commencé à faire des essais toute cette journée.
J'ai testé la led clignotante sans aucun problème.

Mais depuis plusieurs heures, j’essaie de lire la température. Or je n'arrive pas; mon capteur n'est pas détecté.
J'ai utilisé ce tuto mais voici le message que je reçois :

**** Detection du capteur ****
Aucun capteur 1-wire present sur la broche !

J'ai vérifier plusieurs fois le câblage mais je n'arrive pas à trouver le problème

bonsoir
rapidement
voir peut être du coté de la R de tirage sur DQ , 1K semble "leger" , le datasheet préconise 4.7K

+1
J'ai une installation mettant plusieurs DS18B20 en oeuvre, et les 1k proposés sur mon-club-elec ne semblent pas vraiment appropriés. Ca fonctionne très bien, que ce soit sur 2 ou 3 fils, avec une R=4.7k.

De même, si tu essaies de mettre plusieurs DS18B20 en cascade, le sketch proposé dans ton tuto ne fonctionnera pas, contrairement à ce qui est annoncé. En tout cas, ça ne marchait pas chez moi: j'avais dû retoucher le sketch ...

Ok merci.
Après le travail, je vais tester avec une résistance de 4,7k.

J'ai eu le temps de faire un test avant d'aller travailler avec un résistance de 4,7K mais il ne détecte toujours pas le capteur.

La résistance est en réalité une de 4,75k mais je suppose que ça ne vient pas de là

silverbeach:
J'ai eu le temps de faire un test avant d'aller travailler avec un résistance de 4,7K mais il ne détecte toujours pas le capteur.

La résistance est en réalité une de 4,75k mais je suppose que ça ne vient pas de là

bonjour
alors il faut procéder par élimination :

  • Avez vous déjà utilisé et "vu" fonctionner ce DS18B20 ? (levée de doute sur compo HS)
  • Si c'est sur un breadboard, refaite tout le câblage ailleurs.
  • -Vérifiez la continuité des câbles de liaisons (des câbles "coupés/mal soudés ça arrive et on pense rarement à eux)
  • Essayez avec les exemples fournis ici http://cjoint.com/?AKgmqkHkhBt

Dans un premier temps alimentez le ds18B20 en +5V et pas en parasite power , le boitier est un TO92 je suppose?
Pin 1 au GND
Pin 2 DQ sur pin 10 de l 'arduino tiré au +5V par une 4.7K
Pin 3 au + 5V (et pas au GND)

Merci pour ta réponse.

Je viens de les acheter et j'essaie de les faire fonctionner pour la première fois.
Comme j'en ai acheté 4, j'avais essayé avec 2 autres et toujours le même résultat : capteur non détecté.

Le câblage est sur une breadboard.

Je ferais les autres essais au soir quand je serais rentré du travail

Je viens de faire les différents test proposé et il ne détecte pas mon capteur
J'ai essayé avec 2 capteurs différents.

Ps: l'alimentation est un chargeur de gsm 4,9V 450mA mais j'ai 5,1V à sa sortie. Le problème peut-il venir de ce chargeur?

silverbeach:
Je viens de faire les différents test proposé et il ne détecte pas mon capteur
J'ai essayé avec 2 capteurs différents.

Ps: l'alimentation est un chargeur de gsm 4,9V 450mA mais j'ai 5,1V à sa sortie. Le problème peut-il venir de ce chargeur?

Vous voulez dire que vous alimentez l'arduino par une alim externe ?

faites une connection minimale déjà pour voir

pas d'alim externe
arduino unio alimenté par l'usb
reprendre GND et 5 V sur l'arduino vers le breadboard
pin 1 et 3 DS18B20 au gnd sur le board
pin 2 DS18B20 vers pin 10 arduino
une R de 4.7K entre +5V et pin 10 arduino
avec l'exemple onewiresearch ça fonctionne tres bien
je viens de faire un test avec 3 compo 1wire
DS18B20 Dq pin 2 vers pin 10 de l'arduino
photo commentée

Je pensais qu'il fallait une alim externe

Je viens de faire le test avec onewiresearch et voici le résultat:

Id= 28 CC 26 55 03 00 00 25 ScratchPad= 62 01 4B 46 7F FF 0E 10 03 FF FF FF FF FF FF FF 49,5
No more addresses.

Et voici le résultat avec sample :

R=28 CC 26 55 03 00 00 25 P=1 5A 1 4B 46 7F FF 6 10 A3 CRC=A3 45,5
No more addresses.

Edit:
R ou Id, c'est l'adresse du capteur?
et les derniers chiffres (43.5 ou 49.5), dépend de la température?

Ps: Merci pour la photo

silverbeach:
Je pensais qu'il fallait une alim externe

Je viens de faire le test avec onewiresearch et voici le résultat:

Id= 28 CC 26 55 03 00 00 25 ScratchPad= 62 01 4B 46 7F FF 0E 10 03 FF FF FF FF FF FF FF 49,5
No more addresses.

Et voici le résultat avec sample :

R=28 CC 26 55 03 00 00 25 P=1 5A 1 4B 46 7F FF 6 10 A3 CRC=A3 45,5
No more addresses.

Ps: Merci pour la photo

bon ça avance
en mettant tes 4 18B20 comme mes 3 sur la photo tu devrais avoir 4 adresses reconnues.
ATTENTION :
le code ne renvoi pas la bonne température pour des 18B20 (il faut passer de 8 9 bits à 11 bits)
mais ça c'est du detail, le principal c'est qu'il soit reconnus.

avec une photo c'est toujours plus parlant

R ou ID c'est l'adresse unique de chaque compo 1 Wire
avec 28 en debut là qui est l'ID family (DS18B20) 10 pour un DS18S20

J'ai mis les 4 capteurs et ça fonctionne :

R=28 74 04 55 03 00 00 F8 P=1 69 1 4B 46 7F FF 7 10 5E CRC=5E 52,0
R=28 CC 26 55 03 00 00 25 P=1 5F 1 4B 46 7F FF 1 10 9B CRC=9B 47,5
R=28 FA 0C 55 03 00 00 3F P=1 64 1 4B 46 7F FF C 10 1 CRC=1 50,0
R=28 A9 3A 55 03 00 00 50 P=1 6C 1 4B 46 7F FF 4 10 5D CRC=5D 54,0
No more addresses

silverbeach:
J'ai mis les 4 capteurs et ça fonctionne :

R=28 74 04 55 03 00 00 F8 P=1 69 1 4B 46 7F FF 7 10 5E CRC=5E 52,0
R=28 CC 26 55 03 00 00 25 P=1 5F 1 4B 46 7F FF 1 10 9B CRC=9B 47,5
R=28 FA 0C 55 03 00 00 3F P=1 64 1 4B 46 7F FF C 10 1 CRC=1 50,0
R=28 A9 3A 55 03 00 00 50 P=1 6C 1 4B 46 7F FF 4 10 5D CRC=5D 54,0
No more addresses

Ok
c'est bien

Je viens de tester le programme de mon club elec :
comme indiqué par vincelge, il ne détecte qu'un 18B20
mais sinon ça fonctionne et renvoi une bonne temp

pour utiliser avec le câblage "photo"

attention à bien penser à remplacer
const int broche_OneWire=2; //declaration constante de broche

par
const int broche_OneWire=10; //declaration constante de broche

Bon amusement pour la suite :grin:

ok merci, j'ai réussi à lire la température de tout les capteurs.

Mais j'ai encore une question:
Pour la programmation, est-il préférable de faire rechercher les adresses une seule fois dans void setup() et de sauvegarder les adresses ou de tout faire dans void loop() ou de mettre l'adresse directement dans le programme sans faire de recherche?

silverbeach:
ok merci, j'ai réussi à lire la température de tout les capteurs.

Mais j'ai encore une question:
Pour la programmation, est-il préférable de faire rechercher les adresses une seule fois dans void setup() et de sauvegarder les adresses ou de tout faire dans void loop() ou de mettre l'adresse directement dans le programme sans faire de recherche?

perso et depuis le temps que j'utilise du 1-W (bien avant l'arduino et pas que pour de l'arduino :grin: )

j'utilise "cette méthode", elle n'a pas vocation à être universelle, mais

Mode découverte : sur le bus (au "hard reset" ou par "soft reset engagé" = "jumper") des compo présents
mode production : interrogation des seuls 1-W préalablement découverts/acceptés (pas de cycle de recherche pour découvrir les... "petits nouveaux" insérés sur le bus )

En application "perso" le codage d'adresse en "dur" est aussi une bonne solution, et comme en règle générale sur les applis perso, il n'y a que le concepteur/codeur qui sait ce qu'il veut/souhaite faire :grin: c'est un peu : "après lui, le déluge" :slight_smile:

je vais utiliser la dernière solution car normalement, il y aura peu de changement.

Maintenant je me demande pou quelle raison ça ne marchait pas avec l'alim externe. A moins qu'on ne peut pas alimenter l'arduino avec l'usb et les composants avec une autre alim en même temps.

silverbeach:
je vais utiliser la dernière solution car normalement, il y aura peu de changement.

Maintenant je me demande pou quelle raison ça ne marchait pas avec l'alim externe. A moins qu'on ne peut pas alimenter l'arduino avec l'usb et les composants avec une autre alim en même temps.

rapide reflexion
alim externe 5.1 , la tension de "dechet" du régulateur était trop faible.
mais bloquait celle fournie par l'USB

voir specifs pour l'arduino
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V