Distance d'utilisation d'un capteur ?

Bonjour.

Je n'y connais pas grand chose en électronique, mais je me soigne :wink:
Maintenant que j'ai un peu compris le fonctionnement de l'arduino et d la couche logiciel, il faut que je m'essaye à l'électronique.

J'aimera monter un capteur de température DHT22. c'est simple il y a plein de tuto sur internet.

Mais j'aimerai savoir à quelle distance le capteur peut il être de l'arduino ? On peut utiliser des câbles de 10m par exemple si je veux aller surveiller la température du garage ?
Faut il que les cables soit particulier pour pouvoir déporter les composants à une telle distance ?

D'une manière générale, comment on connait la distance à laquelle on peut placer un composant ?

Dans la foulée, est ce que quelqu'un peut m'expliquer la difference entre ca
https://fr.aliexpress.com/item/1005006413972405.html

et cà
https://fr.aliexpress.com/item/1005004463990455.html

A quoi sert la petite carte "électronique" ?

Merci

Je n'ai pas de réponse définitive à te faire, ni même de retour d'expérience, ce que d'autres pourront compléter.

Le problème est plus dans le protocole utilisé (pas 1-wire pour ton capteur), la qualité du câble (blindé ou pas, section, impédance), le bruit électromagnétique environnant (passage près de câbles 230 V ou pire des tubes fluorescents) que du capteur en lui-même.

En googleant rapidement, il semble que le 1-wire soit utilisable sur plusieurs dizaine de mètres. Ça semble OK à première vue. L'I2C est à l'inverse prévu pour quelques cm ou dizaines de cm tout au plus : là il n'y a pas trop photo :wink:
D'autres protocoles sont vraiment prévus pour les longues distances, ou même sans fils...

Dernière solution : une installation à l'arrache pour tester :wink:

edit : corrigé suite à la réponse de @al1fch

Bonjour

le DHT22 n'est pas un composant 'OneWire' (Dallas DS18B20 et autres)
Comme eux il fonctionne avec un seul fil (hors alim et masse) mais avec un protocole 'maison' de chez Aosong (bibilothèque spécifique)

Sur la data sheet du composant il est question d'une vingtaine de mètres sans indication sur le câble à utiliser (barré après #5)

On voit passser des retours positifs sur ces longueurs avec du câble réseau

Ok. merci.

C'est ce genre de câble qu'il faut choisir ?
https://fr.aliexpress.com/item/1005006340775911.html

ou bien plutôt des fils en nappe ?

  • C'est quoi l'avantage des uns et des autres ?
  • Quelle section faut il choisir ? Je suppose qu'il ne circule pas une puissance colossale dans un capteur Arduino...

Non, la datasheet recommande du câble blindé de bonne qualité.

The connection wires' quality will effect communication's quality and distance, high quality shielding-wire is recommended.

Ok Merci.

Donc on partirai plutôt su ce genre de câble.
https://fr.aliexpress.com/item/1005002075248776.html

Torsadé vs pas torsadé, est ce que ça a une utilité ? Sans doute :laughing:

Torsadé, c'est toujours mieux car.

Mais blindé ET torsadé, ça commence à faire beaucoup, donc je dirais que si c'est blindé, pas la peine de torsader.

Et les puristes diront qu'un câble blindé ne sert pas vraiment si les 2 extrémités du blindage ne sont pas reliées à la TERRE.

Moi ce que j'ai lu sur ce genre de détecteur, c'est que au dessus de 20m de câble, il faut changer la valeur de la résistance.

Bonjour

À la différence du composant DHT22 seul (premier lien dans l'extrait ci-dessus),
sur le circuit imprimé du module (deuxième lien), il y a un condensateur de découplage de l'alimentation et une résistance de pull-up qui sont déjà câblés.

DHT22-module


Quelques conseils concernant le câblage :

Bonjour,

Intéressant ce lien!
Notamment l'aspect " Choosing a DHT sensor" qui avertit sur les clones.
Et
" Connecting a DHT sensor"
Qui parle longueur de câble.

Sinon, j'ai un peu cherché, pas assez sûrement, et je reste sans réponse.

C'est quoi le technicien où le principe physique mit en œuvre avec ce type de capteur?

Quelle est l'allure du signal envoyé par ces capteur?

Intuitivement, ça me perturbe de mettre un petit capteur électronique au bout d'un long câble, j'imagine qu'il doit se prendre tous les parasites qui "volent" dans l'air.

Peut être qu'en l'interfacabt avec un ampli ou équivalent, genre ULN2003 juste à côté de lui?

Je ne sais pas si cela répond bien à ta question, c'est a dire, si tu parle du capteur derrière le MCU qui permet de dialoguer avec l'Arduino ou le signal envoyé par le MCU, qui est un signal digital.

Merci pour le schéma et l'explication.

Je vais devoir creuser un peu (vu que j'y connais rien) pour comprendre tout ça, mais juste en deux mots qu'est ce que fait le deuxième (avec son condensateur et sa résistance) ?
C'est juste un histoire de stabilité du courant ?

La résistance c'est pour le pull-up et le condensateur pour "lisser" les perturbations qui seraient induites par la liaison. C'est un raccourci que de dire capteur en réalité c'est un capteur, un ampli plus un circuit qui calcule et met en forme le signal que ce soit un standard spécifique pour le dht22, le one wire pour le ds18b20 et i2c ou spi pour d'autres.
Perso j'utilise le ds18b20 avec des fils de 2m sans problème. Il existe avec des fils jusqu'à 5m. J'avais choisi ce type de capteur du fait qu'il est étanche, précis et que je pouvais en brancher plusieurs sur le même port avec des fils suffisamment longs. Ce capteur est beaucoup utilisé en domotique pour ces raisons. Il permet d'aller de la cave au grenier sans problème (30m dans un environnement "sain"). Il ne faut pas utiliser de câble blindé ou coaxial

Si c'est blindage c'est une seule extrémité à la masse et de préférence coté microcontrôleur. Avec deux extrémités reliées à la masse on provoque une circulation de courant dans le blindage et ce n'est plus un blindage.

Si c'est un câble d'impédance constante (comme un coaxial), c'est relié à la masse au deux extrémités, mais même si le conducteur extérieur est la masse, ce n'est plus un blindage.
C'est hors sujet, mais il existe des coaxiaux qui sont blindés : 3 couches de fils, c'est assez rare, mais cela existe.

Le câble torsadé est toujours recommandé : il déforme moins les signaux.

Le DHT22 est un circuit rapide, tellement rapide que pour le lire il ne faut pas prendre de bibliothèque qui utilisent la fonction digitalRead() qui fait 50 000 actions non indispensables et donc est trop lente : on rate des bits.
Il existe d'autres moyens qui travaillent au plus prés des registres des micros avr.
Comme la bibliothèque de Rob Tillaart qui est à utiliser en priorité.

Résistance "dite de pull-up" (je déteste l'usage de ce terme grrrr parce que dans ce cas ce n'est pas le bon terme, mais bon je suis un vieux c).

Le DHT22 sort en montage émetteur commun, c'est-à-dire que l'émetteur du transistor de sortie est à la masse et qu'il y a obligatoirement une résistance de charge entre le collecteur et le Vcc, sans elle cela ne fonctionne pas.

Cette résistance ne doit pas être de trop forte valeur pour transmettre correctement le signal Par conséquent un courant non négligeable la traverse, donc avec puissance non négligeable.

Réaliser des résistances de puissance non négligeable dans un circuit intégré est possible, mais difficile aussi Aosong a préféré ne pas en mettre et laisse le soin a l'utilisateur d'en câbler une. N'importe quelle résistance 1/4 ou 1/8 de watt convient.

Oui sur le principe, sur la distance de 20 m, je ne peux pas répondre tout dépend du câblage.

Un tout petit peu de théorie.

A gauche c'est le schéma avec les composants. La résistance R est la fameuse "pull-up"
A droite c'est le schéma équivalent qui représente le comportement du produit.
Le générateur est parfait, la résistance R se trouve en série. Non dessiné à la suite il y a un câble raccordé sur un microcontroleur.

C'est le même souci que l'I2C, si le câble apporte trop de capacité, les beaux signaux rectangulaires vont être déformés et avachis.
image
Jusqu'à ce que le microcontroleur ne puisse plus discerner un 0 d'un 1.

Ce qui intervient, c'est le produit R*C.
Si C augmente, le signal est déformé.

On maintient la valeur de RC à peu près constante en diminuant la valeur de R.
Comment on calcule ?
C'est simple, on ne calcule pas, on fait des essais. Oui l'électronique, c'est aussi de l'intuition aidée par l'expérience

C'est une raison supplémentaire pour que la résistance R soit externe au circuit intégré.

Remarque importante :
Quand on baisse R on a toujours I = 5 V /R et il faut faire attention à ne pas dépasser le courant max dans le transistor qui normalement est indiqué dans la datasheet.

Bonne manip et bienvenue au club.

1 Like

Merci pour cette réponse fort detaillée.

Quand je parlais de puristes, je parlais par exemple des spécialistes de Schneider, anciennement Merlin Gérin, qui fabriquent entre autres des équipements hautement perturbants s'ils ne respectent pas les régles de la CEM, comme des onduleurs, et donc qui en connaissent un bout en CEM.

Et sur leur Wiki, les puristes de Schneider écrivent

Moi j'en étais resté là dans mes connaissances de jeune technicien débutant dans les années 85 à Merlin Gérin à Grenoble, et de ma petite et très ancienne formation sur la CEM.

Mais on ne va pas noyer le sujet avec ces débats de vieux C...

Par contre je me permet de revenir sur le schéma du transistors parfait.

Vous avez un peu oublié de détailler la charge constituée de la ligne (circuit RC) + du récepteur et de son impédance.

Et la résistance de "PULLUP" indispensable, intervient grandement car elle + la charge = 1 pont diviseur de tension, c'est pour cela AUSSI qu'elle (la résistance de PULLUP) ne doit pas être trop importante, pour avoir une influence négligeable dans le pont diviseur.

Mais là aussi, il y a des tutos bien fait qui expliquent l'influence de la résitance de sortie et d'entrée d'une boîte noire.

Comme ici entre autre:

Qui dit grosso modo " il faut que ZE soit le plus grand possible. On considère que lorsqu'il est 10 fois plus grand que ZS, l'atténuation est acceptable" Ze = résitance entrée du récepteur, Zs = résistance sortie de l'émetteur.

Ou pour faire simple:
Si on augmente trop la valeur de R PULLUP, on augmente le temps de monté des signaux, le systéme n'arrive plus à suivre en vitesse.

Si on diminue trop R PULLUP, on atténue l'amplitude de sortie (en tension) du systéme, et on risque de passer en dessous des seuils minimum attendus par le récepteur qui du coup ne lit plus rien.

La distance de 30m donnée par le one wire n'est pas théorique c'est la distance maximum conseillée pour opérer en toute sécurité. Ces bus sont très lents et le temps accordé pour les transactions est prévu pour cela. Il est évident que la valeur de pull-up est différente, il n'y a aucune raison pour que la loi d'ohm ne s'applique pas.

@jef59 .
C'est plus compliqué.
La solution reste : diminuer la valeur de la résistance tout en surveillant que le courant ne devienne pas trop élevé.
Il faut aussi soigner le câblage, les fils trop torsadés vont apporter un supplément de capacité mais vont réduire la valeur de l'inductance série (il y a toujours de l'inductance dans un fil).
On tombe dans le compromis difficile à prévoir avant de faire les tests.

La bonne démarche est de procéder par petit pas, de ne pas vouloir aller trop vite.
Procéder par petit pas et bien analyser comment les résultats évoluent.

Un peu plus de technique électronique analogique de transport de signaux numérique.
Oui le transport de signaux numériques c'est de l'électronique analogique.

  • La capa provient des fils de connexion. Un fil signal qui longe une masse et hop un peu de capacité linéique. Linéique signifie que ce sont des capacités réparties et qui faut passer pas des intégrales pour les calculer. On arrive aux équations de Maxwell que l'on ne sait résoudre que si la ligne est sans perte pertes, c'est-à-dire jamais dans l'absolu. On peut y arriver avec des approximations si les lignes sont à faibles pertes.

  • C'est une question de charge et de décharge de condensateur.
    Pour la charge, la résistance de charge est la résistance du schéma de Thévenin, c'est-à-dire la résistance de collecteur.
    Par contre, pour la décharge, c'est le transistor en mode saturé et là à part prendre un simulateur spice je ne connais pas d'autres méthodes qu'approximatives.
    En tout cas, on peut affirmer que la "résistance apparente de décharge" est bien plus faible que la résistance de charge.

  • On peut déduire du paragraphe précédent que le signal ne restera ni rectangulaire ni triangulaire (comme je l'avais simplifié) mais sera totalement déformé.

Donc j'avais volontairement simplifié, attention si on me provoque ( :smiley:) je peux écrire plusieurs centaines de page écran sur le sujet :rofl:.

Forme du signal au bout de quelques dizaines de mètres.
J'ai volontairement simplifié le dessin. J'ai utilisé des morceaux de droites alors qu'en réalité ce sont des morceaux d'exponentielles.
J'espère que vous ne m'en voudrez pas pour cette atteinte à la cosmétique.

Il s'agit d'une représentation dite "diagramme de l'œil où l'on superpose les passages de 1 vers 0 sur les passages de 0 vers 1.
C'est la représentation universellement utilisée dans le domaine du transport des signaux parce qu'avec l'utilisation d'un signal pseudealéatoire de degrés entre 10 et 31 (normalisé ITU-T) on trouve tous les cas possibles.

Note :
Bien sûr, j'ai caricarturé et forcé le trait pour les besoins de l'exposé.
En pratique, quand on développe une liaison avec les appareils de mesure adaptés on s'arrange pour que les croisements entre courbes rouges et vertes se produisent à mi-hauteur. Chez soi on n'a pas les mêmes moyens, autant connaitre comment les choses se passent.

Avec un avr où la séparation entre les zones 1 et 0 est faible (un avr commute autour de Vcc/2 avec peu d'hystérésis) il y a plus de marge.

Mais un avr est particulier, les autres microcontrôleurs sont aux normes CMOS : niveau bas signal < 30% de Vcc et niveau haut signal >70 % de Vcc.

Encore une remarque : j'ai volontairement passé sous silence l'influence des temps à l'intérieur des circuits d'entrées du microcontrôleur :

  • temps d'établissement du signal.
  • temps de maintien du signal, le temps de sa prise en compte.

Ces deux temps limitent la zone de 1 et la zone de 0 non plus en amplitude, mais en % de temps bit.

1 Like

Avec ça, on est vâchement avancés!

https://images.app.goo.gl/BWB9BX5LitaMXQ9H6

Bon, je sors.

1 Like

Bonjour

De plus, électroniquement, tout ça est encore plus "marrant" à calculer
quand on réalise qu'en fait, dans chacun de ces circuits intégrés, pour le protocole OneWire,
c'est la même broche physique qui est utilisée pour l'entrée ET la sortie du signal de données,
sans compter qu'en plus, cette même broche peut aussi être en même temps utilisée pour fournir l'alimentation du circuit (voir, par exemple, le mode parasite power du DS18B20).

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.