Station de retouche SMD DIY : Construire un outil professionnel de retouche PCB
Composants principaux
| Composant | Quantité | Rôle |
|---|---|---|
| Arduino Pro Mini 328 - 5V/16MHz | 1 | Cerveau du contrôleur |
| Écran LCD 16x2 + module I2C | 1 | Affichage T° consigne, réelle, ventilateur, puissance |
| Encodeur rotatif + bouton | 1 | Réglage température, ventilation, navigation menus |
| Manche pistolet air chaud (type 858D) | 1 | Thermocouple K, résistance 700W 230V, ventilateur 24V |
| Support manche + buse | 1 | |
| Triac BTA12-600B | 1 | Commande puissance résistance (coupure par zéro) |
| MOSFET IRFZ44N | 1 | Commande PWM ventilateur 24V |
| Ampli-op MCP602 (rail-to-rail) | 1 | Amplification thermocouple |
| Optocoupleurs : MOC3052 (Triac), 4N25 (synchro secteur) | 1+1 | Isolation galvanique commande puissance |
| Redresseur pont + composants alimentation | 1 | Alimentation basse tension depuis le secteur |
| Buzzer, résistances, condensateurs, potentiomètres multi-tours | Selon BOM | Voir liste détaillée dans le projet |
Architecture du contrôleur
Le circuit se divise en 3 blocs fonctionnels :
1. Interface Utilisateur
- LCD 1602 I2C (adresse 0x27) : T° consigne, T° réelle, % ventilation, % puissance, statut
- Encodeur rotatif : rotation = ajustement, appui court = bascule T°/ventilation, appui long = menu setup
- Buzzer : bips courts (prêt), longs (froid), doubles (échec)
2. Chaîne de mesure
- Thermocouple type K (dans le manche)
- Ampli-op MCP602 (gain réglable par potentiomètre 500k 25 tours)
- Entrée ADC Arduino (A0) : 0-1023 = 0-5V → résolution ~5 mV/ct
- Contact reed (dans support) : détection présence manche (Pin 8)
3. Blocs de commande puissance
- Ventilateur 24V : MOSFET IRFZ44N + PWM 31 kHz (Timer1) sur Pin 9 — silencieux
- Résistance 700W 230V : Triac BTA12 piloté par MOC3052 (DIAC opto-couplé)
- Synchro secteur : 4N25 sur Pin 2 (int.0) → détection passage par zéro
- Algorithme : contrôle par trains d'ondes (burst firing) — nombre de demi-périodes secteur par seconde
Algorithme de régulation : PID
Le cœur du logiciel est un régulateur PID itératif qui calcule la puissance à appliquer (0-99%) pour maintenir la température de consigne :
// Formule itérative :
// Un = Un-1 + Kp*(Xn-1 - Xn) + Ki*(Xs - Xn) + Kd*(Xn-2 + Xn - 2*Xn-1)
// Coefficients (v1.4) : Kp=50, Ki=16, Kd=50 (dénominateur 2^11 = 2048)
Le PID agit sur le nombre de demi-périodes secteur autorisées sur 100 (période de 100 demi-cycles = ~1 seconde à 50 Hz). Exemple : puissance 50% = 50 demi-périodes ON / 100.
Fonctionnalités utilisateur
Mode normal (manche sur support = OFF)
- Rotation encodeur : ajuste T° consigne (100-500°C) ou vitesse ventilateur (0-255)
- Appui court : bascule entre réglage T° et ventilation
- Retrait manche → démarrage chauffe, affichage « ON » puis « Ready » + bip à T° atteinte
- Remise en support → arrêt chauffe, ventilation continue jusqu'à <50°C, puis « Cold » + bip
Mode Setup (appui long encodeur en veille)
- Calibrate : étalonnage 3 points (200, 300, 400°C) avec thermomètre externe
- Tune : réglage gain ampli-op (lecture ADC interne cible ~900 à 400°C)
- Save : sauvegarde config en EEPROM (structure avec CRC, rotation d'adresses)
- Cancel : annule modifications
- Reset Config : valeurs par défaut
Procédure de mise en service (calibrage)
- Charger les défauts : Setup → Reset Config → Save
- Tune (gain ampli-op) : Setup → Tune → régler puissance encodeur pour stabiliser 400°C (thermomètre externe) → ajuster potentiomètre 500k pour lecture ADC ~900-950 → appui long pour valider
- Calibrate (3 points) : Setup → Calibrate → choisir 200°C → chauffe → bip → lire thermomètre externe → encodeur = valeur réelle → valider → répéter 300°C et 400°C → appui long
- Save : Setup → Save → appui long pour quitter
Code source (Firmware 1.4 - extraits clés)
Le code complet (~1000 lignes) est sur GitHub : ManojBR105/ARDUINO-SMD-REWORK-STATION
Structure objet principale
class HOTGUN : public PID {
// Gestion puissance par trains d'ondes (synchro 4N25)
// PID hérité pour calcul puissance
// Historique température/puissance (moyenne, dispersion)
// Machine d'états : OFF, ON, FIXED, COOLING
// Ventilateur PWM haute fréquence (Timer1, 31 kHz)
};
Gestion EEPROM robuste
- Enregistrements de taille puissance de 2 (32 octets)
- Chaque enregistrement : ID incrémenté (uint32) + config (8 octets) + CRC
- Recherche du dernier enregistrement valide au démarrage
- Écriture circulaire (usure uniforme EEPROM)
Moyennage exponentiel capteur
class EMP_AVERAGE { // Filtre passe-bas numérique
// y[n] = y[n-1] + (x[n] - y[n-1]) / K
};
Schéma électrique et PCB
- Schéma complet (EasyEDA) : harws1-1
- PCB double face recommandé (complexité circuit puissance + isolation)
- Commande possible chez JLCPCB / PCBWay depuis EasyEDA
- Alimentation intégrée : transformateur + redresseur + régulateurs 5V/24V
⚠️ Sécurité critique
- Ne JAMAIS flasher le firmware branché sur le secteur ! L'alimentation 24V non isolée du secteur peut détruire l'ordinateur via l'USB.
- Isolation galvanique obligatoire : optocoupleurs (MOC3052, 4N25), distances de crépage/clairance sur PCB.
- Boîtier métallique relié à la terre (PE).
- Fusible secteur entrée + varistance (protection surtension).
- Testez d'abord à vide (sans manche) avec charge résistive faible.
Remerciements
- sfrwmaker : auteur du firmware original (PID, menus, calibration)
- LCSC Electronics : soutien composants
- Communauté Arduino / EasyEDA
Ressources
- GitHub : Code source, schémas, PCB
- Vidéo démo : voir page projet
- Tutoriel gravure PCB maison : Instructables
Processus de fabrication
- Affichage à Cristaux Liquides (LCD) : Technologie, Fabrication et Perspectives Futures
- Thermocam DIY : de l'idée en classe au produit mondial
- Construction d'une station météo extérieure avec Raspberry Pi 2 et ADS‑WS1
- Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
- Portrait hanté DIY : Projet Raspberry Pi Jump-Scare (Mis à jour)
- Station météo avancée v2.0 : Surveillance en temps réel de température, pression, humidité et altitude
- Kit Stérilisateur UVC DIY – Boîte UV Faible Coût, Facile à Construire pour Objets Médicaux et Personnels
- Construire un oscilloscope Arduino 20 kHz sur écran Nokia 5110 – Guide DIY facile
- Créer des animations et jeux sur LCD avec Arduino UNO