Electronique > Réalisations > Stérilisateur 001 [Pro]

Dernière mise à jour : 05/06/2015

Présentation

Cet appareil est un thermostat évolué doté d'un minuteur programmable, conçu pour la stérilisation de conserves.

sterilisateur_001_lcd_001a

Il peut travailler avec deux types de sondes de température (capteur analogique PT100 et capteur numérique DS1820) sur une plage comprise entre 30°C et 110°C (même si en pratique la température monte rarement à plus de 105°C). Un écran LCD permet de visualiser et modifier les paramètres en cours, et un mécanisme de mesure des temps de coupures secteur est implémenté pour évaluer la "fiabilité" de la stérilisation. Le circuit repose sur un PIC 18F45K22.

Schéma

Sans surprise, le PIC 18F45K22 constitue le coeur du montage.

sterilisateur_001

Coeur du montage (PIC 18F45K22)
Cadencé à la fréquence de 8 MHz par le quartz Q1 et ses nécessaires condensateurs C1 et C2, le PIC obéit aux ordres de l'utilisateur et restitue l'état des différentes actions sous forme visuelle (écran LCD et quelques LED). La navigation dans les menus de l'écran LCD est simplifiée à l'extrême :
- un bouton "Paramètre" pour le choix du paramètre à visualiser ou à modifier
- un bouton "Plus" pour incrémenter ou modifier la valeur du paramètre en cours de sélection;
- un bouton "Moins" pour décrémenter ou modifier la valeur du paramètre en cours de sélection;
- un bouton "Start" qui permet de lancer le processus (pression brève) ou de l'arrêter avant la fin (pression longue).
Le choix d'une fréquence d'horloge de 8 MHz est dictée par la liaison "un fil" (one wire) avec le capteur numérique. 

