Parasite sur interuption digitale

////////////////
Je me suis trompé de forum
si un modérateur peut le transférer dans le général

Désolé :confused:
////////////////

Bonsoir,

J'ai relié un pluviomètre (capteur ils) à un arduino avec 25m de câbles réseaux rj45 (Cat5e F/UTP (FTP))
le cable longe une arrivé triphasé sur 4m du coup je reçois plein d’interruption entre 9h et 19h (heure de production) >> 100mm de pluie dans la journée alors qu'il n'a pas plus une goute (0mm la nuit)

je ne peut pas utiliser un autre chemin (a part refaire des tranchés), donc il me reste:

  • changer de cables avec un meilleur blindage
  • utiliser du sans fil (wifi ou NRF..)
  • mettre un arduino pres du pluvio et communiquer en rs485

penser vous que je peut changer de montage pour avoir moins de parasite?

ci joint un schéma et code simplifié

const byte RAIN = 3;

volatile unsigned long PulsesRainfall = 0;
volatile unsigned long Raintime, Rainlast, Raininterval ;

void setup()
{
  pinMode(RAIN, INPUT);
  attachInterrupt(1, CountPluvio, FALLING);
  interrupts();
}

void loop()
{
}

void CountPluvio() 
{
  Raintime = millis(); 
  Raininterval = labs(Raintime - Rainlast);
  
  if (Raininterval < 20) return ;
  PulsesRainfall ++ ;
  Rainlast = Raintime;
}

pluvio.png

Bonjour,

Tu peux filtrer l'entrée.
Ce que ferais:

  1. Diminuer la résistance à 1k, pour abaisser l'impédance d'entrée du circuit et donc rendre moins sensible la ligne. Ce qui donnera un courant de 5mA dans l'ILS.
  2. Mettre un condensateur sur l'entrée (entre D3 et GND) d'au moins 10µF (pour filtrer).
  3. Une resistance de 100 Ohms en série sur l'ILS pour limiter le courant lors de la fermeture du contact par la décharge du condensateur.

Roger.

Merci du retour Roger,

