Station de soudure - Mise à jour et améliorations

Règles du forum
Cette section est dédié a vos projets, descriptions et demandes d'aide.
Merci de limiter le nombre de sujet par projets.
Lorsqu'un sujet deviens long vous pouvez éditer le premier message pour maintenir à jour le descriptif et garder en lisibilité
Avatar de l’utilisateur
rude_ulm
Electrolab::Membre
Messages : 300
Enregistré le : 03 mars 2017, 10:52
Localisation : Houilles

Re: Station de soudure - Mise à jour et améliorations

Messagepar rude_ulm » 01 mai 2023, 11:10

Super

Comme je ne suis pas entré dans le concret je peux cogiter librement :)
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 481
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Station de soudure - Mise à jour et améliorations

Messagepar Eric » 03 mai 2023, 11:40

rude_ulm a écrit :Ceci étant pourquoi ne pas utiliser un composant comme le MAX6675 ou le MAX31855 pour obtenir la température du thermocouple sans chercher on ampli op de course
il faut se farcir le protocole en SPI ..
Et puis là le protocole SPI peut être utilisé pour autre chose comme un afficheur (ou une flash :hehe: )

Flax a écrit :Grmpf ... Ne nous dispersons pas trop quand-même.
Je suis resté sur l'archi d'origine dans un premier temps. Effectivement on pourrait utiliser des composants tout-intégrés, mais en général c'est hors-de-prix. Après ce n'est peut-être pas catastrophique si on cherche à élargir la compatibilité au-delà des pannes RT, mais dans l'idée d'avoir quelque chose de simple et pas trop cher, prendre du Maxim ne va pas aider :p
Et puis appro toussa ...
Mais dans une optique d'élargir le périmètre du projet, ça s'envisage totalement. Par contre si on part sur du full-SPI, ça peut compromettre l'utilisation du 1752, qui n'aura pas assez de pins, il faudrait passer sur un boîtier un peu plus gros. Mais là on re-part ENCORE à refaire le design. Pourquoi pas, s'pas ?
[...]

rude_ulm a écrit :Super
Comme je ne suis pas entré dans le concret je peux cogiter librement :)


Bonne idée proposée par @rude_ulm d'utiliser un composant tout-en-un pour mesurer + numériser la tension du thermocouple et réaliser la compensation de jonction froide. Ce qui évitera de la faire dans le soft.
Il y a juste un 'hic' un peu inattendu. Le thermocouple utilisé par Weller dans ses pannes produit une tension thermoélectrique de 16µV/°K, et cela ne correspond à aucun thermocouple standard (type E, J, K, N, R, S, T ou B).
Sur ce graphique les coefficients de Seebeck usuels : https://blog.beamex.com/hs-fs/hubfs/Bea ... 20v2-1.jpg
Il n'y a rien autour de 16µV/°C de 0 à 400 °C.

