[TUTO] les grandes longueurs de fil et les parasites

Quand l'analogique se prend pour du numérique, ou comment maîtriser des parasites...

On est toujours tenté d'aller coller un interrupteur, un poussoir ou un capteur "tout-ou-rien" assez loin de l'arduino, car on n'a pas forcément le choix. On arrive généralement et par simplicité à ce shéma là :

Et c'est là que les soucis commencent à partir de 10 / 20cm : le soft capte des changements d'états sur l'entrée de l'arduino alors que le contact à l'autre bout du fil n'a pas bougé.

1 - Pourquoi, comment et d'où viennent ces parasites?

L'environnement actuel n'est gère favorable et fourmille d'ondes magnétiques(1) et électromagnétiques(2).

Toute utilisation de courant génère une onde magnétique ou électromagnétique proportionnelle au courant.

Une ampoule (classique, à filament) crée peu d'ondes du fait de la façon dont est enroulé son filament, le fil utilisé dans le filament tourne un peu dans tous les sens ce qui a pour effet de produire des ondes qui s'annulent les unes les autres.

Un tube "Néon" produit beaucoup d'onde électromagnétiques, puisqu'il s'agit d'un passage d'électrons en ligne droite sur plus d'1 mètre de long, ce qui fait une belle antenne pour émettre le 50Hz du sectur, mais surtout amplifier le moindre parasite du secteur.

une rallonge électrique alimentant un apareil : une longueur de fil dans lequel passe du courant, donc génération d'onde magnétique, d'autant plus si la rallonge est en partie enroulée (enrouleurs), créant ainsi une bobine.

Un transformateur qui utilise justement la génération d'onde magnétique pour fonctionner n'est pas parfait, beaucoup d'ondes s'en échappent.

un moteur qui comme le transformateur utilise la génération d'ondes, mais en plus tourne, produit des contacts (sur certains, on peut voir des étincelles, preuve de ces contacts) sont de très beaux perturbateurs, et bien souvent renvoient des parasites sur le secteur qui les amplifie à son tour à travers toute l'installation du local dans lequel on se trouve,

Et j'en passe.

Ces ondes peuvent générer des courants parasites sur un conducteur libre.

Ces courants parasites se transforment en tension sur toute impédance réliée à ce conducteur (fil reliant le contact à l'arduino, faisant office d'antenne sur de grandes longueurs). En utilisant la loi d'Ohms, U = R x I, on voit que pour un courant I donné, plus R est grand(3), plus la tension créée par le courant parasite sera grande.

Autre phénomène : les impulsions, les "TAC" que l'on peut entendre dans des hauts-parleurs par exemple, sont souvent de très forte amplitude mais de très courte durée. Ces parasites font apparaître une nouvelle donnée : la fréquence. Qui dit petite durée dit haute fréquence (HF). Justement, tout fil présente une impédance qui augmente avec la fréquence. U = R x I encore : la tension augmente donc avec la fréquence du parasite.

2 - les solutions (liste non exhaustive) :

- Charger les "lignes" : Utiliser des résistances de pull-up (la résistance qui va de l'entrée de l'arduino vers le +5V) de faible valeur. la tension générée par un courant parasite sera faible : Rpetit x I = Upetit.

- Contrer les parasites à haute fréquence : un condensateur a une impédance qui diminue avec la fréquence, pouvant souvent être comparé à un court-circuit pour de hautes fréquences et un circuit ouvert(3) en basse fréquence. Dans le cas d'un bouton poussoir, on peut allègrement utiliser une valeur de 220nF qui fera court-circuit avec la masse pour les parasites HF mais sera "invisible" pour le bouton poussoir. Il absorbera une grande partie des "TAC" souvent responsables de déclenchement d'interruption non prévu.

- le blindage : en utilisant un câble blindé à deux conducteurs dont le blindage est relié à la masse (Attention : d'un seul côté!), c'est le blindage du câble qui fera antenne, protégeant ainsi les deux conducteurs qu'il entoure.

- L'isolation galvanique : A partir d'un optocoupleur par exemple, . malheureusement peu efficace, car il faut quand même un fil tout aussi long donc tout aussi sujet aux parasites. De plus, il faut une seconde alimentation au niveau du contact, lourd à mettre en oeuvre.

J'ai présenté ici des solutions simples à mettre en oeuvre, il en existe beaucoup d'autres. Ces quelques idées devraient apporter un soutien à tout ceux qui ont des problèmes de parasites!


(1) : Onde magnétique : champ magnétique créé par le passage de courant dans un conducteur. Le champ magnétique possède alors la même fréquence que le courant qui l'a créé, une amplitude (ou force) proportionnelle au même courant et décroît avec l'éloignement de la "source".
(2) : Onde électromagnétique : champ électrique créé par la présence d'un potentiel non neutre mélangé au champ magnétique créé par un courant dans ce même conducteur (dans ce cas, le conducteur est une antenne).
(3) : Impédance : valeur de résistance au passage d'un courant. un circuit ouvert représente une impédance infinie, un court-circuit, une impédance nulle (=0). Elle s'exprime en Ohms.

L'essentiel est là, super.
Je me permettrais d'insister sur le blindage : surtout respectez ce que vous dit Super_Cinci : ne relier le blindage à la masse que d'un seul coté et j'ajouterai organisez vos masses en étoile, le centre de l'étoile étant le GND de l'arduino.
Si on y regarde de plus près relier les blindages d'un seul coté et organiser les masses en étoile relève de la même démarche.

Super tuto, merci.

Peut etre serait il pas mal d'ajouter que quand on a pas trop les moyens, torsader les fils aller et retour ensemble réduit considérablement la sensibilité aux EMI ? Ma technique c'est d'acheter du câble téléphonique au mètre chez Bricorama/casto, de l'ouvrir avec un cutter, et de récupérer les paires torsadées toutes faites à l'intérieur. Ca fait du câble de longueur très correcte pour pas cher et pré-torsadé !

torsader les fils aller et retour ensemble réduit considérablement la sensibilité aux EMI

+10000
Pour créer un effet blindage il suffit que le fil 0V ne soit relié que d'un seul coté. C'est même quelquefois plus efficace que le fil blindé et ça coûte rien.

acheter du câble téléphonique au mètre....... , et de récupérer les paires torsadées toutes faites à l'intérieur

En plus d'être toutes faites les paires téléphonique répondent à des exigences très strictes en terme de ligne d'impédance constantes Zc= 600 ohms. La torsade est mécanisée ce qui assure une bonne reproductibilité.

Je vous conseille la lecture de ce document.
Methode de reduction de couplage

Même si ce document est d'un abord difficile, il combat quelques idées reçues, concernant le raccord des blindages et l'utilisation des paires torsadées.

Même si on ne comprends pas tous les calculs, les conclusions sont claires.
Et il faut se garder de mélanger GND et terre pour la compréhension des explications

Salut, à noter que j'ai ouvert du RJ45, il est également torsadé par paires

Merci, ce sujet est très intéressant et mérite d'apparaître dans le post des tutos.

Super_Cinci:
- Charger les "lignes" : Utiliser des résistances de pull-up (la résistance qui va de l'entrée de l'arduino vers le +5V) de faible valeur. la tension générée par un courant parasite sera faible : Rpetit x I = Upetit.

A noter que cette solution peut être gérée en activant la résistance de pullup interne:

pinMode(2,INPUT_PULLUP);

ou

pinMode(2,INPUT);
digitalWrite(2,HIGH);

le schéma de montage correspond à ce que tu as mis là, as tu déjà rencontré des problème avec ce montage:

D'après plusieurs blogs ca fonctionne bien:
http://www.cmiyc.com/tutorials/arduino-pull-ups/

Le montage duquel part son tutorial est justement celui avec le pull-up interne activé, donc oui on peut facilement rencontrer des problèmes avec ce montage basique et fonctionnel mais largement perfectible.

A noter que l'ajout du condensateur notamment permet de limiter fortement les effets de rebond

A noter que l'ajout du condensateur notamment permet de limiter fortement les effets de rebond

+1
A la nuance près que sur le schéma il est placé à raz de l'électronique et que c'est préférable de le placer à raz du bouton pour éviter les effet de sur-oscillation ("électrique" cette fois) dus à la self que la grande longueur de fil ajoute.
Une petite résistance de 10 ou 100 ohms en série dans le fil ne gène pas le fonctionnement mais amorti avantageusement le circuit RLC.

Déplacement du sujet dans la rubrique adéquate :wink:

A propos du condo, j'ai compris que le condo ne laissait pas passer le courant (continu) et qu'il absorberait les TAC parasite cf premier schéma en les empèchant d'aller chatouiller l'input.

Mais au bout d'un moment ces TAC ne risquent ils pas de charger le condo et du coup il ne pourra plus les filtrer?
D'après ce que j'ai compris, le condo se décharge quand on enclenche l'interrupteur, CF schéma 2.

C'est juste pour essayer de comprendre.

Merci

TAC.png

TAC2.png

bonjour
voila je voulez savoir si des cable xlr suffise pour éviter les parasite pour éloigner mais moteur de 15m

Bonjour,
Je pense que tu parles du câble microphone.
Oui, en raccordant le blindage que du côté arduino et un condensateur aux bornes du moteur.
Par contre, la section du fil étant très petite, c'est bon pour un micro moteur.

si il y a un moteur pas trés loin , il risque d'y avoir de l'inductif dans l'aire et donc on relie les deux cotés du blindage:
1coté on affecte les perturbation capacitive : bref evacuation du champ electrique=tension
2 coté on affect les perturbation inductive: evacuation du magnetique = courrant.

voir:

fdufnews:
Je vous conseille la lecture de ce document.
Methode de reduction de couplage

Même si ce document est d'un abord difficile, il combat quelques idées reçues, concernant le raccord des blindages et l'utilisation des paires torsadées.

Même si on ne comprends pas tous les calculs, les conclusions sont claires.
Et il faut se garder de mélanger GND et terre pour la compréhension des explications

Il n'y a pas de solution unique pour la protection électromagnétique, il n'y a que des cas particuliers.

Le bon sens est de commencer à utiliser les règles générales :

  • Masse en étoile
  • Blindage reliés à la masse que du coté utililisation
  • Masse et Terre sont deux notions différentes et la Terre ne doit pas servir au transport de signaux éléctrique : c'est uniquement une protection pour les individus.
  • Les paires torsadées sont une excellente solution de protection pour les signaux différentiels. Si les signaux ne sont pas différentiels elles sont à gérer comme des blindages.

Si le montage est toujours perturbé c'est qu'en fait il est beaucoup plus complexe qu'il n'y parait (le magnétisme ce n'est pas simple) et dans ce cas il ne faut pas hésiter à expérimenter des solutions qui à priori ne paraissaient pas logiques.