Difference between revisions of "Projets:SolderStationW"

From Electrolab
Jump to: navigation, search
(Version "kit")
Line 1: Line 1:
==Intro==
+
Centrale de régulation pour pointe de fer à souder Weller RT1
Objectif : construire sa station pour contrôler les fer à souder de type Weller RT.
+
  
http://www.martin-kumm.de/wiki/doku.php?id=Projects:SMD_Solderstation
+
=='''Comment ça marche'''==
  
Ça peut permettre de faire une formation soudure
+
Martin Kumm DC3MKB (http://www.martin-kumm.de/wiki/doku.php?id=Projects:SMD_Solderstation), en juillet 2014, publiait un hack très intéressant qui transformait un Arduino Uno et une pointe de fer à souder Weller en une station de soudage quasi professionnelle.
  
==PCB==
+
Le principe de fonctionnement est assez simple : La pointe du fer –nommée paradoxalement « panne » alors qu’elle sert généralement à les éliminer- intègre à la fois la « panne » elle-même (la pointe servant à faire fondre la baguette de soudure), la résistance chauffante du fer et un capteur de température.
  
*Vérifier les packages des composants (socket jack 3.5mm) à partir des fichiers eagle
+
L’Arduino, pour sa part, utilise cette sonde pour lire (port A7) la température du fer, et la compare au point de consigne demandé par l’utilisateur. Si cette température mesurée est trop faible, l’Arduino accroît le rapport cyclique d’un train PWM (pulse width modulation, modulation à largeur d’impulsion) émis sur le port D3. Dans le cas contraire, si la température est trop élevée, le rapport cyclique diminue. Ce train d’impulsions à largeur variable est utilisé pour ouvrir et fermer le circuit d’alimentation de puissance du fer à souder, ou plus exactement de la résistance chauffante intégrée à la pointe de fer. Ce circuit fermé –mesure d’état, comparaison avec un point de consigne, modification de l’actuateur en conséquence- est un classique de la régulation, et s’appelle une « boucle PID » (proportionnelle-intégrée-dérivée).
  
Variation simple possible:
+
*Utiliser un arduino nano(2€ version chinoise) au lieu d'un uno (7€ version chinoise) : économie et gain de place et permet toujours de pouvoir programer l'arduino in situ
+
==''' Pourquoi une régulation de température '''==
*Double empreinte arduino nano ou atmega268 + quartz + capa découplage + icsp
+
*Utilisation d'un nano = PCB plus petit moins cher et boitier plus petit
+
  
== Câble connecteur et courant ==
+
L’électronique d’amateur - Radioamateur ou hacker, bricoleur occasionnel ou forcené de l’étain-plomb-argent- ne se conjugue quasiment plus à l’aide de composants discrets dits « traversants » mais de plus en plus avec des composants intégrés à montage de surface. Ces composants exigent des températures de brasage très précises (à point de fusion eutectique), lesquelles peuvent varier très fortement selon le type de fil que l’on utilise, la catégorie de composants que l’on emploie et la nature du contact de soudure.
  
Le souci de ce montage est comment faire passer 4A dans des connecteurs dont les datasheets disent maximum 1A.
+
- Le fil de brasage est un composé polymétallique dont le point de fusion dépend de la nature des métaux qui la composent. Un alliage étain-plomb-argent entre en fusion à 178 °C, un étain-plomb à 183°C, étain-cuivre-argent –dit « soudure ROHS »- à 217 +C, et un étain-cuivre à 227°C. Sans régulation précise, il est difficile d’atteindre précisément ce point. Trop froide, la panne ne pourra faire fondre le fil de brasage, trop chaude, elle accélèrera l’oxydation de l’alliage et provoquera des microfissures. Pis encore, avec les nouvelles soudures sans plomb, un mauvais contrôle de la température entrainera le développement de micro-moustaches de métal qui provoqueront à terme courts circuits et obturations.
  
<blockquote>"Pas de panique... Les quelques A permanents, ce n'est que pendant
+
- Tous les composants ne naissent pas égaux en termes de tenue aux températures et aux chocs thermiques. Une résistance… résistera mieux à un contact prolongé avec une pointe de fer très chaude que ne le pourra un quartz ou que certains composants actifs, d’autant plus fragiles qu’ils sont miniaturisés.
quelques secondes...
+
  
Dès que c'est chaud, les rapports cycliques sont tels que le courant
 
moyen n'est que de l'ordre de la centaine de mA, et frise l'ampère si
 
on soude sur un gros plan de masse..." - Yannick Avelino </blockquote>
 
  
Ensuite pour trouver un câble on peux partir sur le même principe.
+
- La nature du plot de soudure (ou « pad ») peut poser des choix cornéliens. Sur un circuit imprimé comportant un plan de masse important, la dissipation thermique est telle qu’elle peut « refroidir » immédiatement une pointe de fer à souder trop fine et présentant peu d’inertie thermique. Le cuivre est un excellent conducteur de chaleur. Pour limiter ce problème, il est conseillé de doter de « ponts thermiques » chaque plot relié à un plan cuivré important… et/ou d’accroitre la température de chauffe. Au risque bien sûr de faire fondre la colle qui unie la piste de cuivre et le support du circuit imprimé – généralement un composé de fibre de verre et de résine époxyde. Là encore, un réglage précis de la température est quasiment indispensable.
Il peux être intéressant de prendre un câble 5 conducteurs : 2 masse, 2 heat, 1 sensor (pour éviter de prendre un câble 3 conducteurs avec un sensor trop gros),
+
ça peux augmenter le coût mais réduire le poids/diamètre du câble
+
  
Le mieux serait de trouver un câble avec une gaine qui supporte les températures du fer et qui peux malencontreusement toucher le câble.
+
=='''  Pourquoi une panne de ce type '''==
  
==Fabriquant PCB==
+
- parce qu’elle provient des usines d’un des fabricants les plus réputés d’outils de brasure. Certains membres de l’Electrolab possèdent des stations Weller depuis plus de 35 ans et trouvent encore les pièces détachées nécessaires à leur entretient.
  
==Version Low Cost==
+
- Parce qu’elle  compte près d’une quinzaine de pannes aux formes différentes allant de la micropointe pour composants CMS délicats (0402, QFN, TSSOP) aux pointes « ciseau » et « tournevis » de 2,2mm
  
http://pad.electrolab.fr/p/microfer
 
=>Environ 13€ pour 100 kit
 
  
*PCB 5x5cm
+
- Parce qu’elle chauffe en moins de 5 secondes et se refroidit en 10, autorisant ainsi le changement quasi instantané d’une pointe avec une autre… opération qui, avec d’autres stations, exige le branchement de deux fers distincts. De tels temps de chauffe et d’extinction permettent d’intégrer au système de régulation un mode « mise en veille » qui économise de l’énergie et prolonge la vie de la panne.
*Circuit PWM (1 pre-transitor + transistor de puissance) Darlington
+
*Circuit Acquisition 1 AOP
+
*1 ATmega328 (sans quartz, connecteur ICSP, connecteur UART)
+
*Empreinte pour écran Nokia 5110 84*84
+
*Empreinte pour bouton-poussoir
+
*Bloc alimentation 12V/5A
+
  
==Version "kit" ==
+
- Parce que son prix est abordable, entre 28 et 35 euros à l’heure où nous rédigeons ces lignes, soit le prix d’une station d’entrée de gamme fabriqué en Chine.
Une version simplifiée est également en cours de développement, destinée à compléter la gamme des "kits Electrolab" (vendus lors de manifestations ou auprès des adhérents/sympathisants…). Elle reprend strictement le principe de DC3MBK, l’auteur de ce montage : cœur Arduino, façade utilisant trois afficheurs 7 segments.  
+
  
Cette version tient compte des remarques précédentes, à savoir
+
-
 +
==''' Les éléments constitutifs  '''==
  
* Intégration d’un module Arduino Nano
+
*Une pointe de fer à souder Weller série RT bien sûr.
* Séparation physique du pcb « IHM » (afficheur/réglage de température) afin de laisser à chacun le loisir de pouvoir « améliorer » par la suite sa propre interface
+
*Un Arduino Nano, plus facilement intégrable dans un boitier qu’un énorme « uno »
* Absence de tout connecteur spécifique pour que chacun puisse choisir le type de raccordement cordon/boitier (DIN à baïonnette conseillé)
+
*Quelques composants périphériques, dont un amplificateur opérationnel servant à la mesure de température (amplification de lecture des données de la sonde), un transistor FET de puissance chargé d’alimenter la résistance chauffante du fer
* Une BOM simplifiée dénuée de composants exotiques facilitant l’approvisionnement du « kit »
+
*Une interface homme-machine, terme pompeux pour désigner soit une triplette d’afficheurs 7 segments et d’un encodeur rotatif, soit un écran LCD couleur, l’un et l’autre servant à indiquer la température du point de consigne et l’indication d’atteinte de la température de chauffe
 +
*Deux circuits imprimés, l’un supportant l’Arduino, l’autre l’afficheur
 +
=='''  Les accessoires et options  '''==
 +
*Un boitier, à la convenance de chacun
 +
*Une alimentation 12 V courant continu. Les moins téméraires opteront pour un bloc « à découpage » moulé 220V/12V destiné aux éclairages de guirlandes de LED par exemple, les « warrior » se fabriqueront une alimentation régulée avec un transformateur 220/9Vac, un pont de diode et un gros condensateur de filtrage de 8 à 12000 uF
 +
*Un filtre secteur (genre prise Schaffner)  
 +
*Quelques connecteurs reliant la panne Weller à son câble, et le câble au boitier abritant la partie régulation de la station
 +
*Un repose-fer et son éponge de laine de bronze
 +
*Trois connecteurs Molex « KK » au pas de 2,54mm non compris dans le kit Electrolab pour ceux souhaitant ne pas effectuer de connexions « fil à carte » de leur station (voir manuel de montage)
  
Doit accompagner ce développement la fabrication de deux accessoires mécaniques : un boitier (éventuellement) et surtout un corps de stylet destiné à :
+
=='''  Le Kit Electrolab  '''==
  
- Abriter et consolider le connecteur Jack femelle 2,54mm sur lequel doit se raccorder la panne Weller de type RT
+
Le kit Station de Soudage Electrolab existe en 3 versions
- Sécuriser le câble de liaison
+
- Intégrer un interrupteur DIL destiné à déclencher le mode « veille » du fer à souder
+
- Recevoir une marque à chaud au armes de l’Electrolab
+
  
Ce corps de stylet devra être mécaniquement simple, facile à produire.
+
Une version « warrior » à xxx Euros qui comprend
  
Si boitier il y a, le prévoir qu’il puisse accueillir un transformateur 9Vac 50 ou 60 VA, un pont de diode et un condensateur de 40 000 uF et un filtre secteur intégré (pour ceux qui ne souhaitent pas utiliser une alimentation à découpage)
+
*Les deux circuits imprimés de base… et la liste des composants.
  
Enfin, pour la partie logicielle -ou firmware-, [https://github.com/diorcety/SolderStation un dépot Github ] a été constitué par Yann "Dyblast" dans le but d'épurer le code et simplifier le choix d'éventuelles options.
+
Une version « lite » à xxx Euros qui comprend
  
En effet, depuis que l'auteur, DC3MKB, a publié son montage, quelques personnes ont souhaité voir se développer de petites améliorations ergonomiques. L’un d’eux a, par exemple, ajouté une fonction de sécurité indiquant la largeur du signal pwm ([http://dl2sba.com/index.php?option=com_content&view=article&id=220:smd-solder-station&catid=36:werkzeugetools&Itemid=92 voir le blog de DL2SBA  ] )
+
*Les deux PCB (interface «afficheurs 7 segments »)
 +
*Tous les composants actifs et passifs
 +
*Un connecteur jack stéréo compatible avec les pannes RT
 +
*Un connecteur « Aviation » 4 contacts de sortie de boitier
 +
Une version « complète » à xxx Euros qui comprend
 +
*Les éléments de la version « lite »
 +
*Un Arduino Nano original
 +
*Une pointe Weller RT
 +
*Un bloc alimentation 12V et son connecteur châssis associé
  
Pierre, de l’Electrolab, préfère un encodeur rotatif à un réglage par interrupteurs fugitifs. (la version du PCB « de base » intègre les deux options).  
+
Très souvent, les passionnés d’électronique possèdent déjà une alimentation OEM 12 V (40W environ pour le fer) et des Arduino à la pelle (oui, troisième étagère, dans la boite marquée « Raspy/cartes dev/FPGA »). Quant à la pointe Weller, et compte tenu de la diversité des formes et des usages prévus, beaucoup préfèrent la commander eux-mêmes. Ce kit « étendu » est donc destiné aux débutants-bricoleurs.
  
Ces multiples « fork » par rapport au code original doivent pouvoir être sélectionnés simplement, en supprimant l’attribut « commentaire » situé en début de ligne des fonctions accessoires.
 
  
Cette approche modulaire du code est le travail de Yann. Elle implique un respect absolu des GPIO utilisées.  
+
Notons également que les radioamateurs, qui utilisent souvent des composants tels que des transistors à l’arséniure de gallium et autres amplificateurs faible bruit, éléments très sensibles au statique et aux transitoires présentes sur le réseau électrique 220V, préfèreront monter eux-mêmes une alimentation régulée classique, avec une chaine transformateur/pont de diode/condensateur de filtrage. Eux non-plus ne seront pas tellement intéressés par le kit « étendu ».  
  
Par exemple : le passage de l’interface « boutons » à l’interface « encodeur rotatif » doit nécessairement utiliser les ports 12 et 13. Tout changement de l’interface d’affichage doit utiliser les ports D0 à D11 et A3 à A5, à l’exclusion de tout autre. Les ports A0 et D3 sont les entrées-sorties de la boucle PID du fer, et aucune autre.
+
==''' Le firmware  '''==
Un premier schéma et circuit imprimé V1.0 est disponible en téléchargement, au format Kicad [[File:Station.zip]]
+
  
Cette archive comprend le schéma, le dessin du circuit imprimé, les fichiers originaux de l'auteur, les feuilles de specification des principaux composants (amplificateur opérationnel, FET de puissance, afficheurs 7 segments etc) et les bibliothèques et modules de composants spécifiques nécessaires à Kicad pour intégration.
+
Le code Arduino chargé de la régulation en température est l’œuvre de Yann « Dyblast », inspiré par le travail de  Martin Kumm DC3MKB. Yann a effectué un travail fantastique de nettoyage et d’optimisation du code, intégrant d’importantes modifications. Et notamment :
 +
*Une routine de contrôle permanent de la sortie PWM avec une sécurité interdisant tout emballement thermique et donnant à l’utilisateur une idée du rapport cyclique en cours
 +
*Une fonction de gestion d’un écran LCD couleur affichant en temps réel à la fois la température de fonctionnement, le point de consigne et les indications de largeur d’impulsion pwm
 +
*La prise en compte de plusieurs configurations matérielles allant de la platine originale de DC3MKB au pcb de l’Electrolab (différent de la version originale en raison de la miniaturisation apportée par le « Nano » et pour des raisons de simplicité de routage)
 +
*L’utilisation d’un encodeur rotatif pour le réglage de la température, jugé plus ergonomique que deux boutons poussoir de type « up-down » (le pcb d’affichage supporte à la fois la commande « boutons » et la commande
  
==Resources==
+
Les sources sont accessibles sur Github, à l’adresse suivante
[https://www.buerklin.com/images/dvnrbilder/gross/KapL/L539700.jpg Tailles des pannes des fers]
+
 
[http://dl2sba.com/index.php?option=com_content&view=article&id=220:smd-solder-station&catid=36:werkzeugetools&Itemid=92 Une autre réalisation avec protection]
+
https://github.com/diorcety/SolderStation/tree/master/SolderStation

Revision as of 16:48, 11 June 2015

Centrale de régulation pour pointe de fer à souder Weller RT1

Comment ça marche

Martin Kumm DC3MKB (http://www.martin-kumm.de/wiki/doku.php?id=Projects:SMD_Solderstation), en juillet 2014, publiait un hack très intéressant qui transformait un Arduino Uno et une pointe de fer à souder Weller en une station de soudage quasi professionnelle.

Le principe de fonctionnement est assez simple : La pointe du fer –nommée paradoxalement « panne » alors qu’elle sert généralement à les éliminer- intègre à la fois la « panne » elle-même (la pointe servant à faire fondre la baguette de soudure), la résistance chauffante du fer et un capteur de température.

L’Arduino, pour sa part, utilise cette sonde pour lire (port A7) la température du fer, et la compare au point de consigne demandé par l’utilisateur. Si cette température mesurée est trop faible, l’Arduino accroît le rapport cyclique d’un train PWM (pulse width modulation, modulation à largeur d’impulsion) émis sur le port D3. Dans le cas contraire, si la température est trop élevée, le rapport cyclique diminue. Ce train d’impulsions à largeur variable est utilisé pour ouvrir et fermer le circuit d’alimentation de puissance du fer à souder, ou plus exactement de la résistance chauffante intégrée à la pointe de fer. Ce circuit fermé –mesure d’état, comparaison avec un point de consigne, modification de l’actuateur en conséquence- est un classique de la régulation, et s’appelle une « boucle PID » (proportionnelle-intégrée-dérivée).


Pourquoi une régulation de température

L’électronique d’amateur - Radioamateur ou hacker, bricoleur occasionnel ou forcené de l’étain-plomb-argent- ne se conjugue quasiment plus à l’aide de composants discrets dits « traversants » mais de plus en plus avec des composants intégrés à montage de surface. Ces composants exigent des températures de brasage très précises (à point de fusion eutectique), lesquelles peuvent varier très fortement selon le type de fil que l’on utilise, la catégorie de composants que l’on emploie et la nature du contact de soudure.

- Le fil de brasage est un composé polymétallique dont le point de fusion dépend de la nature des métaux qui la composent. Un alliage étain-plomb-argent entre en fusion à 178 °C, un étain-plomb à 183°C, étain-cuivre-argent –dit « soudure ROHS »- à 217 +C, et un étain-cuivre à 227°C. Sans régulation précise, il est difficile d’atteindre précisément ce point. Trop froide, la panne ne pourra faire fondre le fil de brasage, trop chaude, elle accélèrera l’oxydation de l’alliage et provoquera des microfissures. Pis encore, avec les nouvelles soudures sans plomb, un mauvais contrôle de la température entrainera le développement de micro-moustaches de métal qui provoqueront à terme courts circuits et obturations.

- Tous les composants ne naissent pas égaux en termes de tenue aux températures et aux chocs thermiques. Une résistance… résistera mieux à un contact prolongé avec une pointe de fer très chaude que ne le pourra un quartz ou que certains composants actifs, d’autant plus fragiles qu’ils sont miniaturisés.


- La nature du plot de soudure (ou « pad ») peut poser des choix cornéliens. Sur un circuit imprimé comportant un plan de masse important, la dissipation thermique est telle qu’elle peut « refroidir » immédiatement une pointe de fer à souder trop fine et présentant peu d’inertie thermique. Le cuivre est un excellent conducteur de chaleur. Pour limiter ce problème, il est conseillé de doter de « ponts thermiques » chaque plot relié à un plan cuivré important… et/ou d’accroitre la température de chauffe. Au risque bien sûr de faire fondre la colle qui unie la piste de cuivre et le support du circuit imprimé – généralement un composé de fibre de verre et de résine époxyde. Là encore, un réglage précis de la température est quasiment indispensable.

Pourquoi une panne de ce type

- parce qu’elle provient des usines d’un des fabricants les plus réputés d’outils de brasure. Certains membres de l’Electrolab possèdent des stations Weller depuis plus de 35 ans et trouvent encore les pièces détachées nécessaires à leur entretient.

- Parce qu’elle compte près d’une quinzaine de pannes aux formes différentes allant de la micropointe pour composants CMS délicats (0402, QFN, TSSOP) aux pointes « ciseau » et « tournevis » de 2,2mm


- Parce qu’elle chauffe en moins de 5 secondes et se refroidit en 10, autorisant ainsi le changement quasi instantané d’une pointe avec une autre… opération qui, avec d’autres stations, exige le branchement de deux fers distincts. De tels temps de chauffe et d’extinction permettent d’intégrer au système de régulation un mode « mise en veille » qui économise de l’énergie et prolonge la vie de la panne.

- Parce que son prix est abordable, entre 28 et 35 euros à l’heure où nous rédigeons ces lignes, soit le prix d’une station d’entrée de gamme fabriqué en Chine.

-

Les éléments constitutifs

  • Une pointe de fer à souder Weller série RT bien sûr.
  • Un Arduino Nano, plus facilement intégrable dans un boitier qu’un énorme « uno »
  • Quelques composants périphériques, dont un amplificateur opérationnel servant à la mesure de température (amplification de lecture des données de la sonde), un transistor FET de puissance chargé d’alimenter la résistance chauffante du fer
  • Une interface homme-machine, terme pompeux pour désigner soit une triplette d’afficheurs 7 segments et d’un encodeur rotatif, soit un écran LCD couleur, l’un et l’autre servant à indiquer la température du point de consigne et l’indication d’atteinte de la température de chauffe
  • Deux circuits imprimés, l’un supportant l’Arduino, l’autre l’afficheur

Les accessoires et options

  • Un boitier, à la convenance de chacun
  • Une alimentation 12 V courant continu. Les moins téméraires opteront pour un bloc « à découpage » moulé 220V/12V destiné aux éclairages de guirlandes de LED par exemple, les « warrior » se fabriqueront une alimentation régulée avec un transformateur 220/9Vac, un pont de diode et un gros condensateur de filtrage de 8 à 12000 uF
  • Un filtre secteur (genre prise Schaffner)
  • Quelques connecteurs reliant la panne Weller à son câble, et le câble au boitier abritant la partie régulation de la station
  • Un repose-fer et son éponge de laine de bronze
  • Trois connecteurs Molex « KK » au pas de 2,54mm non compris dans le kit Electrolab pour ceux souhaitant ne pas effectuer de connexions « fil à carte » de leur station (voir manuel de montage)

Le Kit Electrolab

Le kit Station de Soudage Electrolab existe en 3 versions

Une version « warrior » à xxx Euros qui comprend

  • Les deux circuits imprimés de base… et la liste des composants.

Une version « lite » à xxx Euros qui comprend

  • Les deux PCB (interface «afficheurs 7 segments »)
  • Tous les composants actifs et passifs
  • Un connecteur jack stéréo compatible avec les pannes RT
  • Un connecteur « Aviation » 4 contacts de sortie de boitier

Une version « complète » à xxx Euros qui comprend

  • Les éléments de la version « lite »
  • Un Arduino Nano original
  • Une pointe Weller RT
  • Un bloc alimentation 12V et son connecteur châssis associé

Très souvent, les passionnés d’électronique possèdent déjà une alimentation OEM 12 V (40W environ pour le fer) et des Arduino à la pelle (oui, troisième étagère, dans la boite marquée « Raspy/cartes dev/FPGA »). Quant à la pointe Weller, et compte tenu de la diversité des formes et des usages prévus, beaucoup préfèrent la commander eux-mêmes. Ce kit « étendu » est donc destiné aux débutants-bricoleurs.


Notons également que les radioamateurs, qui utilisent souvent des composants tels que des transistors à l’arséniure de gallium et autres amplificateurs faible bruit, éléments très sensibles au statique et aux transitoires présentes sur le réseau électrique 220V, préfèreront monter eux-mêmes une alimentation régulée classique, avec une chaine transformateur/pont de diode/condensateur de filtrage. Eux non-plus ne seront pas tellement intéressés par le kit « étendu ».

Le firmware

Le code Arduino chargé de la régulation en température est l’œuvre de Yann « Dyblast », inspiré par le travail de Martin Kumm DC3MKB. Yann a effectué un travail fantastique de nettoyage et d’optimisation du code, intégrant d’importantes modifications. Et notamment :

  • Une routine de contrôle permanent de la sortie PWM avec une sécurité interdisant tout emballement thermique et donnant à l’utilisateur une idée du rapport cyclique en cours
  • Une fonction de gestion d’un écran LCD couleur affichant en temps réel à la fois la température de fonctionnement, le point de consigne et les indications de largeur d’impulsion pwm
  • La prise en compte de plusieurs configurations matérielles allant de la platine originale de DC3MKB au pcb de l’Electrolab (différent de la version originale en raison de la miniaturisation apportée par le « Nano » et pour des raisons de simplicité de routage)
  • L’utilisation d’un encodeur rotatif pour le réglage de la température, jugé plus ergonomique que deux boutons poussoir de type « up-down » (le pcb d’affichage supporte à la fois la commande « boutons » et la commande

Les sources sont accessibles sur Github, à l’adresse suivante

https://github.com/diorcety/SolderStation/tree/master/SolderStation