Automates Regul Temperature

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Régulation industrielle

Travaux Pratiques N◦5

Régulation discrète PID de la température d'une pièce

par automate programmable Millenium 3

Julien Marot, Thibaut Raharijaona, Habib Nasser 2011-2012

1
1 Généralités
1.1 Présentation de la maquette
La maquette que vous allez utiliser sert à une application de domotique. Elle contient deux boîtes,
concernant l'éclairage et le chauage. On s'intéresse, dans ce TP, au chauage. La boîte (blanche)
à laquelle nous nous intéressons contient une petite ampoule et un capteur de température. La
Figure 1 représente le dispositif expérimental.

Figure 1: Maquette de domotique: automate programmable

1.2 Objectif du TP
L'objectif principal de ce TP est de réguler la température de la pièce en contrôlant
la tension appliquée aux bornes d'une lampe chauante.
Pour cela vous utiliserez trois logiciels.

1.3 Aspects techniques


Les trois logiciels utilisés sont les suivants:
• Crouzet Logic Software Millenium 3 : crée des diagrammes sous la forme de chiers .pm3 in-
cluant des icônes graphiques qui sont reliées aux entrées et sorties de l'automate;
• SmartCong : permet d'enregistrer des données transférées par l'automate via son port Eth-
ernet sous la forme d'un chier .csv;
• Matlab : permet d'exploiter les données écrites par l'automate dans le chier .csv.

2
L'environnement de programmation principal est le logiciel Crouzet Logic Software M3 :

Lancez le logiciel et créez un programme que vous nommerez Regulation_Temperature_Piece.pm3.


L'automate est équipé d'une extension "XA04" qui permet la commande analogique, et d'une ex-
tension "XN05" qui permet le transfert de données via un port ethernet. Lors de la création du
programme vous devez donc les inclure. Choisir:
• l'automate XD 26 de référence 88970161;
• l'extension XA04 24VDC;
• l'extension XN05 24VDC;
• le langage FDB (Functional Block Diagram) comme type de programmation (pas le langage
à contact (LADDER)).
Le chier Regulation_Temperature_Piece.pm3 qui conditionne le fonctionnement de la ma-
quette est maintenant créé.

Figure 2: Fichier pm3 vierge

Vous utilisez l'extension XN05 pour enregistrer et visualiser la mesure de température délivrée
par la sonde. Sur le logiciel Logic Software M3, paramétrez l'extension XN05. Pour cela, cliquez
sur le rectangle associé en lui attribuant l'adresse IP (statique) de la maquette que vous utilisez.
plusieurs adresses IP sont disponibles:
Adresse IP 1 : 172.17.106.210
Adresse IP 2 : 172.17.106.211
Adresse IP 3 : 172.17.106.212
etc.

Vériez que celle que vous voulez utiliser est disponible: démarrer>exécuter>cmd OK.
tapez ping 172.17.106.212 (par exemple). Si le délai d'attente est dépassé, c'est que l'adresse est
libre et que vous pouvez la choisir (voir Fig. 3). Précisément vous devez rentrer: 172.17.106.212
pour l'adresse IP et de passerelle, et 255.255.255.0 pour le masque de sous réseaux.

3
Figure 3: Test de disponibilité d'une adresse IP

Vous utiliserez l'extension XA04 pour alimenter l'ampoule. Sur le logiciel Logic Software M3,
paramétrez l'extension XA04 pour qu'elle produise un signal PWM. Pour cela, cliquez sur le rect-
angle XA04 24VDC, puis choisissez PWM dans l'onglet "extension analogique".
Voici quelques éléments de base de la programmation avec le logiciel Logic Software M3:
Les entrées: les entrées I1 à IA sont dites "numériques". En fait elles prennent deux valeurs:
0 ou 1, codées sur un bit. Les entrées IB à IG sont dites "analogiques". En fait elles sont aussi
numériques mais codées sur 10 bits et non sur un seul bit.
Les blocs fonctions: on insère une fonction en la faisant glisser. Par exemple le "ou" logique
(LOGIC).

Les sorties: Les sorties 01 à OA sont numériques (allumé ou éteint), les sorties OFXA et
OGXA simulent une sortie "analogique" dans le sens où elles peuvent accepter une valeur entre 0 et
1023 (elles correspondent à l'extension XA04). Les sorties "ETH" correspondent au port ethernet.
Question 1: Qu'est-ce qui distingue les connexions vertes des connexions noires ?

2 Programme de régulation
Complétez le chier Regulation_Temperature_Piece.pm3 avec le logiciel Crouzet:

2.1 Eléments pour la mise en route


Placez en 03 une sortie numérique " digital output " (IN/OUT) à laquelle vous pouvez donner
l'aspect d'une ampoule. Elle est reliée au chauage. Placez en O4 une sortie numérique " digital
output " (IN/OUT) à laquelle vous pouvez donner l'aspect d'un ventilateur.

Sur I2 et I3, placez l'entrée numérique "digital input" (IN/OUT). Reliez I2 à O3 (lampe chauf-
fante) et I3 à O4 (ventilateur).
Il existe trois modes d'utilisation du logiciel: écriture E, simulation S, monitoring M. Faites un
premier essai de simulation S en allumant la lampe de la sortie O3.