Une autre façon de constater le problème : aucune correspondance dans ce graphique avec les 7mV de tension thermoélectrique fournis à 450°C : https://www.engineeringtoolbox.com/docs ... ouples.png
Comme le coefficient de Seebeck est programmé dans les composants, et que l'on sélectionne la référence exacte de ce dernier en fonction du type de thermocouple utilisé, c'est mort :(
Hélas !


Eric
... fait la jonction
Avatar de l’utilisateur
rude_ulm
Electrolab::Membre
Messages : 300
Enregistré le : 03 mars 2017, 10:52
Localisation : Houilles

Re: Station de soudure - Mise à jour et améliorations

Messagepar rude_ulm » 03 mai 2023, 12:45

Pas Glop
Avatar de l’utilisateur
rude_ulm
Electrolab::Membre
Messages : 300
Enregistré le : 03 mars 2017, 10:52
Localisation : Houilles

Re: Station de soudure - Mise à jour et améliorations

Messagepar rude_ulm » 07 mai 2023, 11:05

Y'en a même un qui l'a fait avec un PIC
http://kair.us/projects/weller/
Avatar de l’utilisateur
rude_ulm
Electrolab::Membre
Messages : 300
Enregistré le : 03 mars 2017, 10:52
Localisation : Houilles

Re: Station de soudure - Mise à jour et améliorations

Messagepar rude_ulm » 07 mai 2023, 11:12

Erik a dit

Le thermocouple utilisé par Weller dans ses pannes produit une tension thermoélectrique de 16µV/°K, et cela ne correspond à aucun thermocouple standard (type E, J, K, N, R, S, T ou B).
Sur ce graphique les coefficients de Seebeck usuels : https://blog.beamex.com/hs-fs/hubfs/Bea ... 20v2-1.jpg
Il n'y a rien autour de 16µV/°C de 0 à 400 °C.


Si le coeff est linéaire, et si la compensation de jonction froide ne perturbe pas trop, peut être qu'une simple règle de trois pourrait suffire ?

Dom
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 481
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Station de soudure - Mise à jour et améliorations

Messagepar Eric » 07 mai 2023, 19:17

Hélas on ne sait pas si le coefficient de Seebeck est linéaire ou pas. En tous cas, pour les thermocouples usuels, seul le type B est à peu près linéaire entre 0 et 450°C , les autres dansent pas mal : https://blog.beamex.com/hs-fs/hubfs/Bea ... 20v2-1.jpg

Pour valider, faudrait mettre la panne dans une enceinte thermostatée et faire les mesures...


Par ailleurs, concernant les caracs de l'OPAMP pour mesurer le thermocouple, le modèle LT1677 que j'avais précédemment identifié (dans ce thread) comme intéressant a typiquement ±60µV d'offset (et max ±150µV de 0 à 70°C). Cet offset pourtant faible peut engendrer - dans le cas le plus défavorable - une erreur de mesure de la température de ±9,3°C.
Et ça fait beaucoup, je trouve.
Il faudrait idéalement se tourner des AOP encore plus performants en matière d'offset, des modèles zéro-drift : https://www.mouser.fr/new/texas-instrum ... 86-op-amp/


Eric
... fait du drift
Avatar de l’utilisateur
Flax
Electrolab::CA
Messages : 1597
Enregistré le : 01 mars 2017, 20:46
Contact :

Re: Station de soudure - Mise à jour et améliorations

Messagepar Flax » 08 mai 2023, 15:00

rude_ulm a écrit :Y'en a même un qui l'a fait avec un PIC
http://kair.us/projects/weller/


8| :ghee: Beau projet :) Et il donne plein de liens vers d'autres projets similaires, mais celui du Lab n'y est pas :(
En voyant son design, le premier truc que je me suis dit c'est que l'appro du 7 segments doit être une horreur, mais visiblement pas tant que ça, yen a quelques milliers en stock chez Mouser et il est pas si cher (2€ et quelques). Le boîtier est classe, mais peu pratique pour le transport, moi j'avais vraiment envie d'avoir une mallette pour mettre les câbles et les accessoires.
On a jamais fini de découvrir à quel point les projets sur lesquels on travaille ont déjà été faits par quelqu'un d'autre ailleurs dans le monde :)

Bon, on va quand-même tâcher de le finir, s'pas ?

De mon côté j'ai re-connecté la commande du 3e digit sur une pin du MCU qu'on peut utiliser, ça fait un fil rouge, c'est pas la mort, je corrigerai sur le PCB. Après ça, j'avais toujours un segment plus lumineux que les autres, et j'ai tout de suite pensé qu'il y avait un souci avec le rafraichissement du registre à décalage. Et en fait, je me suis rendu compte qu'une des résistances série était différentes des autres, je l'ai remplacée par une 220 ohms, comme les autres, et là tout est rentré dans l'ordre. Il se trouve qu'il y a des intrus de 22 ohms dans la boîte de résistances de 220 ohms \o/ En tous cas cela veut dire qu'il n'est pas nécessaire d'ajouter le reset du 595, c'est toujours ça de gagné.

J'ai fini la partie IHM, qui est loin d'être aussi complexe que celle du projet sus-cité. Pour l'instant le seul vrai problème que j'ai c'est que l'encodeur ne détecte qu'un cran sur 2 et est très peu réactif. Je suspecte avoir mis trop de filtrage hardware, il faut que je regarde à l'oscillo la forme des signaux.
J'ai aussi commencé à rapatrier la fonction de transfert du code d'origine en tâchant d'adapter (on est en 12 bits au lieu de 10 bits sur l'Arduino, et en 3.3V au lieu de 5V). Je pense que je vais faire quelques manips sur table avec une soufflette à air chaud pour valider mes coefficients. Comme pour la gestion des chiffres en base 10, j'utilise le trick de la division par une puissance de 2 pour éviter de faire une "vraie" division. 93% de la flash, ça commencé à devenir chaud, je pense que je vais supprimer l'I²C pour gagner de la place.

Donc j'en suis là, prochaines étapes :
- Déverminer la détection de l'encodeur,
- Validation de la fonction de transfert de la mesure de température,
- Mise au point de la régulation,
- Implémentation de la NVM.
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 481
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Station de soudure - Mise à jour et améliorations

Messagepar Eric » 10 mai 2023, 12:14

KAIR.US a utilisé un double AOP référencé 'MCP6V02-E/SN' de chez Microchip qui est, tiens-tiens, un zero-drift.
Offset max : 2µV. Et le prix reste 'acceptable' (3,46 EUR chez Mouser).