Réglage et visualisation des paramètres
Les paramètres de réglage sont rangés dans deux groupes distincts :
- Groupe 1 : température en cours, température de consigne, temporisation et temps écoulé, défauts secteur.
- Groupe 2 : hystérésis, choix de la sonde de température, rétro-éclairage écran LCD (durée avant auto-extinction).
Le deuxième groupe n'est accessible que si l'appareil est démarré en mode "Admin" (administrateur). Pour entrer dans le mode administrateur, il faut démarrer l'appareil en laissant pressé le bouton SW1/Paramètres pendant au moins 4 secondes. Pendant ce temps, l'affichage indique par une progression d'étoiles sur la deuxième ligne de l'écran LCD, le temps qui s'écoule avant le passage en mode administrateur. Si le bouton SW1/Paramètres est relâché avant la fin des quatre secondes, l'appareil est démarré en mode normal et on ne peut pas accéder aux paramètres du deuxième groupe. Le mode Admin peut également être forcé en reliant la broche RB5 du PIC à la masse (dans ce cas il est inutile d'appuyer sur SW1 au démarrage).
Durée de rétro-éclairage de l'écran LCD :
- si valeur = 0, alors rétro-éclairage permanent (pas d'extinction automatique).
- si valeur > 0, durée exprimée en secondes avant extinction automatique (en absence d'action sur les boutons-poussoirs).

Capteurs de température (DS1820 et PT100)
Le choix du type de capteur s'effectue grâce au menu "Sonde".

sterilisateur_001_lcd_003b

Par défaut et au premier démarrage, c'est la sonde DS1820 qui est sélectionnée.
Dans les deux cas (usage du capteur DS1820 ou PT100), la résolution de mesure est de 0,5°C.
Trois LED d'état indiquent si la température au niveau du capteur est inférieure, égale ou supérieure à la température de consigne (respectivement TL, TE et TH). Un hystérésis de valeur comprise entre 0.0°C et 6.0°C peut être ajusté par l'utilisateur, par pas de 0,1°C.

Mise en route et arrêt
Le démarrage s'effectue en appuyant brièvement sur le bouton-poussoir SW4/Start-Stop. A cet instant, le voyant LED8 se met à clignoter au rythme de la seconde. La sortie principale Out qui active l'opto-triac ne passe à l'état haut que si la température de la sonde est inférieure à la température de consigne. Une fois la température de consigne atteinte, la sortie Out se désactive et ne se réactivera qu'une fois que la température de la sonde aura chuté d'une valeur équivalente à celle de l'hystéresis. Exemple avec température de consigne de 90°C et hystérésis de 1,5°C :
- mise en route, température sonde à 25°C, commande puissance activée
- la sonde atteint la température de 90°C, commande puissance désactivée
- la température de la sonde diminue. A 85,5°C (90°C - 1,5°C), commande puissance réactivée
- la température de la sonde remonte. A 90,0°C, commande puissance désactivée
Ce processus se répète tant que la durée programmée de la temporisation (Timer) n'est pas atteinte. Pour une température moyenne de 90°C, on peut spécifier une température de consigne de 91°C et un hystérésis de 2°C (maintien entre 89°C et 91°C). Pour un réglage très précis de la température désirée, il faut tenir compte de l'inertie de l'élement chauffant, et plusieurs essais peuvent s'avérer nécessaire pour trouver les valeurs idéales à donner à la consigne de température et à l'hystérésis. L'arrêt s'effectue de manière automatique à la fin de la temporisation, mais peut être forcé en pressant le bouton-poussoir SW4/Start-Stop pendant au moins 4 secondes.
Remarque : si l'appareil est volontairement mis hors tension alors que la temporisation est démarrée et non achevée, il se remettra en route automatiquement à la remise sous tension suivante, car pour lui la coupure d'énergie correspond à une coupure secteur inattendue.

Gestion des durées et horodatage des défauts secteurs
Pour gérer les durées de stérilisation et des coupures secteur, le circuit fait usage d'un timer interne et d'une horloge RTC externe (DS1307) secourue par pile (pile bouton au lithium de 3 V).

sterilisateur_001_proto_001ia sterilisateur_001_proto_001ib

Le comptage du temps réel de stérilisation n'a lieu que quand la température de consigne est réellement atteinte. Si une longue coupure secteur occasionne un refroidissement conséquent de la "marmite" durant le processus de stérilisation, le décompte du temps de stérilisation effective ne reprend qu'une fois la valeur de consigne de nouveau atteinte, après retour secteur.

sterilisateur_001_lcd_005a sterilisateur_001_lcd_005b

L'appareil peut enregistrer jusqu'à 9 coupures secteur et les présenter sous forme individuelle (moment et durée de chaque coupure) ou sous forme cumulée (somme de toutes les coupures secteur).

sterilisateur_001_lcd_005c sterilisateur_001_lcd_005d
sterilisateur_001_lcd_006a

La durée des coupures secteur se fait à la seconde près, mais leur affichage se fait à la minute près (valeur directement supérieure). Ainsi, des coupures secteur de 10 secondes et 50 secondes sont toutes deux affichées "1 minute". Pour l'affichage des durées cumulées, l'arrondi n'est fait que sur la valeur totale. Le circuit a été étudié pour assurer le redémarrage automatique en cas de besoin, c'est-à-dire qu'il est capable de faire la différence entre une mise sous tension normale et une remise sous tension après défaut secteur. La navigation dans les menus permet de visualiser les différentes coupures secteur s'il y en a eu. L'affichage de la durée cumulée des coupures secteur apparaît après le menu relatif à la dernière coupure secteur. La durée de vie de la pile de sauvegarde associée au DS1307 est d'au moins dix ans pour une pile lithium de 48 mAh à +25°C de température ambiante. Une "bonne" CR2032 (pile de marque) possède une capacité de 225 mAh, on peut donc - en théorie - compter sur 40 ans. Dans la pratique, il sera plus prudent de changer la pile tous les 10 ans.

Paramètres divers
Quelques paramètres utilisateurs sont disponibles pour le confort d'utilisation.

sterilisateur_001_lcd_004a sterilisateur_001_lcd_004b

Indicateurs lumineux
En plus de l'écran LCD, le système dispose de plusieurs indicateurs qui renseignent sur son état général de fonctionnement :

Sortie de puissance
La sortie se fait sur triac, via un optotriac MOC3041 pour l'isolation galvanique. L'optotriac possède une logique de détection de passage par zéro de l'onde secteur, ce qui supprime tout parasite au moment des commutations on ou off. Le triac peut être un BT139 (16 A) ou un BT140 (25 A). Une LED câblée en série avec l'entrée de commande de l'optotriac permet de savoir quand ce dernier est activé.

Port de communication
Des informations sont émises sur le port Tx de l'UART N°1 du PIC (broche 25) à chaque action significative du système (démarrage, arrêt volontaire,arrêt sur coupure secteur, activation/désactivation de la charge, etc). Ces données émises à la vitesse de 57600 bauds au format TTL peuvent alimenter un convertisseur TTL/RS232/USB de votre choix.

sterilisateur_001_term_001a

Pour ma part j'utilise un convertisseur TTL/USB compact qui sans l'ajout du moindre composant, permet d'ajouter un port COM à un PC équipé d'un port USB libre.

Alimentation
L'alimentation est un peu spéciale puisqu'il faut tenir compte des défauts secteur, durant lesquels le circuit doit pouvoir encore travailler pour permettre la mémorisation des coupures secteur (moment et durée). Le point PSF (Power Supply Fault) délivre un état haut quand la tension d'alimentation disparaît, tandis que la sortie +5 V principale continue de délivrer sa tension nominale encore pendant quelques secondes (grâce au condensateur de filtrage de valeur élevée). C'est grâce à cette astuce que le PIC a connaissance d'un défaut secteur et qu'il peut le traiter avant que la tension d'alimentation générale ne s'écroule complètement.

Procédure de réglage de la sonde de température PT100
Le circuit d'amplification et de linéarisation de la sonde PT100 nécessite un réglage dont la procédure est la suivante :
- Ajuster RV4 pour obtenir une tension de 2,752 V sur la ligne Vref+ (jonction R13/U2/RV4)
- Ajuster RV3 pour que la somme des résistances R6 + RV3 = 49,13 kO
- Ajuster RV2 pour obtenir une tension de 2,500 V en sortie de l'AOP U4:A (ligne RA0 du PIC) quand la sonde TP100 est à 100°C.

Relation entre résistance PT100 et température
Rt = R0 * (1 + A* t + B*t2 + C*(t-100)* t3)

Rt est la résistance de la PT100 à la température t
R0 est la résistance de la PT100 à 0 °C,
A= 3.9083 E-3
B = -5.775 E-7
C = -4.183 E-12 (en-dessous de 0 °C) ou C = 0 (à partir de 0 °C)
Rt : augmentation d'environ 0.39%/°C.
Variation de 1 °C -> variation Rt de 0.384 ohm
Entre 0 et 100 °C -> variation Rt de 38.5 ohms
Avec un courant constant de 1 mA dans la PT100, on obtient une variation de 38.5 mV sur la plage 0 °C à +100 °C (100 mV à 138.5 mV)
La non-linéarité (second ordre) est d'environ 0,38% par plage de 100°C. Cette non-linéarité est ici corrigée de façon purement analogique.
La formule qui lie la tension de sortie avec la température est la suivante :
Vrtd = Vref * (X / Y) + Vout * (Y / Z)

Vref = +5 V
W = (Rt * RA) / (Rt + RA)
X = ((Rt * RA) / (Rt + RA)) + RB
Y = (Rt * RB) / (Rt + RB)
Z = ((Rt * RB) / (Rt + RB)) + RA
RA = R22 + R23 (106,18 kO)
RB = R19 (4,99 kO)
En retournant la formule, on détermine la tension en sortie de l'étage de linéarisation en fonction de la résistance de la PT100 :
Vout = (Vrtd - (Vref * (X / Y))) / (Y / Z)
Exemple à 0 °C : Rt = 100.00 -> Vout = 0 V
Exemple à 100 °C : Rt = 138.51 -> Vout = +2.5 V
Exemple à 200 °C : Rt = 175.86 -> Vout =  +5 V
Pour le calcul de RA (R22 + R23 = 106,18 kO), voir le lien suivant :
http://www.ti.com/lit/zip/SLYT442

Programmation du PIC
Elle peut s'effectuer "in-situ" grâce au connecteur ICSP, via les trois broches "principales" du PIC MCLR, PGC et PGD et les lignes d'alimentation.

sterilisateur_001_icsp

Prototype

Réalisé sur plaque sans soudure pour la partie commande, et réalisé sur plaque avec soudure pour l'alimentation et l'interface de puissance.

sterilisateur_001_proto_001a sterilisateur_001_proto_001g sterilisateur_001_proto_001h

Mon prototype fait usage d'un écran LCD 4 x 20 caractères, les deux dernières lignes n'ont été utilisées que pour faire apparaître des informations de débogage, en complément des infos envoyées sur le port COM. Le circuit final utilise un afficheur LCD 2 lignes à larges caractères.

sterilisateur_001_proto_002a sterilisateur_001_proto_002c sterilisateur_001_proto_002da 

Le triac BT139-600 est monté sur un dissipateur thermique de taille suffisante pour assurer son refroidissement (la consommation de la charge résistive dépasse les 10 A). Pour mes tests, j'ai utilisé une résistance de puissance qui faisait office de chauferrette, pilotée par un MOSFET IRFZ44N. Pour l'occasion et de façon temporaire, l'optotriac a été remplacé par un optocoupleur classique TIL111.

sterilisateur_001_proto_001_heat_001a sterilisateur_001_proto_001_heat_001b sterilisateur_001_proto_001_heat_001c

Avec le capteur de température DS1820 ainsi fixé contre la résistance de puissance, le transfert thermique n'est pas vraiment idéal mais il est suffisant pour valider le fonctionnement général.

Réalisation finale

Le stérilisateur dans son boîtier définitif.

sterilisateur_001_proto_003a sterilisateur_001_proto_003b

Logiciel PIC

Projet pro, code non disponible en libre accès.

Circuit imprimé

Non réalisé.

Historique

05/06/2015
- Ajout photo système chauferette utilisée pour les tests.
28/01/2015
- Première mise à disposition.