gratifiant > sci.* > sci.electrotechnique

Julien Arlandis (15/07/2019, 14h28)
Bonjour,

Je viens de terminer la fabrication d'une machine outil, une
thermoformeuse.
Notre problème concerne la régulation de température, l'acquisition se
fait au moyen de thermocouples de type J via un amplificateur piloté par
un arduino :
<https://boutique.semageek.com/fr/871-amplificateurde-thermocouple-universel-max31856.html>

La mesure fonctionne parfaitement sauf lorsque les moteurs brushless de la
machine sont alimentés, ce sont des moteurs 230V de 400 W, nous sommes
donc en présence d'harmoniques qui viennent fortement perturber le
fonctionnement de la machine. J'ai déjà essayé d'isoler le circuit
électrique dans une cage métallique, sans résultat et j'ajoute que la
perturbation persiste même quand le arduino est alimenté sur batterie.
Sauf erreur expérimentale de ma part, c'est tout de même paradoxal car
ces deux manips sont sensées éliminer l'une des deux causes possibles
(aérienne ou filaire). Bien sûr les deux causes peuvent exister en même
temps.
Je vais être obligé de repartir à 0, existe t-il une démarche
rigoureuse utilisée en CEM pour résoudre mon problème ?
zeLittle (17/07/2019, 10h30)
On Mon, 15 Jul 19 12:28:10 +0000
Julien Arlandis <julien.arlandis> wrote:

[..]
> temps.
> Je vais être obligé de repartir à 0, existe t-il une démarche
> rigoureuse utilisée en CEM pour résoudre mon problème ?


[probablement HS]
Je ne suis pas électronicien, mais chimiste orienté industrie (d'où une sensibilité - limitée aux capteurs et à l'électronique: quand je pense mesure de température, je pense donc chimie des matéraux: avec le Platine, il serait assez facie d'obtenir avec des capteurs de températures peformants (Cf. + très bonne soudure qui plaque en surface au maximum ledit capteur contre l'objet monitoré + gel de Silicone).
[/probablement HS]

Après, je ne comprends pas ton problème d'harmoniques. Qu'est-ce que tu appelles des harmoniques? De fausses températures -artefacts - crééés par le truchement de ton moteur - donc plutôt côté capteurs puisqu'il est alimenté par pile? Tu veux dire que tu observes des sauts de T°C qui sont complètement en dehors de ta courbe d'étalonnage des températures programmée dans ton Arduino alimenté par piles?
Chab (28/07/2019, 02h04)
Le 15/07/2019 à 14:28, Julien Arlandis a écrit :
> Bonjour,
> Je viens de terminer la fabrication d'une machine outil, une
> thermoformeuse.
> Notre problème concerne la régulation de température, l'acquisition se
> fait au moyen de thermocouples de type J via un amplificateur piloté par
> un arduino :
> <https://boutique.semageek.com/fr/871-amplificateurde-thermocouple-universel-max31856.html>
> La mesure fonctionne parfaitement sauf lorsque les moteurs brushless de la
> machine sont alimentés, ce sont des moteurs 230V de 400 W, nous sommes CUT


> Je vais être obligé de repartir à 0, existe t-il une démarche
> rigoureuse utilisée en CEM pour résoudre mon problème ?


Slt

Avec quoi tu pilotes tes moteurs ?
Quelle longueur des fils du thermocouple (entre la mesure et le préampli) ?
Les fils du thermocouple sont-ils blindés ?
Comment est alimenté le module pré-ampli thermocouple
j'imagine que l'arduino gère le thermocouple, et la régulation du
chauffage, quelle interface de puissance assure le pilotage des
résistances de chauffage ?
Proximité des résistances de chauffage avec les moteurs ?

Chab
Robert Lacoste (29/07/2019, 09h04)
"Julien Arlandis" wrote in message
news:787c
[..]
> (...)
>Je vais être obligé de repartir à 0, existe t-il une démarche
>rigoureuse utilisée en CEM pour résoudre mon problème ?


Bonjour Julien,

La solution est probablement simple : Les perturbations CEM sont en hautes
fréquences (à la fréquence de pilotage des brushless et ses harmoniques),
alors que la mesure de température ne nécessite que de très basses
fréquences (disons 1Hz, vu que la température ne varie probablement que très
peu en une seconde). De là la solution usuelle est d'ajouter un filtre
passe-bas efficace quelque part, par exemple entre le thermocouple et l'ADC
de l'arduino... Vu l'utilisation d'un MAX31856, deux solutions semblent
possibles (et peuvent être couplées) :

- Soit augmenter drastiquement la valeur des condensateurs de filtrage en
entrée du MAX31856 et/ou augmenter la valeur des résistances série
correspondantes (cf datasheet ici :
, section "noise
consideration" en page 27)

- soit ajouter un filtre passe-bas numérique dans le traitement sur
l'Arduino, après ADC donc. Un filtre FIR ou IIR avec une fréquence de
coupure de quelques Hz par exemple. Par contre cette option ne marchera pas
si le filtrage passe-bas analogique n'est pas suffisant (repliement de
spectre etc)

Cordialement,
Robert Lacoste
bilboard (29/07/2019, 15h52)
Le 15/07/2019 à 14:28, Julien Arlandis a écrit :
> l'acquisition se
> fait au moyen de thermocouples de type J via un amplificateur piloté par
> un arduino :
> <https://boutique.semageek.com/fr/871-amplificateurde-thermocouple-universel-max31856.html>
> La mesure fonctionne parfaitement sauf lorsque les moteurs brushless de la
> machine sont alimentés, ce sont des moteurs 230V de 400 W
> Je vais être obligé de repartir à 0, existe t-il une démarche
> rigoureuse utilisée en CEM pour résoudre mon problème ?


Bonjour !

Enfin un problème clairement expliqué et c'est pas si souvent.

Quant on songe que les normes CEM nous imposent un gabarit de
perturbations conduites (en Max) de quelque 80dBuV (10mV) voire 60dBuV
(10mV) ! dans la bande 1MHz .. 100MHz on comprend mieux pourquoi ton
problème tombe en plein dans le sujet.

Je prendrais le problème à la source. C'est à dire que je placerai un
filtre de mode commun de puissance sur la ligne d'alimentation des
moteurs (Bon il faut le calculer mais c'est pas difficile) ... et il
faut que la masse méca et la terre soient impliquées là dedans.
Cf. goooogle (mains line + common mode + schaffner)

Si le thermocouple est éloigné alors j'opterai pour une version blindée
avec le blindage à la masse méca bien évidement ... et puisque tu as
choisi un "PCB-tout-fait-par-ADA-Lovelace" je n'irai pas plus loin dans
mes recommandations ...
Pour ma part j'aurais :
1- conditionné le capteur thermocouple (op amp + filtre PB),
2- utilisé un ADC 12bits d'un petit micro type stm32 (on peut compenser
comme ça par calcul pas mal de choses),
3- par ex pour gagner 4Bits. On sur-échantillonne par 4 (par rapport au
PB), sommer (S) de N échantillons consécutifs, décaler la somme S à
droite de 4 et enfin tronquer le résultat (un entier long) sur 16Bits
(Cf. AN4629 stmicroelectronics)

La pp. 8 du document est très riche d'enseignement (je vous prie de bien
regarder la réponse de ce filtre ... car c'est un filtre !) et juste une
dernière remarque la technique du "dithering" n'est pas très bien
expliquée ici.

H
habib (29/07/2019, 17h51)
Le 29/07/2019 à 15:52, bilboard a écrit :
> par ex pour gagner 4Bits. On sur-échantillonne par 4 (par rapport au
> PB), sommer (S) de N échantillons consécutifs, décaler la somme S à
> droite de 4 et enfin tronquer le résultat (un entier long) sur 16Bits


Petit correctif. Je viens de relire mon code (qui date pas mal déjà)

On multiplie par 4? (256) la fréquence d?échantillonnage et on prend dès
lors 1LSB = Vref/2¹?

Scouzi
Alphonse (30/07/2019, 00h43)
bilboard a écrit :
> Le 15/07/2019 à 14:28, Julien Arlandis a écrit :


> Bonjour !


> Enfin un problème clairement expliqué et c'est pas si souvent.


> Quant on songe que les normes CEM nous imposent un gabarit de perturbations
> conduites (en Max) de quelque 80dBuV (10mV) voire 60dBuV (10mV) ! dans la
> bande 1MHz .. 100MHz on comprend mieux pourquoi ton problème tombe en plein
> dans le sujet.


> Je prendrais le problème à la source. C'est à dire que je placerai un filtre
> de mode commun de puissance sur la ligne d'alimentation des moteurs (Bon il
> faut le calculer mais c'est pas difficile) ... et il faut que la masse méca
> et la terre soient impliquées là dedans.
> Cf. goooogle (mains line + common mode + schaffner)


[..]
> sommer (S) de N échantillons consécutifs, décaler la somme S à droite de 4 et
> enfin tronquer le résultat (un entier long) sur 16Bits (Cf. AN4629
> stmicroelectronics)


> La pp. 8 du document est très riche d'enseignement (je vous prie de bien
> regarder la réponse de ce filtre ... car c'est un filtre !) et juste une
> dernière remarque la technique du "dithering" n'est pas très bien expliquée
> ici.


> H


Bonjour H,

Je n'ai pas d'objection de principe au filtre de mode commun sur les
alimentations (si ce n'est le coût et l'encombrement), mais je n'en
ferais pas ma priorité.

Ce genre de filtre est surtout utile pour éviter de transmettre la
perturbation au réseau. Mais là, le problème est à l'intérieur de la
machine.

J'ajoute que la réalisation doit être très, très soignée, à cause de la
capacité parasite des spires sur les selfs de mode commun. C'est
d'ailleurs pour cela que l'on met souvent plusieurs étages.

La mesure de température, comme toute mesure, doit effectivement être
l'objet d'un filtrage passe-bas sur l'entrée analogique.
Un filtrage du premier ordre de type RC suffit, à condition que le
condensateur soit adapté aux hautes fréquences (= faible impédance
entre 1 et 100 MHz). Donc du 10 nF céramique grand maximum.

Ce filtrage doit être mis à l'entrée du module conditionneur existant,
et non sur le thermocouple lui-même. Ce n'est pas un problème si les
fils du thermocouple trimbalent les parasites, du moment qu'on sait les
évacuer à la masse à l'arrivée.

Dans cette situation, il ne s'agit pas d'extraire une information d'un
signal bruité, mais d'échapper à un signal qui est suffisament
énergétique pour perturber le fonctionnement normal d'une électronique,
en provoquant le basculement intempestif d'une entrée logique, voire un
latch-up.

J'insiste sur le fait que tout système de filtrage doit renvoyer le
parasite à la masse mécanique (ou à défaut à une alimentation).
Faute de quoi, le parasite trouvera un autre chemin, exactement comme
un voleur contourne le barrage de police. :))

Pour aller plus loin, il faudrait être devant la machine avec les
schémas...

En ce qui concerne les normes CEM, j'ai toujours été admiratif devant
le pragmatisme de la norme aéronautique DO-160, qui est relativement
moins sévère pour tout ce qui est émis et plus sévère vis-à-vis de ce
qui est reçu.
Prenant acte qu'il est plus facile de protéger un équipement de
l'environnement extérieur que de l'empêcher de polluer cet
environnement.

C'est bien que ce fil s'anime.
J'espère que Julien va résoudre son problème.
jules (22/08/2019, 15h57)
> Je viens de terminer la fabrication d'une machine outil, une
[..]
> temps.
> Je vais être obligé de repartir à 0, existe t-il une démarche
> rigoureuse utilisée en CEM pour résoudre mon problème ?

On appelle ça de l'électronique.
Chaque domaine à ses avantages et ses inconvénients.

Autrefois on fumait des cigares, ça laissait des boites vides.
Une boite à cigares pour l'ampli du thermocouple avec des filtrages sur
les alimentations. La température circule en série vers l'arduino.
On peut aussi intégrer l'arduino sans oublier la tresse de masse (terre)
soudée sur la boite.

Pour les brushless qui sont sur la machine on ne peut pas les bouger, il
faut séparer entièrement ses alimentations de celle de l'arduino et
ajouter de la distance d'avec les émetteurs.
Les émetteurs : les transistors de puissance, les fils qui vont aux
moteurs et les moteurs eux-mêmes.
1/ les transistors : le régulateur en boite de gros cigares,
2/ les câbles en tresse de masse reliée à la masse mécanique
3/ les moteurs : boite avec la terre ...

Les moteurs de trottinettes 250W ne gênent pas les smartphones qui
planent à quelques dizaines de cm.
Il faut bien voir que l'arduino c'est quelques mW qui voisinent des
beaucoup de watts, un peu de blindage doit suffir.

ça doit s'arranger.
Richard
Discussions similaires