Désolé, mais je ne comprends pas ou mettre la R de 100 ohms en série (j'ai fais 2 schéma)
pour le montage, il vaut mieux le mettre pres de l'arduino (A) ou du capteur(B)?

Actuellement:
arduino (A)-----------------------------------25m---------------capteur(B) + résistance
//3m Triphasé//

Oui, la 100 Ohms comme le dit pepe.
Après, la valeur du condensateur doit donner une fréquence plus haute (au moins 2 fois) que la fréquence la plus haute de fermeture de l'ILS.
Par exemple si au plus fort de la pluie, l'ILS se ferme 1 fois par seconde (1Hz) la fréquence de coupure du filtre passe bas d'entrée doit être à plus de 2Hz pour ne pas trop affaiblir le signal.
Ce qui donne avec Fc=1/(2piRC); C=1/(2piFcR) = 1/(2pi2*1000)=80µF maximum.

J'espère avoir été assez clair.

Roger.

Pour moi c'est un problème de sur-oscillations(1) situé dans la liaison de 25 m entre le pluviomètre et la carte micro : l'inductance du fil entre en résonance avec la capa en parallèle sur l'inter et les diverses capacité parasites.
(1) il y en a qui disent "Ringing".

Le remède devrait être simple (c'est de l'analogique et en analogique il est impossible d'affirmer sans tester) :

  1. câblage ultra classique de l’interrupteur du pluviomètre (C= 100 nF) --> on ne change rien au schéma initial surtout pas de 10 µF.
  2. résistance de 100 à 200 ohms en série avec le fil de 25 m pour amortir le réseau RLC.
    L'endroit où la placer ne changera rien au fonctionnement.
    Toutefois je la mettrais à raz de la carte micro : si jamais il y a un court-circuit accidentel sur les 25 m la résistance évitera de tuer la sortie.

@ pepe tu as raison pour la largeur d'impulsion, mais en l'absence de données et de mesures avec un oscillo, on ne peut que faire des hypothèses.

@68tjs, si le problème était uniquement due à des sur-oscillations, il y en a surement vue la longueur du câble, il n'aurait pas de fausse pluie entre 9h et 19h seulement, comme il le dit dans son premier post. Non ?

C'est pas faux, j'avais court-circuité ce point :roll_eyes: .

Je suis assez confiant sur les sur-oscillations et j'aimerais savoir si une résistance entre 200 ohms jusqu'à 1k résoud un certain nombres de non fonctionnement en désensibilisant le réseau.

Si c'est inopérant un bon choix serait, si ce n'est pas déjà le cas, d'utiliser une paire torsadée.
Pour désensibiliser il est préférable de travailler à basse impédance.
Avant de passer à une liaison RS485 il serait judicieux d'utiliser une solution intermédiaire : du câble Cat5 adapté sur son impédance caractéristique :
Coté inter: résistance de 100 ohms en série,
Coté arduino : câbler entre l'entrée et la masse un réseau constitué d'une résistance de 100 ohms avec un condensateur en série de 100 nF (pour couper le continu) pourrait aussi fonctionner.

impédance_nappe1.png

Je pensais à un truc idiot arno a du y penser. Est-ce que tu as bien pris les 2 fils d'une paire et non des fils de paires différentes ?

J'ai des souvenirs de galère avec bouclage de masse. Pour éviter ça, on ne relie le blindage du câble que d'un côté. En sono, les blindages ne sont reliés que du côté ampli. Il m'est arrivé(faut pas le dire) de débrancher la terre sur un vidéo projecteur, mais c'était dans le temps :wink:

Il existe plusieurs niveaux de blindage en catégorie 5, le SSTP étant le mieux protégé, blindé paire par paire. D'après ta description tu as le UTP/FTP ??

Bonsoir, merci à tous pour vos réponse :wink:

Le prenez pas mal, mais je comprends pas certaines de vos explications, notamment les calculs :blush: (je suis vraiment novice en électronique)

pour être plus précis:

  • les interférences se produisent bien pendant les heures de production (la nuit aucun faut signal)
  • le montage est arduino / 25m câbles / montage (résistance...) / capteurs
  • sur le même câble il y a plusieurs capteurs (girouette, pluviomètre, anémomètre, DHT22, luminosité)
  • il se partage le vcc et gnd
  • les caractéristiques technique du pluvio Datasheet / Doc commercial

je vais commencer petit à petit vos solutions

  • d'abord avec une résistance en série (de 200 à 1k)
  • puis ceux de pepe et bilbo83 (faut juste que je trouve des capa non polarisé)

Bonjour ArNo,

La photo de ton montage éclaire un peu plus.

La première remarque que je fais, c'est que l'alim Vcc (au niveau de ta plaquette) ne comporte pas de condensateur de découplage.
De mon point de vue, il est impératif de mettre un condensateur pour filtrer les cochonneries que tu récupère immanquablement par le câble de 25m. Mets ce que tu as sous la main pour le moment (100nF à quelques µF).

Deuxièmement ajoutes sur l'entrée D3 (le pluviomètre), côté Arduino, une résistance de 1K entre D3 et Vcc.

Cette modif est très simple. Si ce n'est pas assez efficace il faudra envisager des solutions plus complexes.

Bonjour ArNo,

Est ce que tu peux me dire ou tu as trouvé tes breakout rj45? J'en cherche et je n'en ai pas trouvé (du moins à une prix raisonable)

A revoir complètement, on ne peut pas mélanger les paires comme ça.

chez lextronic Circuit d'adaptation pour connecteur RJ45
J'aimerais bien en trouver autres part car je passe très peu de commandes chez eux

En tout cas c'est super pratique, cela permet de faire des montages rapides en utilisant le câblages réseaux existant, ou avec des rallonges rj

Merci pour ce renseignement. C'est effectivement très pratique, mais même nos amis chinois vendent ça hors de prix.

achess:
A revoir complètement, on ne peut pas mélanger les paires comme ça.

on ne mélange pas les paires, et chacun à son ordre, mais cela s'applique sur le réseaux informatique / voip ... (hub / routeur / ordi ...)

J'utilise le cables rj45 juste pour me faire une rallonge entre les capteurs et les pins de l'arduino
Avant cela, je l'avais testé avec une rallonge de 100m chez moi. je pensais que cela n'allais pas fonctionner vu la distance et pourtant si.

  • les valeurs pluvio electronique / manuelle sont identique
  • le dht22 sur 100m comparer avec une sur une breadbord > idem
  • la girouette (jai du adapter les valeurs lu en analogique par rapport à la longueur du cables)
  • pour l’anémomètre par contre il est dans les choux. Même brancher seul avec 2 m de cables >> j'ai toujours la moitié du vent réél

Je vais essayer de ne pas te prendre trop la tête mais il y a des phénomènes physiques qu'il faut connaître surtout quand on veut transporter des signaux sur 25 m.

Je suis désolé, je vais peut-être décevoir certains, mais transporter des signaux sur 25m ce n'est plus de l'électronique numérique c'est de l'électronique analogique.

Premier point : La MASSE :
En France nous avons la chance d'avoir deux mots bien différents pour la protection des individus (la Terre) et la référence pour les tensions (la Masse).

Historiquement ce terme de MASSE vient du fait qu'aux débuts de l'électronique, pour être certain de la référence, les premiers chercheur utilisaient une grosse masse de cuivre.

Sur la photo on voit que tu utilise du câble ethernet.
Le diamètre des fils est de 0,5 mm soit une résistance de :
R= rho* L/S
avec :

  • Résistivité du cuivre rho = 17 10-9 ohm/mètre
  • L = longueur du fil en mètres
  • S = section du fil en mètre carrés

Ce qui donne R= 0,27 ohms par mètre soit 6,8 ohms pour 25 m !
La référence de masse fait 6,8 ohms !
Tout va dépendre des courants qui circuleront dans le fil de "référence" et surtout si ces courants sont constants ou variables.
Toute variation sur un composant se répercute sur les autres : on appelle cela du couplage par les masses.

Bien sûr le montage fonctionne "en dehors des heures de production" mais il est sensible il faut le désensibiliser.
Comme on ne peut pas diminuer la résistance du fil on va essayer de ruser :
- Essaye de séparer les "masses" : une masse par composant.
- Dans l'idéal elles ne doivent être reliées qu'au niveau de la carte arduino

Point 2.
Découple bien l'alim comme Bilbo83 te l'a conseillé.
Le découplage ne sert pas uniquement de filtrage IL EST ESSENTIEL pour que l'alim soit une vraie alim c'est à dire qu'elle ne présente pas de résistance interne.
Ce qu'il faut savoir c'est pour tout signal "qui bouge" l'alim DOIT être un court-circuit.
C'est le rôle du condensateur de transformer l'alim en court-circuit pour les signaux variables.
Le filtrage est utile et nécessaire mais est secondaire devant la fonction d'être un court-circuit pour les fréquences.
C'est pour cela que l'on conseille deux condensateurs un pour les fréquences basses (chimique plusieurs dizaine de µF) et un pour les fréquences élevées (céramique 100 nF).

Avec le poussoir tu crés une impulsion. La forme de cette impulsion ne va pas être un carré parfait mais va avoir un temps de montée (Tm).
Une formule empirique est souvent utilisée pour déterminer la fréquence équivalente que doit laisser passer le montage.
F = 1/ (2,2*Tm)
Si le signal en sortie de l'interrupteur met 1µs pour passer de Vcc à 0 cela revient à dire qu'il faut que ton montage soit capable de laisser passer des fréquences jusqu'à 500 kHz et donc que l'alim soit un court-circuit pour le 500 kHz.
Il est fort probable que le temps de montée soit plus faible donc la fréquence plus élevée.
Et pour que cela fonctionne correctement il faut ABSOLUMENT que l'alim soit la plus parfaite possible et donc il faut la découpler.

Point 3 :
Le câble torsadé possède une impédance caractéristique.
Je suppose que je t'ai déjà bien pris la tête et je vais (essayer de) rester vague mais si le câble ne voit pas son impédance caractéristique à ses deux extrémités il se produit des phénomène comme une résonance :
c'est comme si un parasite était un ballon qui rebondirait sur chaque extrémité avant que les frottements ne finissent par le ralentir et le stopper.

  • Si le câble est bien adapté (comme le schéma que j'ai mis) le parasite est "brûlé"immédiatement dans les impédances de charge.
  • S'il ne l'est pas seule une petite partie du parasite est "brûlée" et il faut plusieurs allers et retours pour le brûler complètement.

Suite:
Avec un peu de retard je viens de voir que tu utilise les accès analogiques A4 et A5.
Si tu en as d'autre de disponible et que tu as une carte version R3 n'utilises pas ces deux là !
1)En interne ils sont reliés à l'I2C et au Vcc numérique ce n'est pas top.--> A0:A3 sont reliés à "AVcc" (d'accord arduino au mépris des indications Atmel a relié directement Vcc et AVcc :smiling_imp: )
2) Avec les versions R3, Arduino a doublé ces sorties avec SDA et SCL qui sortent en diagonale de la carte.
Quelque soit le couple de broches que tu choisi (A4/A5) ou (SDA/SCL) tu as un MAGNIFIQUE circuit résonnant en parallèle : en anglais on parle de "Stub".
Ce n'est vraiment pas terrible pour la qualité des mesures analogiques.

Donc si tu peut utilise en priorité A0 à A3.

Bonjour 68tjs,

Je te remercie pour le temps passé pour tes explications détaillés, ainsi que les autres (et non tu me prends pas la tête)
Beaucoup de choses sont nouveaux pour moi, il va falloir le temps que je les assimiles bien
Je comprends que mon branchement doit en faire bondir plus d'un parmi vous :confused: .

A la base j'étais partis sur 3 capteur (donc 3 pairs) et puis j'ai rajouté le dht (3 fils) et ensuite la photo résistance (2 fils), soit 11 fils.
D'ou l'idée de mettre l'alim et masse en commun pour ne pas tirer un deuxième cables

A court terme, je vais rester sur mon montage pour apprendre vos différentes solutions (cela me fera un cas d'école)
plus tard je mettrais un arduino au plus proche des capteurs (la communication sera une autre chose)

pour la carte, je ne me souviens plus. je regarderais lorsque je ferais le montage (elle est situé dans une armoire à 3 m de hauteur , j'y vais pas toutes les 5mn :smiley: )

Bonjour,
Je n'ai pas les connaissances de -pepe- et de 68tjs, mais j'ai pratiqué les installations d'alarme, sono, vidéosurveillance, réseau informatique, tv collective et il y a des principes communs.

Si une paire ( ou ligne) est bien chargée, les parasites se trouvent en opposition de phase sur chaque fil et leur résultante est fortement atténuée, donc pas de paire non chargée à son extrémité et éviter les trop fortes impédance comme la LDR en basse lumière.

Une information par paire, les résistances de tirage doivent être côté arduino.

La photorésistance n'a pas besoin d'être déportée.
Le fil de garde ( blindage) côté arduino au GND et peut servir de troisième fil pour le capteur de température humidité, mais lui seul sinon boucle de masse.

D'après ton schéma, même tes 3 capteurs déportés sur le mât ne sont pas sur des paires indépendantes ??