Adaptateur dallas (DS18B20) avec ou sans condensateur

Petite expérience de mon coté aussi, j’avais acheté un capteur de distance à utrason qui ne fonctionnait pas, je l’ai renvoyé et acheter le même chez DFRobot, et la nikel…

question: quelle est l’avantage de la restance 10K ? mes petits modules terminale disposent d’une resitance 4,7K et capa 100 nF

Merci pour toute ces infos en tout cas, je pense que je vais acheter les sonde chez DFrobot

1 « J'aime »

On dimensionne une résistance de pull up / pull down en fonction du cas :slight_smile: (et pour être honnête, dans la grande majorité de mes conceptions, je choisis la valeurs sans calcul mais avec bon sens ^^ ).
Pour comprendre ma réponse, il faut que tu ais bien compris ce qu’est une résistance de tirage/rappel (pull Up/pull Down) :slight_smile: Pour faire bref, elle fixe un niveau logique, évite un état flottant (donc un niveau logique non définie) et qu’il soit lue n’importe quoi sur la broche de données ! N’hésite pas a creuser le sujet ^^

Il y a un juste équilibre à trouver :
Si valeur trop faible → surcharge la ligne.
Si valeur trop élevé → signaux trop lents (temps de réponse) et donc erreurs de communication.

A prendre en compte : la longueur de la ligne et le nombre de capteurs :slight_smile:

Et également garder en tête que pour un système basse conso, une résistance de tirage/rappel consomme du courant. Plus la valeur est faible, plus elle consomme !

Par exemple :
→ 10K conviendrait pour un ou deux capteurs, une ligne courte et une conso plus faible !
→ 4.7K pour plusieurs capteurs, quelques mètres de ligne et une conso plus élevée !

Enfin, si l’on est pas inspiré d’une valeur à mettre, souvent, la datasheet du composant donne des pistes ! Page 10 : https://www.analog.com/media/en/technical-documentation/data-sheets/DS18B20.pdf

hum alors dans mon cas je dois plutot rester en 4.7 car un seul capteur sur 18m et sur un autre 4 capteur de 1 à 3m

Hello,
Moi perso, les sites marchand, dans tout les cas c’est des chinoiseries.
A ce jour, rien ne certifie les produits, même chez Farnell nous avons eu du Fake.
A chaque fois, je brûle un cierge, et soit je les conserve soit je les retourne, suivant le marchand.
Mais de nos jours, y mettre le prix ne certifie plus d’avoir de la qualité, seul le marchand fait plus de marge.

Avec 18m de fil, ça te fait une sacrée ligne !!!

4.7K est un bon choix (mais je serais partie sur 2.2K avec un longeur pareil).

Aussi, si tout tes modules ont une résistance de pull up, elles sont ont parallèle et n’oublie pas que ça donne une résistance équivalente !

Par exemple, si tu as 2 modules avec une résistance de 4.7K sur chaque module, ça donne une résistance équivalente de 2.35K

Si tu utilises 5 modules avec résistances de 4.7K, tu te retrouves avec une résistance équivalente de pullup de 940R ! Ce qui commence à être bien bas :slight_smile:

Voilà le lien d’un calculateur (si tu n’est pas familier avec les maths), il t’explique également la formule :

Calculateur

Je t’invite donc à ne pas passer par les platines (qui servent uniquement d’interface de connexion et support pour résistance CMS pullup) mais à faire le câblage toi-même ^^


Pour aller plus loins, tu pourrais ajouter une résistance de 47 à 100R sur la ligne de données entre ton micro-contrôleur et tes capteurs ! ça permet de coucher les fronts, éviter des soucis de réflexion des signaux (même si autour de 16Khz, tu ne risques pas grand chose) et limiter le bruit. Surtout si tu utilise un câble de 18m !!!

Si tu rajoutes un condensateur de 100pF au niveau de ta résistance de pullup et au plus proche de l’entré de ton micro, juste avant la résistance de 47/100R, tu pourras absorber les bruits HF et c’est plutôt une bonne idée !
Ici, la valeur se calcule en fonction R pullup = 2.2k et de la constante de temps du couple RC !
Avec R = 2.2K et C = 100pF, tu as une constante de temps d’environ 220ns ! C’est raisonnable pour un bus comme le One Wire (16Kbits/s dont des signaux mini sur une durée d’1 à 15μS)
Tu as un calculateur ici ! Et si tu t’amuses à jouer sur les paramètres du condensateur ou de la résistance, tu verra que tu te rapproches vite de 1μS, qui n’est pas assez rapide, et ça poser des problèmes de com puisque signal trop « mou ».
D’ailleurs, la fréquence de coupure de ton filtre RC est d’environ 723KHz, on filtre bien de la HF (hautes fréquences) sans gêner les signaux du bus :wink: un calculateur se trouve ici

Ça donnerait quelques chose comme :

Enfin, tu pourrais utiliser un câble blindé :slight_smile:
Par contre, la tresse de blindage doit être connecté au plus proche de ta masse et la « Queue de cochon » doit être la plus courte que possible (car dans certains cas, c’est une antenne à parasites et créé plus de problèmes que ce qu’elle n’en corrige :wink: ).

Ce que l’on appelle « Queue de cochon », c’est le bout de câble qui relie ta tresse de blindage à la masse (ou la tresse entortillé en fin de câble qui se retrouve connectée à la masse) :

Avec tout ça, t’as de quoi garantir l’intégrité de ton signal !
Tu te retrouve alors avec un système plutôt robuste et prévu pour durer :slight_smile:


Ps 1 : pour aller encore encore encore plus loin, on pourrait parler des diodes anti ESD &Co, mais ça fait déjà beaucoup d’info pour toi à ingérer ^^)

Ps 2 : il faudra également éviter une configuration en « étoiles » et prévoir une configuration « série » pour tes capteurs :slight_smile: comme ça :

oui, ce sera surement moins, c’est pour mesurer la temérature dans un puits, à voir sir je descend tout au fond (7,5m + distance jusqu’au local tech ou sera l’esp32), ce qui n’est peut-etre pas utile car comme c’est « sous terre » l’eau devrait etre à la température de l’air et assez constante, donc je peut peut etre gagner quelques mêtres :wink:

oui ça fait beaucoup d’info mais c’est super interessant merci

1 « J'aime »