Concernant le thermocouple intégré aux pannes RT, il y a aussi une info supplémentaire.
Sur cette image, KAIR.US indique le type de thermocouple de la panne Weller : ce serait un type D (aussi appelé 'type W3', probablement pour 'Tungstène 3%') formé à l'aide de deux alliages de Tungstène-Rhénium (1) : W-Re 3% et W-Re 25%
Apparement pas normalisé en Europe, mais seulement aux US.
La courbe indiquant la tension thermoélectrique du type D semble correspondre.
Ce que confirme la table numérique (en bas de page) : 7071 µV @ 840°F (soit 448,9 °C) (jonction froide à 32°F donc 0°C).
Et aussi ici : 7093 µV @ 450°C (jonction froide à 0°C).

Si l'envie vous prend de fabriquer un tel thermocouple (utilisable jusqu'à 2300°C), et vu que l'on a la machine pour ce faire au Lab, les fils de ces alliages sont dispo ici.
Mais aux très hautes températures, il faut le protéger par un doigt de gant en oxyde de Thorium, un truc que l'on ne trouve pas au BHV.

Texas nous commet une note d'application pour l'utilisation de sondes de température au Platine (voire d'autres composants de mesure de température comme le très précis LMT70) + microcontrôleur MSP430 pour la compensation de jonction froide. Le type D est évoqué dans le doc (qui est d’ailleurs un peu ardu à lire; âmes sensibles s'abstenir).
La doc et le soft du design de référence associé (ref 'TIDA-010019'), probablement un peu overkill pour le besoin d'une station de soudage.
La table thermoélectrique a été saisie dans le fichier 'tc.c' (télécharger le zip : TIDA-010019 Software — TIDCFK3.ZIP), pour un thermocouple de type K. Suffit de remplacer les valeurs de la LUT par celles du type D.


(1) Rhénium de Rhēnus qui signifie Rhin en latin. En référence à la région allemande d'origine (Rhénanie-du-Nord-Westphalie) d'une des co-découvreuses de ce métal très particulier.


Eric
...met un terme au couple
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 481
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Station de soudure - Mise à jour et améliorations

Messagepar Eric » 12 mai 2023, 13:34

Flax a écrit :Donc j'en suis là, prochaines étapes :
- Déverminer la détection de l'encodeur.
[...]


[ce message a été étendu et inclut désormais quelques éléments de vulgarisation, pour que le plus grand nombre puisse comprendre de quoi il retourne et découvrir comment les difficultés rencontrées dans la conception de la station de soudage sont peu à peu résolues. Les gourous du Lab n'ont évidemment pas besoin de ces informations additionnelles, mais comme certains lecteurs de ce forum sont encore apprentis gourous, faut aussi penser à eux. Comme de mise sur l'ensemble du forum, ce thread est bien évidemment ouvert aux questions que d'aucuns pourraient se poser]


Tous les interrupteurs, contacts de relais et encodeurs mécaniques ont des rebonds qui rendent difficile la lecture de leurs états par un µC, car ces derniers sont suffisamment rapides pour lire/traiter des impulsions très courtes (<< 100µs). Là ou l'humain appuie une fois sur le bouton, le µC voit dix appuis, ce qui - si ce n'est pas pris en compte - créent des situations inattendues - comme peut-être chez @flax ou les pas/crans de son encodeur ne sont pas lus systématiquement. Il se peut que lorsqu'il y a trop de rebonds, le programme se bloque temporairement et ne prends plus rien en compte.
Ces rebonds sont définis techniquement comme des temps de bounce et de chattering. L'action d'éliminer ou de gérer ces rebonds s'appelle du 'débouce'.

L'encodeur ALPS recommandé par KAIR.US ayant pour N° d'article 'STEC12E08' chez Reichelt (ref ALPS 402097) à 2,32 EUR est spécifié en chattering <=10 ms.
Il fournit 24 impulsions et dispose de 24 crans par tour.
Durée de vie : 20000 tours.

Le N° d'article 'STEC11B03' (ref ALPS 401588), toujours chez Reichelt, à 4,69 EUR est spécifié en chattering a <=2ms et en bounce aussi <=2ms.
Il fournit 30 impulsions et dispose de 15 crans par tour. Un peu curieux qu'il y ait deux fois plus d'impulsions que de crans :-/
Durée de vie : 15000 tours.

Pour gérer tout type d'encodeur et anticiper son vieillissement, débouncer les signaux A et B à 15-20 ms devrait convenir (et améliorer la lecture de l'encodeur de @flax).
On peut aussi mettre des cellules RC passe-bas sur A et B mais faudra ajouter du trigger de Schmitt en aval. C'est aussi disponible en version inverseur (tout ça est en stock chez Mouser).
Monsieur Schmitt, qui - comme son nom ne le présage pas spontanément - était américain, est l'inventeur de ce bidule (et d'autres choses encore).
Fonctionnellement parlant, un trigger de Schmitt correspond à un comparateur à hystérésis, une bascule dont le seuil de basculement (en tension) est différent, selon que le signal à l'entrée voit sa tension croître ou décroître, ce que montre le 'cycle d'hystérésis' (figure 32) dans le doc ci-avant. L'axe des abscisses représente la tension d'entrée et non le temps, comme indiqué par erreur sur le diagramme.


