Go Down

Topic: [TUTO] les grandes longueurs de fil et les parasites (Read 5365 times) previous topic - next topic

Super_Cinci

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.

68tjs

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.

D4p0up

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é !
Arduino sound Reseach - http://bit.ly/fullmaj [fr][en] | Homemade Free VST - http://zomg.zxq.net [en]

68tjs

Quote
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.
Quote
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é.

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

bodtx

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

UniseV

Merci, ce sujet est très intéressant et mérite d'apparaître dans le post des tutos.
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

bodtx




- 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:
http://arduino.cc/en/Tutorial/InputPullupSerial

Code: [Select]
pinMode(2,INPUT_PULLUP);

ou

Code: [Select]
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/

B@tto

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
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

68tjs

Quote
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.

Jean-François

Déplacement du sujet dans la rubrique adéquate  ;)
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

bodtx

#11
Apr 12, 2013, 10:05 pm Last Edit: Apr 12, 2013, 10:08 pm by bodtx Reason: 1
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

Go Up