4
2.2 Mesure de température
Aidez-vous du schéma de la Fig. 2.4.
An de mesurer la température ambiante dans la pièce, on y a placé un capteur qui fonctionne
dans une gamme de T = −10 à 40 degrés Celsius, et qui donne une sortie V entre 0 et 10 Volts. Le
capteur est relié à la broche IC de l'automate. Cette mesure est donnée sous la forme numérique
d'un nombre NUM codé sur 10 bits.

Question 2: trouvez la relation qui donne la température T en fonction de cette valeur numérique
NUM. On achera la température multipliée par 10. Complétez en fonction de cela l'élément Gain
(CALC). Réalisez le branchement de la gure 2.2.
Remarquez l'élément Display. Il vous permettra de visualiser la température à l'intérieur de la
boîte en temps réel. Les éléments NUM OUT permettront par la suite de transférer des données
sur l'ordinateur.

Figure 4: Programme pour la mesure de température

Faites une mesure de température par les actions suivantes:


• brancher le câble au port USB COM 1 et à l'automate;
• écrire (èche jaune vers le haut);

• monitoring (M);
• lecture (rouge).

Question 3: la température s'ache-t-elle sur l'écran de l'automate ? Le facteur de multiplication


correspond-il au gain que vous avez choisi ?

2.3 Montée en température


On réalise une étude en boucle ouverte: une montée en température.
Question 4: quelle est à votre avis l'objectif de cette étude ?
Avec les éléments "Entrée analogique" auxquels vous pouvez donner l'aspect d'un thermomètre,
réalisez le programme de la gure 2.3 (attention les sorties O3 et O4 ne sont pas représentées).

5
Figure 5: Programme dédié à l'identication

Vous procéderez à un enregistrement de la mesure de température en suivant la démarche décrite


en annexe.
Faites une expérience de montée en température (écrire, etc.) en suivant les instructions suivantes:
Avant d'allumer la lampe, relevez la température ambiante. La montée en température sera pour-
suivie jusqu'à atteindre 39 à 40 degrés maximum. La valeur maximale qui peut être achée est nor-
malement 40 degrés. Sur le chier Regulation_Temperature_Piece.pm3, pour allumer la lampe,
fermez le relais correspondant à la lampe chauante.

Question 5: La lampe s'allume-t-elle ?


Si non, jouez sur le sélecteur de la maquette (à côté du petit rhéostat) pour augmenter la
puissance fournie à la lampe chauante.
Question 6: Quelle est la consigne ? Est-ce la valeur maximale pouvant être fournie sur la sortie
OFXA ?

Fixez dans le programme la consigne à 1000.


Question 7: Comment varie alors l'intensité lumineuse ?
Remarque 1: attendez avant d'appliquer une consigne que la température dans la boîte soit proche
.
de la température ambiante
Appliquez la méthode du temps de montée à 63 % (voir annexe) pour identier le système.

6
2.4 Régulation PID
Poursuivez la construction de votre programme: modiez le pour mettre en oeuvre une régulation
PID.
Pour cela, placez les éléments PID (APP), Gain (CALC), Display (HMI/COM), réalisez le
schéma de branchement pour eectuer la régulation.
L'élément ADD/SUB (CALC) permet d'ajouter une constante à la valeur maximum permise
par le sélecteur.

L'utilité de la constante à ajouter à la consigne de température est la suivante: L'entrée ID


mesure la tension donnée par le sélecteur. La lampe chauante est alimenté par une tension à 0 à
10 Volts.
Question 8: Quelle est la valeur numérique TEMP donnée par l'entrée thermomètre ?
Question 9: Déduisez-en la tension délivrée par le sélecteur de votre maquette.
Question 10: Quelle valeur numérique NUM faut-il ajouter pour atteindre la consigne de 35◦ ?
Un élément Gain après la sortie du PID multiplie par un facteur cette sortie. Celle-ci atteint
une valeur max de 255.

Question 11: Quel facteur multiplicatif choisit-on, sachant que la valeur de commande donnée par
OF XA est codée sur 10 bits ?

Sur la gure 2.4 sont présentés les éléments nécessaires à la mise en oeuvre du PID. A vous de
faire les câblages adéquats.

Le PID est de type mixte. Sa fonction de transfert est la suivante:


1
C(p) = Kp (1 + + Td p) (1)
Ti p
où Kp , Ti , Td caractérisent le PID.
Lorsque Kp augmente, le système est plus rapide mais plus instable (plus les variations de sortie
du système sont brutales). Lorsque 1/Ti augmente, le temps de montée est plus court mais il y
a un dépassement plus important. Lorsque Td augmente, le temps de montée change peu mais le
dépassement diminue (le système est stabilisé).
Pour que le système soit stable, on choisit Kp proche de sa valeur minimale. Pour qu'il soit
rapide, on choisit Ti du même ordre de grandeur que T , mais inférieur pour éviter les dépassement.
On souhaite avoir un dépassement très faible ou pas de dépassement, donc on choisit Td d'un ordre
de grandeur au-dessus de τ mais d'un ordre de grandeur en dessous de T .
Question 12: Quelles valeurs de Kp , Ti et Td préconisez-vous ?
La régulation est réalisée à l'aide de la sortie analogique OFXA. La commande envoyée à la sortie
OFXA est proportionnelle à l'écart ϵ(t) = Tconsigne − Tmesure avec Tconsigne = 35◦ .
Question 13: Quel élément manque-t-il en apparence pour réaliser un rebouclage ? Où se trouve
implicitement cet élément ?

7
Figure 6: Eléments nécessaires à la mesure et à la régulation

Question 14: Quel est le temps de montée à 5% du système ? Comment varie-t-il si on augmente
le gain du correcteur ? Vous est-il possible d'augmenter 1/Ti sans risquer un dépassement ? Si oui,
comment évolue le temps de montée du système ?

Vériez que la température atteint la consigne.

Etudiez la robustesse du système régulé à des perturbations: augmentez pendant un court


instant la consigne. Ramenez-la au niveau précédent puis faites tourner à faible vitesse le ventilateur.
Question 15: La consigne est-elle rattrapée ?

8
Annexes
Transfert de données
Le logiciel qui permet le transfert de données est SmartCong. L'extension correspondante est
.saf. Téléchargez le chier
Regul_Indus_Transfert.saf à partir du site web https://sites.google.com/site/regulindusm1sisu3/,
onglet automate.
1. Lancez par double clic le chier Regul_Indus_Transfert.saf;
2. Paramétrez l'adresse IP adéquate sur SmartCong > congure connection > en face de ETH-
ERNET 172.17.106.210:502. L'adresse doit correspondre à celle que vous aviez donnée en
paramétrant le XN05.
3. Vérier que les registres de sortie qui recueillent les mesures de température sont bien pris en
compte: sur SmartCong > Donnée ETH_OUT1_l1 et ETH_OUT2_l1 sont bien présents dans la
liste des registres ?
4. Paramétrez l'adresse IP adéquate sur SmartCommand: sur SmartCong > Outils > Aller à
SmartCommand (voir Fig; 2.4), puis sur SmartCommand > congure connection > en face de
ETHERNET 172.17.106.210:502. L'adresse doit correspondre à celle que vous aviez donnée
en paramétrant le XN05.

Figure 7:

Quittez SmartCommand (Fichier>Quitter).

Enregistrement d'une expérience


Lisez cette sous-section en entier. Vous répéterez deux fois la démarche qui y est décrite, une fois
en boucle ouverte, une fois en boucle fermée pour la régulation.

Démarrage d'une expérience:


1. Faire tourner en monitoring la maquette. Appuyer sur lecture. Ne pas allumer la lampe pour
l'instant.
2. Sur SmartCong > Outils > Aller à SmartCommand.
3. Lancez l'enregistrement sur SmartCommand: Cliquez sur déconnecté et arrêté; les cases
passent au vert ! On est prêt à visualiser la montée en température.

9
4. Ensuite sur Crouzet Logic Software: allumez la lampe et donnez une consigne de température
(entrée thermomètre).
Remarque 2: l'étape 1 doit toujours être réalisée avant l'étape 2

Arrêt d'une expérience:


• Sur SmartCommand: appuyez sur en marche et sur connecté pour passer en mode "Décon-
necté".
• Sur Crouzet Logic Software: appuyez sur stop.

Le chier de mesures mesures.csv dans le répertoire C:\TEMP a dû être créé.


Sinon, en cas de problème: Si rien ne s'enregistre par SmartCommand: redénir l'adresse IP sur
l'extension XN05 et sur SmartCommand. Vériez sur SmartCong que les registres ETH_OUT_I1 et
ETH_OUT2_I1 sont bien référencés. Si vous n'arrivez pas à établir la connexion, changer l'adresse IP
dans le logiciel Crouzet millenium 3 et dans SmartCommand et SmartCong (... 219 par exemple).

Exploitation des données avec Matlab


Les données de consigne et de température mesurée sont contenues dans le chier mesures.csv.
Prenez soin d'en supprimer la première ligne (en ouvrant le chier avec un éditeur de texte). Créez
le chier RegulationAutomate.m, complétez-le avec les lignes suivantes et avec les lignes nécessaires
pour l'achage:
load mesures.csv
temperature=mesures(:,4)/10;
consigne=mesures(:,5);

Méthode d'identication du temps de montée


On suppose que l'entrée échelon commence au temps t=0.
Soit ∆x l'amplitude de l'échelon (valeur asymptotique - valeur initiale).
Soit ∆y l'amplitude de la sortie.

Le système est modélisé par la fonction de transfert suivante: G(p) = e−τ p (1+θp)
K
. Les paramètres
à identier sont donc:
Le gain statique K = ∆x∆y
,
le retard τ ,
la constante de temps θ,
le retard τ est le temps entre l'instant où l'échelon est appliqué en entrée, et la constante de temps
θ est telle que: y(θ) = y0 + 0.63 ∗ ∆y , où y0 est la valeur initiale de la sortie. On a ainsi repéré le
temps de montée à 63%.

10

Vous aimerez peut-être aussi