C'est ainsi l'occasion de rebondir sur quelques articles relatifs aux techniques de débounce (hardware ou software).

11 Myths About Switch Bounce/Debounce
Arduino : comment gérer les rebonds d’un interrupteur dans vos programmes ?
Ultimate Guide to Switch Debounce (article en 9 parties ! Changer le chiffre à la fin de l'URL, de 1 jusqu'à 9)
A Guide to Debouncing
Can multiple Schmitt triggers in series fully debounce a switch?
How to implement hardware debounce for switches and relays (article de Digikey)
A Guide to Debouncing, by Jack Ganssle (partie 1) et partie 2
Débounce à bascule de Schmitt (vidéo de Texas 2 min)
Switch Debouncing
How to Switch De-bounce an Electronic Circuit

Dans ce dernier lien, on voit le schéma le plus élaboré (schéma D) d'un débouncer hardware avec un trigger de Schmitt. Il requiert en sus de la porte logique (inverseuse ou non), deux résistances, un condensateur et une diode. La porte logique est bien évidemment à alimenter en 5V. C'est assez courant de ne pas représenter les fils d'alimentation des portes logiques sur les schémas simples.

Il existe encore d'autre schémas pour directement décoder les signaux A et B en quadrature d'un encodeur rotatif. En utilisant des bascules D, on peut obtenir deux informations bien utiles ('pas' et 'direction' ou encore 'compter' et 'décompter' ) assez faciles à gérer dans le logiciel d'un µC. Mais dans ce cas aussi, il faut débouncer préalablement. Une bascule D ultra classique de type 74HCT74 est spécifiée sur son entrée 'clock' pour un temps de transition maximum de 6 ns.
Y connecter un contact mécanique (comme celui d'un encodeur) directement (donc sans débouncer) ne fonctionnera probablement pas correctement : ce dernier a un temps de bounce qui est environ 10 000 à 100 000 fois supérieur à ce qu'accepte la bascule D.

Eric
... crée l'impulsion


[update #1 à #3 : typo]
Modifié en dernier par Eric le 23 mai 2023, 21:52, modifié 3 fois.
Avatar de l’utilisateur
Eric
Electrolab::Référent
Messages : 481
Enregistré le : 09 mars 2017, 10:09
Localisation : Electrolab
Référent : Zone Élec

Re: Station de soudure - Mise à jour et améliorations

Messagepar Eric » 19 mai 2023, 12:39

Calibrateur de process avec entrée thermocouple type D ('W-Re')

Le calibrateur de process FNIRSI SG-004A (135 EUR) a - entre autres - deux fonctionnalités intéressantes :
- primo, il peut être paramétré pour une entrée thermocouple W-Re et notamment 'WRe/3-25' qui nous intéresse particulièrement pour ces histoires de pannes de fer à souder Weller.
- secondo, il dispose d'une feature pas courante du tout parmi les calibrateurs de process (même ceux 30 X plus cher n'en disposent pas) : il permet la conversion en temps réel du signal d'entrée comme le ferait un conditionneur de signaux.
Par exemple, on peut y connecter un thermocouple type D (de 0 à 2320°C) et directement disposer d'une image de la température sous forme de signal 0-10V en sortie (avec par exemple 0°C = 0VDC et 2320°C = 10VDC). Un facteur de conversion d'échelle et de décalage du genre fonction affine Ax+B (sous forme de limite basse et haute avec correspondance entre grandeurs) est disponible ce qui permet d'avoir 0°C = 0VDC et 450°C = 4,5VDC. Tension qui se lit avec un simple voltmètre/multimètre disponible partout.

Manuel utilisateur en téléchargement (anglais, 19MO).

Testé par Cyrob : https://www.youtube.com/watch?v=IHBoK8wd30I
et aussi : https://www.youtube.com/watch?v=IMyoadzSn6o

Apparemment, le même biniou a été commercialisé sous la marque 'ANKONG' dans la Zone à Maz.


Eric
... calibre le process

Retourner vers « Les Projets »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité