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.
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.
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".
Par défaut et au premier démarrage, c'est la sonde DS1820 qui est
sélectionnée.
- Lecture température avec
DS1820 : dans ce mode, tout se fait de façon numérique. Le capteur de
température renvoie la valeur de température sous forme numérisée, sur
une liaison de type "1 fil" (one wire). Le PIC se charge d'envoyer les
ordres adéquats au capteur pour récupérer les infos idoines, les
utiliser et les présenter de façon "claire".
- Lecture
température avec PT100 : là, le procédé est un peu plus compliqué car
la sonde (thermocouple) délivre une très faible tension qu'il faut
amplifier puis numériser, sachant que le rapport entre tension délivrée
et température n'est pas parfaitement linéaire. La linéarisation peut s'effectuer
avec une table
de correspondance (lookup table, correction au niveau logiciel)
ou avec un circuit de linéarisation analogique (avant
numérisation), c'est la deuxième méthode qui est retenue ici. Notons
qu'ici la distance entre la sonde
PT100 et l'amplificateur (AOP) est très faible et permet de se passer
de
la technique de mesure à "3 fils" ou "4 fils" qui est requise pour la
compensation des fils de liaison quand ces derniers sont de grande
longueur.
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).
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.
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).
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.
- Eclairage
LCD : permet de définir le temps pendant lequel le rétro-éclairage de
l'écran reste allumé après la dernière action utilisateur (dernier
pression d'un bouton-poussoir). Ajustable de 1 à 240 secondes. Une
valeur de 0 correspond à un éclairage permanent.
- Delai Stop :
permet de définir le temps pendant lequel le bouton-poussoir Start/Stop
doit être pressé pour forcer le mode Arrêt.
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 :
- LED PSF (RD5) : cette LED s'allume si au moins une coupure secteur a eu lieu pendant une période de stérilisation.
- LED
TL (RD4) : cette LED s'allume si la température mesurée par la sonde
est inférieure au seuil bas (température de consigne - hystérésis).
- LED TE (RD3) : cette
LED s'allume si la température mesurée par la sonde est comprise entre
le seuil bas (température de consigne - hystérésis) et le seuil
haut (température programmée).
- LED
TH (RD2) : cette LED s'allume si la température mesurée par la sonde
est supérieure au seuil haut (température de consigne).
- LED On
(RE0) : cette sortie s'active quand le stérilisateur est en marche,
elle confirme la prise en compte de la demande utilisateur. Cette
sortie reste activée tant que la temporisation n'est pas achevée et
même si la commande en puissance est désactivée.
- LED Sec (RE1) :
cette sortie change d'état toutes les secondes (fréquence de
clignotement 0,5 Hz). Cette sortie signale le bon fonctionnement du
logiciel du stérilisateur.
- LED
Steril (RE2) : cette sortie s'active quand la température du
stérilisateur est comprise dans la plage de stérilisation, et si le
stérilisateur est en marche.
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.
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ératureRt = R0 * (1 + A* t + B*t2 + C*(t-100)* t3)où
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)où
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/SLYT442Programmation 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.
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.
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.
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.
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.
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.