Telechargé par ab.elhamzaoui

COURSDESIMULTIONDETIJANIBOUNAHMIDI

publicité
JEAN RUEL
DEVELOPPEMENT DE SIMULATEURS DE
PROCÉDÉS POUR LA COMMANDE
AUTOMATIQUE ET L'OPTIMISATION
Approche de conception hybride avec Modelica et
Matlab/Simulink
Mémoire présenté
à la Faculté des études supérieures de l'Université Laval
dans le cadre du programme de maîtrise en génie électrique
pour l'obtention du grade de maître es sciences (M. Sc.)
DEPARTEMENT DE GÉNIE ÉLECTRIQUE ET DE GENIE INFORMATIQUE
FACULTÉ DES SCIENCES ET DE GÉNIE
UNIVERSITÉ LAVAL
QUÉBEC
2010
©JEAN RUEL, 2010
Ill
Résumé
Cet ouvrage a trait à la modélisation, à la conception de simulateurs et au contrôle de
procédés. La simulation de procédés est employée largement pour l'enseignement des
notions relatives au contrôle et aussi dans l'industrie pour, par exemple, tester au préalable
de nouvelles stratégies de commande. Afin d'évaluer la pertinence de proposer une
approche de conception de simulateurs, cet ouvrage passe d'abord en revue les principaux
logiciels commerciaux de simulation disponibles sur le marché dans les domaines du génie
chimique, du génie métallurgique et du traitement des eaux. Ensuite, différentes approches
de conception de simulateurs de procédés dont la description du fonctionnement est basée
sur des équations différentielles et algébriques sont
présentées. À cet effet, quelques
méthodes d'implantation d'un système d'équations de cette nature à l'aide de
l'environnement de développement causal Matlab/Simulink sont exposées. Puis, étant
donné l'importance croissante de la nouvelle approche de modélisation acausale utilisant
l'approche orienté-objet et orienté-équation, deux environnements (Maple/MapleSim et
Dymola) comportant une passerelle vers Matlab/Simulink et supportant cette approche via
le langage Modelica sont présentés. Les simulateurs réalisés au cours de ce projet sont un
réservoir avec élément chauffant, un ensemble de quatre procédés simples caractérisés par
des réactions chimiques à l'intérieur de réacteurs, un bioprocédé de culture de microalgues
en photobioréacteur et, finalement, un procédé minéralurgique de broyage couplé à la
séparation par flottation. Pour les deux derniers procédés, des exemples de stratégies de
contrôle basées sur la commande algébrique en continu sont présentés afin d'illustrer
l'utilisation des simulateurs dans un contexte pratique.
IV
Avant-Propos
Cette maîtrise fait suite à une demande de congé avec solde pour un perfectionnement
de type maîtrise que j'ai obtenu suite aux modifications apportées à la convention collective
des enseignants de CEGEP en 2005. Un retour aux études en génie électrique près de 20
ans après avoir complété ma scolarité au niveau du baccalauréat a été un défi de taille.
Depuis mon dernier passage, les outils de travail ont beaucoup changé. Par exemple,
j'utilisais une version DOS de Matlab lors de mon baccalauréat alors que maintenant,
Matlab est désormais une application sous Windows constituée de plusieurs modules
d'extension (toolbox) et comporte une interface graphique pour la simulation (Simulink).
Cette aventure a été ponctué d'un rebondissement majeur qui a entraîné mon absence
pendant quelques mois à l'automne 2008 suite à la nouvelle que mon enfant de 6 mois était
atteint d'une cardiomyopathie hypertrophique incurable et que seulement une greffe du
cœur pouvait le sauver. Heureusement pour lui, les efforts n'ont pas été vains et mon enfant
a finalement été greffé avec succès à Ste-Justine à la fin de l'année 2008, ce qui m'a permis
de continuer mon cheminement. Ensuite, ayant développé un cancer en décembre 2009
suite à un virus contracté lors de la greffe et conséquemment à son traitement
immunosuppressif, j'ai dû composer avec cette situation jusqu'à la fin de la rédaction de ce
mémoire à l'été 2010.
Habituellement, cette section est réservée aux remerciements aux professeurs qui ont
soutenu l'effort de l'étudiant, mais étant donné les circonstances, je ne pouvais passer sous
silence la contribution du personnel des centres hospitaliers du CHUL et de Ste-Justine, de
LEUCAN, de la Fondations EnCoeur et du Manoir McDonald qui ont permis à la vie de
continuer et qui nous ont appuyés durant cette série d'épreuves...
Du côté du corps professoral, d'abord un gros merci à M. Éric Poulin mon directeur
qui m'a soutenu à tous les instants et qui m'a permis de compléter son cours de l'automne
2008 via un cheminement particulier. Il en va de même pour M. André Desbiens qui m'a
aussi permis de compléter son cours de l'automne 2008 via un cheminement particulier.
Étant moi-même enseignant, je sais pertinemment ce que cela implique et ce fût réellement
très apprécié. Mes remerciements vont aussi à M. Jean-Sébastien Deschênes pour son
support au niveau du bioprocédé et de SimulPro, à M. Carl Duchesne pour sa suggestion
des procédés étalons dans le domaine du génie chimique ainsi qu'à M. Daniel Hodouin
pour son support indéfectible lors du développement du simulateur de procédé de broyage
et de flottation.
VI
Table des matières
Résumé
iii
Avant-Propos
iv
Table des matières
vi
Liste des tableaux
ix
Liste des
figures
Chapitre 1 : Introduction
1.1 Objectifs du projet
1.2 Travaux réalisés
1.3 Organisation du mémoire
Chapitre 2 : Revue des approches et logiciels disponibles
2.1 Inventaire et analyse des différents logiciels et approches de simulation
2.1.1 Logiciels spécialisés dans le domaine des procédés industriels
2.1.2 Matlab/Simulink et ses extensions (toolbox)
2.1.3 Environnements de développement compatibles avec Simulink
2.2 Langage Modelica
2.2.1 Historique et généralités
2.2.2 Éléments du langage
2.2.3 Compatibilité avec Simulink
2.3 Comparaison entre Modelica et Matlab/Simulink
2.3.1 Solution avec Modelica
2.3.2 Solutions avec Simulink
2.3.3 Solutions avec Matlab/Simulink
2.4 Sélection de l'approche pour la création du modèle de procédé
2.5 Conclusion
Chapitre 3 : Validation de l'approche à l'aide de procédés étalons
xi
1
2
3
5
7
8
10
17
21
24
24
26
29
29
30
31
37
40
42
45
3.1 Échange de chaleur simplifié
45
3.1.1 Explication du fonctionnement du procédé et de la problématique de contrôle 46
3.1.2 Équations de bilan du modèle
47
3.1.3 Simulation du procédé
47
3.2 Réacteur Van der Vusse
51
3.2.1 Explication du fonctionnement du procédé et de la problématique d'opération51
3.2.2 Équations de fonctionnement et de bilan du modèle
52
Vil
3.2.3 Simulation du procédé
52
3.3 Réacteur semi-continu
56
3.3.1 Explication du fonctionnement du procédé et de la problématique d'opération57
3.3.2 Équations de fonctionnement et de bilan du modèle
58
3.3.3 Simulation du procédé et contraintes d'opération
60
3.4 Réacteur instable dans un réservoir parfaitement mélangé (UCSTR)
63
3.4.1 Explication du fonctionnement du procédé et de la problématique d'opération63
3.4.2 Équations de fonctionnement et de bilan du modèle
64
3.4.3 Simulations du procédé
64
3.5 Conclusion
68
Chapitre 4 : Procédé de culture de microalgues
4.1 Description du procédé
4.2 Modélisation
4.3 Calibrage et validation du modèle
4.3.1 Calibrage du modèle
4.3.2 Obtention d'un point d'opération stable en mode d'opération continu
4.3.3 Validation de la mise en équation du modèle du procédé via Modelica
4.4 Actionneurs, capteurs et perturbations
4.4.1 Modélisation des actionneurs
4.4.2 Perturbations non mesurées
4.4.3 Capteurs et bruit de mesure
4.5 Identification, analyse du couplage et choix des couples
4.5.1 Identification
4.5.2 Choix des couples
4.6 Contrôle du niveau, du pH et de l'oxygène dissout
4.6.1 Contrôle du niveau (h)
4.6.2 Contrôle du pH
4.6.3 Contrôle de l'oxygène dissout (DO)
4.6.4 Analyse des résultats en boucles fermées (ensemble des boucles)
4.6.5 Commande PI avec gains préprogrammés pour le contrôle du pH
4.7 Optimisation du mode d'opération continu
4.8 Comparaison avec le bioprocédé réel
4.9 Conclusion
Chapitre 5 : Procédé de comminution et de séparation
5.1 Unité de comminution : circuit de broyage
5.1.1 Modélisation du broyage
5.1.2 Modélisation du réservoir et de la pompe volumétrique
5.1.3 Modélisation de l'hydrocyclone
5.1.4 Choix des paramètres de dimensionnement et des conditions opératoires
5.2 Unité de séparation : flottation
5.2.1 Principe de fonctionnement d'une cellule de flottation
5.2.2 Modélisation de l'unité de flottation
5.2.3 Choix des paramètres de dimensionnement et des conditions opératoires
69
70
74
82
82
84
86
88
88
88
88
92
93
104
105
107
110
113
116
121
125
126
129
131
133
137
145
147
151
151
152
154
159
vin
5.3 Couplage des deux simulateurs
160
5.3.1 Conversion des propriétés des particules
161
5.3.2 Modélisation de la libération
162
5.4 Calibrage et validation du simulateur de procédé
164
5.4.1 Calibrage du circuit de broyage
164
5.4.2 Calibrage du circuit de flottation
165
5.4.3 Calibrage de l'inertie liée à la variation des entrées D50 et ko
168
5.4.4 Calibrage du procédé global et validation du comportement du simulateur... 169
5.5 Contrôle de l'unité de broyage et de flottation
169
5.5.1 Stratégies de contrôle
170
5.5.2 Identification
174
5.5.3 Contrôle du débit d'eau entrant au réservoir
177
5.5.4 Contrôle du niveau du réservoir
177
5.5.5 Contrôle de la charge circulante Ds et de la teneur en sortie Te
178
5.5.6 Contrôle décentralisé et multivariable de Ds, Te et 7V (système 3x3)
181
5.6 Conclusion
193
Chapitre 6 : Conclusion
6.1 Commentaires généraux
6.2 Travaux futurs
195
195
196
Bibliographie
199
Annexe A : Distinction entre l'approche causale et acausale
203
Annexe B : Solution de la modélisation d'un réservoir chauffant avec « S-function ».. 207
Annexe C : Validation du simulateur de procédé de comminution et de séparation
211
Annexe D : Autres données utiles pour l'analyse du circuit de broyage
217
Annexe E : Autres données utiles pour l'analyse du procédé de flottation
223
IX
Liste des tableaux
Tableau 2.1: Liste des logiciels commerciaux spécialisés en simulation de procédé
11
Tableau 2.2: Principaux acronymes utilisés dans les descriptions sommaires des logiciels 12
Tableau 2.3: Grille comparative des logiciels commerciaux de simulation de procédé
16
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
3.1: Conditions initiales correspondant à l'état d'équilibre
3.2: Valeurs des paramètres du modèle et des entrées à l'équilibre
3.3: Conditions initiales correspondant à l'état d'équilibre
3.4: Valeurs des paramètres du modèle et des entrées à l'équilibre
3.5: Conditions initiales
3.6: Valeurs des paramètres du modèle et des entrées
3.7: Conditions initiales à l'équilibre
3.8: Valeurs des paramètres du modèle et des entrées à l'équilibre
48
48
53
53
61
61
65
65
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
4.1: Nomenclature relative au bioprocédé décrit à la figure 4.4
73
4.2: Constantes de calibrage liées aux équations de bilan du bioprocédé
83
4.3: Constantes de calibrage liées aux équations des taux de croissance
83
4.4: Contraintes d'opération des variables du bioprocédé
84
4.5: Point d'opération obtenue par résolution manuelle du système d'équations...86
4.6: Variance et écart-type du bruit des différents signaux mesurés
91
4.7: Fonction de transfert liant le volume au débit d'alimentation
95
4.8: Points d'opération considérés pour l'identification
96
4.9: Points d'opération pertinents pour l'identification du bioprocédé
96
4.10: Résultats de l'identification pour chaque point d'opération
97
4.11: Fonctions de transfert liants les entrées (QA, Qe) aux sorties (DO, pH)
104
4.12: Gains de Bristol X\\ des 2 possibilités de choix de couples
105
4.13: Facteurs multiplicatifs de la solution des gains préprogrammés
124
4.14: Conditions initiales des sorties
126
4.15: Valeurs initiales des variables manipulées
127
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
5.1 : Nomenclature relative à la figure 5.2
134
5.2 : Granulométrie retenue pour la simulation
136
5.3 : Classes de dimension retenues pour la simulation
136
5.4 : Point d'opération nominal du circuit de broyage
151
5.5 : Autres paramètres physiques de simulation
151
5.6 : Variables dépendantes et conditions opératoires associées
158
5.7 : Regroupement des classes de dimension en superclasses
159
5.8 : Classes de teneur des particules mixtes
159
5.9 : Valeurs des choix de conception et des paramètres simples de simulation.. 160
5.10 : Conversion des flux entre la comminution et la séparation
161
5.11 : Matrice de libération *¥
162
5.12 : Valeurs des paramètres d'ajustement du circuit de broyage
165
5.13 : Point d'opération nominal visé pour la cellule de flottation
166
5.14 : Distribution des fractions massiques à l'alimentation
166
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
Tableau
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
: Composition et teneur des classes de composition de particules
: Matrice des coefficients de flottation k,j
: Coefficients d'entraînement des particules^,
: Autres paramètres d'ajustement de la
flottation
: Valeurs nominales du point d'opération du procédé
: Fonction de transfert identifiée pour le système réservoir-pompe
: Fonctions de transfert identifiées pour la commande mixte
: Fonction de transfert identifiée pour chaque combinaison de couple
: Matrice A des gains relatifs statiques pour le système 3x3
: Combinaisons de couple possibles pour le système 3x3
: Dynamique visée pour la commande décentralisée
: Fonctions de transfert G2 et GT, approximées
: Régulateurs selon l'approche décentralisée et indépendante
167
167
167
168
170
175
175
176
181
184
186
187
187
XI
Liste des figures
Figure 2.1: Exemple de complication liée à l'approche causale
19
Figure 2.2: Processus de production d'un bloc Simulink avec l'environnement Dymola ...23
Figure 2.3: Processus de production d'un bloc Simulink avec l'environnement Maple
24
Figure 2.4: Code Modelica permettant de modéliser le système (Dymola)
31
Figure 2.5: Système modélisé avec des blocs simples de Simulink
32
Figure 2.6: Système modélisé avec des équations d'états dans Simulink
33
Figure 2.7: Système modélisé avec un bloc de déclaration des fonctions dans Simulink....34
Figure 2.8: Code de la fonction calcDeriv de la figure 2.8
34
Figure 2.9: Système modélisé avec une « S-function »
36
Figure 2.10: Extrait de la S-function permettant de modéliser le système
36
Figure 2.11: Modèle Simulink du réservoir chauffant avec ports d'entrées/sorties
37
Figure 2.12: Script permettant d'exécuter le modèle du réservoir chauffant
38
Figure 2.13: Fonction Matlab simulant le comportement du système
39
Figure 2.14: Fonction représentant le comportement de l'entrée qff)
39
Figure 2.15: Script permettant de simuler le comportement du réservoir chauffant
40
Figure 3.1: Schéma d'un échangeur de chaleur simple
Figure 3.2: Réponse du système à des échelons sur Fh (variable manipulable)
Figure 3.3: Réponse du système à des perturbations échelons sur F c , Tcinet T^n
Figure 3.4: Schéma d'un réacteur Van der Vusse
Figure 3.5: Réponse du procédé à un échelon négatif
Figure 3.6: Réponses du procédé à des échelons de différentes amplitudes
Figure 3.7: Processus du réacteur semi-batch
Figure 3.8: Schéma du réacteur semi-batch
Figure 3.9: Réponse du procédé au maintien des conditions d'opération
Figure 3.10: Schéma du réacteur instable parfaitement mélangé
Figure 3.11: Réponse du procédé à un échelon positif
Figure 3.12: Réponse du procédé à un échelon négatif de 5 K
Figure 4.1: Vue au microscope de la microalgue Nannochloropsis Oculata
Figure 4.2: Famille des lipides
Figure 4.3: Géométrie des réservoirs constituant le bioréacteur
Figure 4.4: Schéma de principe du photobioréacteur
Figure 4.5: Évolution du taux de croissance spécifique p s
Figure 4.6: Évolution du taux de croissance spécifique^//
Figure 4.7: Évolution du taux de croissance spécifique p D O
Figure 4.8: Évolution du taux de croissance spécifique p ix
Figure 4.9: Simulation du bioprocédé en mode cuvée simple en boucle ouverte
Figure 4.10: Données de la première production après correction points aberrants
Figure 4.11 : Dérive du pH à la baisse (point d'opération #3)
Figure 4.12: Dérive du pH à la hausse en l'absence d'échelon (point d'opération #3)
Figure 4.13: Réponses à des échelons multiples montrant la non-linéarité du procédé
Figure 4.14: Valeurs des variables X et Qc à l'équilibre en fonction du pH
46
49
50
51
54
56
58
57
62
63
66
68
70
71
72
72
79
80
81
82
87
90
98
99
102
102
xn
Figure 4.15: Comparaison des dynamiques entre les sorties X, S etpH, DO
Figure 4.16: Schéma de contrôle du bioprocédé
Figure 4.17: Réponse en poursuite du régulateur de niveau du bioréacteur (Q() fixe)
Figure 4.18: Réponse en régulation du régulateur de niveau du bioréacteur
Figure 4.19: Réponse en poursuite du régulateur de pH du bioréacteur (QA
fixe)
Figure 4.20: Réponse en régulation du régulateur depH du bioréacteur
Figure 4.21: Réponse en poursuite du régulateur de DO du bioréacteur (Q c
fixe)
Figure 4.22: Réponse en régulation du régulateur de DO du bioréacteur
Figure 4.23: Réponse du procédé régulé à un échelon de niveau
Figure 4.24: Réponse du procédé régulé à un échelon depH
Figure 4.25: Réponse du procédé régulé à un échelon de DO
Figure 4.26: Réponse du procédé régulé à un échelon sur p max
Figure 4.27: Réponse à des échelons négatifs (réglage avec gain
fixe)
Figure 4.28: Réponse à des échelons négatifs (réglage avec gains préprogrammés)
Figure 4.29: Courbe de productivité instantanée
Figure 4.30: Courbe des différentes tentatives d'ajustement
103
106
109
109
112
113
114
115
117
119
120
122
124
124
126
128
Figure 5.1: Schéma global du procédé de comminution et de séparation
133
Figure 5.2: Schéma du circuit de broyage
135
Figure 5.3: Schéma du broyeur
137
Figure 5.4: Fonction d'écoulement du broyeur approximée par 3 réservoirs interactifs... 137
Figure 5.5: Fonction de mélange du broyeur approximée par 3 mélangeurs en série
138
Figure 5.6: Linéarisation de la relation débit/charge du broyeur
139
Figure 5.7: Cinétique de fragmentation pour la gangue (Se) et le minéral de valeur (S^) 141
Figure 5.8: Schéma du réservoir et de la pompe volumétrique
146
Figure 5.9: Schéma de l'hydrocyclone
147
Figure 5.10: Impact de la granulométrie et de la masse volumique sur la classification... 148
Figure 5.11: Flux dans une cellule de
flottation
153
Figure 5.12: Débits d'eau et concentrations
155
Figure 5.13: Adaptation des propriétés des flux entre l'unité de broyage et de flottation. 161
Figure 5.14: Variables manipulées et observées considérées pour le contrôle
170
Figure 5.15: Régulation à rapport pour l'ajout d'eau au réservoir
171
Figure 5.16: Contrôle du niveau du réservoir
172
Figure 5.17: Stratégies de contrôle mixte pour un système 2x2
173
Figure 5.18: Système 3x3 considéré pour le contrôle multivariable
174
Figure 5.19: Système multivariable 3x3 du procédé de comminution et de classification 176
Figure 5.20: Réponse en poursuite et en régulation pour le contrôle du niveau
178
Figure 5.21: Réponses suite à un changement de consigne Te
182
Figure 5.22: Réponses suite à un changement de consigne D s
183
Figure 5.23: Nombre RGA pour différentes combinaisons de couples
185
Figure 5.24: Stratégie de contrôle d'un système 3x3 selon une approche décentralisée ... 185
Figure 5.25: Réponses en poursuite pour le système multivariable 3x3
188
Figure 5.26: Stratégie de contrôle multivariable avec découpleurs
190
Figure 5.27: Sous-procédé avec découplage des entrées D50 et ko
190
Figure 5.28: Réponse comparative à des échelons multiples avec et sans découpleurs .... 192
Chapitre 1
Introduction
Le recours à des outils de simulation dans le domaine des procédés est très répandu et
comporte plusieurs avantages. Dans un premier temps, pour un procédé existant, il permet
de se familiariser avec le procédé et de tester des stratégies de commande et d'optimisation
en évitant tout risque de perturber le procédé réel, fl offre aussi la possibilité d'utiliser le
procédé réel afin de valider le comportement du simulateur, d'en effectuer le calibrage et, le
cas échéant, de raffiner le modèle mathématique décrivant le fonctionnement du procédé
afin de mieux le représenter. De plus, selon la précision et la capacité des simulateurs à
représenter les procédés réels, ils peuvent aussi servir d'outils d'aide à la conception et au
dimensionnement de nouveaux procédés, faciliter la mise en route de nouveaux procédés,
permettre la supervision ou encore, être mis à contribution pour la détection de pannes.
Pour la modélisation et la simulation des procédés, l'environnement Matlab/Simulink
est largement celui le plus utilisé étant donné la panoplie d'outils complémentaires
disponibles au niveau des procédés. Toutefois, l'expérience démontre que l'appropriation
de la mise en équation effectuée à l'aide du formalisme utilisé par cet environnement est
difficile, en particulier lorsque la conception est réalisée par un tiers. Ceci a pour
conséquence de rendre les opérations de maintenance1 fastidieuses, voir même hasardeuses,
en particulier lorsqu'elles ne sont pas réalisées par l'auteur du simulateur. Au niveau de
l'implantation de la mise en équation, force est de remarquer que même si la méthode
convient pour représenter des systèmes simples, l'approche de conception devient lourde et
■y
sujette à erreur^ à mesure que la complexité du système physique à représenter augmente.
1
La maintenance peut être nécessaire aussi suite à une mise à jour de l'environnement de développement ou
encore à l'évolution des besoins de formation.
" N'étant pas un formalisme orienté équation, aucun mécanisme de contrôle de l'intégrité du système
d'équations n'est disponible dans ce formalisme pour assister le développeur lors de la conception.
Cette problématique, qui sera traitée dans la première partie du mémoire, est d'ailleurs la
conséquence directe du formalisme employé (Tiller, 2001).
Au niveau de la modélisation et du contrôle de procédé proprement dit, deux
problématiques seront traitées dans le cadre de ce mémoire. La première a trait à un
bioprocédé de culture de microalgues et porte principalement sur l'obtention des conditions
opératoires permettant le passage du mode d'exploitation en cuvée simple au mode continu
afin d'optimiser la production instantanée de biomasse. La seconde est relative à un
procédé issu du génie métallurgique et s'applique à la modélisation d'une unité de broyage
et de flottation, au couplage dynamique de celles-ci et à l'illustration du contrôle de
l'ensemble à l'aide de différentes stratégies de commande.
1.1 Objectifs du projet
Les travaux entrepris dans le cadre de ce mémoire couvrent plusieurs axes regroupés
autour de l'objectif central qui est la mise en place d'un environnement de développement
de simulateurs de procédés pour faciliter le travail multidisciplinaire. Ayant pour fil
conducteur la modélisation et la simulation de procédés, les axes dont il est question ici
correspondent d'abord à la modélisation de systèmes physiques en ayant recours aux
équations différentielles et à la sélection d'une approche facilitant l'implantation de leur
mise en équation. Ensuite, le calibrage des modèles ainsi obtenus permet de procéder à leur
identification autour d'un point d'opération représentatif afin d'en illustrer le contrôle via
des stratégies de commande adaptées. Pour ce faire, les principaux objectifs poursuivis en
regard de chacun de ces axes s'établissent comme suit :
•
se familiariser avec le travail de modélisation;
•
évaluer et comparer différentes approches permettant la création de simulateurs de
procédés;
•
évaluer l'approche retenue avec des procédés de difficultés et complexités croissantes.
Au niveau de l'approche de développement à privilégier, il est important que la solution
retenue présente aussi les caractéristiques suivantes :
•
supporte la modélisation multi-domaines (ex : système électromécanique) ;
•
favorise une utilisation multidisciplinaire des simulateurs réalisés ;
•
soit supportée par un environnement de développement ayant la capacité d'utiliser des
bibliothèques de composants déjà existants afin de maximiser la réutilisation de
composantes fonctionnelles et réduire ainsi le temps de développement ;
•
utilise un langage de programmation sous-jacent qui soit orienté-objet, bien documenté,
à architecture ouverte et supportant la mise en équation à partir d'équations
différentielles et algébriques ;
•
propose une approche en complément et non en remplacement de l'environnement
Matlab/Simulink qui permettra d'unifier le développement de simulateurs de procédés
(systèmes physiques) ;
•
soit un environnement prometteur pour des travaux futurs.
1.2 Travaux réalisés
Étant donné l'importance que revêt la modélisation de systèmes physiques à l'aide
d'équations différentielles et algébriques dans le cadre de ce mémoire, une portion
importante du projet a d'abord été dévolue à en approfondir les principes de mise en œuvre.
Au niveau de l'implantation de la mise en équation, différentes avenues ont été étudiées
(environnement Matlab et autres) afin de répondre aux objectifs cités précédemment. Tout
d'abord, l'analyse de la méthode utilisée pour la conception du logiciel SimulPro
(Deschênes, 2002) développé dans l'environnement Matlab/Simulink a été effectuée afin
d'évaluer la pertinence de poursuivre selon cette approche. Suite à cette démarche et à
l'évaluation de différentes variantes disponibles dans l'environnement Matlab/Simulink, la
recherche s'est portée sur l'exploration des nouvelles perspectives entraînées par l'approche
orienté-objet et orienté-équation appliquée à la modélisation des systèmes physiques telles
que décrites par Zupancic et Karba (2007). Cette recherche, qui a mené à l'évaluation de
produits complémentaires supportant l'approche en question, a finalement permis de
sélectionner l'approche de conception et l'environnement de développement répondant le
mieux aux objectifs poursuivis.
En ce qui a trait à la modélisation proprement dites, la description du fonctionnement
des procédés a été développée en se basant principalement sur les équations différentielles
ordinaire de bilan (matière, eau, volume, particules, température, etc.) tel que décrit par
Bequette et Russo (2004). Avec la collaboration des professeurs experts des différents
domaines abordés, des simulateurs ont ensuite été réalisés selon l'approche retenue pour les
procédés suivants :
•
procédés étalons (« benchmark ») dans le domaine du génie chimique;
•
bioprocédé de culture de microalgues;
•
procédé de broyage couplé à la flottation.
Le travail effectué a finalement permis de produire des simulateurs de procédés
proposés sous forme d'objets paramétrables directement dans l'environnement Simulink.
Concernant l'aspect modélisation du bioprocédé, l'approche retenue s'inspire des
travaux de Monod (1942) qui a élaboré différents modèles mathématiques permettant
d'expliquer l'impact de certains facteurs spécifiques de croissance sur le taux de croissance
global d'espèces végétales en milieu de culture. Pour ce qui est du fonctionnement du
circuit de broyage et du circuit de flottation, l'approche de modélisation utilisée s'inspire
des travaux de Sosa Blanco et al. (1999) qui a développé différents modèles empiriques
couplés à des équations de bilan afin de modéliser le comportement dynamiques de ces
deux sous-procédés. Le volet libération utilisé dans le module de couplage entre l'unité de
broyage et de flottation s'inspire, quant à lui des travaux de Barbery (1991) qui a estimé la
récupération associée au degré de libération de différentes classes de dimension de
particules dans des cellules de flottation.
Ainsi, parmi les contributions apportées par ce projet mentionnons notamment :
•
la proposition d'une approche de développement de simulateurs pour faciliter le travail
multidisciplinaire;
•
l'optimisation du mode d'opération continu du bioprocédé, la reproduction d'un essai
réel ainsi que la proposition d'une stratégie de contrôle permettant de tenir compte du
comportement particulier du procédé;
•
la réalisation du couplage dynamique entre un circuit de broyage et de flottation pour
faire suite aux travaux de Deschênes (2002), Plamondon et al., (1997) et Barriga
Melgarejo et Sbarbaro (2002) qui ont développé des outils de simulation dynamiques
mais pour un seul de ces circuits.
1.3 Organisation du mémoire
Le chapitre 2 constitue la base sur laquelle s'appuie le reste du mémoire. Ce chapitre
passe d'abord en revue différentes approches (logiciels spécialisés et environnements de
développement) pouvant être utilisées pour la simulation de procédés. Étant donné
l'importance du langage Modelica pour la suite du chapitre et du mémoire, une présentation
sommaire du langage est effectuée afin d'en démontrer les possibilités et caractéristiques
intéressantes au point de vue de l'implantation de la mise en équation de systèmes
physiques à simuler. À l'aide d'un système physique simple utilisé comme exemple et dont
le fonctionnement est décrit à l'aide d'équations différentielles, une comparaison est ensuite
effectuée entre l'environnement Matlab/Simulink et Modelica quant aux différentes
possibilités d'implanter la mise en équation. À la lumière de toutes ces informations
colligées, le choix et la justification de l'approche privilégiée ainsi que les environnements
de développement retenus sont présentés. Le chapitre se termine avec une description du
processus de conception et de migration des systèmes simulés des environnements de
développement retenus vers l'environnement Simulink. Les chapitres suivants traitent
essentiellement de l'utilisation de l'approche de développement privilégiée pour la
conception de simulateurs de procédé de complexité croissante dans différents domaines
d'activité ainsi que de leur commande.
Plus particulièrement, le chapitre 3 applique l'approche de développement sur quatre
procédés étalons (« benchmark ») provenant du domaine du génie chimique (transfert de
chaleur et réacteurs chimiques). Ces procédés sont tous tirés du livre « Process Control :
Theory and Applications » (Corriou, 2004) et sont bien documentés au niveau de la mise en
équation et des points d'opération nominaux. Pour ce chapitre, aucune stratégie de contrôle
n'a été développée bien qu'un certain nombre soient suggéré et développé par l'auteur.
Pour sa part, le chapitre 4 traite de la simulation d'un bioprocédé multivariables de
culture de microalgues, de son contrôle et de l'optimisation de la production de biomasse.
Dans ce chapitre, une comparaison avec un essai réalisé sur un procédé réel est effectuée
afin de valider le calibrage du modèle et de sa stratégie de commande en boucle fermée
ainsi que sa capacité à reproduire le comportement du procédé réel.
Finalement, le chapitre 5 traite de la conception du simulateur de procédé le plus
complexe du mémoire. Le procédé en question est emprunté au domaine du génie
métallurgique et consiste en la simulation d'une opération de comminution (broyage et
classification par hydrocyclone) couplée à la séparation par flottation. Pour ce procédé, le
calibrage ainsi que la validation du simulateur sont ensuite abordé avant de conclure le sujet
par la présentation de différentes stratégies de contrôle.
Chapitre 2
Revue des approches et logiciels disponibles
Suite à l'énoncé des objectifs du projet au chapitre précédent, plusieurs avenues ont
été évaluées afin d'établir la solution à privilégier pour effectuer, le plus simplement, la
modélisation de procédés dans différents secteurs d'activité industrielle. La liste suivante
énumère à cet effet les approches considérées dans le cadre de ce projet de mémoire:
• logiciels commerciaux spécialisés dans le domaine des procédés industriels;
• Matlab et extensions;
• autres environnements de développement compatibles avec Matlab/Simulink.
Afin de réaliser un processus de sélection éclairé, ce chapitre dresse d'abord un
inventaire des logiciels spécialisés et environnements de développement présentement
disponibles sur le marché et compatibles avec les objectifs préétablis. Par la suite, une
description de chacune des approches est présentée en mettant en évidence certaines
caractéristiques clés afin d'en permettre l'analyse et d'effectuer des comparatifs. Une
comparaison plus détaillée des approches les plus intéressantes appliquées à la simulation
d'un cas simple précède finalement la présentation de la solution retenue.
Quant au choix de l'approche de modélisation des systèmes continus pour ce projet, la
seule représentation retenue a été celle basée sur les équations différentielles et algébriques
(« Differential & Algebraic Equations » - DAE). La raison principale de ce choix
s'explique par le fait que la description du fonctionnement d'un système par les équations
différentielles ne présuppose pas une linéarisation du comportement du système a priori
comme c'est le cas lorsque l'on a recours aux transformés de Laplace et aux équations
d'état. Ce choix évite donc de se limiter aux procédés décrit par des systèmes linéaires et
présente aussi l'avantage de créer un modèle de procédé plus conforme à la réalité pouvant
être linéarisé à différents points d'opération pour en effectuer le contrôle. De plus, afin de
8
simplifier l'implantation de la mise en équation, uniquement les dérivées par rapport au
temps ont été considérées, ce qui a exclu d'emblée le recours aux dérivées partielles
(« Partial Derivative Equations » - PDE) pour décrire le comportement des systèmes à
modéliser.
2.1 Inventaire et analyse des différents logiciels et approches de
simulation
Les prochaines sections décrivent les trois grandes familles d'approches considérées
pour la réalisation de ce projet de maîtrise. Dans chaque cas, une analyse permettant de
comparer les approches est présentée. Cette analyse est ensuite utilisée afin de conclure sur
la sélection de l'approche la mieux adaptée au contexte de réalisation du projet.
Pour ce qui est des logiciels spécialisés dans la simulation de procédé, un inventaire
des solutions présentement disponibles sur le marché pour les secteurs d'activité d'intérêt
est d'abord présenté. Une description sommaire de chaque solution ainsi qu'une grille
comparative résumant certains aspects clés sont ensuite exposés. Quelques constats sont
ensuite énoncés et les solutions les plus intéressantes sont finalement mises en évidence.
Concernant l'environnement Matlab, trois approches non-mutuellement exclusives sont
présentées, soient : les scripts de Matlab, l'environnement Simulink et finalement, un
nouveau produit disponible depuis 2008, Simscape. Les deux premières approches étant
généralement bien connues en ingénierie, une attention particulière est portée à décrire
certaines limitations observées en regard du présent projet de modélisation. La troisième
approche, précurseur de la solution finale privilégiée,
fait finalement l'objet d'une
description plus élaborée étant donné qu'elle met en œuvre le paradigme de modélisation
physique acausal.
Quant aux autres approches de simulation
compatibles avec Matlab, deux
environnements utilisant un langage de description supportant l'approche acausale font
l'objet d'une présentation. Les environnements de développement en question sont Dymola
et Maple/MapleSim. Pour sa part, le langage de description commun
environnements est Modelica.
utilisé par ces
Approches causale et acausale
Avec l'approche causale, les composants du modèle sont interconnectés à l'aide de flux
de données orientés (flèches) aussi appelés liens de cause à effet. Selon l'approche
acausale, les interconnexions correspondent plutôt à des connexions physiques du système
et sont de ce fait non-orientées. Les points d'interconnexion des modèles conçus avec
l'approche acausale correspondent à des couples de grandeurs physiques3 régis par des lois
(équations). Cette dernière approche de modélisation permet donc de concevoir des
modèles de systèmes physiques correspondant davantage à l'aspect réel du système
facilitant ainsi leur construction et leur compréhension. De plus, l'approche acausale
permet d'éviter la construction de boucles algébriques inhérentes à l'approche causale. Pour
sa part, l'approche causale impose au concepteur d'établir une direction privilégiée pour
chaque connexion au moment de la construction du modèle. Cette façon de procéder est
limitative en soi puisque, dépendamment des conditions d'opération d'un système, on
pourrait être amené à inverser la direction de certains flux ou, encore, ajouter des
connexions supplémentaires pour informer les composants en amont de ce qui se passe en
aval4. Pour illustrer brièvement cette première limitation, prenons par exemple 2 réservoirs
au même niveau directement reliés par leur base et remplis initialement à des hauteurs
différentes. La direction du débit entre les réservoirs dépendra évidemment de quel
réservoir est rempli le plus haut. Or, pour un modèle donné, cette information constitue une
condition initiale du système et est modifiable au moment de la simulation. L'approche
acausale permet d'éviter ce genre de problème puisque le modèle global constitue un
système d'équations qui est résolu au moment de la simulation ce qui permet de tenir
compte des conditions initiales.
3
L'une étant de type potentiel et l'autre étant de type flux. Par exemple, pour un circuit électrique la grandeur
physique de type potentiel est le voltage alors que celle de type flux est le courant.
4
Cette deuxième limitation sera présentée plus tard dans ce chapitre à la section 2.2.2
10
2.1.1 Logiciels spécialisés dans le domaine des procédés industriels
Cette section trace un portrait des possibilités de conception de simulateurs de procédés
à l'aide de logiciels commerciaux spécialisés. Dans un premier temps, une recherche des
solutions logicielles commerciales simulant le comportement physique de procédés dans
différents secteurs d'activité industrielle a été réalisée afin d'évaluer la pertinence de
construire nos propres simulateurs de procédés. Pour ce faire, la recherche s'est concentrée
essentiellement autour des domaines d'intérêt suivants :
• pétrochimie et industrie chimique en général;
• mines et métallurgie;
• bioprocédés;
• traitement des eaux (usées et potables).
Les caractéristiques suivantes ont ensuite été utilisées pour procéder à l'évaluation et à la
comparaison des solutions disponibles :
•
interconnectivité avec l'environnement Matlab/Simulink;
•
existence de tarif ou programme académique;
•
domaine d'application (un secteur d'activité ou plusieurs);
•
type de simulation réalisée (statique ou dynamique).
Dans cette évaluation, une attention particulière a été attribuée à la capacité
d'interconnectivité avec l'environnement Matlab/Simulink étant donné qu'il était fortement
souhaitable, au point de vue pédagogique, que l'aspect contrôle et optimisation soit aussi
possible à partir de cet environnement. Pour débuter l'analyse, le tableau 2.1 énumère donc
les logiciels spécialisés en simulation de procédés considérés dans cette étude. Par la suite,
une description sommaire de chaque logiciel est présentée. Finalement, une comparaison
est effectuée entre les logiciels afin d'identifier les logiciels les plus intéressants en regard
des objectifs de la présente démarche. Afin de faciliter la compréhension des descriptions
sommaires des logiciels, le tableau 2.2 présente tout d'abord quelques définitions
concernant la terminologie utilisée.
11
Tableau 2.1: Liste des logiciels commerciaux spécialisés en simulation de procédé
Logiciel
Fabricant
WinSim
Secteur d'activité
Pétrochimie
ProSimPlus
BatchReactor
BatchColumn
Simulis
Thermodynamics
ProPhyPlus 2
ProSim
Pétrochimie &
thermodynamique
ChemCad v6
• CC-Steady State
• CC-Dynamics
• CC-Therm
• CC-Safety Net
• CC-Flash
• CC-Batch
Chemstations
Génie chimique
Promax v3.1
Bryan Research & Eng.
Génie chimique
Hysys
• Hysys Dynamics
• Hysys Crude
• Hysys Amines
• Pipeline Hydraulics
• Hysys Upstream
• Hysys Petroleum
Refining
Aspen Plus
Aspentech
Génie chimique
principalement
UniSim Design vR390.1
Honeywell
Génie chimique et autres
GPS-X v5.02
SimuWorks
WatPro v2
Hydromantis Environmental
Software Solutions
Traitement et purification des
eaux
ModSim v3.6.19
Minerai Technologies (MTI)
Industrie métallurgique
JKSimMet v5.2
JKSimFloat v6.2
JKMultiBal
JKTech
Industrie métallurgique
SuperPro Designer v7.5
Intelligen
Multidomaine
Design II vl0.13
12
Tableau 2.2: Principaux acronymes utilisés dans les descriptions sommaires des logiciels
Acronyme Signification
Description
Object Linking and
Embedding
Protocole et système d'objets distribués mis au point par
Micosoft. Ce protocole permet notamment à des
applications utilisant des formats différents de dialoguer.
OPC
OLE for Process
Communication
Spécification dédiée à l'interopérabilité des systèmes
industriels initialement développée par Microsoft. La
norme est maintenant sous le contrôle de l'organisme
Fondation OPC.
SCADA
Supervisory
Control And Data
Acquisition
Réfère généralement à un système de contrôle sur PC
permettant la supervision d'un procédé de nature
industrielle, d'infrastructure ou de distribution de
service.
HMI
Human/Machine
Interface
L'interface homme-machine définit les moyens et outils
mis en œuvre afin qu'un humain puisse communiquer
avec une machine.
OTS
Operator Training
Simulator
Simulateur pour l'entraînement des opérateurs.
VBA
Visual Basic for
Applications
Adaptation de Microsoft Visual Basic (VB) intégrée
dans les applications.
OLE
Description sommaire des logiciels
Design II est un logiciel de simulation de procédé dans le domaine de l'industrie chimique
et les hydrocarbures. Le logiciel comporte une interface pour Visual Basic (VB) / C++ et
produit des résultats compatibles Excel.
ProSimPlus effectue la simulation en régime statique de procédés basé sur les bilans de
matière et d'énergie appliquée aux secteurs d'activités de l'industrie chimique,
pharmaceutique et pétrochimique.
13
BatchReactor est basé sur les bilans de matière, d'énergie et d'équilibre de phase qui
permet la simulation dynamique de réacteurs chimiques en mode d'opération en cuvée
simple (« batch »).
BatchColumn permet la simulation dynamique de colonne de distillation.
Simulis Thermodynamics est une application orientée serveur spécialement dédiée aux
calculs de propriétés thermophysiques et est disponible sous forme d'extension MS-Excel
ou de toolbox Matlab.
ProPhyPlus 2 est dédié au calcul des propriétés physiques des fluides et de leur mélange.
ChemCad est une suite de logiciels intégrés permettant la simulation de procédés issues du
secteur du génie chimique. Les simulations Chemcad peuvent être exécutées en mode
serveur OPC, ce qui permet un contrôle de procédé externe à Chemcad et peuvent aussi
s'interfacer avec des logiciels tiers de type HM1/SCADA/OTS.
Promax simule des procédés dans le domaine de la pétrochimie et du génie chimique issue
de ses prédécesseurs TSWEET et PROSPM. Le logiciel s'intègre avec les logiciels Visio,
Excel de Microsoft et peut être automatisé en ayant recours à VBA.
Hysys est un logiciel de simulation de procédés dans le secteur de l'industrie chimique et
des raffineries de pétrole. Tel qu'indiqué au tableau précédent, un certain nombre
d'applications en option (add-on) permettent de compléter le logiciel. Hysys constitue un
des éléments centraux de l'approche AspenOne de AspenTech.
Les modèles Hysys
peuvent être liés à Excel ou à Visual Basic.
Aspen Plus permet le design conceptuel de procédé orienté équations dans le secteur des
procédés chimiques. Les modèles Aspen Plus peuvent être liés à Excel et à Visual Basic.
UniSim est un logiciel de simulation statique et dynamique de procédés qui permet de
modéliser les systèmes liés au raffinage, aux échangeurs de chaleur et à l'industrie
chimique. Il comporte aussi la capacité de traiter la manipulation de solides et de pulpes
(convoyeur, centrifugeuse, concassage, pompe, tamis vibrant, etc.). Côté compatibilité, il
permet d'utiliser des modèles de procédé créés dans l'environnement d'AspenTech et
14
comprend aussi une interface pour Excel et Visual Basic. Étant donné que Matlab peut
communiquer avec Excel via ActiveX, Matlab peut donc communiquer avec Unisim en se
servant d'Excel comme médiateur. Côté connectivité, les modèles simulés peuvent aussi
être interfaces avec un serveur OPC.
GPS-X est utilisé pour simuler des usines de traitement des eaux au niveau municipal et
industriel. Le logiciel supporte la communication avec les environnements Excel et Matlab.
Matlab peut alors être utilisé pour le contrôle.
SimuWorks est une version simplifiée du logiciel GPS-X.
WatPro est un simulateur de qualité de l'eau suite à des scénarios de traitement et de
conditionnement chimique. Le logiciel supporte la liaison optionnelle avec un système
SCADA permettant le suivi temps réel de la simulation.
ModSim (Modular Simulator) effectue la simulation statique de procédés dans le
domaine de l'industrie métallurgique. Le logiciel possède une librairie des principaux
composants retrouvés dans l'industrie minière tels que : broyeurs, tamis, hydrocyclone,
cellule flottation, etc. Le logiciel permet le développement de nouveaux modèles et
composants en plus d'une librairie de modèles existants. Le logiciel ne possède pas
d'interface avec d'autres logiciels comme Matlab.
JKSimMet est un logiciel de simulation et d'analyse de circuits de comminution et de
classification dans le domaine de l'industrie métallurgique.
JKSimFloat permet la simulation statique des performances des usines de flottation dans le
domaine de l'industrie métallurgique.
JKMultiBal regroupe entre autres les logiciels de simulation JKSimNet et JKSimFloat.
SuperPro Designer est un logiciel de simulation de procédé en mode d'opération en cuvée
simple (« batch ») et en mode continu pouvant être utilisé dans plusieurs secteurs d'activité
tels que : biotechnologie, pharmaceutique, industrie chimique, traitement des eaux,
industrie minière, pâtes et papiers, environnement (pollution), etc. En 2001, une étude
comparative (Shanklin et al, 2001) de logiciels de simulation de bioprocédé pour les
15
procédés industriels comparait SuperPro Designer 3.0 de Intelligen au produit Batch Plus
vl.2 d'Aspen et venait à la conclusion qu'ils offraient des performances équivalentes mais
à coût moindre en faveur du logiciel SuperPro. SuperPro supporte OLE-2 et Excel mais pas
de connectivité directe avec Matlab.
Comparaison des logiciels spécialisés de simulation de procédés industriels
Le tableau 2.3 regroupe les caractéristiques clés indiquées précédemment qui ont servi
à établir la solution logicielle la plus intéressante pour appuyer notre démarche de
conception de simulateur de procédés tout en tenant compte des objectifs fixés.
A la lumière des caractéristiques recensées pour chaque logiciel apparaissant aux
tableaux 2.1 et 2.3, il appert que la solution la plus intéressante est UniSim de par sa
versatilité, la disponibilité d'un programme académique offert par le fabricant et de par ses
capacités d'interface avec d'autres environnements dont Matlab via OPC. Le logiciel
SuperPro Designer est, par le fait même, presque aussi intéressant quoiqu'apparaissant plus
limité au niveau des capacités d'interface de communication.
16
Tableau 2.3: Grille comparative des logiciels commerciaux de simulation de procédé
Logiciel
Interconnectivité
Programme
académique
Design II vl0.13
VB/C++ et Excel
Oui
ProSimPlus
BatchReactor
BatchColumn
Simulis
Thermodynamics
ProPhyPlus 2
Aucune mentionnée
Aucune mentionnée
Aucune mentionnée
Excel/Matlab
Oui
(essai possible5)
Statique et dynamique
Statique et dynamique
Type de simulateur
Statique
Aucune mentionnée
ChemCad v6.2
OLE/COM/DCOM
OPC
Oui
(essai possible)
Promax v3.1
Visio, Excel et VBA
Non
Hysys
Aspen Plus
ActiveX, VB &
Excel
Non
(essai possible)
Statique et dynamique
UniSim Design suite
VR390.1
VB, OLE/Active X,
Excel et OPC
Oui
Statique et dynamique
GPS-X v5.02
WatPro v2
SimuWorks
Excel et Matlab
SCADA
Aucune mentionnée
Oui
(démonstateur
disponible )
Statique et dynamique
ModSim v3.6.19
Aucune mentionnée
Oui
(démonstrateur
disponible)
Statique
JKSimMet v5.2
JKSimFloat v6.2
JKMultiBal
Aucune mentionnée
Non
Statique et dynamique
OLE-2/COM et
Excel
Oui
(démonstateur
disponible)
Statique et dynamique
SuperPro Designer
v7.5
Non mentionné
En conclusion, ce premier tour d'horizon de la démarche d'évaluation a permis de
mettre en lumière un certain nombre de constats concernant les logiciels commerciaux
spécialisés dans la simulation de procédés industriels tels que :
•
la plupart des environnements de simulation identifiés ne sont pas multi-domaines mais
plutôt spécialisés dans un seul secteur d'activité;
Signifie qu'une version fonctionnelle du logiciel peut être téléchargée après entente avec le fabricant.
' Signifie qu'une version de démonstration fonctionnelle mais limitée est disponible.
17
•
les logiciels les plus spécialisés, bien que performants et intéressants pour les
spécialistes de l'industrie, sont difficiles d'approche pour un non-initié au secteur
d'activité et donc moins intéressants sur le plan multidisciplinaire dans un contexte
pédagogique universitaire;
•
certains logiciels ont des capacités d'extensions limitées et ne permettent la
paramétrisation de configuration que pour des procédés ou composantes préétablies. De
plus, étant des solutions propriétaires, le code source n'est pas accessible ce qui rend
difficile la vérification des équations de fonctionnement exactes des simulateurs;
•
la plupart des fabricants de logiciels offrent maintenant des versions académiques
permettant de réduire les coûts des licences pour l'acquisition des logiciels;
•
l'interface avec l'environnement Matlab/Simulink n'est habituellement pas disponible
directement. La plupart des produits nécessite d'utiliser Excel comme agent médiateur
de communication via les primitives de communication d'ActiveX. Peu de logiciels
permettent d'intégrer la technique OPC pour la communication avec le procédé simulé.
2.1.2 Matlab/Simulink et ses extensions (toolbox)
Cette section trace un portrait des possibilités de conception de simulateurs de procédés
à l'aide de l'environnement Matlab et de ses différentes extensions (toolbox). Avec Matlab,
il existe essentiellement trois grandes familles d'approches permettant la conception de
modèles de simulation de systèmes physiques :
1) Script;
2) Simulink;
3) Simscape.
Ces approches n'étant pas mutuellement exclusives, il est possible de les combiner afin
de tirer profit des avantages de chaque représentation pour faciliter la mise au point de
modèles de procédé.
IS
1) Script Matlab
Cette première technique fait référence à l'écriture du code de simulation en utilisant le
langage script de Matlab pour créer des modules et fonctions contenus dans des fichiers
textes. Cette façon de faire est aussi la plus ancienne disponible dans cet environnement et
fait habituellement appel au concept de fonctions de transfert ou d'équations d'état pour
décrire le fonctionnement du système à modéliser dans le domaine continu ou discret.
Comme on le verra à la section 2.3.3, il est aussi possible de décrire le fonctionnement d'un
système à l'aide d'équations différentielles en utilisant un formalisme particulier. La
résolution du système d'équation peut ensuite être réalisée directement à l'intérieur d'un
script ou encore, par l'intermédiaire de Simulink. Au niveau de la vitesse d'exécution et de
l'efficacité du code résultant, les simulations sous forme de script sont optimisées en ayant
recours à diverses techniques et différents niveaux de compilation. Depuis un certain
temps, l'environnement Matlab prend en charge automatiquement l'optimisation de
l'exécution des fichiers scripts communément appelés « m­files ».
Afin de faciliter l'utilisation de simulateur développé uniquement à l'aide de scripts,
une interface graphique utilisateur accompagne généralement le produit. À cet effet, le
simulateur SimFlottation (Plamondon et al., 1997), qui modélisé un circuit de flottation à
partir de script Matlab non­compilés, en est un exemple éloquent.
2) Méthode graphique Simulink
L'environnement Simulink permet de représenter le fonctionnement de systèmes décrits
à l'aide d'équations différentielles en reliant des objets graphiques appelés blocs
fonctionnels (blocs intégrateurs et dérivées particulièrement) à l'aide de flux de données
orientés. B ien qu'intéressante pour décrire des systèmes simples, la méthode graphique de
Simulink comporte un certain nombre de limitations telles que :
■ la représentation et l'édition des modèles deviennent lourdes, complexes et sujettes à
erreurs lorsque le nombre de composants graphiques interconnectés augmente
(Zupancic et Karba, 2007);
19
Les modèles conçus avec cette approche ressemblent davantage à la représentation
mathématique sous-jacente du système qu'à l'aspect physique réel du système à
modéliser (Fritzson, 2002);
la possibilité d'ajouter des blocs de fonction, d'utiliser des étiquettes de connexion et
d'encapsuler une partie du modèle rend la lecture et la compréhension des modèles a
posteriori encore plus complexe;
au moment de la construction du modèle, le concepteur doit tenir compte de la direction
des flux d'information lors de l'interconnexion des composants étant donné que
Simulink est un environnement causal (Fritzson, 2003). Cela conduit parfois à prévoir
des interconnexions supplémentaires pour informer les composantes en amont du
comportement de composantes en aval. La figure 2.1, tirée de la simulation dans
SimulPro (Deschênes, 2002) de deux réservoirs connectés en série, illustre cet aspect.
Exemple de connexion
supplémentaire pour informer
une composante en amont
•***• at«.«
D«brt ou! 2 IL'fnln)
«HO w»«n#
«n«r»« <t,»î
«M«veti « 2 !%;
Figure 2.1: Exemple de complication liée à l'approche causale (réservoirs interactifs)
La boîte à outils du simulateur général SimulPro (Deschênes, 2002) ainsi que celle du
simulateur de circuit de broyage Grinding Circuit Toolbox
conçu à l'université de
Concepcion au Chili (Barriga et al., 2001; Sbarbaro et Del Villar, 2002) sont des exemples
d'outils de simulation qui ont été conçus selon cette approche. Ces outils intègrent aussi un
certain nombre de scripts Matlab afin d'alléger la représentation graphique. La section 2.3
traitera et comparera plus amplement différentes variantes de cette approche appliquées à
un système physique simple.
20
3) Extension Simscape et approche acausale
À l'instar
des sociétés concurrentes telles que MapleSoft©
et
MathCore©
(Mathematica), la société Mathworks© a introduit en 2008 son produit de modélisation
Simscape qui permet de créer des modèles de systèmes physiques dans un contexte multidomaines en utilisant une approche de type acausale. Cette approche novatrice permet de
construire des modèles de systèmes sous forme de réseau physique au lieu d'utiliser
uniquement la représentation mathématique sous-jacente à chaque élément constituant le
modèle. À cet égard, la modélisation acausale se rapproche donc davantage de la
représentation physique réelle du système à modéliser.
L'approche acausale s'exprime ici par le fait que les modèles des systèmes physiques
ont leurs constituants inter-reliés par des connexions physiques régies par les lois de la
physique contrairement aux flux de données orientés habituels que l'on retrouve dans les
environnements causaux comme Simulink. L'annexe A présente un exemple appliqué à la
mise en série de circuits RC7 permettant de faciliter la compréhension de la distinction entre
l'approche causale et acausale. Le paradigme de modélisation acausale n'est pas si nouveau
en soit puisqu'il est couramment utilisé par les outils de simulation de circuits électroniques
où chaque point de connexion dans le circuit correspond à un couple de variables
tension/courant appelées couple de variables « across/through8 ». Dans les circuits
électroniques, l'évolution temporelle des variables est régie par les lois physiques des
circuits qui sont un amalgame des lois de Kirchhoff et du comportement électronique
spécifique des composantes discrètes interconnectées. En modélisation acausale multi
domaines, le même principe s'applique mais avec des couples de variables adaptés à
chaque champ d'application. Pour sa part, le langage de description Simscape utilisé pour
décrire le comportement des éléments constituant le système physique modélisé est basé
sur le langage propriétaire orienté-objet Matlab de MathWorks. Ce langage s'apparente
toutefois beaucoup au langage de description Modelica qui sera présenté à la prochaine
section.
7
s
Les circuits RC sont des circuits électriques composés de résistances et de condensateurs.
Le lypejlow est aussi utilisé pour désigner ce type de variable.
21
Une fois le processus de modélisation achevé, Simcape reprend ensuite le modèle pour
générer automatiquement les équations différentielles et algébriques caractérisant le
comportement du système. Le système d'équations résultant est alors simplifié et résolu à
l'aide d'un solveur afin de pouvoir être simulé temporellement. Les modèles peuvent aussi
être traduits dans le langage C afin d'améliorer la performance et permettre une exécution
en temps réel pouvant s'intégrer à une architecture-test de type « Hardware In the Loop »
(HIL). Les modèles ainsi obtenus peuvent ensuite être exportés sous forme d'un bloc
fonctionnel dans l'environnement Simulink où une couche de contrôle peut être ajoutée.
La mise en veilleuse de l'environnement de modélisation Simscape a toutefois dû être
envisagée suite au constat d'une limitation importante relative à l'incapacité de supporter la
modélisation de systèmes physiques comportant un mélange de fluides et dont les
propriétés évoluent dans le temps à l'intérieur du procédé. En effet, pour un domaine
d'application donné, Simscape impose que les caractéristiques du fluide demeurent
constantes pour toute la durée de la simulation, ce qui est incompatible avec les types de
procédés envisagés. De plus, le niveau de maturité limité de la documentation et des
messages d'erreur obtenus à la génération des modèles Simscape sont venus confirmer
qu'il valait mieux mettre de côté cette avenue pour l'instant pour le développement de
simulateurs de procédés. Ces limitations, considérées trop restrictives, ont conduit au rejet
de cette solution potentielle, fl s'agit toutefois d'un produit intéressant pour la modélisation
de procédés répondant aux contraintes de l'environnement de développement.
2.1.3 Environnements de développement compatibles avec Simulink
Issue des recherches entourant l'approche acausale de Matlab utilisée par Simscape,
cette section trace un portrait des possibilités de conception de simulateurs de procédés à
l'aide d'environnements de développement compatibles avec Matlab/Simulink et utilisant
le langage de modélisation Modelica à architecture ouverte et adapté à la représentation de
système à l'aide d'équations différentielles et algébriques (DAE). Si on compare Simscape
avec Modelica, on remarque que les deux langages supportant l'approche acausale
partagent plusieurs caractéristiques. Du côté de Modelica, bien qu'il existe une multitude
d'environnements de développement permettant de mettre en œuvre le langage, peu d'entre
eux offrent une extension permettant d'exporter les modèles conçus dans l'environnement
22
Matlab/Simulink. Dans le cadre de la recherche et des nombreux essais menés, seuls les
environnements MapleSim et Dymola se sont révélés compatibles à cet égard. La seule
contrainte relevée lors du processus d'exportation de modèles vers Simulink a trait à la
nécessité de spécifier le fonctionnement du système en continu car l'exportation de modèles
discrets n'est pas supportée actuellement. Le reste de cette section traite plus en profondeur
du processus de conception et d'interface avec Simulink utilisé par chacun de ces
environnements.
Approche Dymola/Simulink
Cette approche permet de représenter le comportement d'un système physique dans
Dymola qui est un environnement de programmation et de simulation classique adapté pour
la modélisation de systèmes. Le modèle de procédé est ensuite importé à partir de Simulink
sous forme d'une fonction compilée « S-Function ». La description du fonctionnement du
système à modéliser s'effectue à partir de la spécification d'un système d'équations
différentielles et algébriques codé en utilisant directement le langage Modelica à l'intérieur
de Dymola. Dépendamment du domaine d'intervention, la bibliothèque de composants
prédéfinis peut aussi servir afin de simplifier le travail. Au niveau des conditions initiales
des variables différenciées à résoudre, elles sont spécifiées à même les énoncés de
déclaration des variables. Les sorties du système ainsi définies sont composées des
variables à résoudre et autres variables d'intérêts calculées à partir des variables ou
paramètres du système. La figure 2.2 résume l'ensemble du processus menant à la création
d'un modèle pouvant être importé via Simulink. Selon le processus illustré, la première
étape consiste à créer le modèle du système à simuler. Une fois créé, le modèle est ajouté à
la bibliothèque Modelica des objets disponibles pouvant être utilisés pour concevoir
d'autres modèles. Finalement, le modèle est importé sous forme d'une fonction compilée
« S-Function » directement à partir de l'environnement Simulink en vue d'être simulé dans
ce même environnement.
9
En janvier 2010, la version 3.3 de l'environnement SimuIationX s'est ajoutée à cette liste mais n'a pu être
évaluée.
23
CD
CD
Ajout à la bibliothèque Modelica
CD
Dymola
Création d'un
composant
personnalisée
Langage Modelica
Importation et Génération
bloc Simulink
(S-Function)
Simulink
Modèle avec |
S-Function
Figure 2.2: Processus de production d'un bloc Simulink avec l'environnement Dymola
Approche MapleSim/Simulink
Le processus de création d'un bloc Simulink représentant la modélisation d'un système
physique créé à partir de l'environnement MapleSim est présenté à la figure 2.3. Cette
approche est similaire à la précédente à quelques variantes près dont le fait qu'on doive
écrire la mise en équation selon le formalisme de Maple dans une feuille de travail
spécialement prévue à cette fin. De plus, contrairement à Dymola, qui intègre les objets
modélisés directement dans la bibliothèque Modelica, MapleSim procède d'abord à la
génération d'un objet MapleSim. Au moment de la génération de l'objet MapleSim, le code
Modelica équivalent qui est généré en même temps est disponible et peut alors être modifié.
Pour l'instant, la modification du code Modelica de cette section n'a cependant pas d'effet
rétroactif sur la spécification de la mise en équation établie précédemment. De plus, la
version MapleSim utilisée (version 2.0) ne supportait pas l'ensemble de la spécification du
langage Modelica de juillet 2009 (V3.1). Cet aspect, n'étant documenté nulle part, a
nécessité une démarche itérative par essai et erreur pour toute modification du code
Modelica de cette section.
24
CD
CD
Ajout à la bibliothèque MapleSim
Maple
Feuille création d'un
composant
personnalisée
Langage Maple
Maple
Feuille exportation
composant vers
Simulink
CD
Génération bloc Simulink
(S-Function)
Simulink
Modèle avec ]
S-Function
Figure 2.3: Processus de production d'un bloc Simulink avec l'environnement Maple
Est-ce que le langage Modelica constitue une solution adaptée et assez mature pour être
envisagée au point de vue des objectifs fixés pour ce projet de mémoire ? Pour répondre à
cette question, la prochaine section va, dans un premier temps, approfondir les
caractéristiques du langage Modelica, ce qui permettra de mieux comprendre la
comparaison qui sera effectuée par la suite à la section 2.3 entre les environnements
Matlab/Simulink et ceux supportant Modelica qui sont compatibles avec Matlab/Simulink.
2.2 Langage Modelica
Une brève présentation du langage Modelica s'impose à ce stade-ci afin de mieux
comprendre la comparaison qui sera effectuée entre Matlab/Simulink et Modelica à la
section suivante.
2.2.1 Historique et généralités
Le langage Modelica a vu le jour en 1996 (Tiller, 2001) d'un effort international
regroupant des spécialistes en modélisation orienté-objet afin d'offrir à la communauté un
langage conçu spécifiquement pour supporter la description du comportement de systèmes
physiques complexes à l'aide d'équations différentielles et algébriques.
En ce sens,
Modelica représente l'aboutissement pour unifier différentes approches de modélisation de
25
systèmes physiques complexes telles que Dymola10, Omola, ObjectMath, Alan-UML,
SIDOPS, SMILE, etc.
Modelica, qui est un langage non-propriétaire à architecture ouverte (« open-source »),
peut se définir comme un langage orienté-objet et orienté-équation pour la modélisation de
systèmes physiques complexes (Fritzson, 2002). C'est d'ailleurs ce qui le distingue des
autres langages uniquement orienté-objet plus communs tel le C++ car le cœur de la
structure du langage s'appuie avant tout sur la capacité à décrire directement, en utilisant
l'écriture formelle des équations, le fonctionnement les systèmes physiques à modéliser.
Les types d'équations supportées se limitent pour l'instant aux équations différentielles par
rapport au temps et aux équations algébriques. Selon l'objectif visé, il est donc possible de
modéliser la dynamique d'un système ou de ne s'attarder qu'à son régime permanent. Cette
capacité à pouvoir définir des équations rapproche Modelica des langages de spécification
comme VHDL ' ou Verilog utilisés pour spécifier le comportement de circuits
programmables à forte densité.
L'aspect orienté-objet constitue aussi un élément important du langage mais secondaire afin de maximiser la réutilisation des composantes fonctionnelles en permettant la
construction de modèles hiérarchiques. Ce langage est en voie de devenir une norme de
facto car il est supporté par un nombre grandissant d'environnements de développement
dont plusieurs de nature commerciale telles que Mathematica, Maple, Dymola, etc.
Modelica ne se limite pas au monde académique puisqu'il est aussi utilisé depuis une
dizaine d'années par des compagnies œuvrant notamment dans l'industrie de l'automobile,
de la production et de la distribution d'énergie. Par sa nature, Modelica peut être utilisé
pour décrire n'importe quel type de système complexe qu'il soit à caractère continu ou
discret, multi-domaines, multi-fluides ou encore multi-phases. En effet, en autant que des
équations soient établies pour décrire les phénomènes physiques d'intérêt et que le tout soit
cohérent en terme de système d'équations, le reste du travail est dévolu au compilateur et
Dymola (Dynamic Modeling Language) est aussi un langage qui n'a rien à voir avec l'environnement de
développement s'appelant Dymola dont il est question dans ce texte et qui utilise le langage Modelica.
1
' VHDL signifie VHS1C Hardware Description Language alors que VHS1C signifie Very High Speed
Integrated Circuit.
26
au solveur du système d'équations résultant. Modelica ne comporte donc pas les limitations
observées précédemment avec l'environnement Simscape.
Modelica comporte une bibliothèque de composants de base gratuite et disponible
directement dans les environnements de développement pour les domaines suivants :
mécanique (translationnelle et rotationnelle), hydraulique et fluide, thermique, électrique et
électronique. D'autres librairies plus spécialisées sont aussi disponibles moyennant une
licence d'accès. Étant donné que Modelica est une architecture de type « open-source », la
spécification
des objets des librairies est accessible pour vérification. Ceci est
particulièrement intéressant lorsque l'on veut proposer une extension à une bibliothèque
existante ou tout simplement, pour vérifier la mise en équation utilisée pour modéliser un
objet donné.
Au niveau de l'évolution de Modelica, l'association responsable du langage
(www.modelica.org) émet une mise à jour de la spécification sur une base annuelle en
général. En date de rédaction du mémoire, la spécification du langage se situe à la version
3.2 (mars 2010).
2.2.2 Eléments du langage
Un certain nombre d'éléments du langage sont décrits ici afin de permettre une
compréhension du code Modelica présenté dans le mémoire. Pour de plus amples
informations, il est toutefois préférable de se référer à la spécification du langage ou à un
ouvrage spécialisé dans le domaine.
Paramètres
Les paramètres sont des éléments fixes pour la durée d'une simulation mais modifiables
d'une simulation à l'autre (ex: hauteur d'un réservoir). Ils sont habituellement utilisés pour
emmagasiner les constantes de calibrage des modèles et autres entrées fixes du système
(ex : masse volumique des solides). Au niveau de l'initialisation des paramètres, deux
possibilités sont disponibles :
Initialisation directe : La valeur du paramètre est fournie directement à l'initialisation.
27
Initialisation indirecte : La valeur du paramètre provient d'un autre ou d'une combinaison
d'autres paramètres .
Variables
Les variables sont habituellement des propriétés dont la valeur n'est pas connue
d'emblée pour l'ensemble de la simulation. On peut catégoriser les différents types de
variables de la manière suivante :
Variables à résoudre : Ce sont habituellement les variables différenciées. Ce sont les seules
variables pouvant être initialisées. Les variables non-différenciées ne peuvent pas, quant à
elles, être initialisées.
Variables de sortie : Les variables dont on désire communiquer la valeur à l'extérieur de
l'objet et qui sont associées à une sortie de l'objet.
Variables d'entrée : Les variables d'entrées doivent être associées à une entrée de l'objet.
Puisque la valeur initiale proviendra de l'extérieur, ces variables ne peuvent donc pas être
initialisées.
Variables calculées : Données calculées à partir des autres variables et paramètres de
l'objet.
Équations
La section equation du code est l'endroit où apparaissent les lois décrivant le
fonctionnement du système à représenter. Ces équations sont habituellement issues des lois
de conservation de la matière et de l'énergie. C'est aussi l'endroit où l'on spécifie les règles
de calcul des variables autres qu'à résoudre. Les énoncés d'interconnexion des composants
du modèle font aussi partie de cette section.
Afin d'avoir un système déterminé, il est important de spécifier le même nombre de
variables à résoudre que d'équations. Autrement, la traduction du modèle à la compilation
entraînera un message d'erreur de système singulier sur-spécifié ou sous-spécifié. Cette
simple règle peut paraître triviale en soit mais peut devenir un véritable casse-tête lorsque le
12
Cette technique de déclaration des paramètres n'était pas supportée dans la version MapleSim utilisée.
28
nombre de variables augmente. L'implantation de la mise en équation dans un contexte
matriciel est simplifiée car en plus des primitives adaptées de Modelica à cet égard, le
formalisme de l'environnement de commande de Matlab peut être utilisé, à quelques
exceptions près.
Connecteurs
La classe connector est utilisée pour définir les points d'interconnexion des composants
d'un modèle. Dans Modelica, les deux principales catégories de connecteurs disponibles
sont les connecteurs physiques (aussi appelés ports physiques) qui sont basés sur la
circulation d'un flux d'énergie et les connecteurs d'entrées/sorties qui sont basés quant à
eux simplement sur l'échange d'information.
Connecteurs physiques : Ces connecteurs sont définis par un doublet de variables de flux et
de potentiel. Par exemple, pour un connecteur dans le domaine de l'électricité, la variable
de flux est le courant et la variable de potentiel est la tension. Selon les lois de la physique,
une variable de type flux a une sommation à zéro à chaque point de connexion (en
électricité cela correspond à la loi des nœuds de Kirchhoff) et les variables de type potentiel
ont toutes la même valeur pour un point de connexion donné. Ce type de connecteur est
celui qui permet une connexion de type acausal entre deux composants ou plus.
Connecteurs d'entrée/sortie : Ces connecteurs sont définis simplement comme des entrées
ou des sorties et sont donc, par le fait même, la destination ou la source de flux orientés. Ce
type de connecteur est celui qui permet une connexion de type causale entre deux
composants ou plus.
Connexion
La primitive connect est utilisée pour effectuer la connexion entre deux connecteurs ou
plus et doit être spécifiée dans la section equation du code Modelica. Les connexions
peuvent être soient causales ou acausales dépendamment du type de connecteur impliqué
dans la connexion. Lorsqu'on utilise un environnement de développement avec interface
graphique, les énoncés de connexion sont générés automatiquement au fur et à mesure que
l'on procède à l'interconnexion de composants dans un modèle.
29
2.2.3 Compatibilité avec Simulink
Pour qu'un composant d'un modèle développé en langage Modelica puisse échanger de
l'information avec Simulink après son importation, le composant en question doit
comporter des connecteurs d'entrée/sortie. Ces connecteurs d'entrée/sortie permettent alors
l'interconnexion avec les flux orientés de l'environnement Simulink qui ne supporte pas la
notion de connexion physique acausale. La figure A.4 de l'annexe A, qui discute de la
différence entre l'approche causale et acausale, présente cette particularité.
2.3
Comparaison entre Modelica et Matlab/Simulink
Dans cette section, une comparaison qualitative est établie entre les représentations des
mises en équation à l'aide d'équations différentielles de Modelica et de Simulink. Pour
illustrer les différences de chaque façon de faire, chacune des approches est utilisée pour
représenter et résoudre un système physique simple de chauffage d'un fluide dans un
réservoir (Close et al., 2002). Selon cette référence, un réservoir parfaitement mélangé et
réchauffé par un élément chauffant peut être modélisé à partir des deux équations
différentielles suivantes (les 2 équations algébriques ne sont ici que des substitutions et
n'augmentent pas la taille du système à résoudre) :
d n = 7 - f a ( 0 - «tod
(21)
q H L = - Z - [ 8 H - BL]
(2.2)
^ i = - r ~ [QHL -
a
La\
q L a = - J - [ 6 L - ea]
K
La
La nomenclature relative à ce système d'équations est indiquée au tableau 2.4.
(2-3)
(2.4)
30
Tableau 2.4: Nomenclature relative au système de chauffage d'un fluide dans un réservoir
Variable
Valeur
Unité
Description
CH
20.0 x 103
J/K
Capacité calorifique de l'élément chauffant
CL
1.0 x IO6
J/K
Capacité calorifique du liquide
RHL
1.0 x 10 3
K-s/J
Résistance thermique de l'interface élément
chauffant/liquide
RlM
5.0 x IO"3
K-s/J
Résistance thermique de l'interface liquide/air ambiant
9a
300
K
Température ambiante (condition initiale)
OH
À
déterminer
K
Température de l'élément chauffant
OL
À
déterminer
K
Température du liquide
OHL
À
déterminer
J/s
Flux de chaleur issue de la convection à l'interface
élément chauffant/liquide
qiM
À
déterminer
J/s
Flux de chaleur issue de la convection à l'interface
liquide/air ambiant
2.3.1 Solution avec Modelica
Quoique les deux environnements de développement compatibles avec Simulink
(MapleSim et Dymola) nécessitent une approche de conception différente propre à chaque
fabricant, le code Modelica résultant de l'opération de mise en équation donne
sensiblement le même résultat. Avec Modelica, on peut donc implanter la mise en équation
de ce système de la manière décrite à la figure 2.4.
31
model PT_Reservoir_chauffant "Comparaison Simulink et Modelica"
import INT = Modelica.Blocks.Interfaces;
// Selon exemple pg 385 Close Frederick Newell, 2002
// Constantes thermiques:
parameter Real Ch = 20.0e3
parameter Real CI = 1.0e6
parameter Real Rhl = 1.0e-3
parameter Real Ria = 5.0e-3
"unité
"unité
"unité
"unité
parameter Real Ta = 300
parameter Real Tsp = 365
"unité K";
"unité K";
J/K";
J/K";
s.K/J";
s.K/J";
//
//
//
//
Heater capacitance
Liquid Capacitance
Heater-liquid resistance
Liquid-ambiant resistance
// Température ambiante
// Température désirée
// Variables manipulées:
Real qi; // Qté de chaleur fournie par l'élément chauffant
// Variables de sortie: avec CI de Th(0) = T1(0) = Ta
Real Th(start=Ta,fixed=true)
// Temperature de l'élément chauffant
Real Tl(start=Ta,fixed=true)
// Température du liquide
// Variables intermédiaires (CI déduite à partir des équations 1 et 2
Real qhl; // flux de chaleur de l'élément chauffant au liquide
Real qla; // flux de chaleur du liquide à l'air ambiant
equation
der(Th) = (qi - qhl)/Ch; // Eq 1
der(Tl) = (qhl - qla)/Cl; // Eq 2
// Changements de variable
qhl = (Th-Tl)/Rhl; // Eq 3
qla = (Tl-Ta)/Rla; // Eq 4
//
y
yl
qi
Entrée/sorties
= Th; // Eq 5
= Tl; // Eq 6
= u; // Eq 7
end PT_Reservoir_chauffant;
Figure 2.4: Code Modelica permettant de modéliser le système (Dymola)
2.3.2 Solutions avec Simulink
Plusieurs techniques peuvent être utilisées afin de solutionner un système d'équations
comportant des équations différentielles dans Simulink. Parmi les plus courantes, on trouve
notamment :
32
•
solution avec des blocs simples et intégrateurs ou dérivés;
•
solution avec représentation d'états;
•
solution avec blocs de fonction et bloc intégrateur en rétroaction;
•
solution avec « S-Function ».
i)
Solution avec des blocs simples et intégrateurs ou dérivés
Avec Simulink, on peut modéliser le même système graphiquement uniquement à
l'aide de blocs de type intégrateur, gain et sommation. Les conditions initiales sont
spécifiées soient directement à l'intérieur du bloc intégrateur ou encore, par l'entremise
d'une entrée externe au bloc intégrateur comme dans la solution de la figure 2.5.
n—i
L
« i — I I
*►♦
I I
►
Cl
ai:tj
Figure 2.5: Système modélisé avec des blocs simples de Simulink
Note : Les paramètres CH, CL, RHL et RLa utilisés dans le modèle Simulink doivent être
déclarés dans l'environnement Matlab au préalable avant d'exécuter la simulation.
Toutefois, une méthode encore plus simple pour déclarer et initialiser ces paramètres avec
une valeur par défaut à la simulation du modèle est d'utiliser la fonction « Model callback »
InitFcn située dans les propriétés du modèle.
33
ii) Solution avec représentation d'états
Lorsqu'il est possible de représenter un système d'équations en utilisant la
représentation d'états (lorsqu'il s'agit d'un système linéaire), la solution Simulink
s'exprime de manière très concise comme le montre la figure 2.6. Dans ce mode de
représentation, les conditions initiales sont spécifiées directement à l'intérieur du bloc
d'équation d'état.
qi(t)
4H
[W]
x = Ax+Bu
y = Cx+Du
Ta
Réservoir avec
theta_H et L
élément chauffant
Temperature ambiante (Ta)
Figure 2.6: Système modélisé avec des équations d'états dans Simulink
Les équations d'états du système simple de chauffage sont données par :
A.
OH
AJ
= A
= C
\e„]
CH^HL
î
\.CLRHL
CHRHL
-
i
CLRHL
i
CLRLa]
, B=
*m
(2.5)
° ei
(2.6)
\o H ]
i
A=
+
CH
0
0
i
QRLaJ
, c=
î g.«-B a <">
34
iii) Solution avec bloc de fonction et bloc intégrateur en rétroaction
Le recours à un bloc de fonction permet de simplifier la représentation et
l'implantation des équations du système comme le montre la figure 2.7. Le bloc de fonction
à utiliser pour cette solution est celui portant le nom « Embedded MATLAB Function »
situé sous la rubrique « User-Defined Functions ». Les conditions initiales sont ici
spécifiées directement à l'intérieur du bloc intégrateur mais elles pourraient aussi l'être par
l'entremise d'une entrée externe au bloc intégrateur. Cette façon de faire est l'une de celles
qui se rapprochent le plus de la solution avec Modelica car somme toute, le bloc de
fonction «embedded » n'est qu'une enumeration des équations différentielles telle que le
montre la figure 2.8 mais sous un formalisme un peu plus abstrait cependant.
theta H et L
Integrator
Figure 2.7: Système modélisé avec un bloc de déclaration des fonctions dans Simulink
function [y, xd]= calcDeriv(u,x,CH, CL, RHL, RLa, Ta)
%#eml
% u =
qi
% x =
[thetaH
thetaL]
% xd = [d(thetaH)/dt
d(thetaL)/dt]
xd = zeros(2,1);
xd(l) = (u - (x(l)-x(2))/RHLJ/CH;
xd(2) = (((x(l)-x(2))/RHL) - (x(2)-Ta)/RLa)/CL;
y = x;
Figure 2.8: Code de la fonction calcDeriv de la figure 2.8
35
iv) Solution avec « S-function »
Cette solution se rapproche de la précédente dans la mesure où la description du
système en termes d'équations différentielles est détaillée dans un fichier de fonction. Les
« S-function » (« system function ») consistent en une description fonctionnelle d'un bloc
Simulink écrite à l'aide d'un des nombreux langages de programmation supportés par
Matlab. Il s'agit d'un moyen puissant d'étendre les possibilités de Simulink. Dans ce cas-ci,
le langage utilisé est le langage de commande de Matlab. Le recours aux « S-function » est
aussi la technique utilisée par les environnements de développement supportant le langage
Modelica pour exporter les modèles dans Simulink. Outre le fait que ces fonctions sont
programmées à l'aide du langage C et ensuite compilées, l'analyse sommaire de leur
contenu démontre une structure semblable au niveau de la déclaration du système
d'équations.
Comme le montre la figure 2.9, la solution avec « S-function » ne nécessite pas de
recourir à un intégrateur en rétroaction car la fonction de dérivation fait partie intrinsèque
de la définition de la fonction. Cette simplicité de représentation au niveau de Simulink est
quelque peu compensée par le travail de déclaration requis à l'intérieur de la fonction.
Notons aussi que les entrées/sorties de la « S-function » sont multiplexées.
Le recours à une « S-function » nécessite toutefois de respecter un certain formalisme
de déclaration afin de permettre une intégration dans l'environnement Simulink. Comme le
montre la solution complète en annexe C, les particularités les plus importantes de ce
formalisme se situent au niveau de la fonction mdllnitializeSizes() qui permettent de définir
les dimensions du système ainsi que de spécifier les conditions initiales, de la fonction
mdlDerivatives() qui contient la définition du système d'équation à résoudre et finalement,
de la fonction mdlOutputs(). La figure 2.10 illustre les éléments pertinents des sousfonctions dont il faut tenir compte lors de l'implantation de la mise en équation d'un
système à l'aide d'une « S-function ». Même si le reste du contenu de la « S-function »
disponible à l'Annexe B semble un peu abstrait, il ne nécessite pas de modification et peut
donc être utilisé tel quel pour implanter un autre système d'équations.
36
T-
-M-*
PT Reserv Chauffant
S-Funtjtion
qi(t)
*
Tl
Figure 2.9: Système modélisé avec une « S-function »
function [sys,xO,str,ts] = PT_Reserv_Chauffant(t,x,u, flag)
function [sys,xO,str,ts]=mdlInitializeSizes;
sizes = simsizes;
sizes.NumContStates
sizes.NumDiscStates
sizes.NumOutputs
sizes.Numlnputs
sizes.DirFeedthrough
sizes.NumSampleTimes
=
=
=
=
=
=
2
0
2
1
0
1
% Nombre d'états continus: Th et Tl
% Nombre de sorties: Th et Tl
% Nombre d'entrées: qi
sys = simsizes(sizes);
% Spécification des conditions initiales
xOl = 300; % Th(0) = Ta
x02 = 300; % T1(0) = Ta
xO = [xOl x02];
function sys=mdlDerivatives(t,x,u,dperiod,doffset)
% u(l) = qi(t) et x(l) = Th, x(2) = Tl
% sysl = dTh/dt et sys2 = dTl/dt
CH=20.0e3;
CL=1.0e6;
RHL=1.0e-3;
RLa=5.0e-3;
Ta=300;
%
%
%
%
%
J/K
J/K
s*K/J
s*K/J
K
qhl = (x(l)-x(2))/RHL;
qla = (x(2)-Ta)/RLa;
sysl= (u(l) - qhl)/CH;
sys2= (qhl - qla)/CL;
sys = [sysl sys2];
function sys=mdlOutputs(t,x,u)
sys = [x(l) x(2)] ;
Figure 2.10: Extrait de la S-function permettant de modéliser le système
37
Dans le cas où des équations algébriques devraient aussi être implantées dans le
modèle sous Simulink, il suffirait de construire le modèle de la même façon en incluant un
bloc « Algebraic Constraint (Math Operations) » dans le modèle pour chaque équation
algébrique contributive. En ce qui a trait à Modelica, il suffirait simplement d'ajouter les
équations algébriques dans la section « equation » de la même façon que les équations
correspondant aux changements de variable ont été ajouté dans cet exemple. Dans son tri
des variables et des équations lorsque Modelica établi la structure du système à résoudre,
les changements de variables sont considérés comme des variables intermédiaires calculées
à partir des inconnues à résoudre (Fritzson, 2003).
2.3.3 Solutions avec Matlab/Simulink
Comme annoncé précédemment, il est aussi possible d'implanter la mise en équation
d'un système à l'aide de scripts en utilisant ou non l'environnement Simulink à titre
complémentaire.
i) Utilisation d'un modèle Simulink à partir d'un script
En modifiant légèrement le modèle Simulink de la solution avec S-function de la
section précédente, on peut simuler le modèle conçu dans Simulink directement à partir
d'un script à l'aide des fonctions simset et sim de Matlab. La modification la plus
importante à apporter au modèle est de remplacer les variables d'entrée/sortie explicites par
des ports d'entrée/sortie comme illustré à la figure 2.11. Cette modification permet
d'alimenter et de récupérer les données du modèle directement à partir du script. Cette
façon de faire nécessite de définir les entrées à appliquer au système à chaque pas
d'intégration et de spécifier les options de la simulation relativement au solveur sélectionné
et à la tolérance désirée de résolution. La figure 2.12 donne le script permettant d'effectuer
la simulation du réservoir chauffant dans les mêmes conditions que les simulations
précédentes.
PT
Res&rv
Chauffant
S-Function
H^
3D
Figure 2.11: Modèle Simulink du réservoir chauffant avec ports d'entrée/sortie
38
dt = 1; % pas d'intégration d'une unité de temps (seconde)
tf = 1.5e4; % Simulation sur l'horizon [0,1.5e4s]
tcut = 1 ; % temps nécessaire pour atteindre le rég ime permanent pour
% application de l'échelon à 1'entrée
timel = [0:dt:(tcut-dt)]';
time2 = [tcut:dt:tf-dt] * ;
% La dernière entrée débute au temps tf -dt) et se termine au temps tf
time = [timel ; time2];
% Sélection du solveur et de la tolérance de résolution
options=simset('Abstol',1.e-3,'Solver', 'ode4 5' );
% Définition des valeurs initiales du vecteur colonne des états
xOl = 300; % Th(0) = Ta
x02 = 300; % T1(0) = Ta
xO = [xOl ; x02];
% Définition de la première entrée (ul = qi)
ull = 0 .* ones(size(timel));
ul2 = (1.5e4).* ones(size(time2));
ul = [ ull ; ul2 ];
u = [ul];
% Avertissement: u a la même dimension que time et dépend
% du pas d'intégration
% Regroupé à l'intérieur d'une matrice, u et time forme ut
ut = [ time u ];
% Simulation sur [0,tf]
% La définition de tfinal tient compte du problème du pas d'intégr ation
tfinal = [0:dt :tf-dt];
% PT_Reserv_chauffant_S_Function_PortIO.mdl est un modèle Simulink qui
contient
% la S-function PT_Reserv_Chauffant.m et est définie par
% des ports d'entrées (contenant u) et de sorties (contenant x et y)
[time,x,y] =
sim('PT_Reservoir_chauffant_S_Function_ _PortIO',tfinal,options,ut);
% Affichage des résultats
figure(1); clf;
plot(time,[x(:,1) x(:,2)]);
xlabel('Temps');
ylabel('Temperature Th et Tl');
grid on;
Figure 2.12: Script permettant d'exécuter le modèle du réservoir chauffant
39
ii) Résolution entièrement à partir d'un script
Il est aussi possible de définir le comportement du système à partir d'équations
différentielles à l'aide d'une fonction Matlab. On utilise ensuite un script pour résoudre le
système d'équations en faisant appel directement à la fonction d'intégration désirée (par
exemple odel5s) et en initialisant au préalable les options d'intégration à l'aide de la
fonction odeset. Il est aussi possible d'invoquer directement l'intégrateur numérique pour
chaque pas d'échantillonnage pour un système discret. La figure 2.13 illustre la conception
de la fonction Matlab pour représenter le système de réservoir chauffant. La figure 2.14
indique une manière simple de définir le comportement d'une entrée pour l'horizon de
simulation alors que la figure 2.15 présente le script utilisé pour simuler le comportement
du système.
function
dydt
CH=20.0e3;
CL=1.0e6;
RHL=1.0e-3;
RLa=5.0e-3;
Ta=300;
qhl
qla
=
=
= PT_Reserv_Chauffant_Fonction
(t,
y,
u)
% J/K
% J/K
% s*K/J
% s*K/J
%K
(y(l)-y(2))/RHL;
(y(2)-Ta)/RLa;
% dydt(l)=dTh/dt dydt(2)=dTl/dt y(1)=Th y(2)=Tl
% L'entrée qi(t) est fournie par une fonction externe Matlab
dydt(l)= (qi(t) - qhl)/CH;
dydt(2)= (qhl
- qla)/CL;
dydt=dydt(:);
end
Figure 2.13: Fonction Matlab simulant le comportement du système
function y = qi(t)
if (t<l)
y=0;
else
y=1.5e4;
end;
end
Figure 2.14: Fonction représentant le comportement de l'entrée q,(t)
40
t0=0;
tf=l.5e4;
dt = l;
tspan=[tO:dt:tf];
Ta = 300;
y0(l)= Ta; % Th(0) = Ta
y0(2)= Ta; % T1(0) = Ta
y0=y0(:);
% faire vecteur colonne sinon reste vecteur ligne
options=odeset('reltol',le-3);
[t,y]=odel5s(@PT_Reserv_Chauffant_Fonction, tspan, yO,options);
figure(1);
clf;
plot(t,[y(:,l) y(:,2)]);
grid on;
"igure 2.15: Script permettant de simuler le comportement du réservoir chauffant
2.4 Sélection de l'approche pour la création du modèle de procédé
À la lumière de la comparaison effectuée à la section précédente, l'approche Modelica
apparaît comme une alternative intéressante à l'utilisation de Matlab/Simulink comme
formalisme de modélisation pour la construction de simulateurs de procédés à partir des
équations de fonctionnement se présentant sous la forme d'équations différentielles et
algébriques (DAE). En effet, l'exemple de la section précédente, pourtant très simple car ne
contenant que deux équations différentielles, permet de démontrer pourquoi l'approche
avec un langage basé sur les équations comme Modelica est beaucoup plus directe d'usage
pour implanter une mise en équation décrivant le fonctionnement d'un système physique.
L'expérience démontre clairement que l'appropriation de la mise en équation est beaucoup
plus simple et rapide avec ce type de langage étant donné la similarité avec le formalisme
d'écriture (Tiller, 2001). De plus, l'écriture d'équations sous forme textuelle facilite le
repérage d'erreurs et minimise le temps imparti pour effectuer la mise en forme graphique
et l'encapsulation de certaines parties du modèle. Finalement, les mécanismes de
vérification de la conformité du système d'équation dans Modelica permettent d'éviter de
se retrouver dans une situation de sous ou sur-spécification particulièrement lorsque le
nombre d'équations devient plus important.
41
Toutefois, étant donné qu'en bout de ligne, les modèles de procédé sont destinés à être
importés dans l'environnement Simulink, il faut garder à l'esprit que le comportement de
Simulink est causal. Ceci implique que si le modèle de procédé est constitué de plusieurs
composantes
et
que
ces
composantes
sont
importées
individuellement
dans
l'environnement Simulink, il faudra prévoir une connectivité causale au niveau des
composantes au moment de leur conception dans l'environnement de développement.
Autrement, il faudra interconnecter le tout a priori dans l'environnement de développement
et prévoir uniquement les entrées/sorties nécessaires en vue de l'exportation du modèle
sous forme d'un seul bloc fonctionnel monolithique vers Simulink.
Pour ce qui est de Simulink, la méthode de conception la plus flexible est sans
contredit celle avec des blocs simples et intégrateurs (solution Simulink #1) alors que celles
qui se rapprochent le plus de la solution Modelica sont la solution avec bloc de fonction
embarquée et bloc intégrateur en rétroaction (solution Simulink #3) et la solution avec « Sfunction » (Solution Simulink #4). La solution avec équations d'états (solution Simulink
#2) est d'une application limitée puisqu'elle a pour contrainte que de ne s'appliquer qu'aux
systèmes linéaires. La solution réalisée entièrement à partir de script Matlab se rapproche
aussi du formalisme utilisé par Modelica. L'approche sélectionnée pour la réalisation de
simulateurs de procédés consiste donc à optimiser ce que chaque environnement fait le
mieux, c'est-à-dire Modelica pour la simplicité de modélisation à l'aide des équations et
Simulink, le contrôle et l'optimisation.
Maintenant, une question subsiste : devrait-on plutôt envisager utiliser un logiciel
commercial de simulation spécialisé au lieu d'opter simplement pour Modelica en
complément à Simulink ? La réponse à cette question n'est pas triviale car chaque approche
comporte ses avantages et inconvénients. D'une part, l'approche mettant en œuvre un
logiciel spécialisé présente l'avantage d'avoir été éprouvée et optimisée tant au niveau du
code que de l'interface pour le secteur d'activité pour lequel il a été conçu. En contrepartie,
ce type de logiciel manque habituellement de souplesse pour s'adapter à différents
domaines d'activité. De plus, étant des logiciels de nature commerciale, il n'est pas
toujours évident de connaître les détails d'implantation des modèles utilisés dans ces outils
spécialisés. Finalement, avec un logiciel spécialisé, l'effort de modélisation se limite
généralement à un travail de paramétrisation du logiciel et présuppose à cet égard une
42
certaine connaissance du champ d'activité. Cependant, étant donné que le contexte de
réalisation de ce projet concerne un environnement de recherche multidisciplinaires et
sachant que les modèles de procédé sur lesquels s'appuient les procédés envisagés seront
sujets à changements, il apparait plus pertinent de développer les simulateurs en question
dans un environnement de développement plus générique. Une telle approche présente
aussi l'avantage d'être à la fois plus flexible et permet une meilleure appropriation du
secteur d'activité par le responsable de l'implantation.
C'est donc pour l'ensemble de ces raisons que le choix de l'approche combinée
Modelica/Simulink a été maintenu. Toutefois, dans la mesure où cela sera aussi souhaitable, par exemple pour valider des résultats de simulation dans un domaine d'application
particulier, le recours à des logiciels spécialisés pourra aussi être envisagé de manière
ponctuelle.
2.5 Conclusion
Ce chapitre a tout d'abord permis de faire un tour d'horizon des possibilités offertes
pour développer des simulateurs de procédés. Suite à la mise à l'essai de différentes pistes
de solution, un nouveau type de langage ayant un formalisme basé sur les équations et
permettant une approche de modélisation acausale a été expérimenté. L'annexe A a
d'ailleurs été consacrée à l'explication plus détaillée de la distinction entre l'approche
classique causale et celle acausale étant donné F aspect relativement novateur du concept en
modélisation de systèmes physiques. Finalement, tout en gardant à l'esprit les objectifs du
projet indiqués au premier chapitre, une analyse des différentes expérimentations effectuées
a permis de dégager le processus de développement à privilégier pour la suite du projet. À
cet égard, il est tout de même dommage que SimScape, le produit acausal de Matlab, n'est
pas été assez souple pour permettre la réalisation de l'ensemble du développement dans un
seul environnement.
Concernant le langage Modelica retenu pour l'aspect modélisation de procédé, un
nombre limité d'environnements de développement compatibles avec Simulink se sont
avérés disponibles. Afin de permettre une interprétation de l'essentiel du code Modelica
apparaissant dans ce mémoire, une section du chapitre a été consacrée à une description
43
sommaire du langage. Bien que Modelica ne soit pas l'unique langage basé sur les
équations, les autres langages disponibles identifiés lors de recherches connexes effectuées
durant le projet tels que SysML et VHDL-AMS n'ont pas été investigués étant donné que
l'objet du mémoire ne concerne pas que la modélisation.
L'approche privilégiée consistant à utiliser soient l'environnement Maple ou Dymola
comporte tout de même un certain nombre de limitations et d'irritants identifiés lors du
projet. Bien qu'ils n'aient pas tous un impact important sur le projet, la liste suivante
indique les principaux éléments relevés méritant une attention particulière.
•
À ce jour, la spécification de Modelica (v3.2 mars 2010) ne supporte pas encore
formellement la description de systèmes à l'aide d'équations différentielles aux dérivées
partielles bien qu'un certain nombre de propositions en ce sens aient déjà été publiées
(Fritzson, 2003; Li et al., 2008). Actuellement, la description des systèmes est donc
limitée aux équations différentielles par rapport au temps uniquement;
•
Afin de permettre l'exportation des modèles, la modélisation doit être effectuée dans le
domaine continu. L'exportation vers Simulink de modèles dans le domaine discret n'est
pas supportée;
•
La version MapleSim utilisée
ne supporte pas l'ensemble de la spécification
Modelica, ce qui entraîne qu'il est hasardeux de modifier le code Modelica directement
dans la feuille de travail de Maple;
•
Afin de pouvoir utiliser dans Simulink un modèle développé dans Dymola, une version
fonctionnelle de Dymola doit être présente sur le poste de travail14.
En conclusion, ce chapitre constitue donc l'élément charnière entre la définition des
objectifs du premier chapitre et le reste du mémoire qui est consacré à la conception de
simulateurs de procédés, au contrôle et à l'optimisation dans différents champs d'activité.
Les trois autres chapitres, dont le prochain relatif à des procédés issus du domaine du génie
chimique (Corriou, 2004), permettront de démontrer que l'approche de conception
privilégiée est viable peu importe la complexité du système à représenter.
1
MapleSim v2.0 et Maple v3.01
La version non-éducationnelle de Dymola permet de générer des « S-function » complètement autonome et
permet ainsi d'éviter cet irritant.
14
44
45
Chapitre 3
Validation de l'approche à l'aide de procédés
étalons
Ce chapitre traite de quatre procédés étalons (« benchmark ») de complexité variée
issues du domaine du génie chimique qui ont servi pour valider l'adéquation de l'approche
du langage Modelica pour la modélisation de systèmes physiques. Ces systèmes, dont le
fonctionnement est décrit à l'aide d'équations différentielles et algébriques, sont d'abord
implantés et simulés dans les environnements de développement supportant le langage
Modelica sélectionné au chapitre précédent. Les mises en équation de ces procédés sont
toutes issues du livre de Corriou (2004). Outre la mise en équation, l'intérêt pour ces
procédés étalons vient du fait que les points d'opération nominaux sont publiés à même
l'ouvrage, ce qui simplifie la démarche de simulation dynamique de ces systèmes puisque
certains de ces procédés sont hautement non-linéaires (ex : changement de signe du gain) et
pour certains, instables en boucle ouverte. Les procédés étalons sont ensuite exportés dans
l'environnement Simulink pour vérifier la concordance de leur fonctionnement avec
l'environnement de développement Modelica et avec les résultats attendus mentionnés dans
Corriou (2004). Pour ce chapitre, les aspects contrôle et optimisation ne sont pas
développés car l'emphase est uniquement placée au niveau de la simulation des systèmes.
3.1 Echange de chaleur simplifié
Le système décrit ici consiste en un échangeur de chaleur réduit à sa plus simple
expression. Pour ce système, on ne s'intéresse qu'aux propriétés thermiques (conduction)
temporelles des deux fluides en circulation. Aucune dynamique faisant intervenir des
réactifs n'est prise en compte. Le recours à un coefficient global de conduction de chaleur
entre les deux circuits de fluide indépendants permet aussi de simplifier le modèle
puisqu'aucun aspect concernant la problématique de distribution de chaleur dans l'espace,
46
qui nécessiterait le recours aux dérivée partielles, n'est abordée. L'intérêt de présenter ce
premier exemple de modèle de système est son réinvestissement dans les exemples
subséquents pour les réacteurs nécessitant un contrôle de température. Suivant ce principe,
on pourra soit amener des réactifs à leur température optimale pour favoriser les
interactions désirées ou encore, éviter qu'un procédé exothermique ne dévie à l'extérieur du
domaine des températures admissibles en évacuant la chaleur dégagée à l'extérieur des
réacteurs.
3.1.1 Explication du fonctionnement du procédé et de la problématique de contrôle
Le schéma de la figure 3.1 présente l'échangeur de chaleur simple traité dans cette
section. On désire contrôler la température (Tc) d'un fluide froid en manipulant le débit
massique (Fh) d'un fluide chaud. Les températures des fluides chaud (Thin) et froid (Tcin) à
l'entrée sont appelées à changer (perturbations) de même que le débit massique du fluide
froid (Fc). Afin de simplifier la problématique, on fait l'hypothèse d'un mélange parfait à
l'intérieur de l'échangeur. Cette hypothèse permet de considérer que les températures de
sortie du fluide chaud (Th) et du fluide froid (T,) sont les mêmes en tout point à l'intérieur
de l'échangeur. Un coefficient global de transfert de chaleur h est ainsi considéré pour la
paroi du chemisage séparant le fluide chaud du chemisage du fluide froid circulant dans
l'échangeur.
Fc.Tc
3
F h, Th,
T,
I
Fh.Th
F C .T C
Figure 3.1: Schéma d'un échangeur de chaleur simple
47
3.1.2 Equations de bilan du modèle
Les équations différentielles du premier ordre suivantes décrivent le déséquilibre
thermodynamique entre le fluide chaud du chemisage et le fluide froid à l'intérieur de
l'échangeur de la figure 3.1 :
m h C p h ( ^ ) = F h C pn (T nin - T h ) + A (Tc - T h )h
(3.1)
m c C pc ( ^ ) = FcCpc(Tcin - T c ) - A (Tc - T h )h
(3.2)
F
h = QhPh
(3.3)
Fc = QcPc
(3.4)
La nomenclature relative à ces équations est indiquée aux tableaux 3.1 et 3.2. Le dernier
terme des équations 3.1 et 3.2 du bilan est identique à un signe près étant donné qu'il
indique l'échange thermique qui se produit par conduction à travers le chemisage entre le
fluide chaud et froid. Le premier terme de chaque équation indique l'apport (ou la perte) de
chaleur associé à l'entrée de fluide à une certaine température dans le chemisage (dans
l'échangeur).
3.1.3 Simulation du procédé
Cette section présente le comportement en boucle ouverte du procédé pour différents
scénarios de mise à l'essai. Pour les fins de la simulation de ce procédé, les variables qui
sont considérées comme mesurées, manipulées ou à contrôler sont les suivantes:
•
Variables d'entrée mesurées : Tcm, Thm, Fh et F c
•
Variables de sortie mesurées : T, et T„
•
Variable manipulée : Fi,
•
Variable à contrôler : T,c
1
Les conditions initiales à spécifier pour les variables dépendantes lors de simulations
sont indiquées au tableau 3.1.
4S
Tableau 3.1 : Conditions initiales correspondant à l'état d'équilibre
Variable
Description
Valeur
n
Température du fluide chaud à la sortie
380 K
Tc
Température du fluide froid à la sortie
330 K
En absence de spécification de ces conditions initiales, l'environnement de dévelop­
pement Modelica initialisera ces variables à 0. Cela aura alors pour effet de provoquer un
transitoire au début de la simulation afin de permettre à ces variables d'atteindre leur
régime permanent correspondant au point d'équilibre défini par le point d'opération
considéré. Pour leur part, les conditions d'opération nominales du modèle ainsi que les
paramètres de calibrage de ce modèle d'échangeur thermique simple apparaissent au
tableau 3.2.
Tableau 3.2: Valeurs des paramètres du modèle et des entrées à l'équilibre
Paramètre
Description
Valeur
Unité
Fh
Débit massique du fluide chaud
29.68
kg/s
Fc
Débit massique du fluide froid
37.32
kg/s
Thin
Température du fluide chaud à l'entrée
420
K
T■
Température du fluide froid à l'entrée
295
K
Ph
Densité du fluide chaud
900
kg/m
Pc
Densité du fluide froid
800
kg/m3
mh
Masse du fluide chaud dans l'échangeur
180
kg
mQ
Masse du fluide froid dans l'échangeur
640
kg
Cph
Capacité calorifique du fluide chaud
2200
J/(kg­K)
y­pi
Capacité calorifique du fluide froid
2000
J/(kg­K)
h
Coefficient global de transfert de chaleur
740
W/(m2K)
A
Surface d'échange (convection thermique)
70.6
m2
QH
Débit volumique du fluide chaud15
0.0330
m3/s
Qc
Débit volumique du fluide froid15
0.0466
m3/s
1
cm
Cette valeur n'a pas à être spécifiée puisqu'elle est déduite des équations algébriques 3.3 et 3.4.
49
Simulation 1 : Réponse à deux échelons sur /•',,
L'application d'échelons sur la variable manipulée F h en boucle ouverte, illustrée à la
figure 3.2, permet de déterminer que les amplitudes des réponses ainsi que les dynamiques
sont comparables pour un échelon positif ou négatif pour chacune des variables observées
considérées. La dynamique du changement de température du fluide chaud est ici plus
rapide puisque l'apport de flux énergétique au liquide externe est en effet plus rapide que la
conduction de chaleur, ce qui correspond aux résultats attendus pour ce système. L'absence
de transitoire au tout début de la simulation indique que les variables dépendantes ont été
initialisées avec les valeurs correspondantes au régime permanent défini par le point
d'opération considéré.
36
34
^
32
30
28
50
100
150
100
150
Temps [s]
386
Temps [s]
329.5
0
50
Temps [s]
Figure 3.2: Réponse du système à des échelons sur F h (variable manipulable)
50
Simulation 2 : Réponse à des perturbations en échelon sur T cin , T!un et F,
L'application de perturbations de type échelon sur les entrées du procédé Tcin, Thin et F c
à la figure 3.3 permet d'évaluer l'impact de ces variables sur les sorties T„ et Tc du procédé.
Pour cet essai, F h est maintenu constant à son point d'opération nominal (voir tableau 3.2).
42
40
38
36
O
C
50
100
150
200
250
150
200
2 . 30
T e m p s [s]
296
295 ■
?
294
293
292
o
50
100
T e m p s [s]
440
435
430
425
420
415
1OO
385
p
__
50
150
T e m p s [s]
100
150
Temps [s]
r^
200
250
200
250
331
?
325
100
150
T e m p s [s]
Figure 3.3: Réponse du système à des perturbations échelons sur F c , Tci„et Thin
51
3.2 Réacteur Van der Vusse
La réaction Van der Vusse a lieu ici dans un réacteur de type réservoir parfaitement
mélangé (CSTR) et est souvent décrite dans la littérature sur le contrôle de procédé
(Graichen et al., 2008). L'intérêt de modéliser ce procédé est qu'il est hautement nonlinéaire (réponse asymétrique, changement de signe du gain, etc.) autour du point
d'opération représentant ainsi un défi intéressant pour son contrôle et son optimisation.
3.2.1 Explication du fonctionnement du procédé et de la problématique d'opération
La figure 3.4 présente le réacteur parfaitement mélangé où se produit la réaction Van
der Vusse dont il est question dans cette section. La problématique principale de ce réacteur
consiste à réguler la concentration de l'espèce intermédiaire B (CB) en jouant sur la variable
manipulée du débit d'alimentation de l'espèce A (F) à concentration fixe (Ct/). Aux
conditions nominales d'opération indiquées au tableau 3.4, la concentration en régime
permanent de l'espèce B (CB) est de 1 mol/L et celle de A à 2.5 mol/L (voir tableau 3.3).
Afin de simplifier la problématique, on fait l'hypothèse d'un mélange parfait à l'intérieur
du réacteur. Cette hypothèse permet de considérer que les concentrations CA et CB des
espèces A et B sont les mêmes à l'intérieur et à la sortie du réacteur. On considère aussi que
le réacteur est exploité en mode continu, ce qui signifie que le débit d'entrée F est le même
que le débit de sortie.
CA. CB,
Ce, Cn
Figure 3.4: Schéma d'un réacteur Van der Vusse
52
3.2.2 Equations de fonctionnement et de bilan du modèle
Les équations suivantes décrivent la réaction Van der Vusse ayant lieu dans le
réacteur :
A2 B 2 C
2A2
D
(3-5)
(3-6)
Bien qu'il ne s'agisse pas d'un procédé isothermique, la température n'est pas prise en
compte dans la modélisation du fonctionnement du procédé par l'auteur. L'évolution des
changements de concentration des espèces A et B constituant le bilan de matière du procédé
est, quant à lui, représenté à l'aide des équations du premier ordre suivantes :
^
= - k t C A - k3C* + £ (CAf - CA)
^ =
k,CA-k2CB-F-CB
(3.7)
(3.8)
La nomenclature relative à ces équations est indiquée aux tableaux 3.3 et 3.4. Les deux
premiers termes de l'équation 3.7 correspondent à la dynamique de consommation de
l'espèce A alors que le dernier terme correspond à l'apport en continu de l'espèce A au
réacteur. Pour ce qui est de l'espèce B, le premier terme de l'équation 3.8 correspond à la
partie de la cinétique de consommation de l'espèce A qui a trait à la génération de l'espèce
B et les deux derniers termes correspondent à la cinétique de consommation de l'espèce B,
l'une étant liée à l'apport de l'espèce A.
3.2.3 Simulation du procédé
Cette section présente le comportement en boucle ouverte du procédé pour différents
scénarios de mise à l'essai. Pour les fins de la simulation de ce procédé, les variables qui
sont considérées comme mesurées, manipulées ou à contrôler sont les suivantes:
53
•
Variables d'entrée mesurées : F et CAf
•
Variables de sortie mesurées : CA et CB
•
Variable manipulée : F
•
Variable à contrôler : CB
Les conditions initiales à spécifier pour les variables dépendantes lors de simulations
apparaissent au tableau 3.3. Pour leur part, les conditions d'opération nominales du modèle
ainsi que les paramètres de calibrage de ce modèle de réacteur Van de Vusse apparaissent
au tableau 3.4.
Tableau 3.3: Conditions initiales correspondant à l'état d'équilibre
Variable
Description
Valeur
CA
Concentration de l'espèce A
2.5 mol/L
CB
Concentration de l'espèce B
1 mol/L
Tableau 3.4: Valeurs des paramètres du modèle et des entrées à l'équilibre
Paramètre
V
Description
Volume du réacteur
Valeur
Unité
1
L
CAf
Concentration fixe à l'alimentation de l'espèce A
10
mol/L
h
Constante cinétique liée à l'espèce A
50
h"1
k2
Constante cinétique liée à l'espèce B
100
h1
h
Constante cinétique liée à l'espèce A
10
LV(molh)
F
Débit d'alimentation de l'espèce A à concentration
25
L/h
fixe CA/
CA
Concentration de l'espèce A à l'équilibre
2.5
mol/L
CB
Concentration de l'espèce B à l'équilibre
1
mol/L
54
Pour les deux simulations suivantes, la concentration à l'alimentation de l'espèce A est
maintenue fixe à CAf.
Simulation 1 : Réponse à un échelon négatif sur F
Lorsque les concentrations des espèces A et B se situent à leur équilibre au point
nominal d'opération et qu'un échelon négatif est appliqué sur le débit d'alimentation F, la
figure 3.5 met en évidence que le réacteur présente, à l'égard de l'évolution de la
concentration de l'espèce B, une légère tendance initiale allant dans le sens inverse par
rapport à la tendance principale en régime permanent. Dans les deux cas, les tendances à
long terme des deux sorties ont des amplitudes allant dans le même sens que l'échelon
instigateur.
30
:
I
I
I
20
-J
«
10
0
0.01
0.02
0.03
0.04
0.05
0.06
Temps [heures]
0.07
0.08
0.09
0.1
0
0.01
0.02
0.03
0.04
0.05
0.06
Temps [heures]
0.07
0.08
0.09
0.1
0
0.01
0.02
0.03
0.04
0.05
0.06
Temps [heures]
0.07
0.08
0.09
0.1
Figure 3.5: Réponse du procédé à un échelon négatif
55
Simulation 2 : Réponses à des échelons positifs sur F
Comme le montre la figure 3.6, selon l'amplitude de l'échelon de F par rapport au
point d'opération nominal, le procédé présente deux réponses différentes. Pour des
échelons d'amplitudes allant jusqu'à environ 10 L/h, le procédé présente le même type de
réponse que la simulation 1. Toutefois, on observe que la variation de l'amplitude de la
sortie Cb en régime permanent décroit au fur et à mesure que l'on s'approche de la valeur
charnière où elle devient alors nulle. Pour des échelons au-delà de cette valeur charnière, la
concentration de l'espèce B en régime permanent présente une valeur inférieure par rapport
au point d'opération nominal du procédé.
Au point de vue temporel, la tendance est cependant toujours la même : au fur et à
mesure que l'amplitude de l'échelon F augmente, on constate une diminution continuelle
de la concentration de l'espèce B en régime permanent. Cela s'explique par le fait qu'une
augmentation de F entraîne automatiquement une diminution du temps de résidence du
mélange, laissant ainsi moins de temps à la réaction de l'équation 3.3 de se produire pour
générer l'espèce intermédiaire B.
De la même façon, les résultats obtenus s'interprètent tous par le changement soudain
du temps de résidence et par conséquent du taux de dilution provoqué par l'échelon de
produit A dans le mélange qui a pour effet de modifier la concentration instantanée l'espèce
B dans le mélange jusqu'à l'atteinte d'un nouvel équilibre.
56
250
200
• Echelon de 25 Uh
Echelon de 225 Uh
150
100
50
0
0.01
0.02
0.03
0.04
0.05
0.06
Temps [heures]
0.07
0.08
0.09
0.1
Echelon de 25 Uh
Echelon «de 225 Uh
0
0.01
0.02
0.03
0.04
0.05
0.06
Temps [heures]
0.07
0.08
0.09
0.1
Figure 3.6: Réponses du procédé à des échelons de différentes amplitudes
3.3 Réacteur semi-continu
Chin et al (2000) décrivent le modèle de réacteur semi-continu chemisé qui est le lieu
de réactions exothermiques série-parallèles. Le réacteur en question est exploité en mode
semi-continu, ce qui signifie que la sortie du réacteur est fermée jusqu'à ce que la recette
soit complétée au bout d'un temps limite prédéterminé. La nature multivariable du procédé
alliée à la contrainte d'atteinte d'un objectif de production rend ce procédé particulièrement
intéressant au niveau contrôle et optimisation.
57
3.3.1 Explication du fonctionnement du procédé et de la problématique d'opération
La figure 3.7 présente le schéma du réacteur parfaitement mélangé utilisé en mode
semi-continu considéré dans cette section. L'espèce A est tout d'abord chargée dans le
réacteur avant que ne débute la recette et le conditionnement en température. Ensuite, une
période de temps de 30 minutes est allouée au début de la recette afin de permettre à
l'espèce A d'atteindre une température à l'intérieur des limites d'opération acceptables
pour le procédé. Ensuite, afin d'amorcer la réaction série-parallèle décrite à la section 3.3.2,
l'espèce B est ajoutée au réacteur à un débit pouvant varier à l'intérieur de limites
préétablies jusqu'à la fin de la recette. La figure 3.8 résume l'ensemble du processus.
Contrairement aux procédés précédents, celui-ci comporte des contraintes liées au temps, à
la température du chemisage du réacteur ainsi qu'au débit d'alimentation de l'espèce B. Ces
contraintes sont énoncées à la section 3.3.3. Outre le respect des contraintes, l'objectif du
procédé est d'atteindre une production de C de 42 moles à la fin de la recette.
CV- Qf. Tf
Ci,
Ce, Cn
V, T
CB,
Figure 3.7: Schéma du réacteur semi-continu
58
k
Contrôle de température
l
^«v.
i
\ /
1
1
Chargement
de A
noo
i 30
10
te1*
T [min]
Chargement
deB
Conditionnement
en température
Décharge
Figure 3.8: Processus du réacteur semi-continu
3.3.2 Équations de fonctionnement et de bilan du modèle
Les équations suivantes décrivent les réactions série-parallèles ayant lieu dans le
réacteur utilisé en mode semi-continu :
fei
(3.9)
A+B^C
fc2
B + C^>D
(3.10)
n =k\C A C B
(3.11)
ri = k 2 C B C c
(3.12)
L'équation suivante présente le bilan de température du réacteur
dT
Qf
VA
T
Ar/j
k
c
c
M = f v - ^ - v * ( - v - i z ;pCp> * °
L\H2
pc p
*2 CB Q
(3.13)
La nomenclature relative à cette équation est indiquée aux tableaux 3.5 et 3.6. Cette
équation tient compte de l'échange thermodynamique entre le chemisage et le réacteur ainsi
que de celui provoqué par la température l'espèce B ajoutée en continu au mélange. Les
59
deux derniers termes de l'équation de bilan correspondent à la chaleur dégagée par les
réactions parallèles entre les espèces A et B et aussi entre les espèces B et C.
L'évolution des changements de concentration des espèces A, B et C constituant le
bilan de matière du procédé est modélisé à l'aide des équations suivantes :
^=­k
l C A
C
B
­^C
(3.14)
Â
dCR
Or
­ £ ■ = ­k x C A C B ­ k 2 C B C c + ­ j ­ (CBf ­ CB )
dC r
Or
­ ± = krCACB ­ k 2 C B C c ­ y C
c
(3.15)
(3.16)
La nomenclature relative à ces équations est indiquée aux tableaux 3.5 et 3.6. L'équation
3.14 décrit la diminution de l'espèce A causée par la réaction entre l'espèce A et B . La
variation de l'espèce B est présentée par l'équation 3.15 où les deux premiers termes
correspondent à la diminution de l'espèce par consommation suite à la réaction avec les
espèces A et C et à l'augmentation provoquée par l'ajout au mélange au cours de la recette.
Finalement, l'équation 3.16 illustre la variation de l'espèce C où le premier terme
représente la génération de l'espèce conséquemment à la réaction entre les espèces A et B.
Les 2 derniers termes expliquent pour leur part la diminution de l'espèce C causée par la
réaction avec l'espèce B pour produire l'espèce D.
L'équation suivante présente l'évolution du volume du réacteur :
dV
­ =
Q
,
(3,7,
Puisqu'il s'agit d'un réacteur semi­continu (débit de sortie nul durant la recette), l'évolution
du volume décrit par l'équation 3.17 correspond simplement à l'intégration du débit
d'alimentation de l'espèce B au réacteur durant la recette.
Finalement, la loi d'Arrhenius permet d'exprimer les constantes cinétiques ki et k2
comme suit :
ki = k io e­ E > /RT
(3.18)
60
où le ratio E/R représente l'énergie d'activation et kto un facteur de calibrage.
3.3.3 Simulation du procédé et contraintes d'opération
Cette section présente le comportement en boucle ouverte du procédé pour un scénario
donné de mise à l'essai. Pour les fins de la simulation de ce procédé, les variables qui sont
considérées comme mesurées, manipulées ou à contrôler sont les suivantes:
•
Variables d'entrée mesurées : Q/ ,CBf, Tf et Tj
•
Variables de sortie mesurées : CA , CB, Ce, Vet T
•
Variable manipulée : Qf et Tj
•
Variable à contrôler : V et Ce
L'objectif principal poursuivi lors de la réaction semi-continue de ce réacteur est de
maximiser la quantité de l'espèce C et d'atteindre 42 moles au terme du processus qui est
d'une durée stricte de 100 minutes. De plus, tout au long de ce processus semi-continu, un
certain nombre de contraintes opératoires doivent être respectées. Ainsi, la température à
l'intérieur du chemisage (Tj) doit entre contenue entre 298 K et 318 K et le débit de
l'espèce B (QA doit demeurer à l'intérieur de la plage de 0.5 L/min à 1.5 L/min. L'espèce B
qui amorce la réaction semi-continue ne doit pas être ajoutée au réacteur avant la fin du
conditionnement en température de l'espèce A. Tout cela dans un contexte où la
concentration de l'espèce A (CA) est échantillonnée à tous les 10 minutes et mesurée avec
un délai de 5 minutes.
Les conditions initiales à spécifier pour les variables dépendantes lors de simulations
apparaissent au tableau 3.5. Pour leur part, les conditions d'opération nominales du modèle
ainsi que les paramètres de calibrage de ce modèle de réacteur semi-continu sont indiquées
au tableau 3.6.
61
Tableau 3.5: Conditions initiales
Variable
Description
Valeur
T
Température du mélange
298 K
CA
Concentration de l'espèce A
1 mol/L
CB
Concentration de l'espèce B
0 mol/L
Ce
Concentration de l'espèce C
0 mol/L
V
Volume du mélange dans le réacteur
Qf
Débit d'alimentation de l'espèce B
50 L
0 L/min si / < 31 min
(2/(0 L/min si / > 31min
Tableau 3.6: Valeurs des paramètres du modèle et des entrées
Paramètre
Description
Tf
Température à l'alimentation de l'espèce B
Tf
Température du chemisage
UA
pc p
Coefficient réduit de transfert de chaleur
Valeur
Unité
308
K
[298,318]
K
0.375
L/min
k\o
Facteur de calibrage de la cinétique k\
5.0969 x IO16
L/(molmin)
k2o
Facteur de calibrage de la cinétique k2
2.2391 x IO17
L/(molmin)
CBJ
Concentration à l'alimentation de l'espèce
0.95
mol/L
E\/R
Énergie d'activation de la réaction #1
12305
K
E2/R
Energie d'activation de la réaction #2
13450
K
Enthalpie réduite de réaction #1
-28.5
KL/mol
Enthalpie réduite de réaction #2
-20.5
KL/mol
10
min
pCp
AH2
pCp
Ts
Période d'échantillonnage
62
Simulation : Réponse du procédé suite au maintien des conditions d'opération
Pour cet exemple de simulation en boucle ouverte, les variables manipulables du
procédé sont maintenues à 310 K pour la température du chemisage (Tj) et à 0.9 L/min pour
ce qui est du débit d'alimentation de l'espèce B ((?/)• La sortie du réacteur étant fermée
durant la recette, son volume est le résultat de l'intégration du débit d'ajout de l'espèce B .
La figure 3.9 montre qu'il est presque possible en boucle ouverte d'atteindre l'objectif visé
de production de C qui est de 42 moles.
:
1
n ft
^ .
_i
Cb
E
^*"*^^
^^^-^^^^
0.4
0.2
0
--
■»—«i^r
___j
T
r<f~""' "'
()
10
20
30
40
50
60
Temps [min]
70
80
90
10
40
j
o
r
*
^
y / ^
O
10
s ^
0
(
)
10
20
30
40
50
Temps [min]
60
70
80
90
10
10
20
30
40
50
60
Temps [min]
70
80
90
100
320
315
„ 310
300
295
Figure 3.9: Réponse du procédé au maintien des conditions d'opération
63
3.4 Réacteur instable dans un réservoir parfaitement mélangé (UCSTR)
Il s'agit ici d'un procédé consistant en un réservoir parfaitement mélangé alimenté en
continu où se produit une réaction exothermique. La température du réacteur est contrôlée
par le biais d'un échangeur de chaleur intégré dans la chemise du réacteur. Ce procédé a
déjà été étudié par Uppal et al. (1975). Le comportement de ce procédé est intéressant du
point de vue contrôle dans la mesure où il est non-linéaire pour certaines amplitudes de Tc
dans certaines directions.
3.4.1 Explication du fonctionnement du procédé et de la problématique d'opération
La figure 3.10 présente le schéma du réacteur parfaitement mélangé utilisé en mode
continu dont il est question dans cette section. La température du réacteur T, qui est le lieu
d'une réaction exothermique en continu, est contrôlée par l'entremise de la température
d'un fluide 7} contenu dans le chemisage du réservoir. Contrairement au procédé décrit à la
section 3.2 (réaction Van der Vusse), la température à l'intérieur du réacteur est prise en
compte dans la mise en équation de ce procédé puisqu'elle contribue à moduler directement
la vitesse de transformation de l'espèce A en espèce B. De plus, les résultats des
simulations effectuées à la section 3.4.3 démontrent la non-linéarité du procédé autour du
point d'opération considéré, ce qui représente encore une fois un défi intéressant pour le
contrôle.
A
C CB. T
Figure 3.10: Schéma du réacteur instable parfaitement mélangé
64
3.4.2 Equations de fonctionnement et de bilan du modèle
L'équation suivante décrit la réaction ayant lieu dans le réacteur :
A^B
(3-19)
Les équations suivantes présentent le bilan de température et de matière du procédé :
dT
q
UA
L\H ,
,
F/BT.
-17= T?(. T f- T } + -U~r ( T c - T ) - — k 0 e t - E ' * r ) c A
(3.20)
*2_„ - k 0 e ^ ^ C A + ^ ( C A f - C A )
(3.21)
dt
V
VpCp
pCp
La nomenclature relative à ces équations est indiquée aux tableaux 3.7 et 3.8. L'équation
3.20 tient compte de l'effet refroidissant causé par l'échangeur de chaleur (1 er terme de
l'équation) et par l'apport de l'espèce A au réacteur (2e terme de l'équation) et, finalement,
de l'effet réchauffant causé par la réaction exothermique de transformation de l'espèce A
(dernier terme de l'équation). Pour sa part, l'équation 3.21 tient compte de la dynamique
de consommation de l'espèce A pour créer l'espèce B et de l'apport continu de l'espèce A
au réacteur. Ces deux bilans sont exprimés à l'aide d'équations différentielles du premier
ordre.
3.4.3 Simulations du procédé
Cette section présente le comportement en boucle ouverte du procédé pour différents
scénarios de mise à l'essai. Pour les fins de la simulation de ce procédé, les variables qui
sont considérées comme mesurées, manipulées ou à contrôler sont les suivantes:
•
Variables d'entrée mesurées : q, CAf, Tf, Tc
•
Variables de sortie mesurées : CA ,V, T
•
Variable manipulée : T,
•
Variable à contrôler : T
65
Les conditions initiales à spécifier pour les variables dépendantes lors de simulations
apparaissent au tableau 3.7. Pour leur part, les conditions d'opération nominales du modèle
ainsi que les paramètres de calibrage de ce modèle de réacteur sont indiqués au tableau 3.8.
Tableau 3.7: Conditions initiales à l'équilibre
Variable
Description
cA
Concentration de l'espèce A dans le réacteur
T
Température du réacteur
Valeur
9.3413xl0"2 mol/L
385 K
Tableau 3.8: Valeurs des paramètres du modèle et des entrées à l'équilibre
Paramètre
Description
Valeur
Unité
Tf
Température de l'alimentation
350
K
H
Débit d'alimentation de l'espèce A
100
L/min
1
mol/L
100
L
5xl0 4
J/(minK)
7.2xl010
min"1
CAf
V
Concentration de l'espèce A à l'alimentation
Volume du réacteur
UA
Coefficient de transfert de chaleur
ko
Facteur exponentiel
E/R
Énergie d'activation réduite
8750
K
-AH
Chaleur dégagée par la réaction
5xl0 4
J/mol
P
Densité du contenu du réacteur
1000
g/L
cP
Capacité calorifique du contenu du réacteur
0.239
J/(gK)
Tc
Température du liquide refroidissant
311.1
K
66
Simulation 1 : Réponse à un échelon positif sur '/",
La figure 3.11 présente la réponse du procédé en boucle ouverte par rapport à son point
d'équilibre spécifié aux tableaux 3.7 et 3.8 lorsqu'un échelon de 5 K est appliqué sur
l'entrée Tc. On constate que l'élévation de la température du liquide refroidissant a pour
effet de favoriser une transformation accrue de l'espèce A et de permettre ainsi une hausse
de la température du réacteur étant donné qu'il s'agit d'une réaction exothermique. La
réponse du système démontre la présence d'un dépassement à la fois sur la concentration de
l'espèce A et sur la température du mélange contenu dans le réacteur.
316
E
314
fi
. -
-|
.-
i
312
310
4
5
Temps [min]
6
10
4
5
T e m p s [min]
6
10
4
5
T e m p s [min]
6
10
0.09
0.08
S
0.07
392
390
2"
—
388
386
3.94
Figure 3.11: Réponse du procédé à un échelon positif
67
Simulation 2 : Réponse à des échelons négatifs sur T,
Soit le cas d'un échelon négatif de 5 K appliqué sur l'entrée 7V-. Le procédé est entraîné
vers l'instabilité comme le montre la figure 3.12 (courbes -5 K) en provoquant des oscillations entretenues au niveau de la sorties CA et conséquemment sur la sortie T. Le cycle
peut s'expliquer par le fait que l'abaissement de la température du liquide refroidissant a
pour effet de ralentir la transformation de l'espèce A d'où l'augmentation de sa
concentration pour la première moitié du cycle et la baisse de température du réacteur.
Cependant, à partir d'une certaine concentration de l'espèce A, la réaction exothermique de
transformation de l'espèce A reprend le dessus d'où la baisse de la concentration de
l'espèce A et la hausse de la température du réacteur. Lorsque la concentration de l'espèce
A devient insuffisante pour compenser l'effet du liquide refroidissant, la réaction diminue
d'intensité et la température du réacteur se remet à descendre. Ce phénomène est attribuable
au fait que l'abaissement de température n'est pas suffisant pour contrôler la réaction.
Toutefois comme le montre aussi la figure 3.12 (courbes -7.9 K), si on continue d'abaisser
la température du liquide refroidissant de 2.9 K supplémentaire, le phénomène oscillatoire
disparait et la concentration de l'espèce A se stabilise à 0.76 et la température du réacteur à
334 K.
68
312
•
310
308
o
Échelon -5K
■
■
■
■
306
304
302
3
C
4
5
Temps [min]
6
7
8
9
10
i
0.8
..«»*
=r 0.6
Échelon -5K
Échelon -7.9 K
£• 0.4
s
0.2
4
5
Temps [min]
6
4
5
Temps [min]
6
10
Figure 3.12: Réponse du procédé à un échelon négatif de 5 K
3.5 Conclusion
Ce premier chapitre appliquant la méthode de conception proposée a permis de faire un
premier exercice de validation des outils de mise en équation et de migration vers
l'environnement Simulink. B ien que les cas traités ici soient peu complexes en terme de
systèmes d'équation, ils n'en demeurent pas moins suffisants, dans un premier temps, pour
démontrer la faisabilité de l'approche privilégiée pour la conception de simulateurs de
procédés avec le langage Modelica et les environnements de développement Dymola et
MapleSim. Les deux prochains chapitres aborderont en ce sens des systèmes d'équations
plus complexes pour lesquelles la démarche s'étendra aussi au contrôle et à l'optimisation
du procédé une fois simulé et importé dans l'environnement Simulink.
69
Chapitre 4
Procédé de culture de microalgues
Ce chapitre traite de la modélisation d'un procédé de culture de microalgues en
photobioréacteur. Comparativement au chapitre précédent, le système d'équations
différentielles et algébriques décrivant le fonctionnement de ce procédé est plus élaboré. En
plus du système d'équations calibré sur des essais antérieurs sur le procédé, un modèle
existant bâti à partir de blocs Simulink, tel que décrit au chapitre 2, était disponible à titre
de référence afin de faciliter la poursuite de la validation de l'approche Modelica. Sous sa
formulation actuelle, la mise en équation du bioprocédé supporte les trois modes
opératoires suivants : cuvée simple (« batch »), semi-continu (« semi-batch ») et continu.
Au moment de la rédaction, les responsables du procédé étudiaient la possibilité de
convertir le procédé du mode d'opération en cuvées simples à continu afin de maximiser la
quantité de biomasse produite par le bioréacteur.
La première partie du chapitre présente la description du procédé afin de comprendre
l'intérêt que revêt ce bioprocédé pour l'industrie. La modélisation du fonctionnement du
procédé est ensuite exposée, ce qui permet l'implantation de sa mise en équation à l'aide de
Modelica. Par la suite, une validation avec le modèle Simulink du procédé pour le mode
d'opération en cuvée simple est réalisée. Puis, afin de permettre la conception d'une
commande algébrique du procédé, le simulateur est placé dans le mode d'opération continu
à un point d'opération réaliste afin de procéder à l'identification. La commande algébrique
développée a pour objectif de contrôler les paramètres de l'environnement de culture ainsi
que le niveau du bioréacteur. Au niveau de l'optimisation du procédé en mode continu, une
section est ensuite consacrée à la recherche d'un point d'opération, défini en termes de taux
de dilution, permettant de maximiser le taux instantané de production de biomasse. Cette
étude constitue donc un apport afin d'évaluer la viabilité économique d'une production
70
industrielle basée sur les résultats à plus petite échelle. Pour conclure le chapitre, le
simulateur de bioprocédé est finalement mis à contribution afin de reconstituer les données
issues d'un essai réel sur le procédé en mode cuvée simple effectué en juin 2009.
4.1 Description du procédé
On estime qu'il y a environ entre 8 000 à 26 000 espèces différentes de microalgues
dont une majorité reste encore à décrire et définir (Kim & Lee, 2005). Malgré l'abondance
des espèces disponibles, elles ne sont pas pour autant toutes d'intérêt pour la culture en
bioréacteur et ce, pour plusieurs raisons dont : toxicité, faible teneur en nutriments et autres
composants d'intérêt, fragilité, etc.
Comme le montre la figure 4.1, la microalgue Nannochloropsis Oculata utilisée dans le
procédé à l'étude est un phytoplancton de couleur verte et sa taille moyenne se situe autour
de 2 à 4 microns. C'est aussi l'une des espèces présentant un des meilleurs rendements en
teneur
d'acide
gras
polyinsaturé
(AGPI)
essentiel
Omega-3
(EPA
ou
acide
eicosapentaénoïque) et en vitamine B12. À titre de référence, la figure 4.2 illustre où se
situe cet acide gras essentiel dans la famille des lipides. Comme cette microalgue a déjà fait
l'objet de beaucoup de recherche, ses paramètres de culture sont généralement bien établis.
T^Jm0
CD
G
N&
° OQ
o ©
O
^
o
Figure 4.1 : Vue au microscope de la microalgue Nannochloropsis Oculata
71
Famille des
Lipides/Graisses
Acides gras saturés
Acide
Alpha-linolénique
(ALA)
Acides gras monoinsaturés
Acide
eicosapentaénoïque
(EPA)
Acides gras
polyinsaturés
Acide
docosahexaénoique
(DHA)
Figure 4.2: Famille des lipides
Les raisons motivant l'étude de la croissance des microalgues en cultures artificielles
sont multiples. En plus d'être à la base de la chaîne alimentaire dans les océans, il a été
démontré que le phytoplancton est plus efficace que les plantes terrestres pour effectuer la
captation du carbone (CO2) dissous dans l'eau par l'entremise du processus de
photosynthèse (Brown & Zeiler, 1993). Contrairement à d'autres techniques de captation
du carbone qui font face à une problématique de disposition par enfouissement, la culture
de micro-algues présente l'avantage de produire une biomasse pouvant s'avérer utile dans
plusieurs secteurs de l'activité humaine par la suite (Lee & Lee, 2003; Cheng et al., 2006).
L'espèce spécifique de la microalgue étudiée ici est reconnue pour son efficacité pour
produire de la biomasse riche en lipides (Chiu, 2008) qui peut servir ensuite pour :
• la production de biocarburant (biodiésel) renouvelable et peu polluant (Chisti, 2007);
• le secteur de l'alimentation, étant donné qu'elle représente une source importante de
lipides essentiels (omega-3);
• la composition de cosmétiques (pigments et soins de la peau).
72
Du côté du montage physique, le bioréacteur servant à la culture de microalgues dont il
est question dans ce chapitre est schématisé à la figure 4.3. Comme le montre ce schéma, le
bioréacteur est constitué de 6 colonnes cylindriques de 7 pieds de hauteur et de 7 pouces de
diamètre inter reliées par leur base. Le bioréacteur où sont conduites les expérimentations
est situé à la station aquicole de 1TSMER (UQAR) à Pointe-au-Père près de Rimouski. Le
niveau d'opération est à environ 90 % du niveau maximum des colonnes et donne
approximativement 250 litres comme volume d'opération. La connaissance de la géométrie
des colonnes du bioréacteur permet de traduire la valeur d'un niveau mesuré en volume ou
vice-versa, ce qui peut s'avérer utile en contrôle. En effet, une consigne de niveau peut être
traduite à l'interne en consigne de volume pour une loi de commande prévue à cet effet
comme ce sera le cas pour ce procédé.
(#T)
(#2)
(#3)
(#4)
(#5)
(#6)
Volume d'opération approx: 250 L
Figure 4.3: Géométrie des réservoirs constituant le bioréacteur
La figure 4.4 illustre pour sa part l'ensemble des variables d'entrées et de sorties
considérées pour ce procédé de culture de microalgues. La nomenclature relative à cette
figure est présentée au tableau 4.1.
T,
Milieu de
culture
:}
s,
î=7'
X
M
S
DO
T
0
QAP,)
pH
CO,
V
T
QA
Figure 4.4: Schéma de principe du photobioréacteur
73
Tableau 4.1 : Nomenclature relative au bioprocédé décrit à la figure 4.4
Unité
Variables d'entrées
(manipulables)
Description
Intensité lumineuse à la surface extérieure du réacteur
uE/S-m2
QA
Débit de bullage en air
mL/min
Qc
Débit de bullage en C0 2
mL/min
Qi
Débit d'alimentation en milieu frais
L/jour
Qo
Débit de récolte (sortie)
L/Jour
/
Variables de sorties
(mesurées ou estimées)
C02
U
u
«ri
S
<
DO
h
pH
Concentration en gaz carbonique dissout (phase aqueuse)
% de saturation
de l'air
Concentration en oxygène dissout
% de saturation
de l'air
Niveau du milieu de culture dans le photobioréacteur16
m
Potentiel hydrogène (pH) du milieu de culture
unité de pH
xlO6 cellules/h
P,
Production instantanée (produit Q0X)
S
Concentration en sels minéraux dans le réacteur17
V
Volume contenu dans le réacteur
X
Concentration de biomasse dans le photobioréacteur
IJ
Taux de croissance global18
l/jour
Si
Concentration en sels minéraux à l'alimentation
mM/L
Ta
Température ambiante
mM/L
L
xlO6 cellules/mL
K
Fonctionnement sommaire du procédé
Soit l'équation réactionnelle simplifiée du procédé de production de biomasse dans un
photobioréacteur pour un mode d'exploitation en cuvée simple:
X0 (inoculé) + C( C0 2 ) + C(S) -> P(X)+ P(0 2 )
où C correspond au processus de consommation et P à celui de production.
Connaissant la géomélrie du bioréacteur, à partir du niveau on peut calculer le volume contenu dans le
réacteur.
17
Cette variable n'est pas mesurée mais peut être estimée à l'aide d'un observateur.
18
Comme on le verra à l'équation 4.10, le taux de croissance global est fonction de plusieurs taux de
croissance spécifiques /j/,-.
(4.1)
74
Cette expression nous révèle qu'une certaine concentration de biomasse X0 doit être
initialement présente dans le milieu de culture d'un photobioréacteur pour amorcer la
réaction de production. Suite à la mise en place des conditions visant à assurer un milieu de
culture adéquat pour permettre la croissance des microalgues, la réaction de photosynthèse
provoque la consommation de CO2 et de sels minéraux (source d'azote) et la production de
biomasse et d'oxygène. Tout au long de la réaction, un certain nombre de variables
permettant de moduler la dynamique réactionnelle du procédé, telles que celles liées à
l'environnement de croissance des microalgues, peuvent ensuite être contrôlées afin
d'optimiser la production du bioréacteur. Les variables considérées pour ce système qui
permettent d'ajuster le niveau de productivité du bioréacteur, directement relié au taux de
croissance global p de la biomasse, sont la luminosité /, la concentration en sels minéraux
5 , la concentration en biomasse X, le pH
et finalement, la quantité d'oxygène dissous
DO dans le milieu de culture. Bien que la température du milieu de culture ait aussi un
impact sur p, elle n'a pas été incluse dans les équations de fonctionnement de ce
bioprocédé puisqu'elle est maintenue constante tout au long de la réaction et égale à la
température ambiante Ta.
4.2 Modélisation
La modélisation de ce bioprocédé a d'abord été effectuée préalablement à cette étude
en tenant compte des phénomènes les plus représentatifs du procédé, de la littérature sur les
bioréacteurs, des lois de conservation (volume, espèce, matière) et de l'observation du
comportement du procédé. À l'égard de la modélisation de ce procédé, les principales
hypothèses simplificatrices formulées sont :
•
mélange parfait (causé par le bullage d'air principalement);
•
température ambiante constante ne modifiant pas la dynamique du procédé;
•
intensité de la source lumineuse fixe;
•
pH pouvant être estimé à l'aide de la concentration en CO2 dissout contenu dans le
bioréacteur;
19
Les sels minéraux sont pour l'instant la seule source d'azote pour la constitution de la biomasse.
' Le pH est approximé
approxin à partir de la concentration en C0 2 dissout qui est du même ordre que le nombre
d'ions H+ disponible.
20
75
taux de mortalité négligeable et n'apportant pas de nutriments stimulant la croissance;
modèle supportant les trois modes d'opération21 en autant que l'on ne s'éloigne pas trop
•
des limites de validité du modèle en terme de condition de viabilité de la microalgue
considérée.
Equations de fonctionnement
Cette section établit le modèle dynamique du bioprocédé sur lequel s'appuiera le reste
de la démarche. Au niveau de la modélisation, les cinétiques réactionnelles du procédé sont
établies sur une base de temps en heures, ce qui implique un certain nombre de conversions
au niveau du simulateur pour tenir compte des unités nominales utilisées dans le tableau
4.1.
Au niveau du volume dans le bioréacteur, l'équation de conservation s'exprime comme
suit :
d v
Tt=Qi-Q0
(4-D
Cette expression montre que la variation de volume du bioréacteur s'exprime uniquement
comme la différence entre le débit entrant et quittant le réservoir, ces débits étant causés par
des pompes à l'entrée et à la sortie du bioréacteur. Pour le mode d'opération en cuvée
simple, on aura un bioréacteur qui fonctionnera à volume fixe avec Qi = Q0 = 0 pour la
durée de la recette alors que pour le mode d'opération semi-continu, on aura Qi ï 0 et
Q0 = 0. Pour le mode d'opération continu, on aura un bioréacteur qui fonctionnera à volume
fixe avec Qj = Q() ^ 0 en régime permanent.
Pour sa part, la conservation de la biomasse donne l'expression suivante:
d(XV)
dV
dX
Dans cette expression, le produit pXV indique la quantité de biomasse produite moyennant
un taux de croissance p donné alors que le produit Q,X indique le taux de récolte de
biomasse (instantané). Cette équation montre que la variation de la quantité totale de
21
Modes d'opération en cuvée simple (« batch »), semi-continu (« semi-batch ») et continue (« non-batch »).
76
biomasse dans le bioréacteur (produit XV) est causée par le débit de vidange et la
production de biomasse à l'intérieur du réacteur. Il est à noter que, selon l'hypothèse de
mélange parfait, la concentration de biomasse à l'intérieur du flux de récolte Q0 est
considérée la même que celle dans le bioréacteur. L'apport en milieu frais Qi du bioréacteur
n'intervient pas ici puisque sa concentration en biomasse est nulle.
La variation de la quantité totale de sels minéraux (produit SV) dans le bioréacteur est,
quant à elle, donnée par l'expression suivante :
ù(SV)
d T =
5
dV
dt+
v
dS
~dt = ~
k
^
y
- QoS+ QiSt
,,_
(4.3)
Cette équation montre que la variation de la quantité totale de sels minéraux dans le
bioréacteur dépend d'abord de l'apport en sels minéraux causé par le flux d'alimentation en
milieu frais Qi ayant une teneur fixe en sels minéraux S,-, du débit de soutirage dont la
concentration en sels minéraux est considérée égale à celle du bioréacteur selon l'hypothèse
de mélange parfait et finalement, de la consommation en sels minéraux par la biomasse
(terme k^XV) afin de permettre la croissance des microalgues.
Le bilan du gaz CO2 dissout dans le milieu de culture a pour expression :
d (C0 2 )
= KciaQc ~ k cons [iX
dt
(4.4)
Selon cette expression, une portion de l'apport de CO2 sous forme de bullage se dissout
selon le terme kacidQc alors que la production de biomasse /JX consomme une certaine
quantité de C0 2 (terme kconspX) et le transforme en oxygène via le processus de
photosynthèse. L'apport en CO2 a un effet acidifiant (pH diminue) sur le milieu de culture
ce qui permet de compenser pour le phénomène de photosynthèse qui consomme du
carbone dont la source est aussi le CO2 dissout et qui a pour effet de faire augmenter le pH.
Rappelons que le pH est une mesure du niveau d'acidité ou d'alcalinité d'une solution et
varie entre 0 (acide) et 14 (basique).
77
Précisions relatives à l'estimation du pH à partir de la concentration en CO? dissout
Lorsque le CO2 gazeux est injecté dans l'eau, le CO2 dissout réagit avec l'eau pour
produire de l'acide carbonique H2CO3. L'acide faible ainsi produit se dissocie encore par la
suite en acide faible et en base conjuguée. On peut résumer les réactions chimiques de
dissociation par la séquence des équations suivantes :
CO2 + H 2 0 <-> H2CO3 (acide carbonique = acide faible)
(4.5)
H2CO3 + H 2 0 <-> HCO3- (bicarbonate) + H 3 0 + (hydronium ou ion Ff)
(4.6)
HCO3 + H 2 0 <-» CO32 (carbonate) + H 3 0 +
(4.7)
On constate donc que chaque molécule de CO2 dissoute génère un cation simple H+, ce qui
permet ainsi d'estimer le pH par la simple connaissance du pH initial du milieu de culture
(qui donne la condition initiale de concentration en CO2 dissout) et de la variation
subséquente de la concentration en CO2 dissout donnée par l'équation (4.4). L'expression
du pH à partir de la mesure de la concentration en CO2 s'exprime alors comme suit :
pH = - log 10 (H + ) = - log10 (C0 2 )
(4.8)
Le signe moins est ici utilisé pour refléter le fait que la relation entre la concentration en H+
est inversement proportionnelle au pH.
Le bilan du gaz oxygène dissout (DO) a, quant à lui, pour expression :
^ p - = K prodr iX - K degaz [(Q A + Qc)DO - Q A P0 2 ]
(4.9)
La relation kproapX correspond à la quantité d'oxygène dissout produit par le processus de
photosynthèse par la biomasse X, proportionnellement au taux de croissance p.
L'expression -kdegaz [ (QA + Qc )DO ] correspond au dégazage22 d'oxygène provoqué par le
passage des bulles d'air et de CO2. Quant à l'expression -kjei;az [ - QA P0 2 ], elle correspond
à l'oxygène du débit de bullage d'air qui passe de la phase gazeuse à la phase aqueuse sous
l'action de la pression partielle P0 2 afin de maintenir un équilibre thermodynamique entre
la concentration d'oxygène de l'air ambiant et celle du milieu de culture.
"~ Le phénomène de dégazage correspond au processus par lequel un gaz passe de la phase aqueuse (état
dissout dans l'eau) à la phase gazeuse (état naturel à pression et température ambiante).
78
Tel qu'annoncé précédemment, le taux de croissance global p est un coefficient
directement lié au rendement de production et qui varie selon les conditions du milieu de
culture suivantes : disponibilité des nutriments frais en terme de sels minéraux S (substrat),
d'intensité lumineuse / associée à la concentration de biomasse X, de pH et finalement, de
concentration en oxygène dissout DO. Tous ces facteurs influencent le rendement de
production de la biomasse. Le taux de croissance global p est donc le résultat du produit
des taux de rendement spécifiques associés à chacun de ces facteurs. En d'autres mots, il
faut que l'ensemble des taux spécifiques soient favorables afin de maximiser la croissance
des microalgues. Autrement, si un seul cofacteur de croissance fait défaut, il inhibe à lui
seul l'ensemble du processus de croissance. L'expression suivante donne l'équation du taux
de croissance global :
P = PSPIXPPHPDO
(4.10)
où le domaine de valeur des taux de croissance (global ou spécifiques) est 0 < p < 1.
Le taux de croissance spécifique lié à la concentration en sels minéraux est donné par
l'expression :
^
5
_ (\*max\ f S \
V 24 ) \S + K j
(411)
où pmax est le taux maximal de croissance global journalier (j 1 ). Pour être consistant avec
les autres variables et équations du procédé, cette constante est convertie en h"1 d'où
Pmax/24 dans l'équation. La constante Ks est la constante de demi-saturation (g/L) ou de
demi-vitesse et est égale à la concentration de substrat S lorsque :
fe = ( ^ ) / 2
(4.12)
La relation (4.11) correspond au modèle empirique développé par Monod (Shuler &
Kargi, 2002). Cette relation permet de décrire le phénomène de limite de croissance par
manque de substrat et l'arrêt complet à l'épuisement du substrat (S = 0). En effet, selon
cette équation, si S —* 0, alors u5 -* 0 et donc, selon (4.10), p -» 0 aussi. Selon l'équation
(4.11), on aura en général :
79
Ps = ftmax/24
(4.13)
yxs = S ( p m 3 X / 2 A ) / K s
(4.14)
lorsque S » Ks et
lorsque S « Ks. Il est à noter que ce modèle ne permet pas de décrire le comportement
du procédé en situation d'inhibition causée par une concentration de substrat trop grande
puisque cette situation n'est pas pertinente pour le procédé dans les conditions considérées.
La figure 4.5 montre l'influence théorique de la concentration en sels minéraux sur le taux
de croissance spécifique lié à S. Tel qu'attendu, la courbe indique un plafonnement du taux
de croissance pour une concentration maximale de sels minéraux et un taux de croissance
qui tend vers zéro lorsque la concentration en sels minéraux chute vers zéro.
jp
0.04
«D
%
t
0.03
«75
«D
H
0.02
eo
c/j
<-2
O
o
0.01
■D
"D
X
3
ro
0.4
0.6
0.8
1
1.2
1.4
S : Concentration en sels minéraux [mM/L]
1.6
1.8
Figure 4.5: Evolution du taux de croissance spécifique \i s
L'expression du taux de croissance spécifique lié au pH est donnée par :
pH
\y V H
=
J^ajpH + K \ J > H V H + K 2 p H p H ■ )
(4.15)
Le pH est un facteur qui doit être soigneusement contrôlé car si on s'écarte trop du domaine
de valeurs recommandées pour l'espèce considérée, on risque d'interrompre définitivement
la croissance de l'espèce en provoquant la mort des cellules, ou encore de provoquer des
changements physiologiques irréversibles à celles­ci en raison du trop grand stress
so
occasionné. Cependant, avant d'en arriver là, on notera d'abord une diminution progressive
du taux de croissance cellulaire par rapport au pH optimal. Un tel comportement est appelé
un effet d'inhibition de la croissance. La figure 4.6 illustre l'influence du pH sur le taux de
croissance spécifique lié au pH. La courbe obtenue correspond à une cloche qui ressemble à
une courbe de distribution normale centrée au niveau du pH optimal. Le fait d'avoir ce
type de courbe entraîne aussi qu'il y aura toujours deux solutions possibles équivalentes
lorsque l'on effectuera la résolution du système d'équations différentielles pour un point
d'opération donné et que la solution ne pointera pas le pH optimal situé au sommet de la
courbe puisque pour une même valeur d'ordonnée, il y aura toujours 2 valeurs possibles
d'abscisse (sauf à l'optimum). L'intervalle du pH montré sur la figure correspond au
domaine de validité du modèle puisque, selon les biologistes, il est recommandé de
demeurer à l'intérieur de l'intervalle de pH [7,5 et 8,5] pour ce type de culture de
microalgues.
Figure 4.6: Évolution du taux de croissance spécifique p p n
Le taux de croissance spécifique lié à la quantité d'oxygène dissout DO est donné p.ar :
^ D 0 " ( l + KDODO™)
(4.16)
La relation précédente illustrée à la figure 4.7 met en évidence qu'au-delà d'un certain
seuil, le taux de croissance chutera rapidement
avec l'augmentation de DO. En pratique,
DO doit demeurer en deçà de 110 à 115 % sinon, l'effet inhibiteur lié à la trop forte
L'exposant 16 utilisé à l'équation 4.16 n'est généralement pas retrouvé dans la littérature, mais il est apparu
pour refléter un comportement observé en pratique sur le bioprocédé.
81
concentration en oxygène dissout devient trop important. Cette relation s'apparente à la
réponse d'un filtre passe-bas en électronique où la fréquence est substituée par DO et
l'amplitude par le taux croissance spécifique lié à DO.
3 ,
«n
3
£
•S
0.8
mCJ
0.6
Q.
C/J
C
ro
u)
11
0.4
o
0.2
I
0
'S
20
40
60
80
100
DO : Concentration en Oxygène Dissout [% air sat.
120
140
Figure 4.7: Évolution du taux de croissance spécifique poo
Le taux de croissance spécifique lié à la luminosité / associée à la concentration de
biomasse X est donné par :
/
H/jf
=
,K 0J + K U I + K 2 J I 2 + KXX'<
(4.17)
Plusieurs comportements sont représentés par cette relation et peuvent être visualisés à la
figure 4.8 qui montre l'influence de la luminosité associée à la concentration de biomasse
sur le taux de croissance spécifique lié à / et X. Tout d'abord, il y a le comportement
inhibiteur lié à la concentration en biomasse. En effet, on constate que lorsque la
concentration cellulaire augmente, le taux de croissance diminue. Cela est dû au fait que
pour effectuer la photosynthèse, les microalgues nécessitent un certain flux optimal
d'intensité lumineuse. Toutefois, plus la concentration en biomasse augmente, plus cette
intensité lumineuse a une profondeur de pénétration du milieu de culture limitée ce qui
limite la capacité des cellules à compléter la première phase de la photosynthèse. C'est
aussi pourquoi l'intensité optimale doit augmenter au fur et à mesure que la concentration
en biomasse augmente (glissement des sommets des courbes vers la droite). Il en en va de
même lorsque l'intensité lumineuse de la source est insuffisante (partie gauche de la
s:
figure). Finalement, le dernier comportement inhibiteur provient d'une trop forte intensité
lumineuse qui provoque un phénomène de photo-inhibition dit « d'aveuglement » (partie
droite de la figure).
«D
3
g-
1
Q.
co
CD
CJ
c
ro
co
ÇO
o
CD
3
ro
150
200
250
300
I : Intensité lumineuse [uE]
350
500
Figure 4.8: Évolution du taux de croissance spécifique p !X pour différentes concentrations
de biomasse [xlO6 cellules/mL]
4.3 Calibrage et validation du modèle
Dans un premier temps, cette section présente les paramètres de calibrage du modèle
du bioprocédé décrit à la section précédente de même que les plages opératoires des
variables du procédé. Une technique simple de résolution du système d'équations est
ensuite appliquée pour l'obtention d'un point d'opération pour le mode d'opération continu
du procédé. Enfin, la validation de l'implantation de la mise en équation avec Modelica est
effectuée en comparant les résultats obtenus avec le modèle Simulink du même procédé.
4.3.1 Calibrage du modèle
Pour faire suite à la présentation des équations de fonctionnement, les tableaux 4.2 et
4.3 regroupent les valeurs numériques de l'ensemble des paramètres d'ajustement liés au
calibrage des expressions de bilan et des taux de croissance spécifiques obtenus lors
d'essais sur le procédé antérieurs à cette étude. Pour sa part, le tableau 4.4 donne les plages
d'opération des variables manipulables ainsi que les plages à respecter pour les variables
mesurées afin d'assurer un environnement de croissance viable pour l'espèce considérée et
83
donc, une identification valable. Ces contraintes opératoires devront être prises en compte
lors de la commande du procédé afin d'obtenir des simulations réalistes.
Tableau 4.2: Constantes de calibrage liées aux équations de bilan du bioprocédé
Valeur
Unité
Éq.
*i
0.014
mM/cellule
(4.3)
Si
2
mM/L
(4.3)
t^acid
0.25 x IO"8
% saturation air/litre
(4.4)
leçons
1.05 x IO"8
% saturation airmL/cellule
(4.4)
Kprod
17.8
%-mL/cellule
(4.9)
t^degaz
2 x IO"3
min/(hmL)
(4.9)
100
%
(4.9)
Paramètre
PO2
Tableau 4.3: Constantes de calibrage liées aux équations des taux de croissance
Paramètre
Pmax
Valeur
1
Unité
j '
Éq.
(4.11)
Ks
0.05
mM/mL
(4.11)
Ko_i
625
I
(4.17)
KU
-4
Aucune
(4.17)
K2 j
0.01
T]
(4.17)
Kx
0.05
I/X2
(4.17)
Ko_pH
1280
pH
(4.15)
K\_pH
-319
Aucune
(4.15)
K2_pH
20
p/f 1
(4.15)
2 x IO"34
%"16
(4.16)
KDO
84
Tableau 4.4: Contraintes d'opération des variables du bioprocédé
Variables
mesurées
Variables
manipulées
Variable
Plage
Unité
Qi
0-250
L/jour
Qo
0-250
L/jour
I
0-500
pE
Qc
0-500
mL/min
QA
0-5000
mL/min
V
0-250
L
X
>0
xl06cellules/mL
s
>0
mM/L
PH
7.5-8.5
pH
DO
< 110 à 115
% de saturation de l'air
4.3.2 Obtention d'un point d'opération stable en mode d'opération continu
Une technique simple d'obtention d'un point d'opération nominal en mode continu est
donnée ici puisqu'il est possible d'exploiter la structure du système d'équations avec les
dérivées nulles pour décrire le comportement du procédé en régime statique et pour
résoudre ensuite selon une séquence permettant d'éliminer une à une les inconnues.
Pour débuter la présentation de cette technique de résolution du système d'équations
qui permet l'obtention d'un point d'opération en régime permanent, il faut tout d'abord
convenir d'un volume d'opération, des débits d'alimentation et de récolte ainsi que des
débits de bullage d'air QA et de CO2 Qc- On détermine ensuite la valeur du taux de
croissance global p à partir de l'équation (4.2), sachant que le volume est stable et qu'on se
situe en mode d'opération continu (car Q, = Q0). Selon ces hypothèses, l'expression
résultante du taux de croissance global p devient :
M =(£>/"
(4.18)
On détermine ensuite la valeur de la concentration de biomasse X à partir de l'expression
(4.4) :
X=
K,acidVC
Kr
(4.19)
85
puis, la valeur de 5 à partir de l'équation (4.3) :
S = [ ( ^ ) s , - klVmXv\/{Q0/24)
(4-20)
La valeur de DO se calcule dès lors à partir de l'équation (4.9) :
DO = {Kprod\xX + K d e g a z Q A P0 2 )/[K d e g a z (Q A + Q c )]
(4.21)
Quant à la valeur de p pH , on l'obtient à partir de l'équation (4.10) :
V P H = H /(Us V-tx VDO )
(4.22)
Finalement, on détermine la valeur du pH en se servant de l'équation (4.15) de p p H et en
solutionnant pour pH.
pH2[K2 p „u p „] + p H [ l + K l p H r i p H ] - K 0 p H { i p H = 0
(4.23)
Le tableau 4.5 donne le point d'opération en mode continu obtenu à partir de cette
technique de résolution en fixant les variables d'entrées à des valeurs représentatives pour
le bioprocédé réel. Toutefois, bien que cette technique soit intéressante pour trouver un
point d'opération en régime permanent, elle ne permet pas de trouver un point d'opération
optimal puisqu'on ne peut pas au préalable fixer les valeurs désirées et optimales au niveau
des variables de sorties DO et pH permettant de maximiser le taux de croissance global p et
par conséquence, la production de biomasse. On pourra donc recourir à cette technique afin
d'obtenir les conditions initiales du procédé à préciser en début de simulation pour le reste
de ce chapitre. On devra toutefois utiliser une autre technique à chaque fois qu'on voudra
obtenir la valeur des débits QA et Qe pour des conditions de croissance optimales comme
pour la section 4.7 traitant de l'optimisation du mode opératoire continu.
86
Tableau 4.5: Point d'opération obtenue par résolution manuelle du système d'équations
Statut
VflJ)
X
C
«_•
.C
.2
'û
>
«u
E
JD
tu
«
«
>
Variable
Valeur
Unité
a
100
L/jour
Ôo
100
L/jour
/
250
ME
Qc
4
mL/min
QA
796
mL/min
V
250
L
li
0.0167
aucune
X
57.1429
xl06cellules/mL
s
1.2
mM/L
DO
110.0952
% de saturation de l'air
pH
8.3706
pH
4.3.3 Validation de la mise en équation du modèle du procédé via Modelica
Afin de confirmer le bon fonctionnement du simulateur de bioprocédé réalisé avec
Modelica, deux simulations comparatives ont été réalisées selon deux modes d'opération
distincts. L'un en mode de cuvée simple avec un volume de 250 L et l'autre, en mode
continu et en exploitant le point d'opération du tableau 4.5. La figure 4.9 présente les
résultats pour le mode en cuvée simple en boucle ouverte. Les résultats de la simulation en
mode continu en boucle ouverte ne sont pas illustrés puisqu'ils confirment tout simplement
que le point d'opération identifié est bel et bien stable et correspond au régime statique du
procédé. Dans les deux cas, les résultats obtenus sont identiques entre la version Simulink
et la version Modelica ce qui confirme une fois de plus la validité de l'approche.
Dans le cas des résultats obtenus lors de la simulation en mode cuvée simple en boucle
ouverte, la figure 4.9 montrent que, pour des conditions initiales favorables à la croissance,
la concentration en biomasse augmente entraînant une baisse de la quantité de sels
minéraux disponibles (nutriments) consommée par la biomasse. L'augmentation du pH
observée est dû au fait qu'il n'y a pas d'augmentation du C0 2 injecté pour compenser la
diminution des cations H+ occasionné par le processus de photosynthèse. L'augmentation
87
de l'oxygène dissout est pour sa part dû à l'augmentation de la biomasse qui produit
davantage d'oxygène alors que le début de sa baisse correspond au point d'inflexion de la
courbe de pH. L'écart croissant du pH par rapport à sa valeur optimale (pH = 8) indiquée à
la figure 4.6 et, dans une moindre proportion, la décroissance de la concentration en sels
minéraux du milieu de culture et l'augmentation de la concentration en biomasse (photoinhibition) sont les principaux facteurs responsables de la baisse observée du taux de
croissance global p.
4
5
6
Temps [h]
84
8 3
4
5
Temps [h]
109.5
4
5
6
10
Temps (h]
0.024
Temps [h]
Figure 4.9: Simulation du bioprocédé en mode cuvée simple en boucle ouverte
88
4.4 Actionneurs, capteurs et perturbations
Les actionneurs, les capteurs, les bruits de mesure ainsi que les perturbations sont
externes au simulateur de base et visent à reproduire un comportement plus réaliste du
bioprocédé. Cette section traitera donc de ces différents éléments afin d'effectuer les choix
appropriés pour ajouter une couche fonctionnelle externe au simulateur et créer, par le fait
même, un modèle augmenté.
4.4.1 Modélisation des actionneurs
Les actionneurs, qui sont essentiellement des pompes et des valves, ont des
dynamiques de quelques secondes que l'on considère négligeables par rapport à la nature
du bioprocédé. C'est pour cette raison que leur dynamique respective n'a pas été incluse
dans le modèle augmenté du procédé.
4.4.2 Perturbations non mesurées
La principale perturbation observée par les biologistes responsables de la mise au point
de la culture se situe au niveau du facteur de croissance maximal (pmax) qui peut varier d'un
facteur 2 dépendamment de la saison car l'apport en nutriments frais provient de la mer. La
température ambiante (Ta) est considérée comme celle du milieu de culture n'est pas prise
en compte dans le modèle car elle est habituellement maintenue constante à une valeur
compatible avec le bioprocédé. Toutefois, lors de l'essai de juin 2009, qui servira de
référence pour valider le simulateur en boucle fermée, la température ambiante était réputée
trop chaude, ce qui a eu pour impact de ralentir le processus de croissance des microalgues.
À ce titre, on peut donc la considérer aussi comme une perturbation non-mesurée de type
paramétrique modifiant la dynamique du procédé par l'entremise du taux de croissance
global p.
4.4.3 Capteurs et bruit de mesure
Suite à l'analyse des données recueillies lors de l'essai de juin 2009, il a été observé
qu'il y avait du bruit de mesure sur les différentes lignes d'acquisition servant à enregistrer
périodiquement les valeurs issues des capteurs au niveau des sorties mesurées X, pH et DO
89
et des variables manipulables QA et Qc. De plus, des défauts d'instrumentation provocant
des points aberrants (interruption/corruption dans la collecte de données) ont aussi été
constatés. Ayant pour objectif de modéliser le bruit de mesure sans pour autant simuler les
défauts d'instrumentation, un traitement préalable des données a été effectué afin de
minimiser l'occurrence des points aberrants afin de permettre une évaluation de la variance
des bruits de mesure provenant des capteurs. Une fois le bruit de mesure modélisé, on
pourra ensuite de procéder à l'identification du procédé simulé d'une manière plus réaliste
afin de proposer une stratégie de commande permettant de reproduire le plus fidèlement
possible l'essai de juin 2009.
Traitement des points aberrants
L'essai de juin 2009 comporte deux cycles de production en mode cuvée simple en
boucle fermée pour le contrôle du pH et de l'oxygène dissout DO. Toutefois, seul le
premier cycle contenant 18 706 échantillons a été considéré pour cette étude étant la seule
culture à avoir été échantillonnée sur tout son cycle. Étant donné qu'il est peu probable
qu'un défaut d'instrumentation se produise sur deux lignes d'acquisition de données
simultanément selon une même tendance (différentes de zéro), il n'a pas été considéré
comme un point aberrant le fait que la mesure d'une entrée manipulable et la mesure de la
sortie contrôlée correspondante aient la même tendance pour plusieurs minutes
d'observation. Il a cependant été considéré comme points aberrants les situations où une
mesure tombe à zéro spontanément, une consigne réputée constante ne le soit pas (pH et
DO) et le fait qu'une suite temporelle ne soit pas monotone (échelle de temps corrompue).
Afin de corriger les points aberrants issus de l'essai de juin 2009, des scripts ont été
réalisés pour identifier l'occurrence des situations citées précédemment. Par la suite,
l'interpolation linéaire a été utilisée afin de simuler les points manquants lorsqu'un ou
plusieurs échantillons successifs (groupés) étaient à zéros. Pour la suite temporelle, les
temps d'échantillonnage manquants (ou erronés) ont aussi été générés (ou corrigés). La
figure 4.10 donne les résultats du premier cycle de production de cet essai une fois les
points aberrants identifiés et corrigés.
90
Sur cette figure, l'évaluation de la concentration de la biomasse a été réalisée en
effectuant une conversion par rapport aux données contenues dans le fichier d'origine
transmis. L'instrument de mesure utilisé pour évaluer la concentration de biomasse sur le
site utilisait une unité de mesure maison appelée « bug unit » qui a la correspondance
suivante avec la concentration cellulaire de la biomasse : 0.625 bug = 83 x IO6 cells/mL.
De plus, bien que le fichier d'origine indiquait 0 comme concentration initiale de biomasse,
l'information complémentaire reçue du responsable du procédé a permis d'apprendre que la
concentration initiale du milieu de culture était en fait de 2.2 x IO6 cells/mL et que le 0 était
dû à une erreur d'ajustement du zéro du capteur.
100 —
g
50
150
200
300
Temps [h]
7.8 -
0
50
100
150
200
250
300
200
250
300
200
250
300
Temps [h]
i
120
^^^x
P"
-110
i
o
100
0
50
100
150
Temps [h]
1400
c"
g
1200
.§. 1000
<
O
800»
50
100
150
Temps [heures]
Figure 4.10: Données de la première production après correction des points aberrants
91
Quantification de la variance du bruit des capteurs
Maintenant que les signaux de mesure ont été filtrés de leurs principales aberrations
liées aux défauts d'instrumentation, on peut calculer la variance des signaux en question en
omettant les tendances lentes
afin de quantifier la variance de bruit à inclure dans le
modèle du simulateur du bioprocédé afin de reproduire le plus fidèlement possible le
comportement du procédé réel.
Tableau 4.6: Variance et écart-type du bruit des différents signaux mesurés
Signaux
Variance (o2)
Écart-type (a)
X
1.3055X10"4
0.01143
pH
7.8673x10"7
8.870x10 4
DO
0.0075
0.0866
Qc
0.0244
0.1562
QA
79.2641
8.903
Modélisation du procédé tenant compte des bruits de mesure et des perturbations nonmesurées
Sorties et bruit de mesure
Le bruit de mesure des capteurs est généré à partir d'un bruit blanc Gaussien de
variance a 2 qu'on additionne directement à la sortie considérée. La variance du bruit blanc
ajoutée est calibrée à partir des résultats d'estimation de la variance du bruit de mesure de
chaque capteur apparaissant au tableau 4.6 après correction des points aberrants obtenus à
l'étape précédente. Pour l'instant, puisqu'il n'existe pas de capteur pour estimer S, on
considère donc cette sortie exempte de bruit. De plus, puisqu'aucune donnée n'est encore
disponible pour la mesure du niveau h (de laquelle on peut déduire le volume V), on
considère aussi le bruit nul pour cette sortie.
24
La variance du bruit a été estimée à l'aide de la fonction Matlab evap) développée par D. Garcia et
disponible sur Matlab Central.
92
Entrées manipulables et point d'opération
Pour les fins de la modélisation, on considère que les entrées du modèle correspondant
aux variables manipulables sont exemptes de bruit. Aucune dynamique n'a été ajoutée à ces
entrées puisque la dynamique de leur actionneur associé est négligeable par rapport au
procédé. Un élément de saturation a cependant été ajouté à ces entrées pour tenir compte
des plages opératoires pouvant prendre ces entrées telles qu'indiqués au tableau 4.4.
Entrées paramétriques et perturbations
La valeur du paramètre pmax a été établie comme variable dans le temps, ce qui
représente une perturbation paramétrique du procédé. Pour ce faire, un bruit blanc Gaussien
passant par un filtre du 1er ordre à gain unitaire est superposé à la valeur du paramètre pmax.
Ce paramètre affecte directement le taux de croissance global ce qui aura pour effet de
modifier la croissance de la biomasse X, la consommation de substrat S et indirectement le
pH et DO. Selon le modèle, cette variation n'entraîne cependant pas de modification sur la
sortie indiquant le volume V.
4.5 Identification, analyse du couplage et choix des couples
Cette section présente d'abord l'identification du procédé en vue de la conception
d'une commande algébrique en continue. Cette identification sera réalisée avec le modèle
augmenté du procédé qui prend en compte le bruit de mesure. L'analyse du couplage sera
aussi effectué afin d'évaluer l'impact des variations au niveau des entrées sur les sorties
secondaires et pour valider le choix de couple effectué.
La phase d'identification poursuit donc les objectifs suivants :
•
obtenir la dynamique liant les couples d'entrée/sortie d'intérêt afin de faire un choix
éclairé des contrôleurs qui seront requis et de permettre d'évaluer leur performance à
l'aide du simulateur de bioprocédé développé précédemment;
•
vérifier la linéarité du procédé pour les couples entrée/sortie d'intérêt autour des points
d'opération anticipés;
•
vérifier la présence de couplages importants et la directionnalité étant donné qu'il s'agit
d'un procédé multivariable.
93
Une fois cette étape d'identification complétée, on pourra ensuite proposer une commande
algébrique adaptée au procédé pour le passage du mode d'opération en cuvée simple à
continu et vérifier aussi si le simulateur est apte à reproduire le jeu de données de l'essai de
juin 2009 réalisé en mode cuvée simple à l'aide de cette même commande.
4.5.1 Identification
L'étape d'identification a été réalisée entièrement à l'aide du simulateur du procédé
pour la principale raison qu'au moment de réaliser l'étude, la priorité au niveau du procédé
réel était encore le mode d'opération en cuvée simple. N'étant pas à proximité du site, cette
façon de faire a aussi simplifié cette étape. Les besoins en identification se situent au niveau
du pH et de la concentration en oxygène dissout DO qui permettent d'assurer des
conditions du milieu de culture propice à la croissance et sont contrôlés par les variables
manipulables des débits de bullage d'air QA et de CO2 Qc- H est à noter que le niveau des
colonnes doit aussi être contrôlé afin de tenir compte d'éventuelles perturbations au niveau
des débits d'alimentation Qi et de récolte Q0. Étant donné que le niveau sera contrôlé par Q,
ou Q(, et que l'intensité de la source lumineuse sera fixe de même que la concentration en
sels minéraux de l'alimentation en milieu frais, il ne sera pas possible de contrôler d'autres
sorties et il ne sera donc pas nécessaire d'évaluer des interrelations autres que celles déjà
mentionnées.
Étant donné que le mode d'opération visé est continu et que pour ce mode, les débits
d'entrée et de sortie sont égaux, il ne sera pas nécessaire de développer le contrôle de
niveau avant de procéder à l'identification des dynamiques des autres couples, puisque ces
autres variables n'ont pas d'impacts sur le niveau des réservoirs selon l'équation de bilan
(4.1).
L'information a priori reçue en début de projet nous mentionne aussi que les
dynamiques associées au pH et à DO sont beaucoup plus rapides que celles associées à la
croissance de la biomasse X et à la consommation de sels minéraux 5. Il en va de même
pour la variation du volume qui est un procédé intégrateur lié directement au gradient des
débits d'entrée Qj et de sortie Q„.
94
Identification dans le mode opératoire continu en boucle ouverte (Qi = Q0 * 0)
L'identification en continu a été effectuée à l'aide de réponses à l'échelon et du
programme ident de Matlab (fonction Process Models) qui minimise la variance de l'erreur
de prédiction. Cette méthode d'identification propose des modèles continus de bas ordre
représentatifs de ce que l'on retrouve dans plusieurs secteurs industriels. Le critère
d'évaluation de l'ajustement des modèles utilisé ici est le coefficient de détermination R2
exprimé en pourcentage et appelé « best fit » dans Matlab. L'expression de ce coefficient
s'énonce comme suit :
E(y - v) 2
R [%] = 1 - Ï , Y
_2
2
E(y - y)2
(4.24)
où y représente la sortie enregistrée, y sa prédiction et y la moyenne des sorties
enregistrées.
Le choix des amplitudes et de la durée des échelons utilisés pour l'identification est
basé sur une validation par simulation permettant d'obtenir une variation significative et
représentative des variables à contrôler tout en demeurant à l'intérieur de leur plage
respective recommandée et permettant d'obtenir un régime permanent afin de favoriser
l'obtention d'un gain statique juste. Les unités des constantes de temps des fonctions de
transfert sont exprimées en heure car il s'agit de la base de temps utilisée pour la mise en
équation et la simulation.
95
Volume
Selon l'équation (4.1) du bilan volumique, le volume Vest le résultat de l'intégral du
gradient de débit entre l'entrée et la sortie. Le tableau 4.8 présente les résultats obtenus lors
de l'identification. Dans ce tableau, la valeur du coefficient de détermination de 100 %
s'explique par l'absence de bruit au niveau de la sortie Vet l'absence d'erreur de modèle.
Tableau 4.7: Fonction de transfert liant le volume au débit d'alimentation
R2
Modèle
Gp-
V[L]
0.004167
QiiW)]
s
100%
pH et DO
Afin d'identifier les fonctions de transfert relatives aux sorties pH et DO, trois
alternatives figurant au tableau 4.8 au niveau des points d'opération ont été étudiées afin
d'observer le comportement du procédé de part et d'autre du pH optimal (qui est de 8 selon
la figure 4.6) et aussi, pour vérifier la linéarité du procédé. Le tableau 4.9 donne en détails
les valeurs correspondant à chaque point d'opération et finalement, le tableau 4.10 consigne
les résultats obtenus pour l'identification à ces différents points d'opération. À part les
exceptions spécifiées par des références à des notes complémentaires, les fonctions de
transfert ont toutes été approximées par des fonctions du 1er ordre. Étant donné que le point
d'opération #2 correspond à une solution mitoyenne par rapport aux deux autres points
d'opération considéré, ce sont les fonctions de transfert associées à ce point d'opération qui
ont été sélectionnées pour baser la conception des régulateurs des boucles de contrôle de
pH et de DO à la prochaine section. De plus, étant donné que le pH optimal est de 8, ce
point d'opération #2 constitue le plus probable peu importe le mode opératoire sélectionné.
96
Tableau 4.8: Points d'opération considérés pour l'identification
Point
d'opération
Description
1
Point d'opération correspondant à un p H de 8.37 figurant au tableau 4.5
calculé à partir de valeurs préétablies de Qc et QA
2
Point d'opération correspondant à un p H optimal de 8 et un DO de 110
obtenu par simulation en boucle fermée avec contrôleurs calculés à partir
d'une identification préliminaire à l'aide du point d'opération 1
3
Point d'opération correspondant à un p H de 7.7 et un DO de 120
correspondant aux consignes de l'essai de juin 2009 et obtenu par
simulation en boucle fermée avec contrôleurs calculés à partir d'une
identification préliminaire à l'aide du point d'opération 1
Tableau 4.9: Points d'opération pertinents pour l'identification du bioprocédé
Point d'opération
Statut
9
2
es
"s
a.
'S
a
E
6v>
3
.2
'û
es
>
■m
E
O
vs
<u
"O
Variable
2
3
Valeur
Valeur
Valeur
Qi
100
100
100
L/jour
Qo
100
100
100
L/jour
i
250
250
250
uE/Sm 2
DO
110.0952
110
120
% de saturation de
l'air
pH
8.3706
8
7.7
PH
V
250
250
250
L
P
0.0167
0.0167
0.0167
3
.2
'ûa
>
aucune
6
X
57.1429
76.4900
46.1850
xlO cellules/mL
s
1.2
0.9291
1.3534
mM/L
Qc
4
5.3543
3.2326
mL/min
QA
796
1065.5011
323.1125
mL/min
co2
IO" 8 3 7
108
10"75
% de saturation de
l'air
Vi
V
Unité
1
97
Tableau 4.10: Résultats de l'identification pour chaque point d'opération
Point d' opération
FT
Échelon
Qc +
pH
Qc
Qc
Paramètre
1
Valeur
Kp [mL/min]"1
-0.220
r[h]
1.063
Kp [mL/min] '
-0.210
Kp [%-(mLAmn)"1]
2.515
DO
r[h]
1.391
Qc
Kp [%(mL/min)"']
2.529
T[h]
pH
QA
Kp [mL/min]'1
DO
QA
K p [%(mUminy l ]
QA-
r[h]
Note 1
95
Note 1
Note 2
Note 1
1.921
1.157
67
Note 2
92
Note 2
3.810
9.86x10"5
0.000647
69
1.083
8.256
0.000153
Note 1
Note 1
1.417
-0.0112
-0.00846
69
rlhj
Notes
2.239
80
T[h]
Kp [%(mlVmin)"']
QA+
Note 1
76
r[h]
QA-
R2
Valeur
-0.442
76
Kp [mL/min]"1
QA+
3
95
0.745
Qc
R2
95
T[h]
Qc+
2
0.643
43
Note 2
0.741
-0.0144
0.820
76
IN oie
i
Note 1
Note 1 : Comme le montre la figure 4.11, lors de l'identification, il n'a pas été possible
d'appliquer cet échelon car le pH du procédé partait à la dérive vers un niveau inférieur à la
limite viable et ce, peu importe l'amplitude de l'échelon utilisé. Cette figure présente aussi
le déclin de la concentration en biomasse X provoqué par la dérive du pH en dehors de
conditions de viabilité de l'espèce.
Note 2 : Tel que l'illustre la figure 4.12, lors de l'identification, il n'a pas été possible
d'effectuer cet échelon car le pH du procédé montait automatiquement à 8.31 (soit la valeur
miroir par rapport au pH optimal de 8) après environ 50 heures de simulation et ce, en
98
l'absence d'échelon. Cette figure illustre aussi l'instabilité divergente de ce point
d'opération car il se produit une dérive automatique du pH du procédé malgré l'absence
d'échelon. Après vérifications, il a été constaté que le sens de la dérive du pH dépend de la
précision numérique de la solution qui favorise un sens plus que l'autre. Pour sa part, la
fluctuation de la réponse de DO est due à l'effet de couplage provoqué par la variation du
pH sur le procédé.
50
!00
250
150
Temps [h]
3.245
E
3.24
E
50
100
150
250
300
250
300
Temps [h]
0
50
100
150
200
Temps [h]
E
E_
323.5
<
O
0
10
20
30
40
50
70
60
«30
90
100
Temps [h]
300
50
100
150
200
250
Temps [h]
Figure 4.11 : Dérive du pH à la baisse (point d'opération #3)
300
99
B5
ï
8
250
300
200
250
300
200
250
300
200
250
300
150
50
Temps [h]
E
4
E
.
50
100
150
Temps [h]
100
Temps [h]
E
E
0
50
100
150
Temps [h]
47.5
46.5
150
300
Temps [h]
Figure 4.12: Dérive du pH à la hausse en l'absence d'échelon (point d'opération #3)
100
Non-linéarité du procédé
La non-linéarité du procédé s'observe de plusieurs façons : asymétrie des fonctions de
transfert (gain et constante de temps) dépendamment du signe de l'échelon (tableau 4.10),
variabilité des gains et constantes de temps entre les points d'opération considérés (tableau
4.10) et variation du gain statique lors d'essais composés d'échelons multiples à partir du
point d'opération #1 (figure 4.13). On note aussi comme particularité intéressante que
toutes les solutions du système d'équations pour un pH en deçà de 8 se sont avérées des
points d'opération instables en boucle ouverte comme l'illustre la figure 4.12 qui montre la
réponse du bioprocédé simulée sans bruit de mesure pour un de ces points d'opération.
Le comportement décrit par les notes 1 et 2 précédentes est lié à l'effet induit par la
concentration en biomasse X sur le pH. En consommant du CO2, la biomasse a pour effet
d'augmenter le pH (effet d'alcalinisation). Ainsi, si on se situe à un point d'opération ayant
un pH < 8, et qu'on diminue l'apport en CO2 en diminuant Qc, le changement de pH du
milieu de culture (alcalinisation) résultera de l'effet combiné du débit de bullage de CO2 et
de la concentration en biomasse jusqu'à un nouvel équilibre. Ce nouvel équilibre sera le
résultat d'un processus autorégulant puisque l'augmentation du pH favorisera la croissance
de la biomasse qui aura pour effet de consommer davantage de CO2. Lorsque le pH
franchira la valeur du pH = 8, cela provoquera une baisse de la concentration en biomasse
qui finira par stabiliser le procédé à un nouveau pH > 8. En contrepartie, pour le même
point d'opération, une augmentation de Qc provoquera un emballement au niveau de la
baisse du pH qui sera irrécupérable (non autorégulant) puisque la biomasse consommera de
moins en moins de CO2 acidifiant davantage le milieu jusqu'au déclin de la population
lorsque le pH sortira de la plage inférieure de viabilité de l'espèce. C'est ce phénomène qui
est illustré à la figure 4.11. Au niveau du pH, on peut donc considérer le procédé comme
stable en boucle ouverte (autorégulant) pour des points d'opération ayant un pH au dessus
de 8 et instable autrement (ou à la limite de la stabilité pour le cas particulier du pH = 8).
La figure 4.14 présente25 les différentes valeurs de concentration en biomasse X et de
pH à l'équilibre pour différents débits de bullage en CO2 pour un mode d'exploitation
25
Ces valeurs ont été obtenues en boucle fermée mais sont introduites ici afin de soutenir la justification.
101
continu (Qi - Qa = 100 Ui). Sur ce graphique, on remarque que le bullage maximum se
situe au pH 8 étant donné que c'est à cette valeur de pH que la production de biomasse est
maximale et que l'effet de la consommation de CO2 par celle-ci se fait le plus sentir. On
remarque aussi une symétrie de part et d'autre du pH 8 car, à mesure que l'on s'éloigne du
pH optimal, plus la concentration en biomasse baisse nécessitant moins de bullage en CO2
pour maintenir l'équilibre au niveau du pH. Selon l'équation (4.4) qui régit la concentration
en CO2 dissout dans le milieu de culture et qui sert indirectement à évaluer le pH, le terme
kconspK correspondant à la consommation de CO2 dissout par la biomasse diminue au fur et
à mesure que l'on s'éloigne du pH optimal. Ceci veut dire que si, par exemple, on cherche à
diminuer le pH de 8 à 7.9, on aura à fournir moins de bullage de C0 2 que si X restait stable
à la valeur correspondant au pH de 8 puisqu'une concentration moindre de biomasse
consomme moins de CO2 en laissant ainsi davantage en circulation libre pour acidifier le
milieu.
Étant donné que la figure 4.14 présente la valeur des variables du procédé en régime
permanent, il ne faut surtout pas l'utiliser pour prédire le transitoire associé à l'impact
immédiat d'une variation de Qc sur le pH. On se rappellera que l'augmentation de Qc a
toujours pour effet immédiat de faire baisser le pH mais que l'effet induit par la biomasse,
considérée ici comme une perturbation lente, donne l'impression pour la portion gauche de
la figure 4.14 que l'augmentation de Qc provoque à elle seule une augmentation du pH.
Bien que le système soit non-linéaire, aucune observation de changement de signe du gain
n'a été observée au cours des simulations d'identification en boucle ouverte. Ce constat
sera confirmé à la section suivante traitant du contrôle du pH.
102
i
a
8.2-
0
10
20
30
40
50
60
70
80
90
1 JO
90
11)0
90
100
Temps [h]
/110———
0
—;—
10
r"*
20
'~~
r
«i
30
40
50
'/
1
60
70
60
70
80
Temps [h]
800
700
10
20
30
40
50
Temps [h]
Figure 4.13: Réponses à des échelons multiples montrant la non-linéarité du procédé
7.5
7.6
7.7
7.8
79
8
8.1
8.2
8.3
8.4
8.5
pH
Figure 4.14: Valeurs des variables X et Qc à l'équilibre en fonction du pH
103
Dynamiques relatives entre les sorties X et 5 et les sorties pH et DO
Comme le montre la figure 4.15, l'information a priori mentionnée précédemment se
confirme si on compare les dynamiques en boucle ouverte entre les sorties pH et DO versus
les sorties X et S. Les temps nécessaires pour atteindre le régime permanent avec les
couples (pH, DO) est beaucoup plus rapide qu'avec les sorties (X, S).
150
200
250
400
Temps [h]
0.95
0
100
150
200
350
250
400
Temps [h]
113
^t»J*limmil*1r*S*m*!!^^
112
r
' m
,0 &m>Bie*và
109
50
200
10C
250
300
Temps [h]
8 1
50
200
Temps [h]
55
E
^
O
45
435
50
100
•50
200
Temps [h]
Figure 4.15: Comparaison des dynamiques entre les sorties X, S etpH, DO
104
4.5.2 Choix des couples
L'analyse des couplages est nécessaire afin de déterminer quelle entrée manipulable
servira à contrôler chaque sortie contrôlée. Les deux équations suivantes illustre les deux
possibilités de combinaisons de couples entrées-sorties pour le système considéré :
om
\ G U G12\WA
pH\
[G21
G22\[QC
\G 2 i
G22]
\PH]
=
lD0i"[Gu
(4.25)
\QA
(4.26)
G12\[QC
L'équation (4.26), qui donne au final la même expression que l'équation (4.25) pour
chaque variable manipulable, montre l'impact sur l'écriture de la matrice des fonctions de
transfert lorsqu'on inverse les variables manipulables pH et DO. Rappelons que pour
chacune de ces équations, c'est la diagonale principale qui désigne les fonctions de transfert
unissant les couples principaux et que les autres fonctions de transfert expriment un
couplage secondaire dont on pourra tenir compte éventuellement pour la conception de
régulateurs ou de découpleurs. Les fonctions de transfert correspondant au point
d'opération #2 sélectionnées à la section 4.5.1 sont indiquées au tableau 4.11.
Tableau 4.11: Fonctions de transfert liants les entrées (QA, Qc) aux sorties (DO,pH)
Gxi =
DO [%]
QA [mL/min]
-0.00846
(0.74s + 1)
G21 =
pH
QA [mL/min]
0.000647
(8.26s + 1)
12
DO [%]
Ç c [mL/min]
1.921
(3.81s + 1)
pH
-0.442
22 ~
G
~
"
Ç c [mL/min]
(2.24s + 1)
Validation du choix des couples (en statique)
Le calcul du gain de Bristol
(An) permet d'abord de vérifier si les couples actuels
entre (QA, Qc) et (DO, pH) causeront des problèmes éventuels lors, par exemple, de
l'ouverture d'une boucle. De plus, l'amplitude de ce gain, basé uniquement sur les gains
statiques des fonctions de transfert constituant le système 2x2 d'intérêt, permet aussi de
26
Le gain de Bristol est un outil d'analyse permettant de comparer les gains relatifs en boucle ouverte et en
boucle fermée de chaque boucle pour les systèmes multivariates. Son calcul aide à évaluer la combinaison
de couple à privilégier.
105
donner une idée de l'ordre de grandeur de la directionnalité et du niveau de couplage. Le
choix de la combinaison de couple idéale est primordial et déterminant pour les
performances recherchées ainsi que pour la stabilité du système.
A11 =
K1±K:22
(^11^22
-
(4.27)
^12^21)
Tableau 4.12: Gains de Bristol An des 2 possibilités de choix de couples
Choix #1
(QA-DO et Qc-pH)
Choix #2
(QA-pHetQc-DO)
1.4978
-0.4978
La valeur du gain de Bristol correspondant au choix de couples #1 indique clairement
qu'il s'agit de la meilleure solution étant donné que le gain relatif de la 2ieme possibilité de
combinaison (choix #2) donne un résultat négatif. Un gain relatif négatif signifie que pour
ce choix de couple, le système est instable ou n'est pas intègre (on ne peut ouvrir une
boucle sans instabiliser l'autre boucle). Pour le choix #1, la valeur près de 1 indique que
l'un des couplages secondaires (ou les 2) à un gain près de 0. C'est effectivement le cas
pour K2\ comme l'indique la fonction de transfert G2X du tableau 4.11.
4.6 Contrôle du niveau, du pH et de l'oxygène dissout
Cette section traite de la conception des régulateurs pour le niveau des réservoirs, le pH
et la concentration en oxygène dissout du milieu de culture afin de permettre le contrôle des
facteurs de croissance des microalgues dans le photobioréacteur. La figure 4.16 illustre la
stratégie de contrôle en question. La structure retenue pour la conception de ces régulateurs
se résume à la commande PI27 algébrique monovariable dans le mode continu et sans
découplage. Ce type de commande se prête bien à ce type de procédé étant donné que les
fonctions de transferts obtenues à la phase identification sont toutes du 1er ordre.
La commande PI signifie la commande algébrique avec les modes proportionnel (P) et intégral (I).
106
Débit
alimentation
->• Niveau
JOl
-^o
JC:
Q,
Débit d'air
Bioprocédé
DO
Concentration en
oxygène dissout
QA
to*
Débit de COJO
Qc
PH
-> pH
Figure 4.16: Schéma de contrôle du bioprocédé
Pour l'ensemble des régulateurs proposés, on fait l'hypothèse que les actionneurs sont bien
dimensionnés, linéaires et qu'ils permettent la pleine amplitude des plages indiquées au
tableau 4.4. À cet effet, des éléments de saturation et d'« anti-windup » ont été intégrés aux
régulateurs implantés. De plus, afin de maximiser la productivité, il est attendu que les
variables manipulées qui sont associées à des facteurs de croissance spécifiques seront
maintenues à leur valeur optimale, ce qui implique que la majeure partie du temps, le
procédé sera en mode régulation en réaction à d'éventuelles perturbations. Dans cette
optique, l'ajout de filtres sur les consignes n'est pas absolument nécessaire mais est tout de
même proposé afin de diminuer l'effort de commande en mode poursuite même si on
n'anticipe pas de changement de consignes fréquents. L'ajustement initial des paramètres
pH et DO du milieu de culture avant inoculation est un exemple de circonstances qui
pourrait nécessiter quelques changements de consignes.
Il est à noter que toutes les simulations effectuées dans cette section ont pour
conditions initiales la situation d'équilibre correspondant au point d'opération #2 décrite
aux tableaux 4.8 et 4.9. Dans un premier temps, et ce pour chaque boucle de contrôle, une
analyse des performances de l'asservissement en poursuite et en régulation est effectuée en
tenant les autres boucles ouvertes. Ensuite, une analyse du même type est effectuée avec
cette fois toutes les boucles fermées afin de vérifier le comportement du procédé dans un
contexte asservi.
107
4.6.1 Contrôle du niveau (h)
Le contrôle du niveau h se fait en réalité par le contrôle du volume V. La consigne de
niveau est convertie en consigne de volume et ensuite, une commande PI est appliquée au
débit d'alimentation Qt. Le flux de récolte Q0, dont la concentration de biomasse est
considérée la même que celle du bioréacteur étant donné l'hypothèse de mélange parfait,
sert quant à lui au calcul de la productivité instantanée.
Spécification du contrôleur
Afin d'inclure un intégrateur dans le régulateur, on pose comme spécification en
boucle fermée H (s) = -—-—— afin d'éliminer les perturbations éventuelles ainsi que
l'erreur statique associée. Cette spécification permet d'exprimer Kc et 7/ en fonction de Kp
et TH en développant la fonction de transfert résultante en boucle fermée suivante :
GcGv
H= *
1 + GcGp
(4-28)
avec
Gpn = ^ -
s
(4.29)
et
=
KAT.s + l )
Ce qui donne les expressions suivantes pour T, et Kc:
Tt = 2TH
(4.31)
Kc = j ^ j r
(4.32)
K
p ' H
En prenant Kp = 0.0417 tel qu'indiquée tableau 4.7 et TH = 1 h, on obtient l'équation du
régulateur de niveau PI suivante :
108
48(2s+l)
K
G c (s) = — Is
„,„,
(4-33)
Dans le cas où ces paramètres de contrôle ne seraient pas assez performants, il suffirait tout
simplement de prendre un TH plus petit et de vérifier physiquement si le procédé peut
suivre en vérifiant l'effort sur la commande. Toutefois, en l'absence de spécifications plus
précises sur le temps de réponse attendu, ce réglage sera celui retenu. Un filtre de premier
ordre de constante de temps Tsp = 7", = 2 h est aussi appliqué afin d'éliminer les
dépassements en mode poursuite.
Analyse des performances
La figure 4.17 donne la réponse en poursuite du régulateur de niveau pour cette
spécification alors que la figure 4.18 indique la réponse en régulation face à des
perturbations de types échelons au niveau du débit de récolte Q0. Tel qu'attendu, la réponse
en poursuite est dépourvue de dépassement et prend environ 5 heures pour atteindre la
consigne. Pour sa part, la réponse en régulation montre que pour une variation de 10 % du
débit de sortie, le niveau et le volume du réservoir ne fluctue que d'environ 0.15 % ce qui
est fort acceptable dans les circonstances. Le temps pris pour éliminer chaque perturbation
est comparable au temps de réponse observé en poursuite.
Une modification du niveau entraîne une modification du facteur de dilution (l'inverse
du temps de séjour) et a donc un impact sur la concentration cellulaire. Cet aspect n'est pas
montré ici puisque les autres boucles (pH et DO) essentielles au maintien des conditions
viables du milieu de culture sont ouvertes. Ainsi, si on abaisse la consigne de niveau, cela a
pour effet de diminuer le débit d'alimentation Qj et de provoquer la baisse du niveau h du
bioréacteur puisque le débit de récolte Q0 est maintenu fixe pendant ce temps. Cela entraîne
donc une diminution du temps de séjour (une augmentation du facteur de dilution) et viceversa pour l'échelon de signe inverse.
109
Consigne Niveau
• Niveau
10
15
25
Temps [h]
z-L
100
0
5
10
15
20
25
Temps [h]
Figure 4.17: Réponse en poursuite du régulateur de niveau du bioréacteur (Q0 fixe)
M. 1.71
0
2
4
6
8
10
12
14
16
18
20
Temps [h]
Figure 4.18: Réponse en régulation du régulateur de niveau du bioréacteur
110
4.6.2 Contrôle du pH
Les régulateurs de pH et de DO des 2 prochaines sous-sections ont été calculés à l'aide
de la méthode de placement des pôles et des zéros (Pomerleau, 1997) avec l'objectif
d'avoir une dynamique en boucle fermée correspondant à l'expression :
H = ^ — r
THS + I
(4.34)
Selon cette hypothèse, le calcul du contrôleur se résume à l'expression pour un procédé de
premier ordre:
1 1
Gc = = r - j r
(4.35)
iHs up
La fonction de transfert utilisée pour la conception du régulateur de pH est celle identifiée
pour le point d'opération #2 (fonction G22 du tableau 4.11) qui correspond au pH optimal.
Au niveau de la spécification de la dynamique en boucle fermée, le choix final s'est porté
sur 1 heure soit environ la moitié de la dynamique en boucle ouverte afin d'obtenir une
dynamique satisfaisante. Cette dynamique se rapproche aussi de la fonction de transfert du
point d'opération #1. Un filtre de premier ordre de constante de temps Tsp = T, = 2.24 h est
aussi appliqué à la consigne. Bien que ce réglage soit celui retenu, il serait possible de le
modifier advenant le besoin de viser une dynamique différente. Ces choix conduisent au
régulateur PI ayant pour expression :
Gc =
-4.76 (2.24s + 1)
22Âs
(4J6)
Analyse des performances
La figure 4.19 montre la réponse en poursuite du régulateur de pH lorsque soumis à des
échelons multiples de consigne. Pour des échelons de consignes > 8, on remarque que la
performance de l'asservissement diminue au niveau de la dynamique de la réponse qui se
fait plus lente au fur et à mesure que l'on s'éloigne du pH optimal de 8. Ce comportement
est dû à la non-linéarité du gain de procédé et pourrait être compensé en augmentant le gain
du régulateur à mesure que l'on s'éloigne du pH optimal de 8. Quant à l'échelon de
Ill
consigne < 8, on constate l'apparition d'oscillations signifiant une dégradation rapide de la
performance du régulateur dans cette zone. La situation se dégrade plus encore si on
s'éloigne davantage du pH optimal. Cette dégradation est aussi liée à la non-linéarité du
procédé et au fait que la zone de pH < 8 correspond à une zone d'instabilité en boucle
ouverte nécessitant un ajustement du gain du régulateur afin de maintenir une performance
acceptable en mode poursuite. Ce comportement non-linéaire pour la zone de pH < 8 sera
traité à la sous-section 4.6.6 où une piste d'avenue donnant des résultats intéressants sera
proposée afin de pallier à la situation. Sur la même figure, on remarquera aussi l'impact des
variations de Qc sur la sortie DO pour laquelle la variable manipulée QA est maintenue fixe
tout au long de l'essai. Ce résultat était prévisible étant donné le gain de couplage identifié
précédemment entre l'entrée Qc et la sortie DO (réf : fonction de transfert G12 du tableau
4.11).
Au niveau du gain apparent du procédé relativement au contrôle du pH, les résultats de
cette figure donnent l'impression qu'il y a changement de signe entre les consignes de pH >
8 où le gain statique apparait comme négatif et les consignes de pH < 8 où le gain statique
apparait comme positif. Or, dans le deuxième cas, l'apparence de gain positif s'explique par
l'effet de couplage avec la concentration de la biomasse X annoncé à la section
identification. Pour ce dernier échelon, on remarquera que l'action première de la variable
manipulée Qc sera d'augmenter afin de faire baisser le pH à la valeur désirée. Ensuite, au
fur et à mesure que l'effet de la diminution de la concentration en biomasse X se fait sentir
au niveau de la consommation de CO2, le régulateur diminue alors le débit de bullage de
CO2 Qc afin de maintenir l'équilibre au niveau du nouveau pH. Si on inversait le gain du
régulateur pour cette situation, on assisterait alors à un emballement et à la perte du
contrôle du pH ce qui confirme que le changement de signe du gain de procédé n'est
qu'apparent.
12
80
100
120
Temps [h]
o
20
40
60
80
100
120
180
200
180
200
Temps [h]
m ,ia^»:'%Vt,.
;
109
V»'te,f*»'^
'
108
vVW
107
20
40
60
80
100
120
140
160
Temps [h]
Figure 4.19: Réponse en poursuite du régulateur de pH du bioréacteur (QA fixe)
La figure 4.20 montre pour sa part la réponse en régulation du régulateur de pH
lorsque soumis à des perturbations de types échelons multiples au niveau du débit de
bullage en air QA- Bien que la variation sur la sortie DO soit perceptible (0.63 %), l'impact
sur la sortie de pH apparait d'amplitude négligeable (environ 0.11%) dû au travail du
régulateur. Comme pour le contrôle du niveau, le temps pris par le régulateur pour éliminer
chaque perturbation est comparable au temps de réponse observé en poursuite.
113
40
Temps [h]
545
40
Temps [h]
40
Temps [h]
1150
E
"OO
—
1050
<
O
;
|
'
J
70
80
1000
950
10
20
30
40
50
Temps [h]
Figure 4.20: Réponse en régulation du régulateur de pH du bioréacteur
4.6.3 Contrôle de l'oxygène dissout (DO)
La fonction de transfert utilisée pour la conception du régulateur de la concentration en
oxygène dissout DO est celle identifiée pour le point d'opération #2 (fonction G\\ du
tableau 4.11) qui correspond au pH optimal. Au niveau de la spécification de la dynamique
en boucle fermée, le choix s'est porté sur la moitié de la constante en temps en boucle
114
ouverte soit 0.37 heure afin d'accélérer la réponse du procédé d'un facteur analogue à celui
utilisé pour la boucle de contrôle du pH. Un filtre de premier ordre de constante de temps
Tsp = Tj = 0.74 h est aussi appliqué à la consigne. Ce réglage sera donc celui retenu. Ces
choix conduisent au régulateur PI ayant l'expression suivante :
­236(0.74s + 1)
Gc =
(4.37)
0.74s
Analyse des performances
La figure 4.21 donne la réponse en poursuite du régulateur de la concentration en
oxygène dissout DO lorsque soumis à des échelons multiples de consigne. Sur cette figure,
on remarquera d'abord la diminution du gain de procédé au fur et à mesure qu'on monte de
débit d'air QA et ensuite, l'impact des variations de QA sur la sortie pH pour laquelle, la
variable de contrôle Qc est maintenue fixe tout au long de l'essai. Ce résultat dû au
couplage était prévisible étant donné le gain non­nul identifié précédemment entre l'entrée
QA et la sortie pH (réf : fonction de transfert G21 du tableau 4.11).
J JO UMILU» «*■■! IJi.(»
Temps [h]
^,* r *r­ * ­*>'f*.
^
15«00
gr**-*****
v*«t^f»rt*i­^.'^1'^»>­^jt«ww^
*1­*r*^*+***­»r~
50
I00
I50
Temps [h]
I
a.
Temps [h]
Figure 4.21 : Réponse en poursuite du régulateur de DO du bioréacteur (Q c fixe)
115
La figure 4.22 montre la réponse en régulation du régulateur de DO lorsque soumis à
des perturbations de types échelons au niveau du débit de bullage en CO2 Qc- Bien que la
variation sur la sortie du pH soit perceptible (3.75), l'impact sur la sortie DO apparait plutôt
d'amplitude négligeable (environ 0.27 %) dû au travail du régulateur. Comme pour le
contrôle du niveau, le temps pris par le régulateur pour éliminer chaque perturbation est
comparable au temps de réponse observé en poursuite.
0
5
10
15
20
25
30
35
40
Temps [h]
1200
-
^0^0^^H^^
15
20
25
30
35
Temps [h]
5«:
52
c
Ê
M.
O
o
5
48
4-6
4.4
42
•0
15
20
25
35
Temps [h]
Figure 4.22: Réponse en régulation du régulateur de DO du bioréacteur
40
116
4.6.4 Analyse des résultats en boucles fermées (ensemble des boucles)
Maintenant que les trois boucles de contrôle sont ajustées et donnent des résultats
correspondant aux attentes (hormis le problème soulevé avec la boucle de pH pour les
consignes en bas de 8), une validation du comportement du procédé régulé avec toutes les
boucles fermées est souhaitable. Pour ce faire, une série d'échelons appliqués aux
consignes de niveau, de pH et de DO sont utilisées. Étant donné que l'aspect couplage a
déjà été traité entre les entrées QA et Qc et les sortie DO et pH en boucle ouverte, l'analyse
se concentrera surtout sur le comportement de la concentration en biomasse X et en sels
minéraux S puisque les paramètres pH et DO assurant la viabilité du milieu de culture
seront régulés contrairement aux essais précédents.
Réponse à un échelon de niveau
La figure 4.23 montre la réponse du procédé régulé à un échelon de consigne de
niveau. Cet essai est effectué sur un horizon relativement long pour un échelon unique afin
de bien cerner le comportement des variables plus lentes que sont X et S. Sur la figure, on
ne remarque pas d'impact perceptible sur la sortie DO. Toutefois, la sortie du pH subit une
légère perturbation à la baisse attribuable au fait que le volume du réservoir décroit pour un
débit de bullage de CO2 prévu pour un volume plus grand. Ceci provoque une acidification
du milieu. Jusqu'à ce que le régulateur de pH réajuste le débit de bullage à la baisse afin de
permettre au milieu de culture de retourner au pH visé de 8. Pour sa part, l'augmentation
initiale de la concentration de biomasse X est attribuable à l'effet de concentration engendré
par la diminution du débit de dilution pendant une période afin de diminuer le niveau ce qui
permet ainsi à la biomasse de croître momentanément. Par la suite, la concentration en
biomasse décroit à une valeur inférieure à celle du départ car le débit d'entrée est rétabli à
sa valeur de départ une fois le niveau visé atteint. Le volume correspondant au nouveau
niveau étant moindre que celui du départ entraîne une diminution du temps de séjour
laissant par le fait même moins de temps à la biomasse de croître ce qui explique la
nouvelle valeur de X à l'équilibre. La sortie S est le miroir de la sortie X puisqu'il s'agit de
la concentration des nutriments consommés par la biomasse.
117
~ ~■ ■ C o n s i g n e h
150
T e m p s [h]
2
cr
60-
150
T e m p s [h]
_ > _ > - Consigne D O
DO
*4
mm^ëimm
' ' .fllJ'H L f'S
j-liliiiijJM.i
1
__kiil_
pyfj
T e m p s [h]
8.004
8.002 -
7.998 -
ff.
'41 'illWill
7.«^96
7.994
— — - Consigne p H
pH
0
150
T e m p s [hj
5.4
mm^~
5.38-
0°
5M
Vj
Figure 4.23: Réponse du procédé régulé à un échelon de niveau
118
Réponse à un échelon de pH
La figure 4.24 montre la réponse du procédé régulé à un échelon de consigne de pH.
L'impact au niveau de DO ayant déjà été expliqué, nous nous limiteront à expliquer la
conséquence du changement de pH sur la sortie X. Outre le fait de constater que la
concentration en biomasse diminue lorsque le pH s'éloigne du pH optimal de 8, un détail
intéressant apparaît au niveau de la sortie X lorsque la consigne de pH passe de 8.1 à 7.9.
En effet, la concentration en biomasse à l'équilibre pour un pH de 7.9 est à peu près
identique à celle pour un pH de 8.1. Ce résultat était prévisible puisque dans les deux cas on
s'éloigne du pH optimal par une même amplitude affectant le taux spécifique de croissance
lié au pH p p H de la même façon (voir figure 4.6). Ce résultat concorde aussi avec la figure
4.14 qui montre des concentrations en biomasse X semblables pour des pH de 7.9 et 8.1.
Pour tous les échelons de pH, on remarque aussi que le sens de la variation initiale du
bullage de CO2 Qc est tel que prévu. En effet, Qc monte pour faire chuter le pH et Qc
baisse pour faire monter le pH. Pour ce qui est de la sortie S, elle se comporte exactement
comme pour la réponse à l'échelon de niveau (miroir de la sortie X).
Réponse à un échelon de DO
La figure 4.25 montre la réponse du procédé régulé à un échelon de consigne de DO.
La diminution de la concentration en biomasse enregistrée pour la première moitié de la
réponse est causée par l'augmentation de la concentration en oxygène dissout qui diminue
le taux de croissance spécifique lié à DO comme le prévoit la figure 4.7. De manière
inverse, lorsque DO redescend à une valeur inférieure à celle du départ, la valeur de X
obtenue à l'équilibre atteint une valeur supérieure à celle du départ de l'essai. Pour ce qui
est de la sortie S, elle se comporte encore une fois comme pour la réponse à l'échelon de
niveau (miroir de la sortie X).
119
8.1
8.05
8
f
r
7.<35
7.9
7.85
7.8
0
— — - Consigne pH
PH
100
200
300
400
500
600
700
800
900
600
700
«SOO
900
Temps [h]
5.8
-p
s.2-r
100
200
300
400
500
Temps [h]
——« Consigne DO
DO
110.6
110.4-
f::)filjfte^
109.8
109.6-
100
200
300
400
500
600
700
800
900
1000
900
1000
MO
1000
900
1000
Temps [h]
E
100
200
400
l
Mil
Mill I «1
n.-.iu 1^*1^1 ht-,1J:f - -,iri-, -i f hl'IkTiT H V "
500
600
700
800
Temps [h]
300
400
500
600
Temps [h]
100
200
400
500
600
700
800
Temps [h]
Figure 4.24: Réponse du procédé régulé à un échelon de pH
120
r
112
— — - Consigne D O
DO
;
I
1
i .
,
, . f i - _ .
300
T e m p s [h]
1600
^
1400
5
1200
Q*
11000
000^
800
tmmWÊmm
«MWMMM
■
300
T e m p s [hj
"- —.~—— — — —. — — -..
7.98
7.96
— — - Consigne pH
pH
300
T e m p s (h)
300
Temps [h]
300
T e m p s [h]
Figure 4.25: Réponse du procédé régulé à un échelon de D 0
121
Essai en régulation avec perturbation sur le taux de croissance maximal p ^
Afin de vérifier la capacité des réglages trouvés précédemment à rejeter des
perturbations autres que celles issues des modification aux entrées manipulables Qi, QA ou
Qc, un échelon est appliqué sur la valeur du paramètre pmax afin d'évaluer l'impact sur les
différentes sorties du bioprocédé dans le mode régulation. Étant donné que dans un mode
d'opération continu, il est peu probable que cette perturbation soit aussi agressive qu'un
échelon, on s'attardera davantage aux tendances à long terme qu'aux transitoires. La figure
4.26 montre la réponse du procédé régulé suite à un échelon sur le paramètre p max qui fixe
la valeur maximale du taux de croissance global tel que décrit par l'expression (4.11). La
diminution de la concentration en biomasse enregistrée est attribuable à cette baisse. La
fluctuation du pH est aussi la conséquence de la baisse de la concentration de biomasse qui
provoque momentanément un surplus de CO2 acidifiant le milieu de culture le temps que le
régulateur de pH rétablisse la situation. La baisse d'oxygène dissout est aussi la
conséquence de la détection de la baisse de la concentration de biomasse.
4.6.5 Commande PI avec gains préprogrammés pour le contrôle du pH
Le comportement observé à la figure 4.19 concernant la réponse de la sortie de pH et
de la variable manipulée Qc lors d'un échelon de consigne filtré inférieur à 8 nécessite une
attention particulière. En effet, il est fort probable que le procédé nécessite un contrôle
efficace du pH dans cette zone de viabilité déjà identifiée au tableau 4.4 et située entre un
pH de 7.5 et de 8. L'essai de juin 2009 confirme cette affirmation puisque la consigne de
pH y était maintenue à une valeur de 7.7 pour toute la durée de l'essai. Avant d'aller plus
loin avec la solution proposée, il est toutefois important de se rappeler la discussion à la
section 4.5.1 (non-linéarité du procédé) au sujet du comportement du procédé lorsque le pH
est inférieur à 8. Pour bien comprendre le phénomène qui se produit, il faut d'abord se
rappeler qu'en tout temps, une augmentation de la valeur de Q, contribue à acidifier
(baisser le pH) le milieu de culture. Donc, la conséquence immédiate d'une baisse au
niveau de la consigne de pH engendrera inévitablement une augmentation initiale de Qc qui
résultera en une chute du pH et l'inverse pour des variations de consignes de pH dans le
sens opposé. C'est d'ailleurs ce qui explique le signe négatif du gain de procédé consigné
au tableau 4.10.
122
-■
m . "
I
78
— — - Consigne pH
— — pH
7.7
76
100
200
300
400
500
600
700
1300
900
1000
800
900
1000
Temps [h]
110.5
400
500
1300
Temps [h]
500
Temps [h]
100
200
300
400
500
600
700
«300
900
1000
600
700
800
900
1000
Temps [h]
100
200
300
400
500
Temps [
Figure 4.26: Réponse du procédé régulé à un échelon surpr,
123
La figure 4.27 montre la réponse du procédé régulé pour des échelons de consigne de
pH négatifs par rapport au pH optimal de 8 avec le réglage initial pour le contrôle du pH.
Cette figure permet de visualiser que les oscillations augmentent au fur et à mesure que l'on
s'éloigne du pH optimal et deviennent rapidement inacceptables en terme de performance
de l'asservissement. Pour pallier à cette situation, on pourrait procéder à une identification
en ligne (boucle fermée) afin de concevoir le régulateur approprié. La solution retenue a
toutefois été celle des gains préprogrammés étant donné sa facilité et rapidité de mise en
œuvre. De plus, le fait qu'elle comptera plusieurs gains asservis à la mesure du pH
permettra de compenser pour la non-linéarité du gain de procédé à mesure que l'on
s'éloigne du pH optimal. La figure 4.29 présente les résultats obtenus avec la solution des
gains préprogrammés. Sur cette figure, on constate une nette amélioration des
performances. La détermination des gains du régulateur à appliquer en boucle fermée afin
de juguler le phénomène oscillatoire observé à la figure 4.27 s'est effectuée de manière
itérative.
Les gains à utiliser sont donc asservis à la sortie de pH de manière à maintenir le
réglage initial pour des consignes de pH au-delà de 8 et la solution des gains
préprogrammés est mise à contribution pour des mesures de pH en-deçà de 8. Les gains de
la solution des gains préprogrammés sont déterminés par un facteur multiplicatif appliqué
au gain du régulateur initial et sont calculés par la fonction « Look-Up Table » de la
bibliothèque Simulink selon le tableau 4.13. Les facteurs multiplicatifs du gain initial (Kc)
du régulateur à utiliser à l'intérieur de la plage de mesure du pH prévue sont déterminés par
interpolation. Pour les plages situées à l'extérieur des plages prévues, les valeurs frontières
indiquées dans le tableau sont utilisées.
124
- -
7.9 - —
7.8
•• -
7.7
...
— — — «Consigne p H
7.6
pH
7.5
200
200
300
300
400
400
500
600
500
600
Temps [hj
700
800
900
1000
«900
1000
Temps [h]
Figure 4.27: Réponse à des échelons négatifs (réglage avec gain fixe)
8
7.9
\
V-
I
O.
7.7
7.6
7.5
L
Consigne pH
-pH
L
300
Temps [h]
300
Temps [h]
Figure 4.28: Réponse à des échelons négatifs (réglage avec gains préprogrammés)
Tableau 4.13: Facteurs multiplicatifs de la solution des gains préprogrammés
Facteur
pH mesuré
multiplicatif
1
8
4
7.75
8
7.5
125
4.7 Optimisation du mode d'opération continu
Afin de trouver le débit d'entrée/sortie en mode continu qui optimise la productivité
instantanée, on effectue un balayage de plusieurs débits d'opération à l'équilibre pour
lesquels on maintient les facteurs
de rendement de pH et de DO à leur valeur optimale et
le volume du réservoir fixe. Cette opération permet alors de déterminer la concentration en
biomasse à l'équilibre (X) ainsi que les débits de bullage d'air QA et de CO2 Qc permettant
d'atteindre cet équilibre. Chaque point d'opération ainsi trouvé correspond alors à un
facteur de dilution29 distinct. À l'aide des données recueillies, une courbe de productivité
instantanée peut être tracée en fonction de ces facteurs de dilution car les conditions de
croissance optimales (pH et DO) sont fixées. Pour ce faire, le calcul de la productivité
instantanée P, s'effectue suivant la relation :
Pt = XQ0
(4.38)
L'expression du facteur de dilution F D est donné par :
FD = Qi/V
(4.39)
où V est maintenu constant avec Qi = Q„ étant donné le mode opératoire continu.
Le facteur de dilution est intéressant à utiliser dans la mesure où l'on désire pouvoir obtenir
des résultats qui sont indépendants du volume réel occupé par le milieu de culture dans le
bioréacteur. Tel que montré à l'équation 4.39, ce taux se calcule à partir du débit d'entrée et
du volume occupé par le milieu de culture (Shuler & Kargi, 2002).
Pour sa part, le temps de séjour
TR montré à l'expression suivante est l'inverse du
facteur de dilution FD, soit :
TR = 1/FD = V/Qt
28
(4.40)
Les facteurs de rendement dont il est question ici sont ceux qui composent le taux de croissance global
pour lesquels une variable manipulable est disponible pour contrôler leur valeur (pH et DO principalement).
29
Voir l'équation (4.39) pour l'expression du facteur de dilution.
30
Le temps de séjour est aussi appelé temps de résidence (anglicisme).
126
La figure 4.29 montre la courbe de productivité instantanée pour différents débits de
récolte. Selon les résultats obtenus, l'optimum se situerait autour d'un débit de récolte de
113 L/J soit un facteur de dilution de 0.452 pour un pH de 8 et un DO de 110%. Il serait
intéressant maintenant de valider les résultats obtenus à l'aide d'essais in situ.
x10S
co
OJ
I
X:110
Y:3.211e+005
­■—­__:
3
1 \\
œ
r
«_i
_?
5.2
■S
o 1i
3
■o
T
.../
/
:;
i\
;
!
;
i
■Zi
50
SI
K
!V
100
150
Débit [L/J]
200
1
1
250
—­.
Figure 4.29: Courbe de productivité instantanée
4.8 Comparaison avec le bioprocédé réel
À partir des données obtenues de l'essai qui a eu lieu en juin 2009, des simulations ont
été effectuées afin d'essayer de reproduire le comportement du procédé. Les conditions
initiales des sorties mesurées ainsi que les valeurs de départ des variables manipulées
correspondant aux données recueillies sur le procédé réel au début de l'essai de juin 2009
apparaissent aux tableaux 4.14 et 4.15. Les autres valeurs (S,„, pmax, etc.) correspondent à
celles des tableaux 4.2 et 4.3. Puisque l'essai de juin 2009 a été effectué en mode batch, les
débits d'alimentation Q, et de récolte Q0 ont été fixés à 0.
Tableau 4.14: Conditions initiales des sorties
Variable
Valeur
Unité
X
2.2
x 106cellules/mL
S
1.2
mM/L
V
250
L
DO
102.1313
%
pH
7.6715
­
127
Tableau 4.15: Valeurs initiales des variables manipulées
Variable
d'entrée
Valeur
Unité
Qi
0
L/jour
Qo
0
L/jour
i
250
ME
Qc
0.5633
mL/min
QA
797.1875
mL/min
Explication des courbes de croissance de la concentration de biomasse obtenues
La figure 4.30 présente la courbe d'évolution de la biomasse telle que mesurée sur le
procédé réel ainsi que la courbe de l'essai de reconstitution obtenue à l'aide du simulateur
et d'hypothèses. Sur la courbe provenant du procédé réel produite à partir des mesures
transmises pour l'essai de juin 2009, les points aberrants les plus importants ont été
corrigés. Afin de concilier davantage la courbe de simulation avec l'essai réel, un délai
d'environ 87 heures correspondant au début de la croissance effective de la première
culture a été ajouté à la courbe du procédé simulé. On observe souvent une telle phase de
latence suite à l'inoculation de micro-organismes dans un nouvel environnement. Ce délai
permet une adaptation au nouvel environnement avant d'amorcer la phase de croissance.
Ce décalage temporel permet de comparer par superposition la courbe du procédé réel avec
celle obtenue par simulation.
Afin de simuler les conditions d'opération du procédé réel, le simulateur a été placé en
boucle fermée avec les paramètres de contrôle obtenus à la section 4.6. La consigne cible
de pH a été fixée à 7.7 comme dans l'essai de juin 2009 et celle de DO a été approximée à
l'aide du signal de mesure de DO. Ce choix s'explique par le fait qu'un écart important
apparait entre la consigne de DO (qui était fixée à 120 tout au long de l'essai) et la mesure
de DO durant l'essai et que DO a un impact direct sur la croissance du procédé. De plus, un
ajustement du coefficient de rendement global maximal p mux a été effectué pour tenir
compte de la décroissance apparente du rendement de production de biomasse observé dans
128
la deuxième moitié du cycle de croissance de la première culture. L'amplitude de
l'ajustement de p max respecte la variation maximale mentionnée à la section 4.4.2
(perturbations non mesurées). Suite à cette série d'ajustements et d'hypothèses, on constate
que les deux courbes de la figure 4.30 sont relativement similaires.
100
150
200
250
300
Temps [h]
Figure 4.30: Courbe des différentes tentatives d'ajustement
Explication des écarts entre les courbes de concentration de biomasse réelle et simulée
Comme les paramètres des contrôleurs de pH et de DO n'étaient pas disponibles au
moment de la simulation, les paramètres de contrôle obtenus à la section 4.6 ont été utilisés.
Cette possible non-concordance des paramètres de contrôle peut avoir engendrée des
différences au niveau de la dynamique des variables mesurées.
Au niveau des autres paramètres, il y a tout d'abord le début de l'acquisition de
données de la première culture qui ne semble pas correspondre avec le début de la mise en
place de tous les facteurs permettant la croissance de la biomasse. Cette hypothèse est
renforcée par l'allure de la courbe de la 2e culture (non montrée ici) dont la croissance
débute immédiatement après la phase de récolte et de redilution du milieu de culture.
Contrairement à une nouvelle inoculation, lors d'une redilution les micro-organismes sont
déjà adaptés à l'environnement ce qui permet à la phase de croissance de s'amorcer
immédiatement.
Ensuite, les paramètres de calibrage (zéro et gain) du capteur de biomasse ne sont pas
connus avec exactitude mais on présume que le zéro correspond en fait à une concentration
129
de 2.2 x IO6 cellules/mL et que le plateau de la première culture correspond à une
concentration d'environ 83 x IO6 cellules/mL. Finalement, d'autres facteurs non pris en
compte dans le modèle pourraient aussi avoir eu un impact sur le taux maximal de
rendement (pmax)- Par exemple, selon l'information reçue lors de la transmission des
mesures sur le procédé de l'essai de juin 2009, des problèmes avec la température trop
élevée du milieu ambiant pourraient avoir faussé la dynamique du procédé.
4.9 Conclusion
Ce chapitre a permis d'effectuer l'implantation d'un nouveau type de procédé à l'aide
du langage Modelica puis d'importer le modèle obtenu dans l'environnement Simulink.
Ensuite, à l'aide de mesures issues d'un essai réel sur le procédé et d'informations
transmises par le responsable de ce projet, une structure de bruit a été ajoutée au modèle de
base du procédé afin de rendre les résultats de simulations plus réalistes. Devant la
nécessité de contrôler à la fois le niveau h, le pH ainsi que la concentration en oxygène
dissout DO du bioréacteur, une étape d'identification a été réalisée. Cette étape a permis de
constater et confirmer la non-linéarité du procédé en particulier pour le contrôle du pH. En
effet, l'analyse du procédé a révélé qu'il avait les caractéristiques d'un procédé
autorégulant pour la plage de pH supérieure à 8 et celles d'un procédé instable en boucle
ouverte pour la plage de pH inférieure à 8. Une fois l'étape d'identification complétée, les
différents régulateurs des boucles de contrôle ont pu être déterminés. Une piste de solution
a aussi été proposée afin de solutionner la problématique évoquée entourant le contrôle du
pH d'une manière relativement simple.
Étant donné l'intérêt signifié par l'équipe du projet de passer au mode d'exploitation
continu et ayant en main un simulateur du bioprocédé pouvant être utilisé en boucle fermée,
il a été possible de trouver par itération le facteur de dilution à utiliser afin d'optimiser la
productivité instantanée pour ce mode d'opération. Pour conclure le chapitre, une tentative
de reproduction d'un essai réel sur le procédé en mode cuvée simple a été réalisée à l'aide
du simulateur avec un succès intéressant.
130
131
Chapitre 5
Procédé de comminution et de séparation
Le procédé présenté dans ce chapitre provient du domaine du génie métallurgique et
consiste en la simulation d'une opération de comminution (broyage et classification par
hydrocyclone) couplée à la séparation par flottation. Contrairement à d'autres outils dans ce
domaine qui ne modélisent que le régime statique, le recours aux équations différentielles
pour modéliser le fonctionnement des constituants du système permet de simuler autant le
régime dynamique que statique du procédé. D'autres travaux ont été réalisés par le passé
pour modéliser le traitement subi par le minerai tant au niveau de la comminution que de la
séparation. Parmi ceux-ci notons particulièrement le simulateur SimulPro (Deschênes,
2002), le simulateur Simflottation (Plamondon et al, 1997), le simulateur décrit par
Coetzee et al. (2010) et finalement la boîte à outils 'Grinding Circuit Toolbox (GCT)'
(Barriga Melgarejo & Sbarbaro, 2002). Contrairement au simulateur actuel, tous ces outils
ont été créés exclusivement dans l'environnement Matlab/Simulink et ne simulent qu'un
seul secteur d'activité, soit la comminution ou la séparation. D'une part, SimulPro, Coetzee
ainsi que GCT simulent le processus de comminution mais ne simulent pas la flottation
alors que d'autre part, SimFlottation ne simule que la séparation par flottation.
Dans le cadre des travaux reliés à ce mémoire, les procédés traités jusqu'ici (procédés
étalons et bioprocédé) se présentaient tous sous une forme scalaire, monolithique et
comportaient un nombre limité d'équations. La nature du procédé dont il est question dans
ce chapitre permet maintenant d'exploiter les possibilités de représentation matricielle du
langage Modelica. En effet, les flux que l'on retrouve dans les procédés minéralurgiques
s'accompagnent habituellement de vecteurs caractérisant leur distribution granulométrique
(fractions massiques des classes de dimension), leur teneur (fractions massiques d'espèces
dans la phase solide et dans les classes granulométriques) ainsi que la fraction massique de
132
solide dans la pulpe. Pour l'implantation de la mise en équation de tels procédés, le recours
à une symbolique d'écriture matricielle permet de simplifier à la fois l'écriture et la révision
éventuelle du code décrivant le fonctionnement.
La nature distribuée des composants du procédé dans l'usine (broyeur, hydrocyclone,
réservoir, cellule de flottation, etc.) permet une encapsulation de leurs fonctions respectives
sous forme de sous-procédés. Cette approche permet de valider individuellement les
éléments en boucle ouverte et facilite ainsi la mise au point du simulateur lorsque le
nombre d'équations devient important comme c'est le cas ici. Elle permet aussi de réaliser
simplement la mise en série de sous-procédés identiques de par leur fonctionnement
(cellule de flottation, broyeur, etc.) sans avoir à réécrire de code. En offrant la possibilité de
paramétrer différemment des modules autrement identiques, cette approche augmente le
potentiel de réutilisation des composantes fonctionnelles tout en permettant un certain
niveau de differentiation du comportement. Pour illustrer ce dernier aspect, disons qu'on
peut penser relier deux broyeurs en série tout en les paramétrant par exemple avec des
charges nominales différentes, ce qui a un impact sur le temps de séjour et donc sur
l'efficacité du processus de broyage de chaque unité. Pour réaliser la simulation de
l'ensemble du procédé de valorisation du minerai (comminution et séparation), il suffit
ensuite d'interconnecter graphiquement les sous-procédés afin d'établir un circuit complet
comme on le fait dans l'environnement Simulink.
L'approche en sous-procédés implique toutefois la nécessité de déterminer la nature
des points d'interconnexion permettant de relier les composants entre eux. Étant donné que
dans ce cas-ci, les flux de matière de ce type de procédé ont la propriété d'être des flux
orientés, leur modélisation peut aussi bien s'effectuer
via une approche causale
conventionnelle qu'acausale. Pour des raisons de simplicité, l'approche causale a été
sélectionnée afin de permettre de relier les composants directement dans Simulink une fois
que ceux-ci ont été exportés dans l'environnement Matlab.
Ce chapitre constitue donc l'aboutissement de la démarche de conception de
simulateurs de procédés à l'aide du langage Modelica. La première partie de ce chapitre
décrit la conception des éléments du simulateur composé d'une unité de comminution
(circuit de broyage), d'une unité de séparation basée sur les différences des propriétés de
133
surface des minéraux (circuit de flottation) et d'un module de libération permettant de
coupler l'opération de comminution et de classification à la séparation tel que le montre la
figure 5.1 qui donne une vue d'ensemble du procédé modélisée dans ce chapitre. Ensuite, la
deuxième partie du chapitre traite du calibrage et de la validation des modèles obtenus. La
troisième partie illustre finalement différentes stratégies de commande algébrique pouvant
être appliquées pour le contrôle du procédé.
Alimentation
de l'atelier de broyage
Circuit de broyage
réservoir,
pompe,
broyeur,
hydrocydone
Module de «conversion
et de libération
Unité de flottation
K
Concentré
Rejet
Figure 5.1: Schéma global du procédé de comminution et de séparation
5.1 Unité de comminution : circuit de broyage
La modélisation du fonctionnement du circuit de broyage s'inspire de celle utilisée
dans les travaux de Sosa Blanco (Sosa Blanco et al., 1999). Comme le montre la figure 5.2,
le procédé se subdivise en trois sous-unités comme suit : un réservoir (cuve de décharge) et
une pompe volumétrique, un classificateur de type hydrocyclone et, finalement, un broyeur.
Le circuit comporte une boucle de recirculation de la pulpe31 qui a pour objectif de
fragmenter davantage le minerai n'ayant pas été classé à la surverse de l'hydrocyclone. La
séquence des éléments constituant le circuit se présente dans une configuration de préclassification puisque le minerai provenant de l'alimentation est d'abord classé par
l'hydrocyclone avant même d'avoir la chance d'être broyé. Cette configuration permet
d'économiser de l'énergie au niveau du broyeur qui n'a pas à fragmenter des particules déjà
assez petites pour être acheminées directement à l'unité de flottation. Au niveau des
particules, une approche monominérale (c'est-à-dire un minéral de valeur dans un ensemble
de minéraux constituant la gangue) est utilisée afin de simplifier la modélisation et faciliter
la mise en œuvre du simulateur.
La pulpe est le mélange constitué de minerai et d'eau.
134
Tableau 5.1 : Nomenclature relative à la figure 5.2
Variable
ta
'5>
U
«U
Vi
—
eu
«u
c
o
u
>>
o
Débit massique de minerai à l'alimentation de l'atelier de broyage
t/h
D,H
Débit massique d'eau à l'alimentation de l'atelier de broyage
t/h
Don
Débit massique d'eau ajouté directement à la cuve de décharge
t/h
F
Fraction massique du minéral de valeur dans le minerai à l'alimentation
de l'atelier de broyage
%
Hauteur de pulpe contenue dans le réservoir
m
Fraction massique de la classe de dimension j pour l'espèce k dans le
flux d'alimentation de l'atelier de broyage
%
KH
Masse d'eau contenue dans le réservoir
t
Rk
Masse de chaque phase k contenue dans le réservoir
t
sR
Section du réservoir
~.2
ajk
Fraction massique de la classe de dimension j pour l'espèce k dans le
flux de sortie de la pompe
%
AH
Débit massique d'eau à la sortie de la pompe volumétrique
t/h
Ak
Débit massique de chaque phase solide k à la sortie de la pompe
volumétrique
t/h
Dv
Débit volumique de pulpe à la sortie de la pompe volumétrique
m3/h
A
Fraction massique de la classe de dimension j pour l'espèce k dans le
flux de surverse de l'hydrocyclone
%
FH
Débit massique d'eau à la surverse de l'hydrocyclone
t/h
Fk
Débit massique de chaque espèce k à la surverse de l'hydrocyclone
t/h
gjk
Fraction massique de la classe de dimension 7 pour l'espèce k dans le
flux de sousverse de l'hydrocyclone
%
GH
Débit massique d'eau à la sousverse de l'hydrocyclone
t/h
Gk
Débit massique de chaque espèce A: à la sousverse de l'hydrocyclone
t/h
RF
Coefficient de partage de l'eau, ou soutirage, à la sousverse de
l'hydrocyclone
%
D SH
Débit massique d'eau à la sortie du broyeur
t/h
DSk
Débit massique de chaque espèce k à la sortie du broyeur
t/h
Un
Débit massique d'eau ajouté directement au broyeur
t/h
msjk
Fraction massique de la classe de dimension) pour l'espèce k dans le
flux de sortie du broyeur
%
MH
Masse d'eau contenue dans le broyeur
t
Mk
Masse de chaque espèce k contenue dans le broyeur
t
1
mv
h
s­
X)
;►>
■_
3
>>
o
Unité
D,
m/jk
£o
Description
m
«U
b
PQ
135
P.
I.
Pompe
volumétrique
Réservoir
Figure 5.2: Schéma du circuit de broyage
La nomenclature relative à la figure 5.2 est indiquée au tableau 5.1.
Les principales hypothèses de conception établies pour la réalisation du simulateur du
circuit de broyage sont :
•
mélange parfait pour le réservoir et le broyeur;
•
dynamique nulle pour l'hydrocyclone et la pompe;
•
classes de dimension limitées à n - 14;
•
approche monominérale (phases solides limitées à deux soient la gangue et minéral de
valeur).
Granulométrie
La séquence de dimension des particules utilisée pour la discrétisation en classes de
dimension est présentée au tableau 5.2 et respecte la progression géométrique suivante :
A. = yfï,
di+i
i = 1 à (n - 1)
(5.1)
où dj [pm] représente la borne supérieure de l'intervalle de dimension des particules de la
division granulométrique i.
136
Tableau 5.2 : Granulométrie retenue pour la simulation
di
dx
d2
d3
d4
ds
ù\
d7
ds
Dimension [um]
3350
2400
1680
1200
850
600
425
300
d.
d9
dio
du
dn
du
du
dis
Dimension [pm]
210
150
105
IA
53
37
0
À partir de la séquence de dimension précédente, on détermine n classes
granulométriques (ici n = IA). L'équation suivante indique la façon de calculer la
dimension moyenne de chaque classe granulométrique :
Cj = y / d i d i + 1 ,
(5.2)
i = 1 à n —2
Comme le montre l'expression (5.2), le calcul de la dimension moyenne des classes (xi)
utilise la moyenne géométrique sauf pour la dernière classe pour laquelle on utilise la
moyenne arithmétique . Ce sont ces classes de dimension moyenne présentées au tableau
5.3 qui sont par la suite utilisées dans les différentes équations décrivant le fonctionnement
des éléments composant le circuit de broyage.
Tableau 5.3 : Classes de dimension retenues pour la simulation
Xi
Xl
X2
*3
x4
*5
X6
Xl
Dimension
[um]
2835
2008
1420
1010
714
505
357
Xi
x»
*9
*10
*n
*12
*13
Xu
Dimension
[pm]
251
177
125
88
63
AA
18.5
" Pour calculer la dimension moyenne de la dernière classe de dimension, la moyenne arithmétique est
utilisée étant donné que d„ = 0.
137
5.1.1 Modélisation du broyage
Le modèle de broyage retenu pour la simulation considère qu'il n'y a que des particules
monominérales étant donné la complexité engendrée par la modélisation du broyage de
particules sous forme de particules mixtes. Le modèle de broyage retenu est ainsi appliqué
à chaque espèce (gangue et minéral de valeur dans le cas présent) prise séparément, ce qui
équivaut à considérer le système comme des broyeurs en parallèles alimentés chacun par un
solide d'une classe minérale différente. De plus, l'hypothèse est faite que le mélange entre
chaque classe minérale est parfait. Le broyeur utilisé dans le contexte du circuit de broyage
de ce procédé est indiqué à la figure 5.3.
HB
Hydrocyclone
Réservoir ■><
Broyeur
Figure 5.3: Schéma du broyeur
Masse dans le broyeur
Au point de vue de l'écoulement, les broyeurs à décharge par débordement peuvent
être approximés par trois réservoirs interactifs telle que l'indique la figure 5.4. Ce modèle
du broyeur est inspiré de Tanaka, soit le modèle mathématique de trois vases
communiquant (Dubé, 1985). Pour cette figure, DE désigne le débit d'entrée, D s le débit de
sortie, Rk la résistance à l'écoulement en sortie du réservoir k et Mk la charge du réservoir k.
DE
L±J
Mk
Ri
R„
R,
— m
■D„
■Ds
Figure 5.4: Fonction d'écoulement du broyeur approximée par trois réservoirs interactifs
138
En linéarisant la relation entre le débit de sortie et la charge à un point d'opération, on
obtient l'expression suivante :
1
D k = -r- (Af* -
Mk+1)
(5.3)
De plus, si on considère que les réservoirs du modèle d'écoulement sont identiques à la
série de mélangeurs parfaits caractérisant les propriétés de mélange du broyeur (ce qui n'est
pas nécessairement obligatoire), les temps de séjours s'expriment alors de la manière
suivante :
Mk
(5.4)
Comme le montre la figure 5.5, au point de vue du mélange, un broyeur peut être
approximé comme une série de trois mélangeurs connectés en série ayant chacun des temps
de séjour respectifs de r„ avec généralement Ti = x2.
,->
,->
,->
O^O
O'O
o*o
Tl
T2
T3
Figure 5.5: Fonction de mélange du broyeur approximée par 3 mélangeurs en série
En ce qui a trait à la modélisation du broyeur du procédé simulé ici, le modèle
d'écoulement finalement retenu consiste en une vue simplifiée du modèle de la figure 5.4
puisqu'il ne contient qu'un seul réservoir. Toutefois, en procédant à une modélisation
acausale du module de broyage, il serait possible de mettre en série les modules
élémentaires de broyeur où l'interactivité des réservoirs serait automatiquement prise en
compte.
Pour sa part, le modèle retenu concernant la modélisation de l'aspect mélange du
broyeur a été simplifié par rapport à la figure 5.5 et ne contient qu'un seul mélangeur.
Toutefois, étant donné qu'il est possible de mettre en série les modules élémentaires de
broyeur paramétrés avec des temps de séjours différents, l'approche retenue permet de
modéliser des broyeurs plus complexes comme celui de la figure 5.5 et offre ainsi une
flexibilité intéressante.
139
Suite à ces deux simplifications, on peut établir une expression pour déterminer la
masse de solide contenue dans le broyeur. Cette masse est importante à évaluer afin de
déterminer le temps de séjour ainsi que la probabilité de capture des particules pour une
fragmentation éventuelle. Cette information vient aussi moduler la dynamique de
fragmentation (vitesse à laquelle les particules mères disparaissent sous l'action du
broyage) comme on le verra un peu plus loin. Comme le montre la figure 5.6, en linéarisant
la relation (charge du broyeur M, débit de sortie Ds) autour du point d'opération (Mo, Dso),
on obtient l'admittance à l'écoulement HR. L'équation suivante donne ensuite l'expression
de la masse M dans le broyeur résultant de cette linéarisation :
M = k t [M0 + R(DS - D so )]
(5-5)
où M [t] représente la masse contenue dans le broyeur, M 0 [t] la masse nominale contenue
dans le broyeur, D s [t/h] le débit de sortie du broyeur, DSo [t/h] le débit de sortie nominal
pour lequel on retrouve la masse nominale Mo, R [h] la résistance à l'écoulement et k\ un
coefficient d'ajustement permettant de moduler le temps de séjour dans le broyeur (rapport
M/D s ) afin de modifier son efficacité. Dans le cas de notre module de broyeur, le point
d'opération sélectionné autour duquel la linéarisation de la relation (masse, débit) s'opère
se situe à Mo = 301, D s o = 200 t/h et R = 0.05 h.
i
j r
X^—r—
|
J
m=MR
Mo
w
M
Figure 5.6: Linéarisation de la relation débit/charge du broyeur
Cinétique de fragmentation
La réaction du processus de broyage s'exprime à l'aide de la relation suivante :
Pj+ E U £
i=/+i
bljPi + Q
(5.6)
140
où Pj représente le nombre de particules mères appartenant à la/ e m e classe de dimension, E
l'énergie mécanique fournie, Sj la constante cinétique de la réaction (c'est-à-dire la
fragmentation) de chaque classe de dimension j , b'i} la fraction massique de particules de
classe de dimension i provenant de la fracturation de la classe j
(coefficients
stœchiométriques ou fonction de fragmentation), P, les particules filles appartenant à la z',eme
classe de dimension et Q la chaleur dégagée, c'est-à-dire la fraction de E qui n'a pas servi à
la fragmentation. Notons que la chaleur dissipée par ce type de procédé représente
habituellement environ 95 % de l'énergie E fournie au système.
Pour modéliser la conservation des particules, on doit d'abord établir une cinétique de
fragmentation qui consiste à déterminer à quelle vitesse les particules mères se transforment
en particules filles sous l'action du processus de broyage. Cette vitesse de disparition des
particules mères est dépendante de la classe de dimension j et est modélisée à l'aide d'une
dynamique de premier ordre comme suit :
Vj = SjHij
(5.7)
où Vj représente la masse de particules de classe de dimension j fragmentée par unité de
temps et unité de charge, Si la constante de vitesse associée à la classe de dimension j , m ;
la fraction massique de Pj dans la charge. Les constantes cinétiques 5 ; constituent la
fonction de sélection S qui détermine la vitesse à laquelle la fragmentation de chaque classe
de dimension se produit. En déterminant la vitesse de disparition des particules mères, elle
impose, par voie de conséquence, la vitesse d'apparition de particules filles. On parametrise
les valeurs des constantes cinétiques à l'aide de la relation suivante proposée par Sosa
Blanco (1999) à partir de mesures industrielles. La forme de la variation de S est gardée
identique à un facteur multiplicatif près, k2, qui représente un coefficient d'ajuste-ment pour
le calibrage de la cinétique du broyeur en fonction de l'énergie transmise. L'équation
suivante présente la cinétique de fragmentation de chaque classe de dimension :
ln S Gj = ln 0.39k2 + 0.891n xt - 0.23(ln x t ) 2
où Se est la fonction de sélection de la gangue.
(5.8)
141
Pour le simulateur, on considère aussi que la fonction de sélection du minéral de valeur
SM est égale à un facteur près à celle de la gangue Se comme suit :
SM = ASG
(5.9)
Le minéral de valeur peut être moins ou plus friable que la gangue. Le facteur k peut
donc être inférieur ou supérieur à 1. À titre d'exemple, la figure 5.7 met en évidence les
différences marquées de cinétique de fragmentation entre la gangue et le minéral de valeur
et ce, particulièrement pour les petites classes de dimension lorsque X = 0.5. Les tests
finaux seront faits avec A = 2 (gangue plus dure que le minéral de valeur).
tti
In Sg vs In xi
In Sm vs In xi
-10
-15
-20
S
3
4
5
6
Classe de dimension - In xi
7
8
Figure 5.7: Cinétique de fragmentation pour la gangue (Se) et le minéral de valeur (S^)
De plus, afin de tenir compte de la variation de cinétique causée par la variation de masse
contenue dans le broyeur, ces fonctions de sélection sont modulées selon l'expression
suivante :
Sr. = S C(nom)
Mo
M
(5.10)
Cette modulation permet de tenir compte du principe par lequel la probabilité de capture
d'une particule en vue d'être éventuellement fragmentée diminue au fur et à mesure que la
masse dans le broyeur augmente par rapport à la masse nominale Mo-
142
Maintenant qu'une expression pour évaluer la cinétique de disparition des particules
mères dans chaque classe de dimension est connue, on doit aussi obtenir une expression
pour évaluer la cinétique d'apparition des particules filles dans chaque classe de dimension
pour compléter le bilan de particules au niveau du broyeur. Il est important de noter que la
vitesse d'apparition des particules filles de chaque classe de dimension n'est pas tout
simplement égale à la vitesse de disparition des particules mères de chaque classe de
dimension immédiatement supérieure car, lorsque des particules mères se fractionnent, elles
le font dans un ensemble de classes de dimension. On doit donc déterminer la répartition
des particules mères fragmentées dans chaque classe de dimension. Exprimé du point de
vue des particules filles, cela revient à déterminer la répartition d'apparition des particules
filles dans chaque classe de dimension suite à la fragmentation des particules mères dans
les différentes classes de dimension.
Pour obtenir cette répartition, il faut déterminer les coefficients stœchiométrique noncumulés bij de chaque classe de dimension et procéder à une sommation comme on le verra
dans l'équation du bilan des particules. Pour ce faire, on utilise d'abord la relation suivante,
tirée des travaux de Sosa Blanco (Sosa Blanco et al., 1999), qui permet de calculer les
fractions massiques cumulées (coefficients stœchiométriques cumulés) des filles dans les
classes i an :
b^; = 0.4(^) 0 - 5 + O . e m 4 5
J
Xj
(5.11)
Xj
où Xj est la dimension moyenne des classes filles et Xj la dimension moyenne des classes
mères.
Le calcul des by permet alors de constituer la matrice B des coefficients
stœchiométriques cumulés aussi appelée fonction
de fragmentation.
Notons que
l'expression (5.11) a pour effet de conférer les propriétés suivantes à la matrice B:
triangulaire inférieure et diagonale principale unitaire. Etant donné le ratio fixe choisi entre
les classes de dimension, les diagonales secondaires ont aussi des valeurs identiques pour
chaque diagonale. À partir de la matrice B, on peut ensuite calculer la matrice des
coefficients stœchiométriques non-cumulés B'constituée des éléments b[j de la manière
suivante :
143
b[ j = B l _ l t j ­ B ij
(5.12)
Le coefficient stœchiométrique non­cumulé b[j représente en fait la quantité de particules
filles de classe de dimension i issue de la fragmentation des particules mères de classes de
dimension j . On fait l'hypothèse que la fragmentation s'effectue uniquement à partir de
classes de particules mères de dimension supérieure aux classes filles (j < ï) et on suppose
qu'il n'y a pas phénomène de réagglomération (£»■.• = 0 lorsque i > j , sauf pour l'élément
i = j = n où b[j = 1)
Par ailleurs, les b\t ont les propriétés suivantes :
•
La conservation de la matière pour la réaction de fragmentation implique que :
I
•
b
'ij =
1
(5.13)
On applique le principe d'auto­similitude voulant que la fragmentation des classes
mères inférieures s'opère selon le même vecteur de coefficients stœchiométriques que
la classe mère précédente d'où : b i + X j + x = b^.
Ces hypothèses ont pour effet de conférer les propriétés suivantes à la sous­matrice B '
composée des b[j pour 1 < i, j < n­l, où n = nombre de classes de dimension : triangulaire
inférieure, diagonale principale nulle, autres diagonales avec même valeurs et avec la
somme de chaque colonne égale à 1.
Finalement, afin de satisfaire la condition de l'équation 5.13, les éléments de la dernière
ligne de la matrice B' sont égaux aux résidus.
n­l
Z>nJ = l ­ ^ \ '
;
(5.14)
1=1
Équations de fonctionnement du broyeur
L'hypothèse de mélange parfait entre les deux espèces considérées s'exprime à l'aide
de l'équation suivante :
144
M
M
DSM
MG
DSG
(5.15)
où MM correspond à la masse de minéral de valeur contenue dans le broyeur, MG la masse
de gangue contenue dans le broyeur, DSM le débit massique sortant de minéral de valeur et
DSG le débit massique sortant de gangue.
L'hypothèse de mélange parfait par rapport à l'eau s'exprime quant à elle de la manière
suivante :
MH
DSH
<516)
■£"■§
où M correspond à la masse totale de solide contenu dans le broyeur, MH la masse totale
d'eau contenue dans le broyeur, Ds le débit massique de solide sortant du broyeur et DSH le
débit massique d'eau sortant du broyeur. Les variables M et Ds peuvent être reconstituées à
l'aide des relations suivantes :
M = M G + MM = V Mk
(5.17)
k
D s = DSG+ D S M = ^ D 5 k
(5.18)
k
L'équation de conservation de la matière (solide) permet de déterminer le taux de
changement de masse de chaque espèce k contenue dans le broyeur :
dMk
­j±=G k ­D s k ,\/k
,, ...
(5.19)
L'équation de bilan des particules (i,k) permet de déterminer le taux de changement des
fractions massiques de chaque classe de dimension de chaque solide contenu dans le
broyeur :
i
d(M k ms ik )
v­1 ,
G
~û
= k9ik ~ D sk ms ik ­ M k S ik ms ik + Mk ^ b tl S jk ms fk , Mik
(5.20)
145
où G k g ik correspond à l'apport en particules au broyeur via le flux de solide mis en
recirculation par l'hydrocyclone, D sk ms ik la perte de particules du broyeur via le flux
sortant,
M
M k S ik ms ik
la
disparition
de
particules
mères
par
fragmentation
et
kY.)=ib'ijSjkmSjk l'apparition de particules filles résultant de la fragmentation de
particules mères de classes de dimension supérieures.
On considère que la différence entre les apports d'eau, provenant de l'hydrocyclone et
de l'ajout à l'entrée du broyeur, et le soutirage d'eau sortant du broyeur en direction du
réservoir s'explique uniquement par la variation de la masse d'eau dans le broyeur.
L'équation du bilan d'eau s'exprime alors comme suit:
dMH
- ^ - =
GH+ H
B
- DSH
, , ««»
(5.21)
Finalement, en tout temps, la somme des fractions massiques des classes de dimension
pour chaque espèce k est égale à 1, ce qui permet d'écrire :
n
Yms* f k = l,Vfe
(5-22)
i=l
5.1.2 Modélisation du réservoir et de la pompe volumétrique
Le réservoir est considéré ici comme un simple intégrateur puisque son débit volumique
de sortie est dicté par une pompe volumétrique située à sa base comme le montre la figure
5.8. Dans le contexte de ce procédé, la dynamique de la pompe est négligée (dynamique
nulle) étant donné l'importance relative des autres dynamiques inhérentes au circuit de
broyage. Sa modélisation consiste uniquement en la spécification de son débit volumique
D\. Selon les hypothèses établies, les équations de fonctionnement de l'ensemble
(réservoir, pompe) se résument aux relations indiquées après la figure 5.8. Pour ces
équations, une dynamique macroscopique est exprimée par le bilan de matière alors qu'une
dynamique microscopique est exprimée par le bilan de conservation des particules.
146
D,
DSK
iriiik
Alimentation
I r r r v
de broyage
ms,/,
DOH
1i 1
t
Î
RH
RK
AH
A*
h
Dv
a,„
m\
\
—►
SR
*vir
Pompe
volumétrique
Réservoir
Figure 5.8: Schéma du réservoir et de la pompe volumétrique
La conservation de la matière (solide) pour chaque espèce k s'exprime comme suit :
dRk
= D l k + D s k ­ A k ,Vk
dt
(5.23)
L'expression du bilan d'eau contenue dans le réservoir est quant à lui le suivant :
dR„
dt
= D IH + DSH + D 0 H - A
(5.24)
H
La conservation des volumes qui définit le procédé constitué par le réservoir et la
pompe comme un procédé intégrateur a pour expression :
dh _
SR
V
(DIk + D sk )
~dl~ L ~
(DIH + DSH + D 0H )
Pu
'//
'Dv
(5.25)
où p k représente la masse volumique de chaque phase solide k.
Pour sa part, le débit volumique Dv dicté par la pompe s'écrit:
AH
V>4­
Dv= — + > —
PH
^Pk
(5.26)
La conservation des particules qui définit la dynamique microscopique associée aux
variations des fractions massiques pour chaque phase solide k est :
147
dR k aijk
= D,) k m,j k + D s k m s i k - A k a jk ,Vjk
dt
(5.27)
L'hypothèse que le réservoir soit considéré comme un mélange parfait implique que les
proportions entre les solides et l'eau soient les mêmes dans le réservoir que dans les flux de
sortie. Cette hypothèse permet d'écrire la relation suivante pour chaque phase k:
Rk
Ak
(5.28)
TT
= "rT
'V/c
"H
RH
Finalement, on a qu'en tout temps, la somme des fractions massiques des classes de
dimension dans chaque phase solide doit être égale à 1, ce qui permet d'écrire :
IL
2_ aik = *' Vfc
(5.29)
i=i
5.1.3 Modélisation de l'hydrocyclone
Le séparateur de particules utilisé dans le circuit de broyage est un classificateur de type
hydrocyclone tel qu'illustré à la figure 5.9. Classant les particules selon leur réponse à un
fluide en mouvement et selon leur vitesse de sédimentation sous l'action d'une accélération
centrifuge, l'hydrocyclone est un procédé qui sépare les particules selon à la fois, leur
dimension, leur forme et leur masse volumique. Comme pour les autres procédés de
séparation par criblage, l'hydrocyclone est considéré comme un dispositif à dynamique
nulle.
Unité
de flottation
Vers
Sousverse
M
■
1
broyeur
Figure 5.9: Schéma de l'hydrocyclone
148
Le fonctionnement de l'hydrocyclone se caractérise par sa fonction de classification C
qui permet de tracer la courbe de partage du classificateur. Cette courbe se décrit via les
trois paramètres suivants: le coefficient de partage de l'eau au soutirage (/?/), le diamètre
équivalent d'équicoupure corrigé de chaque phase solide (d^k) et la pente m au point
d'inflexion de la courbe de classification qui définit l'acuité de séparation. La figure 5.10
présente la fonction de classification pour la gangue (Cjg) et le minéral de valeur (cjm).
i
C l a s s e s d e d i m e n s i o n [^m]
Figure 5.10: Impact de la granulométrie et de la masse volumique sur la classification
Le diamètre d'équicoupure de référence D5o permet de définir une valeur de dimension
équivalente selon laquelle le partage s'effectue entre la sousverse et la surverse de
l'hydrocyclone. Le diamètre d'équicoupure corrigé (dwic) permet de tenir compte de la
masse volumique des particules car sous l'effet d'une force centrifuge, la vitesse de
sédimentation des particules augmente avec leur masse volumique. N'étant pas idéale, la
courbe de séparation selon le diamètre des particules ne présente pas une pente infinie visà-vis le diamètre d'équicoupure mais plutôt un point d'inflexion ayant une pente
correspondant à l'acuité de séparation. Ainsi, plus la perfection de séparation entre la
sousverse et la surverse sera grande et plus la pente au point d'inflexion sera grande. Le
coefficient de partage au soutirage Rj permet de définir l'abscisse à l'origine causé par
l'entraînement des particules fines dans l'eau. Quant à lui, le diamètre d'équicoupure de
référence exprimé en pm est choisi comme suit :
D50 = 280/t 3
(5.30)
Le facteur d'ajustement k 3 permet d'effectuer une translation horizontale de la courbe
de classification en modifiant l'amplitude du diamètre d'équicoupure de référence et par
149
conséquent, le diamètre d'équicoupure corrigé de chaque phase solide. Ce paramètre
d'ajustement a un impact direct sur la proportion et la nature des flux sortants de
l'hydrocyclone. Pour leur part, les diamètres d'équicoupure corrigés d 50k se calculent
comme suit :
d s o k ( p k - P H ) = D S0 ,Vk
(5.31)
L'équation permettant de calculer le diamètre d'équicoupure corrigé permet donc de
tenir compte de la masse volumique des particules. Ainsi, plus la masse volumique d'une
phase solide de particules sera grande et plus son diamètre d'équicoupure corrigé sera petit.
Ceci aura pour conséquence que l'on retrouvera davantage à la sousverse de classes de
dimension inférieure pour les particules des phases solides ayant des masses volumiques
plus grande. Dans notre cas, cela signifie que l'hydrocyclone fera recirculer davantage de
minéral de valeur que de gangue via la sousverse pour des classes de dimension
comparables. Cet effet de concentration entraînera ainsi une augmentation du pourcentage
massique du minéral de valeur au niveau du flux de solide de la sousverse de l'hydrocyclone.
Fonction de classification
La fonction de classification C qui permet de déterminer la fraction de la masse de
chaque classe de dimension et de chaque classe de teneur qui se retrouve à la sousverse de
l'hydrocyclone se calcule à partir des deux relations suivantes :
c'jk = i -
m
e-o.693[*,/dsok] t
y/, k
(5.32)
Cjk = c'jk + (1 - cjk)Rf ,Vj,k
(5.33)
où m représente la pente au point d'inflexion (acuité de séparation).
Pour déterminer la distribution massique des phases solides à la sousverse, on utilise
l'équation :
s
jk = CjkAkUjk > V/, k
(5.34)
150
où Sjk représente le débit massique de chaque classe de dimension pour chaque phase
solide à la sousverse.
Ensuite, pour calculer le débit de chaque phase solide, on effectue la sommation des
débits massiques de chaque classe obtenue précédemment :
G
k = /^Sjk y k
(535)
;
Les distributions granulométriques de chaque phase solide s'obtiennent par:
Sjk w . .
3jk = 7u ­ » V;, k
(5­36)
k
Etant donné la conservation de la matière et qu'on considère qu'il n'y a pas
d'accumulation dans l'hydrocyclone, on peut calculer les débits du flux de surverse comme
suit :
Fk= A k ­ Gkyk
(5.37)
Et de la même façon que précédemment, la distribution granulométrique des phases k
est :
fjk=jLJll
h
-^i>k
(5.38)
k
Finalement, on a qu'en tout temps, la somme des fractions massique de chaque solide et
flux doit être égale à 1, ce qui permet d'écrire :
■ IL
YJ9ik = ^yk
1=1
i=i
(5.39)
nn
yk
i=l
En complément aux variables et expressions spécifiées jusqu'ici, un certain nombre de
variables auxiliaires sont présentées à l'annexe D. Ces variables sont programmées dans le
simulateur afin de permettre une évaluation plus approfondie du fonctionnement et de la
performance du circuit de broyage.
151
5.1.4 Choix des paramètres de dimensionnement et des conditions opératoires
Le circuit de broyage a été développé autour des conditions opératoires nominales
indiquées au tableau 5.4 (variables d'entrées). Les autres paramètres physiques caractérisant le circuit de broyage et l'alimentation de l'atelier de broyage sont indiqués au tableau
5.5.
Tableau 5.4 : Point d'opération nominal du circuit de broyage
Variable
Valeur
Unité
DIH
47.6
t/h
D,
100
t/h
4
%
mijk
(5,8, 1 2 , 1 6 , 1 3 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 2 , 9 )
%
HB
52.4
t/h
Réservoir
p
1
Broyeur
mv
Tableau 5.5 : Autres paramètres physiques de simulation
Paramètre
Valeur
Unité
Description
SR
4
m2
Section du réservoir
RF
25
%
Coefficient de partage de l'eau à la sousverse de
l'hydrocyclone
PH
1
t/m 3
Masse volumique de l'eau
Pc
2.6
t/m 3
Masse volumique de la gangue
PM
4.2
t/m 3
Masse volumique du minéral de valeur
5.2 Unité de séparation : flottation
Dans cette section, un modèle de circuit complet de flottation est développé afin
d'implanter sa mise en équation sous forme de module à l'aide du langage Modelica.
Comme ce fut le cas pour les modules issus du circuit de broyage, le module est ensuite
152
exporté dans l'environnement
Simulink afin de compléter le circuit intégré de
broyage/flottation en vue d'en simuler le contrôle à l'aide de stratégies de commande
simples.
5.2.1 Principe de fonctionnement d'une cellule de flottation
La flottation est une méthode qui permet la séparation de mélange de solides en
exploitant la différence d'affinité des différentes classes de particules pour une phase
aqueuse (eau) ou gazeuse (bulles d'air) à l'intérieur d'un réservoir appelé cellule de
flottation. Un circuit de flottation est donc composé d'un ensemble de cellules de flottation.
Dans une cellule de flottation, la phase solide est en suspension dans la phase aqueuse,
constituant ainsi une pulpe et la phase gazeuse est produite par de l'air injecté à la base.
Lorsque les bulles remontent vers la surface, elles traversent la pulpe entrant ainsi en
contact avec des particules. Dépendamment des propriétés aérophile et hydrophobe des
surfaces exposées des particules, des adhésions peuvent résulter des contacts bullesparticules et acheminer les particules vers la surface via la force d'Archimède. L'écume à
la surface du réservoir qui résulte du processus de flottation est ensuite récupérée afin d'en
extraire par raclage les particules de minéral d'intérêt via la goulotte de concentré. Outre les
bulles qui n'ont subi aucune adhésion et les agglomérats bulle-particules, l'écume est aussi
composée d'eau entraînée par ces deux entités lors du processus de flottation et se retrouve
en partie au concentré puisqu'elle n'est pas complètement drainée. Cette eau contient
d'ailleurs aussi des particules fines non attachées aux bulles, constituant ainsi un
entraînement de particules solides.
Afin d'améliorer la sélectivité des adhésions en faveur des particules de minéral
d'intérêt, des réactifs chimiques appelés collecteurs sont ajoutés à la pulpe. Ces réactifs ont
pour effet d'augmenter l'affinité des surfaces des particules de minerai exposant du minéral
de valeur à adhérer aux bulles en leur conférant des propriétés d'hydrophobicités. D'autre
part, l'ajout de moussant au mélange a pour objectif de contrôler la dimension des bulles
(diamètre) en emulsion afin de favoriser la stabilité des adhésions bulles-particules et de
produire une écume d'épaisseur relativement stable. Notons que l'épaisseur d'écume
dépend du niveau de l'interface pulpe-écume qui est habituellement contrôlé. De plus,
l'épaisseur d'écume est aussi dépendante du débit d'air injecté et du débit d'eau de lavage
153
utilisé parfois en surface. Sous l'action déstabilisante du raclage et de l'eau de lavage sur
les liaisons bulle/particule et par F autodestruction hâtive d'une fraction de l'écume, un
certain pourcentage des particules attachées retourne cependant vers la base du réservoir
(phénomène de drainage).
Afin d'optimiser les probabilités de flottation des particules d'intérêts, la granulométrie
des particules entrantes doit aussi être contrôlée afin d'être compatible avec la dimension
des bulles injectées à la base de la cellule ainsi qu'avec la distribution du minéral de valeur
dans les particules. La figure 5.11 illustre l'ensemble des flux discutés dans cette section,
où W F ,W C ,W T représentent respectivement les débits d'eau à l'alimentation de la cellule,
au concentré et au rejet, W p la masse d'eau contenue dans la cellule. Pour leur part, les
variables c[j, cfj, cfj représentent les concentrations de particules de classe de teneur33 i et
de dimension j en masse de ij par unité de masse d'eau à l'alimentation de la cellule, au
concentré et au rejet. Finalement, ky représente les coefficients de vitesse de flottation et e­y
les coefficients d'entraînement des particules non flottées par l'eau entraînée par les
particules flottées (ew).
Lavage
ECUME
W
— j
F
Drainage
Alimentation
pulpe
Débit agent
moussant
•*■ Concentré
WC
î
Entraînement
Flottation
d'eau
EAU
W
Débit
collecteur
PULPE
Csnin
___
^
Rejetl
*
Débit d'air
injecté
Dair
Figure 5.
33
Flux dans une cellule de flottation
Etant donné qu'au niveau de la flottation on est en présence de particules mixtes, la teneur mentionnée ici
correspond à la fraction massique de minéral de valeur contenue dans la classe de particules mixtes i.
154
5.2.2 Modélisation de l'unité de flottation
La modélisation du circuit de flottation est basée principalement sur les travaux de
conception d'un circuit intégré de broyage et de flottation de Sosa Blanco (Sosa Blanco et
al, 1999) et s'appuie principalement sur les hypothèses de mécanismes suivantes :
•
une seule zone parfaitement mélangée;
•
un réacteur à volume constant;
•
deux phénomènes de transfert au concentré :
o la flottation (cinétique kij)',
o l'entraînement (coefficient ey).
•
l'eau est entraînée au concentré par les solides flottés (coefficient ej).
Dans le contexte de ce mémoire, le circuit de flottation complet est modélisé comme
une seule cuve et ses dynamiques sont toutes représentées par des relations du premier
ordre. Pour les fins de la modélisation des particules, une composition binaire a été retenue
(gangue et minéral de valeur) répartie en quatre classes de teneurs i possibles (gangue,
mixte pauvre, mixte riche et minéral de valeur) et trois classes de dimensions j (grossières,
moyennes et fines). La vitesse de flottation des particules flottées s'exprime à l'aide de
l'expression suivante :
Vij = kij Ci j s
(5.40)
où vij représente la vitesse de flottation (masse de particule ij flottée par unité de temps et
de masse d'eau), ky la constante cinétique, c/7 la concentration de particule ij en masse de ij
par unité de masse d'eau et finalement, s la surface libre totale des bulles par unité de masse
d'eau.
Le débit de production de particules flottées Q1 est lié à la masse de chaque classe de
particule cLW p , à la surface totale équivalente des bulles d'air s qui permettent l'adhésion
et aux constantes cinétiques ky de chaque classe de particule comme suit :
Q-j = kijcfjWs
34
Ces travaux de conception modélisent le comportement du circuit en régime statique seulement.
(5.41)
155
De manière générale, pour une même classe de dimension, plus la teneur des particules sera
grande et plus leur vitesse de flottation le sera aussi. Pour ce qui est de la dimension, il y
aura un optimum situé entre les grosses particules qui s'attacheront difficilement aux bulles
et les plus petites facilement entraînables par l'eau, qui n'offre pas une grande surface
d'adhésion et qui entreront en compétition avec les moyennes qui sont ciblées par la
dimension des bulles choisies.
Le débit d'entraînement de particules vers l'écume Qe dépend à la fois des constantes
d'entraînement ey de chaque classe de particules, des concentrations en minéral de valeur
au rejet cL et du débit d'eau entraîné au concentré VV0. Notons que l'eau entraînée au
concentré (W c ) a la même composition cL que l'eau de pulpe située dans la cellule de
flottation (WT), le débit d'entraînement des particules ij est donc :
(5.42)
Qfj = eijcJjW'
Le débit d'entraînement de l'eau au concentré résulte de l'eau qui accompagne les
particules flottées jusqu'au concentré et s'exprime comme suit :
(5.43)
Wc = e w YkijcJjW p s
U
Équations de fonctionnement
Le fonctionnement du circuit de flottation représenté à la figure 5.12 s'exprime à l'aide
des équations de bilan de conservation des particules, de l'eau et des volumes.
Flottation
Alimentation J
WF
c
y_
F
<- I J
Unité de
flottation
W cT,j
_>
Entraînement
m
cTij
Rejet
Figure 5.12: Débits d'eau et concentrations
<?»
y Concentré
156
Le bilan de conservation des particules est la différence entre l'apport de particules à
l'alimentation et la somme de celles flottées ou entraînées par l'eau au concentré et celles
envoyées au rejet.
K
ljJ
= WFc[j - (kijWcfjS + eijWccJj + WTcfj )
(5-44)
avec
Wc
= ewYjkijWpcJjS
(545)
Le bilan d'eau est la différence entre le débit d'eau entrant dans la cellule W F et celui
sortant au concentré W c sous l'effet de l'entraînement causé par les particules flottées et
celui sortant via le rejet WT :
dW p
—— = W F - (W T + W c )
dt
(5.46)
La conservation des volumes permet d'écrire que la différence entre le volume total (VO
et celui occupé par l'air (Va,>) correspond au volume de la pulpe (VP) qui est la somme des
volumes occupés par l'eau et par le minerai de composition binaire constitué de plusieurs
classes de teneur et de dimension :
wp
s r wPcL
avec
P i = P C (1 ~ fi) + P mv fi
(5.48)
En complément aux variables spécifiées jusqu'ici, un certain nombre d'indicateurs
supplémentaires sont présentées à l'annexe E. Ces indicateurs sont programmés dans le
simulateur afin de permettre une évaluation plus approfondie du fonctionnement et de la
performance de l'unité de flottation.
157
Finalement, afin de permettre le calibrage du circuit de flottation, des facteurs
d'ajustement pour la cinétique de flottation (ko) et pour l'entraînement (ke) ont été
introduits. Ces facteurs permettent ainsi de modifier l'ensemble des coefficients de la
cinétique de flottation (ky) et de l'entraînement (ey) comme suit :
k u = kQXtj
(5.49)
etj = k eh 3 tj
(5.50)
où Xij et /?.. sont respectivement les coefficients de la cinétique de flottation et de
l'entraînement des particules pour les conditions normales.
Variables dépendantes des conditions opératoires
Cette section présente les différentes conditions opératoires dont dépendent un certain
nombre de variables utilisées pour modéliser le procédé de flottation. Bien que ces
conditions opératoires ne soient pas présentement prises en compte dans le cadre de ce
mémoire, il serait possible de les inclure éventuellement afin de raffiner le modèle de
fonctionnement du procédé de flottation.
La relation suivante présente la dépendance des coefficients d'entraînement ey par
rapport à la masse des particules my :
eij=f(mij)
(5.51)
où la masse nty se calcule comme suit en utilisant l'expression (5.48) de la densité
équivalente p. et la dimension des particules mixtes dj :
m
ij
=
Pi d i
(5.52)
Les deux relations suivantes expriment, quant à elles, que le volume total d'air (V air ) et
la surface totale des bulles (s) dépendent en réalité, à la fois du débit d'air (D air ) et de
moussant (D mo ) :
158
Vair ~ I (tJ­mo' ^ a i r )
(5.53)
s = f(D m o ,D a i r )
(5.54)
La cinétique de flottation détermine la vitesse de migration des particules vers la zone
de récupération. Le coefficient ko mentionné à l'expression (5.49) permet un ajustement
global de l'ensemble des constantes de vitesse de flottation alors que la matrice X permet un
ajustement plus fin par classe de particule (teneur et dimension). Les deux expressions
suivantes indique pour leur part que les constantes de vitesse de flottation (ky) dépendent à
la fois de la dimension des particules (df) et de leur teneur (t,). De manière plus globale, les
constantes de vitesse résultantes (ky) dépendent du débit de collecteur (D col ).
*ij=f(dj,fi)
(5.55)
kij = fiPcoù
(5.56)
jLe tableau 5.6 résume les conditions opératoires non prises en compte pour
l'élaboration du simulateur et dont dépendent les variables utilisées pour modéliser le
fonctionnement de la cellule de flottation.
Tableau 5.6 : Variables dépendantes et conditions opératoires associées
Variables
V■
* air
S
Description
Conditions opératoires
Volume d'air dans la cuve
Concentration en moussant Dmo
Surface de bulles dans la cuve
Débit d'air D air injecté
Débit de collecteur Dcot
*i/
Constante de vitesse de flottation
Dimension dj (granulométrie)
Teneur/
ey
Constantes d'entraînement
Masse de la particule nty
159
5.2.3 Choix des paramètres de dimensionnement et des conditions opératoires
Afin de limiter la complexité d'implantation des équations de fonctionnement, le
module de flottation utilise une granulométrie qui a été regroupée selon trois superclasses
de dimension de particules mixtes par rapport aux 14 classes35 de dimension utilisées par le
circuit de broyage et apparaissant au tableau 5.3 de la section précédente. Le module fait
aussi appel à quatre classes de teneur fixe en minéral de valeur. Les tableaux 5.7 et 5.8
présentent les valeurs retenues pour ces classes pour le simulateur. Cependant, étant donné
que la mise en équation exploite l'approche matricielle, il serait relativement simple
d'augmenter le nombre de ces classes de dimension et de teneur dans le simulateur.
Finalement, les valeurs des autres paramètres et valeurs nominales des variables simples
utilisées lors de la mise au point finale du module de flottation sont regroupées dans le
tableau 5.9.
Tableau 5.7 : Regroupement des classes de dimension en superclasses
Classes de
dimension
Description
1
Grossières
2
Moyennes
37 pm < xi < IA pm
[12,13]
3
Fines
x, < 37 pm
[14]
Granulométrie
JC,
Classes de
dimension incluse
> 74 pm
[1-11]
Tableau 5.8 : Classes de teneur des particules mixtes
Classes de teneur fixe en minéral de valeur
1
2
3
4
Gangue
Mixtes pauvres
Mixtes riches
Minéral de valeur
0
0.04
0.40
1
" Les regroupements de classes de dimension en superclasses ont aussi été programmés dans les modules du
circuit de broyage mais cette fois, pour des raisons de simplification de l'interprétation des résultats de
simulation.
160
Tableau 5.9 : Valeurs des choix de conception et des paramètres simples de simulation
Paramètre
Description
Valeur
ew
Coefficients d'entraînement de l'eau
V
Volume total
25 m3
V ■
'air
Volume d'air
5 m3
vP
Volume de pulpe
20 m3
Ps
Masses volumique de la gangue
2600 kg/m3
Pmv
Masses volumique du minéral de valeur
4200 kg/m3
Pm
Masses volumique de l'eau
1000 kg/m3
S
Surface totale des bulles
0.5
500 m 2 /tonne d'eau
W"
Débit d'eau à l'alimentation
100 t/h
SF
Débit de solide à l'alimentation
100 t/h
Note : Lors de la mise au point initiale du module de flottation en boucle ouverte, les débits
d'eau (IV*) et de solide (SF) étaient respectivement de 36 t/h et 40 t/h pour des volumes
d'air (Vair) et de pulpe (Vp) de 2 m et 8 m respectivement. Par la suite, lors du couplage de
l'unité de flottation avec le circuit de broyage, ces volumes ont été majorés par le facteur
2.5 afin de tenir compte du fait que le débit de solide issu du circuit de broyage est passé de
40 t/h à 100 t/h. Cette modification a ainsi permis de maintenir un temps de séjour dans la
cellule de flottation comparable à celui utilisé pour la mise au point initiale du module de
flottation.
5.3 Couplage des deux simulateurs
Un module de couplage, illustré à la figure 5.13, a été développé afin de permettre une
conversion des propriétés des particules issues du broyage en propriétés des particules pour
simuler la flottation. Le module de couplage comporte donc un volet permettant de passer
d'une approche monominérale utilisée par le circuit de broyage à une approche comportant
des particules mixtes pour le circuit de flottation. Le phénomène de libération du minéral de
valeur, qui a été exclu de la modélisation du circuit de broyage, est ainsi pris en charge par
ce module de couplage. La teneur du minéral de valeur de l'approche monominérale du
161
broyage est ainsi répartie en fractions massiques à travers un ensemble de classes de teneur
(particules mixtes) à teneur constante via un processus de libération modélisé dans ce
module de couplage. Le flux entrant du simulateur de flottation peut ensuite être
reconstitué.
FH
Unité de
broyage
Fk
ù
W
F
ir
Module de
conversion
et de
libération
cFjk ^
Unité de
flottation
Figure 5.13: Adaptation des propriétés des flux entre l'unité de broyage et de flottation
5.3.1 Conversion des propriétés des particules
Étant donné que les deux simulateurs utilisent des approches légèrement différentes
(approche monominérale pour le circuit de broyage et approche avec particules mixtes pour
la flottation), les formats des flux sortant de l'unité de broyage ne sont pas tous directement
compatibles avec les formats des flux d'entrée de l'unité de flottation comme le montre le
tableau 5.10.
Tableau 5.10 : Conversion des flux entre la comminution et la séparation
Unité de broyage
Unité de flottation
Flux de sortie
Flux d'entrée
FH
Débit massique de l'eau
Fk
Débit massique des classes
monominérales k (gangue et
minéral de valeur)
w" Débit massique de l'eau
C
U
Fraction massique des particules
de classe de dimension j pour la
classe monominérale k
F
U
Concentration de particules en masse de
ij par unité de masse d'eau, où i
représente la classe de teneur et j la classe
de dimension
162
5.3.2 Modélisation de la libération
La modélisation du processus de libération des deux classes minérales en classes de
teneur de particules mixtes est rendue nécessaire afin de permettre de relier le circuit de
broyage à la flottation. La dynamique de libération est considérée nulle ici car elle fait
partie intégrante de la dynamique de fragmentation du broyage.
La reconstruction de la population de particules alimentant l'unité de flottation à partir
de la granulométrie de la surverse de l'hydrocyclone consiste à répartir les teneurs tj et les
fractions massiques Fj des classes de dimensions issues de l'unité de broyage en classes de
teneurs fixes et prédéterminées par l'entremise de la matrice de libération ¥ . Le tableau
5.11 présente la matrice de libération *P utilisée dans le cadre de ce procédé. Chaque ligne
de cette matrice caractérise la distribution des teneurs des particules contenant du minéral
de valeur dans une classe de dimension donnée. Plus les particules sont fines, plus il y aura
de minéral de libéré donc de particules de teneur 1. Dans le cas présent, on ne considère
que trois classes de teneur en plus de la teneur 0 et seulement trois dimensions de
particules, mais ce formalisme pourrait être généralisé à des nombres de classes plus élevés.
Les paramètres *P peuvent être obtenus à p.artir de modèles de libération basés sur la
géométrie stochastique (Barbery, 1991).
Tableau 5.11 : Matrice de libération *P
Teneurs fixes en minéral de valeur (fk)
Superclasse de dimension
0.04
0.40
1
grossières
0.99
0.01
0.0
moyennes
0.25
0.35
0.4
fines
0.05
0.15
0.8
L'indice i de la matrice *P représente la classe de dimension et l'indice / la classe de teneur
des particules mixtes. Comme on considère que la teneur de chaque classe de dimension du
broyage est répartie complètement selon la ligne correspondante dans la matrice *P, la
somme de chaque ligne de la matrice donne 1.
163
£ î f y = l,Vi
(5.57)
où p est le nombre de classes de teneur des particules mixtes à l'entrée de la flottation.
La dernière colonne de la matrice *P indique que la libération favorise la classe de
teneur élevée lorsque la classe de dimension diminue. En effet, plus le minerai est broyé
finement et plus la classe de teneur élevée est favorisée par des libérations successives. La
solution permettant de déterminer les fractions massiques des classes de teneur des
particules mixtes (fjk) et de la gangue (fy) à l'entrée de la flottation s'obtient ensuite en
effectuant la résolution encodes équations algébriques suivantes qui traduisent la contrainte
d'obtenir la teneur des classes de dimension obtenue par la simulation du circuit de
broyage.
Vfc=l
/ / IAk=l
= ( X Aft - fjo) *!*)/Fi
" fjo) Yjk
+ fi
P° u r J = l à *
(5 58)
'
où/* représente la teneur fixe des classes de teneur des particules mixtes à l'entrée de la
flottation apparaissant au tableau 5.11 et fo la fraction massique de gangue libérée
permettant une telle répartition. Le dénominateur de l'équation 5.58 est en fait Fj.
Une fois les fractions massiques de la gangue obtenues, on peut reconstituer les
fractions massiques des particules mixtes en utilisant la relation suivante :
fjk = (Fj ~ fjo) Vjk
Finalement, les concentrations c y sont générées de la manière suivante :
cF -
(5-59)
164
5.4 Calibrage et validation du simulateur de procédé
Afin de valider la cohérence des résultats fournis par le simulateur et d'ajuster au
besoin son comportement, un certain nombre de tests de validation et de calibrage ont été
effectués en boucle ouverte par composante fonctionnelle et ensuite, par circuit de
composantes en intégrant la recirculation au niveau du circuit de broyage. Cette opération
s'est effectuée sans implanter de contrôle majeur outre la régulation du niveau du réservoir.
Dans un premier temps, le calibrage des circuits de broyage et de l'unité de flottation
s'attardent au comportement statique du simulateur. Ensuite, le comportement dynamique
du procédé est ajusté pour tenir compte de l'inertie du système suite à des changements sur
les entrées
manipulables permettant
de modifier
le diamètre d'équicoupure à
l'hydrocyclone et la quantité d'agent collecteur à la flottation. Finalement, une validation
globale du comportement du simulateur est effectuée suite à des entrées de type échelon au
niveau de l'alimentation en minerai (D,) et en eau (D/H) et ensuite, sur la teneur en minéral
de valeur (Fm) à l'alimentation. Cette section dresse donc un portrait des principales étapes
suivies et donne l'interprétation des résultats obtenus qui ont permis de confirmer
l'obtention d'un outil de simulation représentatif du comportement physique d'un procédé
réel.
5.4.1 Calibrage du circuit de broyage
Après avoir évalué et obtenu le comportement désiré au niveau des différents éléments
composants le circuit de broyage en boucle ouverte (réservoir, hydrocyclone et broyeur), la
mise en boucle fermée du circuit de broyage a été réalisée. Afin de maintenir le niveau du
réservoir constant, une commande par anticipation du débit volumique entrant dans le
réservoir a alors été utilisée. À la prochaine section illustrant la commande du procédé,
cette stratégie a par la suite été remplacée par une commande PI plus réaliste. Comme
objectif de point nominal d'opération pour le calibrage, une charge36 au broyeur de 30 t
ainsi qu'une recirculation de 200 t/h à l'entrée du broyeur pour un circuit en configuration
de pré-classification a été visée. Afin d'obtenir ces valeurs (variables de sortie), un
36
La charge du broyeur correspond à la masse de solide contenue dans le broyeur.
165
ajustement a été effectué sur les paramètres k] à &3 et k. Les valeurs convenues de ces
paramètres sont indiquées au tableau 5.12.
Tableau 5.12 : Valeurs des paramètres d'ajustement du circuit de broyage
la
3
<U
>>
O
E
Paramètre
Valeur
^
0.05
Paramètre d'ajustement de la masse M contenu dans le
broyeur (charge)
k2
1.7
Paramètre d'ajustement de la fonction de sélection
(cinétique) nominale du broyage de la gangue
k
2
Ratio des cinétiques nominales de fragmentation du
minéral de valeur par rapport à la gangue
1
Paramètre d'ajustement du diamètre d'équicoupure de
référence de l'hydrocyclone (Dso) et permettant
d'ajuster le ratio de matière en recirculation (charge
massique recirculante)
Description
CQ
c
"3
w
o
k,
u
>,
5.4.2a Calibrage du circuit de flottation
Le calibrage de ce sous-procédé a d'abord été effectué en mode autonome puisqu'il
s'agit de la première composante conçue lors du développement du simulateur de procédé.
À ce moment, les valeurs visées comme point d'opération étaient celles indiquées au
tableau 5.13. Pour ce faire, la distribution en fraction massique xFy des particules de minerai
figurant au tableau 5.14 a été utilisée pour valider le fonctionnement de l'unité de flottation
en boucle ouverte avant de la relier aux autres modules. Il est à noter qu'à ce moment, les
classes de teneur étaient encore de 0, 0.25, 0.75 et 1 au lieu des classes finalement retenues
de 0, 0.04, 0.40 et 1.
166
Tableau 5.13 : Point d'opération nominal visé pour la cellule de flottation
Variable
Valeur visée
Récupération37 (R)
entre 50 et 80 %
Teneur au concentré38 (7V-)
entre 50 et 80 %
Temps de séjour (r = WlW7)
autour de 10 à 15 minutes
Coefficient de partage ( a = YflW7 )
entre 0.05 à 0.08
Pourcentage de solide dans la cellule
autour de 50 %40
Tableau 5.14 : Distribution des fractions massiques à l'alimentation
Dimension
Teneur
Grossières
Moyennes
Fines
Total
Gangue
24.5
40
30
94.5
Mixtes pauvres
0.5
1.0
0.7
2.2
Mixtes riches
0.5
0.9
0.3
1.7
Minéral de valeur
0.1
0.4
1.1
1.6
25.6
42.3
32.1
100
Total
Suite au développement du module de couplage, des tests de calibrage ont pu être
poursuivis en utilisant cette fois directement les résultats issus du circuit de broyage en
modifiant les volumes tel qu'indiqué à la suite du tableau 5.9. Suite à ces essais, les valeurs
des paramètres correspondant au point d'opération visé et figurant aux tableaux 5.15 à 5.17
ont été adoptées.
Au niveau des classes de particules, les teneurs fixes en minéral de valeur retenues sont
présentées au tableau 5.15. Pour leur part, les coefficients utilisés pour moduler la cinétique
de flottation en fonction des classes de teneur et de dimension sont indiqués au tableau
5.16. Dans ce tableau, on constate que les particules moyennes ont une cinétique optimale
L'équation permettant de calculer la récupération R est indiquée à l'annexe E à l'expression (E.7)
' L'équation permettant de calculer la teneur au concentré Tc est indiquée à l'annexe E à l'expression (E.6)
' L'équation permettant de calculer le pourcentage de solide est indiquée à l'annexe E à l'expression (E.8)
' Afin de correspondre au fonctionnement typique d'une cellule de flottation.
167
alors que les grossières présentent une tendance au détachement et les fines une difficulté à
s'attacher aux bulles. Les coefficients utilisés pour moduler l'entraînement des particules
par l'eau entraînée par le processus de flottation des particules en fonction des classes de
teneur et de dimension sont ensuite présentés au tableau 5.17. Dans ce tableau, on voit que
les fines sont beaucoup plus facilement entraînées par l'eau que les grossières mais un peu
moins facilement si elles sont denses. Finalement, le tableau 5.18 indique les valeurs des
autres paramètres globaux d'ajustement obtenues au terme du calibrage global du
simulateur de procédé.
Tableau 5.15 : Composition et teneur des classes de composition de particules
1
2
3
4
Description
Gangue
Mixtes pauvres
Mixtes riches
Minéral de valeur
Teneur (/})
0
0.04
0.4
1
Composition (i)
Tableau 5.16 : Matrice des coefficients deflottationXn
Classes de dimension
Classes de teneur
Grossières
Moyennes
Fines
Gangue
0.002
0.005
0.002
Mixtes pauvres
0.02
0.03
0.02
Mixtes riches
0.2
0.4
0.2
Minéral de valeur
0.8
1.0
0.8
Tableau 5.17 : Coefficients d'entraînement des particules fiy
Classes de dimension
Teneur
Grossières
Moyennes
Fines
Gangue
0.14
0.32
1.0
Mixtes pauvres
0.13
0.31
0.99
Mixtes riches
0.11
0.30
0.97
Minéral de valeur
0.10
0.29
0.96
168
Tableau 5.18 : Autres paramètres d'ajustement de la flottation
Paramètre
Description
Valeur
ew
Coefficient d'entraînement de l'eau
0.5
ko
Coefficient d'ajustement de la
cinétique de flottation
0.05
ke
Coefficient d'ajustement de
l'entraînement
1
5.4.3 Calibrage de l'inertie liée à la variation des entrées Dso et ko
Afin de simuler le comportement de variables manipulables permettant de contrôler le
diamètre de coupure de l'hydrocyclone et la cinétique de flottation, on a fait varier les
paramètres D50 et ko en créant une dynamique empirique pour ces actions. Pour cela, des
filtres du premier ordre à gains unitaires ont été ajoutés aux entrées D 50 et k0 permettant
ainsi de mieux coordonner le comportement réel global de chaque circuit subissant une
variation de ces entrées. Dans le simulateur, ces entrées ne sont donc pas directement
manipulables étant donné la présence du filtre. Pour la phase d'identification, le
comportement de ces filtres est donc intégré à la dynamique du procédé.
Pour ce qui est de l'entrée D50, la constante de temps a été choisie en fonction de la
constante de temps du réservoir qui correspond au temps de séjour au point d'opération
nominal, car généralement le changement de la coupure de l'hydrocyclone est obtenu par
modification du débit d'eau ajouté au réservoir. On obtient donc une constante de temps
TF
= 0.16 h.
Pour l'entrée k0, la constante de temps de cette entrée a été choisie en fonction de la
constante de temps de la cellule de flottation qui correspond au temps de séjour au point
d'opération nominal. En effet, on modifie la cinétique de flottation par addition d'un agent
collecteur dont l'effet se manifeste par mélange dans la cellule. Pour cette entrée, la
constante de temps à appliquer est T F = 0.05 h.
169
5.4.4 Calibrage du procédé global et validation du comportement du simulateur
Suite aux essais effectués sur le procédé simulé, un certain nombre de paramètres ont
été modifiés afin d'obtenir des résultats de simulation réalistes. Les valeurs indiquées dans
les sections 5.4.1 et 5.4.2 ainsi qu'à la section 5.4.3 sont celles qui ont finalement été
sélectionnées au terme de la période de mise à l'essai du simulateur.
Afin de valider le comportement en boucle ouverte du procédé global41, les entrées D/,
D/H et F,„ ont été soumises à des entrées de type échelon dans l'environnement Dymola et
ensuite dans Simulink une fois les modules importés. Les résultats obtenus ont permis de
vérifier si les tendances des sorties respectaient la logique de la mise en équation et des lois
physiques qu'elle sous-tend. L'annexe C présente quelques résultats obtenus dans l'environnement Simulink pour les principales variables de sortie analysées ainsi que leurs
interprétations associées.
5.5 Contrôle de l'unité de broyage et de flottation
Cette section a pour principal objectif d'illustrer l'application de stratégies de contrôle
au procédé modélisé. Le schéma de la figure 5.14 illustre les variables manipulables Dy, D/,
Dm, D5o et k0 ainsi que les viables observables42 h, D s , T c et TT qui sont utilisées pour ce
faire. Une variable intermédiaire f]4m correspondant au regroupement des fractions
massiques totales des classes de granulométrie inférieures à 74 pm est aussi mise à
contribution pour la boucle interne de la stratégie cascade. De plus, les stratégies de
commandes présentées dans cette section se limiteront à la commande algébrique en
continu étant donné que l'objectif consiste ici à démontrer principalement que le procédé
simulé peut être utilisée à des fins de développement de stratégies de contrôle. Par ailleurs,
les valeurs de ces différentes variables d'entrées et de sorties au point d'opération nominal
sont indiquées au tableau 5.19.
41
Avec contrôle du niveau du réservoir par anticipation dans Dymola et par commande PI dans Simulink.
L'équation permettant de calculer la teneur au concentré T c et au rejet TT est indiquée à l'annexe E à
l'expression (E.6)
4:
170
D,„
•*'
D,
Débit
Procédé de
c o m m i n u t i o n et
de classification
D y
Niveau du
reservoir
°s
pompe
_
Charee
circulante
Tc
flAm
Diamètre
£>50
Teneur
concentré
Procédé de
séparation
de référence
<
Coefficient
ko
TT
cil îétique de flottation
Teneur
rejet
Figure 5.14: Variables manipulées et observées considérées pour le contrôle
Tableau 5.19 : Valeurs nominales du point d'opération du procédé
Variable manipulable
Valeur
Variable mesurée
Valeur
Dm
47.6 t/h
h
10 m
D,
100 t/h
Ds
200 t/h
Dv
3
246.5 m /h
Tc
47.58 %
D50
280 pm
TT
1.31 %
ko
0.05
flAm
55.52 %
5.5.1 Stratégies de contrôle
Les différentes stratégies de contrôle mises en œuvre dans cette section sont d'abord
présentées ici afin de mieux comprendre la philosophie derrière chacune d'entre elles. Ces
stratégies, au nombre de quatre, correspondent au contrôle de l'alimentation en eau du
réservoir
(D/H),
au contrôle du niveau du réservoir (h), à une commande mixte
monovariable/cascade et finalement, à une stratégie de commande globale. Afin d'effectuer
le contrôle de ce procédé, trois de ces stratégies doivent obligatoirement être implantées.
Etant donné que les 2 premières stratégies sont nécessaires au bon fonctionnement du
procédé, seul un choix est possible entre les deux dernières stratégies mentionnées ici.
43
En réalité, il s'agit plutôt de D 0 H car DIH est une perturbation faisant varier le pourcentage de solide à
l'alimentation. Toutefois, au point de vue des résultats de simulation, cela ne fait aucune différence.
171
La figure 5.15 présente la stratégie simple de contrôle de l'alimentation en eau au
réservoir (D/H). Selon cette stratégie de régulation par anticipation proportionnelle, l'ajout
d'eau au réservoir est contrôlé de manière à varier dans les mêmes proportions que les
variations d'ajout de minerai afin de maintenir une densité relativement stable du mélange
de pulpe à l'alimentation de l'atelier de broyage. Le facteur de proportionnalité utilisé est
sélectionné selon le rapport des débits nominaux établis à la phase de conception entre
l'alimentation en eau et le minerai. Cette façon de faire a l'avantage d'être simple et rapide
elle car permet d'appliquer un effet
d'anticipation
sans nécessiter de capteur
supplémentaire. En revanche, l'absence de rétroaction ne permet pas de réagir à des
perturbations comme la variation du taux d'humidité du minerai à l'alimentation de l'atelier
de broyage.
- %
Kc
DiHp
Figure 5.15: Régulation à rapport pour l'ajout d'eau au réservoir
La stratégie pour le contrôle du niveau du réservoir est illustrée à la figure 5.16. Le
circuit de broyage nécessite un contrôle de niveau afin d'éviter des débordements ou encore
d'endommager la pompe par un fonctionnement à vide. De plus, le régulateur de niveau
doit être conçu avec une dynamique rapide puisque les cuves de décharge faisant office de
réservoir sont habituellement de dimensions limitées. Comme l'indique la figure 5.16, le
contrôle du niveau du réservoir s'effectue à l'aide d'une boucle de rétroaction utilisant la
hauteur du mélange dans le réservoir. Afin d'augmenter la performance du contrôle, il
serait possible d'y ajouter l'anticipation des débits volumiques entrant au réservoir issues
de l'alimentation de l'atelier de broyage et de la recirculation provenant du broyeur. Cette
possibilité a été envisagée mais n'a pas été retenue étant donné qu'en pratique,
l'instrumentation nécessaire à l'évaluation de ces débits volumiques est rarement
disponible sur le procédé et qu'une régulation stricte du niveau n'est pas cruciale. Le
régulateur Gc présenté dans cette figure est de type PI.
172
/,
Réservoir
I
-O—
Di
rc
Débit
volumique
soutirage
Hauteur
♦ dans le
reservoir
Pompe
volumétrique
Figure 5.16: Contrôle du niveau du réservoir
La stratégie de contrôle mixte monovariable/cascade illustrée à la figure 5.17 est mise
en œuvre afin de contrôler la charge circulante D s ainsi que la teneur au concentré T c à la
sortie de la cellule de flottation. La teneur au concentré étant, pour des raisons
économiques, la variable de sortie la plus importante à contrôler, une commande cascade
est utilisée ici pour réagir rapidement aux perturbations pouvant affecter la répartition
massique dans les classes de dimension inférieures indiquée par la variable intermédiaire
fiAm­ Le contrôle du passant /74m est habituel en industrie et provient de l'idée que si la
granulométrie d'alimentation à la flottation est stable, les performances en flottation
resteront assez stables. L'intérêt de la commande cascade proposée consiste donc à
minimiser l'impact d'éventuelles perturbations décelées à ce niveau. Cette hypothèse
néglige toutefois que les perturbations des propriétés du minerai ne garantissent nullement
que la libération sera maintenue constante. En pratique, pour contrôler le passant /74m, on
agit sur l'hydrocyclone en déplaçant le D50 indirectement en jouant sur la dilution
d'alimentation de l'hydrocyclone par l'intermédiaire de DiH­ Ici, on suppose toutefois qu'on
peut agir directement sur le D50, ce qui est une simplification raisonnable pour les objectifs
du projet. L'utilisation du passant / 74m dans un contexte de commande cascade comme
c'est le cas ici est plutôt original par rapport à la pratique industrielle qui consiste
habituellement à contrôler le passant au broyage et la teneur à la flottation en jouant sur le
collecteur (ko).
Parallèlement, une stratégie simple monovariable est appliquée au contrôle de la charge
circulante D s dans le circuit de broyage à l'aide du débit d'alimentation de minerai D/. Il est
173
à noter que cette stratégie ne tient pas compte du couplage pouvant exister entre les
différentes combinaisons de couples du procédé. De plus, pour cette stratégie, aucun
contrôle n'est effectué sur la teneur du rejet TT ce qui implique que l'entrée ko est
maintenue à sa valeur nominale.
Teneur
//,
Figure 5.17: Stratégies de contrôle mixte pour un système 2x2
Pour compléter l'éventail des stratégies explorées, une stratégie globale mettant en
œuvre trois combinaisons de couples telle qu'illustrée à la figure 5.18 est proposée. En plus
de contrôler la charge circulante et la teneur au concentré, cette stratégie a aussi pour
objectif de contrôler la teneur au rejet ce qui constitue à la fois un intérêt économique et
écologique. En effet, permettre une teneur trop grande au rejet constitue une perte
d'opportunité de produire davantage de concentré à teneur fixe et, par le fait même, un
gaspillage de ressource. À l'opposé, une teneur trop faible au rejet signifie qu'on consacre
trop d'énergie à produire un concentré à teneur fixe et qu'on devrait plutôt diminuer la
quantité de concentré produite. Etant donné la complémentarité des sorties Tc et 7>, une
solution décentralisée sans découpleur ainsi qu'une solution multivariable avec découpleurs
sont développées afin de minimiser l'impact des perturbations pouvant se produire au
niveau de ces deux sorties. Pour ce volet, les stratégies proposées ne tiennent pas compte du
couplage pouvant exister entre la boucle de contrôle de la charge circulante et les boucles
de contrôle de T c et TT afin de simplifier la conception des régulateurs et étant donné que la
charge circulante n'a pas à être régulée de manière aussi stricte.
174
Débit
minerai
D,
Diamètre d'équicoupure
de référence
Dso
oeffïcient d'ajustement
la cinétique de flottation
ko
Procédé global
Broyage/Flottation
(3x3)
Ds
Charge
circulante
Tc
Teneur
concentré
TT
Teneur
rejet
Figure 5.18: Système 3x3 considéré pour le contrôle multivariable
5.5.2 Identification
Afin de permettre l'établissement de stratégies de contrôle algébriques aux prochaines
sous-sections, un ensemble de fonctions de transfert doivent être préalablement identifiées
autour du point d'opération nominal du procédé indiqué au tableau 5.19. Ces fonctions de
transfert sont nécessaires en vue de l'implantation des stratégies de contrôle citées
précédemment. Les constantes de temps apparaissant dans les fonctions de transfert
identifiées sont exprimées en heures ce qui correspond à la base de temps utilisée pour la
modélisation et la simulation du procédé. De plus, étant donné que les stratégies de
commande présentées dans cette section sont dans le domaine continu, une estimation des
paramètres en continu a été réalisée à l'aide de réponses à l'échelon et de la fonction
process models de l'application ident de Matlab comme au chapitre 4.
Identification pour le contrôle du niveau du réservoir
La relation entre le niveau h du réservoir et le débit D v de la pompe volumétrique de
soutirage constitue un procédé intégrateur dont l'équation générale est :
H
D~v
___
s
(5.61)
où H représente le niveau dans le réservoir et D v le débit volumique de la pompe.
La fonction de transfert de ce sous-système doit d'abord être déterminée afin de
concevoir le régulateur de niveau du réservoir pour maintenir un point d'opération stable
pour l'ensemble du procédé de comminution-séparation. Notons que l'obtention d'un
fonctionnement stable à l'aide de cette boucle interne a permis de calibrer le procédé global
à la section précédente et a aussi permis de procéder à l'identification des fonctions de
175
transfert des autres combinaisons de couples pour l'établissement des stratégies de contrôle
cascade et globale.
Tableau 5.20 : Fonction de transfert identifiée pour le système réservoir-pompe
R2[%]
Fonction de transfert
H [m]
LpUJ
KP
-0.116
" D v [m*/h] " s
s
97.12
Identification pour l'implantation d'une stratégie de commande mixte monovariable/
cascade
44
Comme le montre la figure 5.17, la commande cascade nécessite l'identification de
deux fonctions de transfert, soient celle de la boucle interne GPj et ensuite, celle de la
boucle externe Gpe. Le tableau 5.21 présente la valeur des fonctions de transfert utiles pour
la conception des régulateurs de cette stratégie mixte.
Tableau 5.21 : Fonctions de transfert identifiées pour la commande mixte
Valeur
Fonction de transfert
r
Pl
D 5 [t/h]
" D/[t/h]
/74m [%]
Pl
Dsofrm]
7. fT.
3 2xl0-4
T c [%]
r
Pe
h * m [%]
A
1
(0.25s + 1)
(1 + 0.95s)
(0.245s+ l ) ( 0 . 1 8 s + l )
(1 + 0.57s)
'"" (0.98s + l)(0.18s + 1)
Avec contrôle du niveau du réservoir par commande PI.
R2[%]
98.37
99.88
99.52
176
Identification pour l'implantation d'une stratégie de commande globale45
Les fonctions de transfert du système 3x3 de la figure 5.19 sont présentées au tableau
5.22. La fonction de transfert Go comporte un trait discontinu puisqu'elle est nulle étant
donné que ko n'a d'effet que sur le procédé de flottation et n'influence en rien la charge
circulante D s en amont dans le circuit de broyage.
cm>
Figure 5.19: Système multivariable 3x3 du procédé de comminution et de classification
Tableau 5.22 : Fonction de transfert identifiée pour chaque combinaison de couple
D, [t/h]
3.23
#so [pm]
1
(0.25s + 1)
-0.585
2
R = 98.4 %
-1.13x10
2
_4 (1 + 0.57s) e~(0.27s + l ) 2
R = 92.4 %
)
Vo.Us+lV
4?
-4.0x10
2
R = 87.4 %
R2 = 94.4 %
1
(0.36s + 1)
D s [t/h]
R' = 93.8 %
_4 (1 - 4.38s)
(0.25s + l ) 2
6.31*10- 5 ( —
ko H
1.8xl0 - 5
(1 + 0.50s) e'
(0.31s + l ) 2
2
R = 98.0 %
-.02s
-2.3
(0.064s+1) 2
T c [%]
R- =98.5 %
-0.16
1
(0.092s + 1)
TT [%]
2
R = 96.5 %
L'identification de ces fonctions de transfert s'est effectuée en présence du régulateur de niveau du
réservoir de la section 5.5.3 et de la régulation par anticipation proportionnelle de l'apport d'eau à
l'alimentation de l'atelier de broyage.
177
5.5.3 Contrôle du débit d'eau entrant au réservoir
Comme le contrôleur utilisé pour déterminer la quantité d'eau à ajouter au réservoir est
uniquement à anticipation proportionnelle, seul le gain du contrôleur correspondant au
rapport des points d'opération nominaux à l'alimentation de l'atelier de broyage doit être
déterminé. Ce gain est sans unité apparente puisqu'il est le résultat du rapport des débits
massiques d'une phase aqueuse et d'une phase solide (eau et minerai)
Point d'opération nominal DtH
47.6
Kc = —
;
—— = —— = 0.476 t d eau / t de minerai
Point d operation nominal D,
100
5.5.4 Contrôle du niveau du réservoir
Pour maintenir le niveau du réservoir à un point de consigne donné, une commande PI
basée sur le placement des pôles a été réalisée selon la même approche que le contrôle du
niveau du bioréacteur du chapitre 4 (section 4.6.1). En prenant Kp = -0.116 tel qu'indiquée
tableau 5.20 et TH = 0.09 h afin de viser une dynamique de premier ordre en boucle fermée
avoisinant 10 minutes, on obtient l'équation du régulateur de niveau PI suivante :
GCK
c (s) =
- 2 0 0 (0.17s + 1)
)—
0.17s
(5.62)
La figure 5.20 donne les réponses4 en poursuite et en régulation pour le contrôle du
niveau. Comme le montre la figure, il est possible d'éviter le dépassement de la réponse en
poursuite du niveau en ajoutant un filtre (r/= 0.17 h) à l'entrée pour la consigne de niveau
afin d'annuler le zéro de l'intégrateur de la fonction de transfert du régulateur de niveau. Ce
filtre a aussi pour conséquence de diminuer considérablement l'effort de commande. La
perturbation induite par le changement de consigne de Ds de 10 % est éliminée avec la
dynamique attendue par le régulateur de niveau.
46
Pour ces réponses, le contrôleur monovariable de la boucle D r Ds de la section suivante est aussi utilisé.
178
n
->
£ 10.8
i,o-6
|
h (avec filtre)
h (sans filtre)
■ Consigne h
10.4
10.2
3
Temps |h]
10-
250
' I /.■■­
Dvfawc filtre)
■ Dv (sans «tre)
200
4
150
3
Temps [h]
Temps fh]
Figure 5.20: Réponse en poursuite et en régulation pour le contrôle du niveau
5.5.5 Contrôle de la charge circulante Ds et de la teneur en sortie Tc
Dans ce cas­ci, une stratégie de contrôle cascade illustrée à la figure 5.17 est mise en
œuvre afin de contrôler la teneur Tc au concentré à la sortie de la cellule de flottation à
l'aide d'une variable intermédiaire/74m située à l'interface du circuit de comminution et de
flottation. Simultanément, une stratégie simple monovariable ne tenant compte d'aucun
couplage est appliquée au contrôle de la charge circulante D s dans le circuit de broyage à
l'aide du débit d'alimentation de minerai D]. Cette stratégie de contrôle mixte ainsi que ce
choix de couples de variables est orignal par rapport à ce qui se voit couramment dans ce
secteur de l'industrie.
Conception du contrôleur monovariable PI pour la charge circulante Dg
Le régulateur Gc est conçu en utilisant comme spécification en boucle fermée une
dynamique de 1er ordre avec une constante de temps TH de 0.25 h comparable à celle
identifiée en boucle ouverte. En appliquant la technique de placement des pôles, on obtient
l'expression suivante pour le régulateur PI :
179
1 \ (0.25s + 1)
<«­__â)
0.25s
(5.63)
Contrôleur cascade de la teneur Tc au concentré
L'intérêt d'utiliser une stratégie de commande cascade est de pouvoir corriger par
rétroaction une perturbation détectée par l'entremise d'une variable intermédiaire avant que
celle­ci ait été filtrée par l'ensemble du procédé. Pour ce faire, la boucle interne de la
stratégie cascade doit présenter une dynamique plus rapide que la boucle externe. On
choisit habituellement un rapport entre 3 et 5 entre les dynamiques de la boucle interne et
externe.
Soit la fonction de transfert globale reliant la sortie Tc à l'entrée D5o identifiée à la
section 5.5.2 (tableau 5.22). Lorsque approximée par une fonction de transfert du 1er ordre,
cette fonction de transfert présente une dynamique équivalente en boucle ouverte de 0.5 h.
Cette valeur sera donc le critère utilisé pour fixer la spécification des dynamiques de 1er
ordre en boucle fermée de la boucle externe (He) avec une constante de temps Tne = 0.5 h.
Un rapport de 5 sera utilisé pour fixer la dynamique de la boucle interne (Hi) donnant ainsi
la constante de temps TH, = 0.1 h.
Conception du régulateur GH de la boucle interne
Comme l'objectif du contrôleur de la boucle interne est d'abord de réagir rapidement à
des variations de la variable intermédiaire, la fonction de transfert GPi du tableau 5.21 a été
approximée par Gpi en ne conservant que le gain et la constante dominante de Gpi.
G
*
m
­32*10"(0.245,­M)
(5
■64)
En utilisant la spécification de la boucle interne //, avec Gpi, on obtient alors
l'expression suivante pour le régulateur Gf, :
(0.245s + 1)
GClci = ­ 7 6 5 6 ^ — —
0.245s
(5.65)
180
Conception du régulateur GrjL de la boucle externe
Afin de tenir compte de l'approximation utilisée pour la conception de GCI, une
identification a été effectuée au niveau de la fonction de transfert r/|Gpeliant la consigne
f74,„ à la sortie de la teneur au concentré Tc- L'expression de la fonction de transfert obtenue
est :
c
G
- = "< " "
/
0.56
\
(ÔÏTSITT)
<5 66)
'
Le R2 obtenu pour ce modèle est de 94.8 %. En utilisant la spécification de la boucle
externe He ainsi que l'expression de G*Pe, on obtient le régulateur Gce suivant:
GCe
Ce = 0.625
(0.175s + 1)
-—;
0.175s
(5.67)
Analyse des performances
La figure 5.21 donne la réponse du système suite à un échelon de consigne sur Tc alors
que la figure 5.22 donne la réponse suite à un échelon de consigne sur Ds- La réponse en
poursuite de la boucle D^o-Tc correspond à la dynamique recherchée en boucle de fermée
soit 0.5 h. La réponse de la boucle D r Ds à un échelon de consigne sur Ds illustrée à la
figure 5.22 correspond aussi à la dynamique attendue en boucle fermée soit 0.25 h. Dans
les deux figures, on constate aussi que la sortie /74m et sa consigne se superposent ce qui
signifie que, pour une telle dynamique de consigne de la variable intermédiaire, il n'y a pas
d'avantage à rendre le contrôleur interne Gc, plus performant. En revanche, il serait possible
d'améliorer encore la performance du contrôleur Gce en augmentant son gain Kc.
Quant à la réponse des contrôleurs pour le rejet des perturbations, elle peut s'observer à
même les résultats obtenus en poursuite pour Tc et D s étant donné la présence de couplage
et du fait qu'aucun découpleur n'est utilisé pour cette stratégie. Par exemple, pour l'essai en
poursuite de la boucle Ds-Dj de la figure 5.22, on peut constater que le régulateur cascade
de la boucle D50-Tc réagit à la déviation de la variable intermédiaire /74m causée par le
couplage avec l'entrée D/ afin de ramener la sortie Tc à son point de consigne. Il en va de
même pour la figure 5.21 pour la sortie D s cette fois.
181
Le couplage observé entre les sorties Ds, Tc et la variable intermédiaire fi^m peut
s'expliquer physiquement par le fait qu'un changement dans la charge circulante entraîne
une variation de l'efficacité du broyage (qui peut aussi se constater par la variation de la
variable intermédiaire /74m). Ce changement dans la répartition massique entraîne une
modification de la performance de la flottation qui se traduit finalement par les variations
perçues au niveau de la teneur au concentré Tc. Ce couplage sera mis en évidence à la
prochaine section lors de la présentation de la matrice des gains statiques relatifs de Bristol.
Bien qu'il soit possible de concevoir un découpleur pour atténuer l'effet de ce couplage ou
encore, de modifier itérativement les contrôleurs par rapport à leurs valeurs nominales pour
améliorer leurs performances, ces avenues n'ont pas été développées dans cette section
puisque son objectif se limitait essentiellement à la présentation de la stratégie de
commande mixte monovariable et cascade.
5.5.6 Contrôle décentralisé et multivariable de D s , Tc et TT (système 3x3)
Cette section présente maintenant une approche plus globale et multivariable. La
stratégie mise en œuvre dispose d'un système comportant 3 entrées manipulables ainsi que
3 sorties mesurées telle que le montre la figure 5.18 de la section 5.5.1.
Choix des couples
. 47x
La matrice A des gains statiques relatifs (RGA ) de Bristol (Skogestad &
Postlethwaite, 1996) est utilisée ici afin de mesurer le niveau de couplage et la
directionnalité des différentes combinaisons de couples de variables pour le contrôle du
procédé multivariable. Le tableau 5.23 indique le contenu de la matrice en question.
Tableau 5.23 : Matrice A des gains relatifs statiques pour le système 3x3
D,
D50
k0
0.7849
0.2151
0
Ds
0.0226
0.4742
0.5032
Tc
0.1925
0.3107
0.4968
TT
RGA signifie Relative Gain Array
182
49
48.5
Consigne Tc
■Tc
47.5
4
5
Temps [h]
6
10
,, Consigne f-,4m
74m
4
5
Temps [h]
6
10
4
5
Temps [h]
6
10
4
5
Temps [h]
6
7
8
4
5
Temps [h]
6
7
8
300
280'
E
260
240
220
9
10
100
S
Figure 5.21: Réponses suite à un changement de consigne T c
10
183
4
5
Temps [h]
6
4
5
Temps [h]
6
286
10
225
c
s
Consigne Ds
•Ds
4
5
Temps [h]
6
4
5
Temps [h]
6
10
108
106
SI
104
102
1001
2
3
7
8
Figure 5.22: Réponses suite à un changement de consigne D s
10
184
On constate que la matrice A ne contient aucune valeur négative ce qui indique que
n'importe quelle boucle du système 3x3 peut être ouverte sans pour autant déstabiliser les
autres boucles. Le tableau 5.24 indique les combinaisons de couples possibles pour ce
système 3x3. Le nombre de combinaisons est inférieur à la normale pour un système de
cette dimension étant donné le gain nul apparaissant au tableau 5.22. En effet, il apparait
évident que la variable D s ne peut pas être contrôlée à l'aide de ko puisque le gain pour ce
couple de variables est nul. En pratique, ce gain nul s'exprime par le fait que k0 intervient
en aval du circuit de broyage où Ds intervient et est confiné. Il n'y a donc aucun lien de
cause à effet entre ces 2 variables d'où le gain nul.
D'après la matrice A, D/ semble plus appropriée pour le contrôle de Ds que pour les
variables T c et TT. Finalement, le choix s'est porté sur les couples D50-Tc et k0-TT qui
présente un fort couplage d'importance semblable avec une faible directionnalité48. Ce
couplage était à anticiper étant donné la nature complémentaire des variables Tc et TT. Le
choix final des couples apparait donc comme la diagonale de la matrice A présentée au
tableau 5.23.
Tableau 5.24 : Combinaisons de couple possibles pour le système 3x3
Combinaisons de couple
#1
#2
#3
#4
D,.DS
D,-Ds
D,-Tc
D,-TT
D50-Tc
DSO-TT
Dio-Ds
D50-D s
ko-TT
ko-Tc
ko-TT
ko-Tc
Une analyse plus approfondie de la réponse en fréquence du nombre RGA,49 permet de
confirmer ce choix comme couple idéal. En effet, selon la figure 5.23, la courbe de la
combinaison de couple #1 est plus près de zéro que toutes les autres pour les dynamiques
d'intérêt potentielles du procédé à contrôler.
La directionnalité est une caractéristique des procédés multivariables donnant de l'information sur la
variation des gains pour différentes combinaisons d'entrées.
49
Le nombre RGA est le résultat de la condensation de la matrice A en un seul nombre.
185
5
oc 4
S
F 3.
Combinaison
Combinaison
Combinaison
Combinaison
10
10
10'
Iff
10
10
Fréquence (rad/h)
1
2
3
4
10
Figure 5.23: Nombre RGA pour différentes combinaisons de couples
Le reste de cette section est maintenant consacré à la comparaison de deux stratégies de
commande du système 3x3 soient la commande décentralisée5 sans découpleur et la
commande multivariable avec découpleurs.
Commande décentralisée (sans découpleur)
La commande décentralisée consiste à concevoir des régulateurs monovariables tout en
tenant compte de l'effet de couplage entre les boucles. La figure 5.24 illustre le procédé
avec les trois boucles de contrôle dont il est question ici. La spécification sélectionnée pour
la dynamique visée en boucle fermée pour chaque boucle correspond à leur dynamique en
boucle ouverte et est présentée au tableau 5.25.
-4
+
— < -\J
i
fc G a
*
yJ ,'
Débit
minerai
Gn
p
D,
Dy,
Charge
' circulante
Procédé de
comminution et de
classification
T
.-
Teneur
concentré
Procédé de
séparation
+
■\
—<J
*„
k
*
Gn
7Y
Teneur
Figure 5.24: Stratégie de contrôle d'un système 3x3 selon une approche décentralisée
1
Aussi appelée commande distribuée.
186
Tableau 5.25 : Dynamiques visées pour la commande décentralisée
Dynamique visée en
boucle fermée
Boucle
D,-Ds
H =
Dso-T
50"^ C
H
ko-TT
H =
0.25s + 1
0.40s + 1
0.092s + 1
Dans ce cas-ci, l'approche décentralisée est appliquée uniquement aux boucles D50-Tc
et ko-TT étant donné la valeur économique associée aux sorties Tc et TT et pour simplifier la
conception des régulateurs. Pour ce qui est de la boucle D/-Ds, une approche monovariable
sans tenir compte d'aucun couplage a été choisie permettant d'utiliser le régulateur de
l'expression (5.63) conçu à la section précédente. Selon l'approche décentralisée, la
fonction de transfert vue par le régulateur Gc2 est :
G?2 — G
22
—
u
G23G32Gc3
1 + Gc3G33
(5.68)
alors que celle vue par Gc3 est
63
—
G33 —
G23G32Gc2
1 + Gc2G22
(5.69)
Étant donné que ces deux régulateurs comportent un intégrateur, on peut approximer
chacune de ces fonctions de transfert aux basses fréquences où GciGu » 1 afin de faire
disparaître leur dépendance liée au terme du régulateur de l'autre boucle. Cette
approximation permet ainsi d'écrire les expressions suivantes pour G2 et G3.
Ul
— 677
—
G23G32
G33
Gr, — Gr>z>
33 —
G23G32
'22
(5.70)
(5.71)
187
Notons que les fonctions de transfert G2 et G3 ont ensuite été réapproximées à l'aide de
Matlab et de l'application ident. Les résultats de ces approximations sont présentés au
tableau 5.26.
Tableau 5.26 : Fonctions de transfert G2 et G3 approximées
G,
-6.6x10
G3
_4 (0.61s+1)
(0.34s + l) 2
-0.263
(0.16s+ 1)
R2 = 97.8 %
R" = 92.4
À titre de comparaison, le tableau 5.27 présente l'expression des régulateurs
décentralisés résultant de cette approche ainsi que l'expression des régulateurs
monovariables conçus pour les mêmes boucles de manière indépendante et sans tenir
compte des couplages. Dans les deux cas, les régulateurs sont obtenus par la technique de
placement des pôles. La figure 5.25 montre ensuite les résultats en poursuite et en
régulation pour chacune de ces deux approches.
Tableau 5.27 : Régulateurs selon l'approche décentralisée et indépendante
Boucle
Régulateurs selon approche décentralisée51
D5o-Tc
(0.34s + l ) 2
Gn = - 1 2 8 8
0.34s (0.61s + 1)
ko-T T
(0.16s + 1)
Gr3 — —6.61
0.16s
Boucle
Régulateurs selon approche indépendante
D,-Ds
D5o-Tc
ko-TT
1
GC1 = 0.31
GC2 = - 1 8 1 5
(0.25s+ 1)
0.25s
(0.40s + 1)
0.40s (0.57s + 1)
GC3 = -6.25
(0.092s + 1)
0.092s
L'approche décentralisée n'étant pas appliquée au couple D r D s , le régulateur de cette boucle n'est spécifié
que pour l'approche indépendante.
188
230
220
sZ
^­
210
C o n s i g n e Ds
Ds (Décentralisé)
Ds (Indépendant)
a
200190
6
T e m p s [h]
10
12
108
106
t
r—*?&«
104
r
■
i
i
/ '
t
102
i
i
100
—
Di (Indépendant)
Di (Décentralisé)
j
98
6
T e m p s [h]
10
\2
10
12
to
12
50
C o n s i g n e Tc
Tc (Indépendant)
Tc (Décentralisé)
49
48
as
f\
V,-'
47
6
T e m p s [h]
290
280
'
\:.
I
«=•
4
"S.­_
D50 (Indépendant)
D50 (Décentralisé)
270
250
260
6
T e m p s [h]
1.4
1.38
H 1­36
P
C o n s i g n e Tt
Tt (Indépendant)
-Tt (Décentralisé)
1.34
/
1.32
•■>„
1.3
6
T e m p s [h]
10
0.052
kO (Indépendant)
k o (Décentralisé)
0.05g
12
0.048
0.046
0.044
0.042
0
2
4
6
T e m p s [h]
8
10
Figure 5.25: Réponses en poursuite pour le système multivariable 3x3
12
189
La boucle D/-Ds donne des résultats acceptables avec un régulateur dont les paramètres
sont déterminés en ne tenant compte d'aucun couplage. L'amélioration des performances
qui se fait surtout sentir au niveau du temps de réponse en mode régulation est attribuable
uniquement à l'amélioration de la performance des deux autres boucles lorsque conçues
selon l'approche décentralisée. Pour ce qui est de la boucle D5o-Tc, l'approche décentralisée
permet d'améliorer les performances autant en poursuite qu'en régulation. Finalement,
l'impact de l'approche décentralisée au niveau de la boucle k0-TTest plus limité. Les
résultats en poursuite sont sensiblement améliorés alors qu'en régulation, ils ne sont pas
vraiment perceptibles. On constate tout de même que la solution avec l'approche
décentralisée permet d'éliminer plus rapidement les perturbations induites par l'effet de
couplage pour les sorties Ds et Tc principalement. La prise en compte du couplage pour la
conception du contrôleur de la boucle D/-Ds permettrait d'améliorer encore les
performances au détriment de compliquer la conception des contrôleurs puisqu'il s'agit
d'un système 3x3. Pour pallier cette lacune au niveau de la conception, une solution
pourrait consister de partir des réglages actuels et de recourir à une méthode itérative du
type proposée par Pomerleau & Poulin (2004) pour améliorer les performances de chaque
boucle.
Commande multivariable avec découpleurs
La réponse aux échelons multiples de la figure 5.25 indique clairement l'effet du
couplage lors de la poursuite de chaque échelon de consigne. La mise en place de
découpleurs a justement pour objectif de réduire cette influence mutuelle. Cette section
explore donc la possibilité d'intégrer des découpleurs entre les entrées D5o et ko comme
l'indique la figure 5.26. Ces variables sont d'ailleurs connues comme ayant un fort
couplage selon les gains relatifs statiques apparaissant au tableau 5.23. Ce choix de
découpler uniquement deux entrées repose d'abord sur un souci de simplicité et ensuite sur
le fait que les variations des sorties Tc et TT par rapport à leur point de consigne entraînent
des pertes économiques alors que la variation de la charge circulante D s est ici considérée
avec moins de priorité car elle agit davantage comme une variable tampon. L'ajout de
découpleurs nécessitera toutefois de réévaluer la conception des régulateurs GC2 et Gc3
associés à chacune de ces entrées manipulables.
190
*.
f
w
J
-o
N
J
ueoii
minerai
-
Gn
n
D,
+/_.
* Gn'
t
«+
Os*
Charge
" circulante
Procédé de
comminution et
de classification
T
D, :
Dn
- m C -\
J
,,
*
Procédé de
séparation
>
♦+
Gn
Teneur
concentré
ko
TT
Teneur
y~>
Figure 5.26: Stratégie de contrôle multivariable avec découpleurs
Conception des découpleurs
Etant donné leur simplicité d'implantation et de conception, le choix du type de
découpleurs s'est porté sur les découpleurs simplifiés. La technique utilisée par les
découpleurs simplifiés consiste à annuler l'effet d'une variation de chaque entrée sur la
sortie secondaire correspondante comme si cette variation était en fait une perturbation
mesurable que l'on cherche à anticiper. La figure 5.27 présente le sous­système avec les
découpleurs et les équations suivantes donnent leurs expressions selon les valeurs obtenues
à la phase d'identification précédente.
D„
32 =
'32
7
D„
'23 =
^33
^23
G22
­1.84xl0 _ 5 (0.5s + l)(0.092s + 1)
­0.160 (0.31s + l ) 2
(5.72)
2.29 (0.27s + l ) 2
­ 4 . 0 2 x l 0 ­ 4 (0.06s + l)(0.57s + 1)
(5.73)
Figure 5.27: Sous­procédé avec découplage des entrées D50 et ko
191
Réévaluation des régulateurs
L'ajout de découpleurs entre les entrées D50 et ko vient modifier la fonction de transfert
vue par le régulateur. En fait, les fonctions de transfert en boucle ouverte de chaque sousprocédé deviennent :
G*2 = G 2 2 ~ P - G 2 3
(5.74)
"33
"23
6*3 = G 3 3 — ——G 32
(5.75)
"22
Pour évaluer ces nouvelles fonctions de transfert, on peut procéder par manipulation
algébrique et simplification par ré-identification ou encore, procéder directement à une réidentification en boucle ouverte en présence des découpleurs. Étant donné que ces fonctions
de transfert correspondent à celles de G2 et G3 traitées précédemment avec l'approximation
aux basses fréquences de la commande décentralisée, les fonctions de transfert résultantes
du tableau 5.25 ont été utilisées. De plus, afin de pouvoir comparer l'impact de ces
découpleurs de la commande multivariable avec les résultats de l'approche décentralisée, la
spécification des dynamiques visées en boucle fermée du tableau 5.26 ainsi que les
expressions des régulateurs du tableau 5.27 de l'approche décentralisée ont aussi été
utilisées. Les résultats comparant les réponses aux échelons multiples pour ces différentes
stratégies52 de contrôle sont présentés pour leur part à la figure 5.28.
52
Soient l'approche indépendante sans tenir compte des couplages, l'approche décentralisée et finalement
l'approche multivariable avec découpleurs.
192
230
220
_?
_l 210
to
Q
M
200190
Consigne Ds
Ds (Indépendant)
Ds (Décentralisé)
Ds (A\ec découpleurs)
C
6
Temps [h]
10
12
50
■ Consigne Tc
Tc (Indépendant)
Tc (Décentralisé)
• Tc (A\ec découpleurs)
49
o
I-
»\\
■■-■-•■v_
•'■-•j—"r;
ft\
i "■
....
'<i v II _■■>"!
48
■"mum
47
6
Temps [h]
10
■il
• Consigne Tt
Tt (Indépendant)
Tt (Décentralisé)
■ Tt (Avec découpleurs)
1.4
1.38
1.36
1.34
12
■ ■■
1.32
w——— m
1.3
0
2
4
6
Temps [h]
8
10
12
Figure 5.28: Réponse comparative à des échelons multiples avec et sans découpleurs
On constate que l'ajout de découpleurs au procédé a peu d'impact sur la réponse en
poursuite de la sortie D s mais a pour effet d'accélérer la réponse de la même sortie en
régulation suite à des variations de consigne de 7>. Les amplitudes des perturbations
perçues en régulation demeurent toutefois semblables. Puisque que la priorité de contrôle
de la charge circulante est moindre que la teneur du concentré et du rejet, cela convient. Au
niveau de la sortie Tc, l'ajout de découpleurs se fait surtout sentir au niveau de la réponse
en régulation suite à un échelon de consigne de TT en accélérant la réponse et en diminuant
l'amplitude de la perturbation perçue liée à ce couplage. Au niveau de l'impact de l'échelon
D s sur 7c, seule l'amplitude de la 2e oscillation est plus fortement atténuée. Pour sa part, la
réponse en poursuite est relativement semblable à celle de la commande décentralisée. Pour
193
ce qui est de la sortie 7>, on note une amélioration au niveau de la perturbation perçue lors
de l'échelon Tc qui est à peine perceptible. La réponse en poursuite a la même dynamique
que la réponse de l'approche décentralisée mais ne comporte pas de dépassement.
Ces variations plus perceptibles sur la sortie T c malgré les découpleurs sont
provoquées par plusieurs facteurs dont le fait que le système de contrôle est plus lent pour
réagir et éliminer une perturbation induite au niveau de la flottation alors que la variable
manipulable régissant Tc est située en amont au niveau du circuit de broyage. Dans ce
contexte, un contrôle plus efficace du point de consigne TT est réalisé au détriment de la
sortie Tc. Dans le cas où la priorité devrait plutôt être accordée à la sortie Tc, il serait
intéressant d'explorer la possibilité de resserrer la spécification du régulateur de la boucle
Di-Ds qui est présentement la plus lente selon le tableau 5.26. Il pourrait aussi être
intéressant d'explorer la permutation de la combinaison des couples Dso-Tc et ko-TT afin de
diminuer la constante de temps en boucle ouverte entre la variable observée Tc et la
variable manipulable associée (ko au lieu de D5o). De plus, le fait que la structure du
découplage simplifié mise en œuvre ne tienne pas compte de la boucle D/-Ds pour laquelle
un certain niveau de couplage est connu selon les résultats obtenus lors de l'analyse des
gains relatifs statiques explique en partie ce comportement non-idéal. Les approximations
utilisées lors de la conception des régulateurs ne sont pas non plus étrangères à ce
phénomène.
5.6 Conclusion
Outre la familiarisation face au domaine du génie métallurgique, le développement de
ce simulateur a contribué à approfondir davantage les différentes facettes du processus de
développement de simulateurs de procédés à l'aide du langage Modelica et des
environnements de développement.
Le simulateur conçu dans ce chapitre comporte un nombre important d'équations et de
variables comparativement à ceux développés dans les chapitres précédents. Ce nombre
important, et plus particulièrement l'approche matricielle d'écriture des équations pour
simplifier et condenser la déclaration a entraîné une complication particulière au niveau de
la spécification des conditions initiales. En effet, il a été difficile de spécifier les valeurs
194
initiales des différents modules comportant des équations différentielles sans se retrouver
avec des messages d'erreurs de sur-spécification du problème lors de la simulation du
système. Des problèmes d'initialisation ont aussi été notés lors de l'importation des
modules dans l'environnement Simulink. Ces problèmes d'initialisation ont nécessité
l'ajout de valeur infinitésimale au dénominateur de la plupart des équations dans le
simulateur afin d'éviter des problèmes de convergences dues à des divisions par zéro au
départ de la simulation.
Au cours du développement de cette première version fonctionnelle du simulateur de
procédé de comminution et de séparation, un certain nombre de simplifications ont été
effectuées afin de permettre de compléter les travaux dans les délais disponibles.
Maintenant que la faisabilité du projet de développement d'un tel procédé a été démontrée,
un certain nombre d'extensions pourraient être apportées aux modules de simulation pour
tenir compte par exemple des modulations entraînées par la variation des conditions
d'opération du procédé ou encore, pour utiliser une granulométrie plus fine. Mentionnons
aussi que, suite à l'analyse des résultats, certaines recommandations ont été émises en
regard des dynamiques associées aux variables d'entrées D 50 et k0 pour les travaux futurs.
Ces recommandations sont d'abord de réduire la consigne de niveau du réservoir à
l'alimentation de l'atelier de broyage à 1.5 m permettant ainsi d'obtenir une dynamique de
0.024 h pour D50 et ensuite, de considérer un volume ajusté de la cellule de flottation à 25
m3 afin de tenir compte du débit de minerai au point d'opération de 100 t/h conduisant à
une dynamique de 0.18 h pour ko- Toutefois, les conclusions tirées pour ce procédé n'en
sont nullement affectées.
Au niveau du contrôle, différentes stratégies de commande algébrique en continu ont
été explorées. À la lumière de ces travaux, il serait maintenant intéressant, particulièrement
pour la problématique de contrôle multivariable, de poursuivre les travaux du côté de la
commande prédictive et de comparer les résultats avec un procédé réel ou avec d'autres
logiciels de simulation spécialisés dans ce domaine et identifiés au chapitre 2. Il serait aussi
intéressant de simuler une usine complexe de flottation avec charges circulantes et d'étudier
des stratégies de contrôle dans le cas où le nombre de variables manipulées est très
redondant par rapport aux nombres de cibles.
195
Chapitre 6
Conclusion
6.1 Commentaires généraux
Ce mémoire de maîtrise a d'abord mis l'emphase sur la sélection d'un environnement
de développement et d'un langage de spécification visant à faciliter le travail de conception
de simulateurs de procédés à des fins multidisciplinaires. En plus de sa compatibilité avec
l'environnement Matlab/Simulink, les travaux réalisés à l'aide de l'approche retenue
consistant à utiliser le langage Modelica et les environnements de développement Dymola
et MapleSim ont permis de démontrer qu'il s'agissait d'une avenue intéressante à bien des
points de vue et répondant aux objectifs fixés au départ du projet.
Au niveau de la modélisation des procédés, plusieurs exemples de complexités
croissantes ont été présentés. Étant donné la simplicité des systèmes d'équations servant à
décrire le fonctionnement des procédés étalons et la publication des points d'opération dans
l'ouvrage de référence de Corriou (2004), ces procédés ont servi de tremplin pour faciliter
l'appropriation de l'approche. Par la suite, l'implantation de la modélisation du bioprocédé
a été réalisée de concert avec une version existante du même simulateur mais sous la forme
d'un modèle Simulink. La reproduction d'un essai réel et l'obtention des paramètres
optimaux pour la conversion du procédé au mode d'opération continu ont par la suite pu
être démontrés. La découverte que le bioprocédé se comportait comme un procédé instable
en boucle ouverte pour une certaine zone d'opération relativement au pH a suscité
beaucoup de réflexion avant d'en arriver à cette conclusion étant donné la rareté d'observer
un tel phénomène. Bien que la stratégie de contrôle du pH basée sur une commande PI avec
gains préprogrammés donne des résultats intéressants, il y aurait là matière à pousser
davantage la réflexion afin d'optimiser cette boucle de contrôle. Le procédé de broyage et
196
de flottation a, pour sa part, représenté un défi important étant donné la taille finale du
système d'équations et les problèmes de spécification des conditions initiales rencontrées.
Finalement, les stratégies de commande utilisées pour contrôler le bioprocédé et le
procédé de broyage et de flottation se sont limitées à la commande continue algébrique
étant donné que le but consistait davantage à démontrer la possibilité d'effectuer le contrôle
des procédés simulés issus de l'approche retenue.
6.2 Travaux futurs
Pour la conception des simulateurs de procédés figurant dans ce mémoire, le recours au
langage Modelica s'est fait essentiellement afin de simplifier l'implantation de la mise en
équation des systèmes dont le fonctionnement était décrit à l'aide
d'équations
différentielles et algébriques. Étant donné la nature des systèmes proposés ou encore, la
présentation de la mise en équation, il n'a pas été possible d'exploiter les possibilités
acausales du langage. Pour les simulateurs comportant plusieurs modules comme le
procédé de broyage et de flottation et où cette caractéristique serait considérée comme une
plus value, il serait intéressant d'évaluer la faisabilité de décrire les modules sous une
forme permettant d'exploiter cette fonctionnalité. De plus, bien que la spécification des
conditions initiales n'ait pas posé de problèmes particuliers pour ce qui est des procédés
étalons et du bioprocédé, il en fut tout autrement pour le procédé de broyage et de
flottation. Cet aspect nécessiterait d'être investigué davantage avant de poursuivre avec
cette approche pour la réalisation de simulateur avec des systèmes d'équations du même
acabit.
En ce qui a trait à la possibilité d'utiliser les dérivées partielles, même si la mise en
équation des différents systèmes traités dans ce mémoire n'en comportait pas, il n'en
demeure pas moins qu'il serait intéressant que cette fonctionnalité soit disponible dans le
langage utilisé pour la conception de simulateurs. Selon la spécification actuelle du
langage, Modelica n'offre pas encore cette fonctionnalité mais un certain nombre de
propositions ont déjà été publiés à cet égard (Li & al., 2008; SalDamli & Fritzson, 2000). Il
serait donc intéressant de continuer de faire un suivi de ce côté.
197
Au niveau des environnements de développement basés sur Modelica et compatibles
avec Matlab/Simulink, il serait intéressant de continuer de faire le suivi des nouvelles
versions des produits utilisés dans ce mémoire et de continuer à évaluer les nouveaux
produits en émergence tel que l'environnement SimulationX53. Il serait aussi intéressant de
comparer de manière systématique l'efficacité des solutions créées selon les approches
utilisant uniquement l'environnement Matlab/Simulink avec celles développées avec
Modelica afin de vérifier les conditions limitatrices liées à l'utilisation de cette approche
comme, par exemple, pour la simulation en ligne (HIL54). Finalement, même si la littérature
scientifique fait surtout mention du langage Modelica, d'autres langages de modélisation
orienté-objet basés sur les équations et non-investigués tels que SysML et VHDL-AMS
mériteraient éventuellement d'être évalués.
Concernant le bioprocédé, le pH optimal a été établi à 8 même si la valeur optimale
réelle n'était pas encore connue avec précision. L'évolution récente des connaissances de
l'équipe responsable du procédé à ce niveau a permis d'établir que cette valeur se situerait
davantage autour de 7.8 pour l'espèce cultivée. Il serait donc important de modifier
l'équation du facteur de croissance spécifique lié au pH pour tenir compte de cette nouvelle
valeur. Au niveau de DO, des recherches sont encore en cours afin d'établir le meilleur
compromis. En effet, l'équation du facteur de croissance lié à DO nous indique qu'il est
avantageux de viser un DO < 100 % alors que dans les faits, cela exige un bullage en air
plus prononcé ce qui cause une mortalité prématurée des cellules (l'éclatement des bulles
d'air à la surface endommage les cellules). Des recherches sont donc encore en cours afin
de trouver le compromis le plus intéressant à ce niveau. Un suivi devrait donc être fait à ce
niveau afin d'intégrer cette nouvelle connaissance au modèle du bioprocédé. Outre
l'optimisation de la productivité instantanée de la biomasse présentée dans ce mémoire, il
serait éventuellement intéressant de favoriser une voie métabolique donnée permettant de
privilégier la teneur en certains composés spécifiques utiles comme les lipides et ce, pour
différents modes d'opération du bioréacteur (mode cuvée simple, semi-continu ou continu).
53
Depuis la version 3.3 (janvier 2010), cet environnement de développement qui supporte la langage
Modelica comporte aussi une passerelle vers Matlab/Simulink.
54
HIL signifie Hardware In the Loop.
198
Pour le procédé de broyage couplé à celui de flottation, il serait intéressant de revoir la
modélisation de la dureté afin que les changements à l'alimentation de l'atelier de broyage
à ce niveau se répercutent à la sortie avec une dynamique plus réaliste. Maintenant qu'une
première version du simulateur est disponible, il serait intéressant de développer les
modèles permettant de modéliser le comportement des variables dépendantes des
conditions opératoires (principalement au niveau du module de flottation) et d'inclure ces
conditions opératoires comme variables au niveau du simulateur. Pour ce qui est des classes
de dimension utilisées par le module de flottation, il serait pertinent d'harmoniser leur
nombre à celui du module du circuit de broyage afin d'éviter de devoir recourir à une
compression des données en superclasses comme ce fût le cas ici. Dans le même sens, on
pourrait aussi prévoir une fonction plus complexe pour modéliser le processus de libération
réalisé par le module de couplage.
199
Bibliographie
Barbery, G., Mineral liberation: measurement, simulation, and practical use in mineral
processing, International Journal of Mineral Processing, 78, 85-92, 1991.
Barriga Melgarejo, J. O., Sbarbaro, D., Manual de usuario : Simulador dinamico para
circuitos de molienda humeda, Universidad de Conception, Chile, 40p., 2002.
Bequette, B.W., Russo, L.P., Chemical process design, simulation, optimization and
operation, Encyclopedia of physical science and technology, 751-766, 2004.
Brown, L.M., Zeiler, K.G., Aquatic biomass and carbon dioxyde trapping, Energy
Conversion and Management, 34, 1005-1013, 1993.
Cheng, L., Zhang, L., Chen, FL, Gao, C , Carbon dioxide removal from air by microalgae
cultured in a membrane-photobioreactor. Separation and Purification Technology,
50, 324-329, 2006.
Chin, S., Lee, K.S., Lee, J.H., A Technique for Integrated Quality Control, Profile Control,
and Constraint Handling for Batch Processes, Industrial & Engineering Chemistry
Research, 39, 693-705, 2000.
Chisti, Y., Biodiesel from microalgae, Biotechnology Advances, 25, 294-306, 2007.
Chiu, S.-Y. et al., Lipid accumulation and C02 utilization of Nannochloropsis oculata in
response to C02 aeration, Bioresource Technology, 100, 833-838, 2008.
Close, C. Frederick, D.K., Newell, J., Modeling and Analysis of Dynamic Systems, John
Wiley & Sons, 576p., 2002.
Coetzee, L.C., Craig, I.K., Kerrigan, E.C, Robust Nonlinear Model Predictive Control of a
Run-of-Mine Ore Milling Circuit, EEEE Transactions on control systems
technology, 18, 222-229, 2010.
Corriou, J.-P., Process Control : Theory and Applications, Springer, 752p., 2004.
Deschênes, J.-S., Développement d'outils pour l'enseignement de la commande
automatique, Mémoire de maîtrise, Université Laval, Québec, 184p., 2002.
Dubé Y., Montage, simulation et algorithmes pour la commande automatique du
procédé de broyage, Thèse de doctorat, Université Laval, Québec, 227p., 1985.
200
Fritzson, P., Principles of Object-Oriented Modeling and Simulation with Modelica 2.1,
John Wiley & Sons, 897p., 2003.
Fritzson, P., Modelica - a general object-oriented language for continuous and discreteevent system modeling and simulation, Proceedings 35' annual simulation
symposium, San Diego, USA, 365-380, 2002.
Graichen, K., Hagenmeyer, V., Zeitz, M., Design of adaptive feedforward control under
input constraints for a benchmark CSTR based on a BVP solver, Computers and
Chemical Engineering, 33, 473-483, 2009.
Kim, J.-D., Lee, C.-G., Systemic Optimization of Microalgae for Bioactive Compound
Production, Biotechnology and Bioprocess Engineering, 10, 418-424, 2005.
Lee, J.S., Lee, J.P., Review of advances in biological C02 mitigation technology,
Biotechnology and Bioprocess Engineering. 8, 354-359, 2003.
Li, Z., Zhang, FL, Zheng, L., Description of PDF Models in Modelica, International
Symposium on Computer Science and Computational Technology, Shangai, China,
809-813,2008.
Monod, J., Recherches sur la croissance des cultures bactériennes, Hermann, 210p., 1942
Plamondon, É., Makni, S., Mailloux, M., SimFlottation : Logiciel de simulation d'un
circuit de flottation, Logiciel, Université Laval, Canada, 1997.
Pomerleau, A., Poulin, É., Manipulated variable based Pl tuning and detection of poor
settings : An industrial experience, ISA Transactions, 43, 445-457, 2004.
Pomerleau, A., La commande de procédé industriels, Hermès, 367p., 1997.
Saldamli, L., Fritzson, P., Object-oriented Modeling with partial differential equations,
Modelica Workshop, Lund, Sweden, l-16p., 2000.
Sbarbaro, D., Del Villar, R., Editors, Advanced control and supervision of mineral
processing plants, Springer Verlag, 31 lp. 2010.
Shanklin, T., Roper, K., Yegneswaran, P.K., Marten, M.R., Selection of bioprocess
simulation sofwarefor industrial applications, Biotechnology and bioengineering,
72,483-489,2001.
Shuler, M. L., Kargi, F., Bioprocess Engineering: Basic concepts, Prentice Hall, 553p.,
2002.
201
Skogestad, S., Postlethwaite, I., Multivariable Feedback Control : Analysis and Design,
John Wiley & Sons, 559p., 1996.
Sosa Blanco, C , Hodouin, D., Bazin, C , Lara Valenzuela, C , Salazar, J., Integrated
simulation of grinding and flotation application to a lead-silver ore, Minerals
Engineering, 12, 949-967, 1999.
Tiller, M. M., Introduction to physical modeling with Modelica, Kluwer Academic
Publishers, 337p., 2001.
Uppal, A., Ray, W.H., Poore, A.B., Classification of the dynamic behavior of continuous
stirred tank reactors - influence of reactors residence time, Chemical Engineering
Science, 31,205-214, 1976.
Zupancic, B, Karba, R., Control Engineering : New Trends with OO Modelling Approach,
Asia International Conference on Modeling and Simulation, Phuket, Thailand, 2007.
202
203
Annexe A :
Distinction entre l'approche causale et acausale
Cette annexe a pour objectif de clarifier la différence entre un comportement causal et
acausal lors de la m odélisation et de la sim ulation d'un systèm e. L'im pact du type
d'environnement de développem ent et de sim ulation (causal ou acausal) est aussi précisé.
Le systèm e choisi est em prunté au domaine de l'électronique et consiste en la cascade de
circuits RC du prem ier ordre pour réalisé un circuit RC du 2e ordre. Les deux circuits RC
considérés sont présentés à la figure A. 1.
Circuit 1
R,
R2
-VW-o
p
*WV-oR=5 Ma
Ri
R=1 Ma
)V;
II
*
T
Vc2|
c. ¥ ^ >
Circuit 2
C
Ri
I-I/W-OR=1 MO
< )
V:
-
m
k■VW-O
E-
R=5 Ma
"
Vr?
a, ^ >
Figure A.l : Circuits RC avec et sans effet de charge
204
Les circuits 1 et 2 de la figure A. 1 sont identiques à un élément près soit la présence
d'un ampli-opérationnel configuré en suiveur dans le deuxième circuit entre le premier et le
deuxième sous-circuit RC. Dans le circuit 2, l'amplificateur suiveur a pour fonction d'isoler
le comportement du premier circuit RC du deuxième en évitant l'effet de charge que cause
le deuxième circuit RC. En utilisant les transformées de Laplace, on peut représenter les
circuits 1 et 2 de la figure A.l à l'aide des fonctions de transfert suivantes:
'c 21
Vt
1 + (tfiCj + R t C 2 + R 2 C 2 )s + (/?1/?zC1C2)s2
(A.1)
et
¥ = (——M——)
Vi
\ l + R 1 C 1 s ) \ l + R2C2sJ
(A.2)
1 + (fijCj + R 2 C 2 )s + (/?1/?2C1C2)s2
On remarquera que la seule différence entre les équations A.l et A.2 se situe au niveau du
dénominateur de l'équation A.l où un terme intermédiaire R\C2, qui correspond à l'effet de
charge, apparait. La figure A.2 montre les réponses à l'échelon des deux circuits. Sur cette
figure, on remarque que la dynamique du circuit 1 est plus lente que celle du circuit 2 à
cause du phénomène de charge indiqué précédemment. Malgré l'effet de charge, les 2
circuits ont, tel qu'attendu, des gains statiques unitaires.
Circuit 1 (a\«c charge)
Circuit 2 (sans charge)
15
Temps [s]
25
Figure A.2 : Réponse à l'échelon des circuits RC avec et sans charge
30
205
Ainsi, afin de pouvoir créer des circuits RC d'ordre n, il suffit de créer tout d'abord un
circuit RC du 1er ordre et de l'encapsuler dans un bloc qu'on réutilisera par la suite en le
paramétrant en conséquence à chaque étage de la cascade.
Figure A.3 : Circuit RC du 1er ordre encapsulé (MapleSim)
Le circuit RC du 2e ordre avec charge (circuit 1 ) peut être reproduit en mettant en série
deux modules RC du 1er ordre dans un environnement acausal (Simscape, MapleSim ou
Dymola). En contrepartie, si on exporte d'abord le module RC du 1er ordre dans
l'environnement Simulink et qu'on met en série deux modules dans cet environnement, on
obtient un circuit RC du 2e ordre sans effet de charge (circuit 2). Ce résultat s'explique par
le fait que la connexion des modules dans un environnement acausal correspond en fait à
une connexion physique (énergie) alors que l'interconnexion des mêmes modules dans un
environnement causal correspond plutôt à une connexion logique (signal). Puisque le
comportement recherché du système modélisé est celui avec effet de charge, on optera donc
pour une conception dans l'environnement acausal suivi d'une exportation dans
l'environnement causal Simulink. La figure A.4 suivante résume les différences de
conception d'un module RC du 1er ordre prévu être mis en série dans un environnement
acausal (colonne de gauche) et causal (colonne de droite).
206
Modules mis en série dans MapleSim
Modules RC mis en série dans Simulink
1
i
:
1
if- -
■—
•
— f E>
E
K
< )
11
3
X
1
,
inputs [1]
outputs [1]
Step
1 |
Scope
w
st'■t
inputs[lj
outputs[1]
W
:
nptls[1]
outputs [t]
-+ n
fï:: ■-.■::i,-:, ■■.:...;..
\A*
!^'
! Generate
!♦>▼
MapleSin
I Geneiate
MPVM
Scope
MapleSif
:
»:::¥™ï"»i:?::-:::
#♦
Generated by
MapleSim
MapleSim_rc
1
MapleSimjcl
MapleSim_ic6
Figure A.4 : Module RC encapsulé avec interconnexion acausale et causale
Dans un autre domaine d'application, par exemple la mise en série de deux réservoirs,
l'environnement acausal évite d'avoir à spécifier la direction du fluide entre les 2 réservoirs
au moment de la conception (direction qui pourrait changer soit dit en passant au cours
d'une simulation dépendamment des conditions d'opération) ou d'avoir à ajouter une
connexion en amont (comme discuter à la figure 2.1) pour que le 2e réservoir informe le
premier réservoir de l'évolution de son état.
207
Annexe B :
Solution de la modélisation d'un réservoir chauffant
avec « S-function »
Le contenu de la « S-function » PT_Reserv_Chauffant() est donné ici à titre de
référence afin de constater le travail nécessaire pour implanter avec Matlab la modélisation
d'un système à l'aide des équations différentielles. Comme mentionné dans le chapitre 2,
outre le titre de la fonction principale, le corps de la fonction n'a pas à être modifié lorsque
l'on implante un nouveau système d'équation. Seules les sous-fonctions ont besoin d'être
modifiées pour tenir compte du nouveau système.
function [sys,xO,str,ts] = PT_Reserv_Chauffant(t, x, u, flag)
%PT_Reserv_Chauffant est un exemple de script de type M-file implantant
%une S-function pour définir un système continu.
Q.
O
% Voir aussi CSFUNC et sfuntmpl.m pour gabarit générique de S-function.
switch flag,
o o 9-0.3-9-9-9-9-2-9-° 9 9-° 9 9 9
o o o o o o o o o o o o o o o o o o
% Initialization %
o o 5-2-9-9-9.9-9-9-° 9-° 9-° ° ° °
o o o o o o o o o o o o o o o o o o
case 0,
[sys,xO,str,ts]=mdlInitializeSizes;
0
So 2-9o o o-9-9-S-2-9-9-9-9-2-9-2o o o o o o o o o o o
% Derivatives %
2-9-9-9-2-2-2-2-2-2-9-2-2-2-2" o o - o o o o o o o o o o o o o
case 1,
sys=mdlDerivatives(t,x,u);
o o 9-°,°,9-9,g.o,o,o,
o o o o o o o o o o o
% Outputs %
o o 9-2-9-2-2-2-2-2-2o o o o o o o o o o o
case 3,
sys=mdlOutputs(t,x,u);
0
0
2-°
-2-2-2-2-2-2-2-9-9-9-9-9-9-2o ' o
o o o o o o o o o o o o o o o o-2o
% Unhandled flags %
0
2-°
o ' o2-2-2-2-2-9-9-9-9-9-2-2-9-2-9o o o o o o o o o o o o o o o o -2o
case { 2, 4, 9 },
sys = [];
208
% Unexpected flags %
2-9-9-9-S-9-«iS-«i«2.<s\-«i«2-9.«2.«2.9.«A«i«i
oooooooooooooo'o'o'o'o'o'S
otherwise
DAStudio.error('Simulink: blocks:unhandledFlag', num2str(flag));
end
% end csfunc
%
% mdllnitializeSizes
% Return the sizes, initial conditions, and sample times for the
% S-function.
function [sys,xO,str,ts]=mdlInitializeSizes;
sizes = simsizes;
sizes.NumContStates
sizes.NumDiscStates
sizes.NumOutputs
sizes .Numlnputs
sizes.DirFeedthrough
sizes.NumSampleTimes
=
=
=
=
=
=
2
0
2
1
0
1
% Nombre d'états continus: Th et Tl
% Nombre de sorties: Th et Tl
% Nombre d'entrées: qi
sys = simsizes(sizes);
% Spécification des conditions initiales
xOl = 300; % Th(0) = Ta
x02 = 300; % T1(0) = Ta
xO = [xOl x02];
str = [];
ts = [ 0 0 ] ;
% end mdllnitializeSizes
% mdlDerivatives
% Return the derivatives for the continuous states.
function
sys=mdlDerivatives(t,x,u,dperiod,doffset)
% u(l) = qi(t)
% x(l) = Th, x(2) = Tl
% sysl = dTh/dt et sys2 = dTl/dt
CH=20.0e3;
CL=1.0e6;
RHL=1.0e-3;
RLa=5.0e-3;
Ta=300;
%
%
%
%
%
J/K
J/K
s*K/J
s*K/J
K
209
qhl = (x(l)-x(2))/RHL;
qla = (x(2)-Ta)/RLa;
sysl= (u(l) - qhl)/CH;
sys2= (qhl - qla)/CL;
sys = [sysl sys2];
% end mdlDerivatives
%
% mdlOutputs
% Return the block outputs.
%
function sys=mdlOutputs(t,x, u)
sys = [x(l) x(2)];
% end mdlOutputs
210
211
Annexe C :
Validation du simulateur de procédé de
comminution et de séparation
Une panoplie d'essais ont été réalisés afin de permettre la mise au point du simulateur.
Parmi ceux-ci, cette annexe présente les résultats les plus informatifs retenus afin d'illustrer
le bon fonctionnement du simulateur de procédé du circuit de broyage couplé à l'unité de
flottation. Pour ce faire, la réponse du procédé à un échelon négatif au niveau de
l'alimentation de l'atelier de broyage est présentée à la figure C l . Ensuite, la figure C.2
présente la réponse du procédé à un échelon négatif au niveau de la teneur en minéral de
valeur à la même alimentation. Afin de mieux comprendre les résultats obtenus, une brève
explication des tendances observées est donnée.
Validation 1 : Échelon négatif de 20 % sur D t et D IH
La baisse rapide et simultanée des débits de minerai et d'eau à l'alimentation de
l'atelier de broyage (entrées D/ et D/H) entraîne aussi une baisse rapide du débit de sortie à
la surverse (sorties F et FH) de l'hydrocyclone qui se stabilise finalement en régime
permanent à la même valeur que l'alimentation de l'atelier de broyage sous l'action du
circuit de broyage. Cette baisse rapide du débit à la sortie de la surverse de l'hydrocyclone
entraîne une augmentation du temps de séjour dans la cellule de flottation puisque c'est un
équipement qui travaille à volume fixe. Cette augmentation du temps de séjour permet ainsi
à un plus grand nombre de particules de flotter. Ceci a pour effet de permettre à la gangue
de flotter davantage et de réduire ainsi la teneur au concentré par effet de dilution étant
donné que la distribution granulométrique à l'intérieur de la cellule de flottation n'a pas
encore eu le temps de changer. Cet effet transitoire s'estompe lorsque le circuit de broyage
tend vers un nouvel équilibre produisant davantage de particules moyennes et fines (comme
le montre la tendance de la sortie fj4m) qui comporte du minéral de valeur qui, lorsqu'elles
atteignent la cellule de flottation, contribue à finalement augmenter T c lorsque la
distribution granulométrique à l'intérieur de la cellule tend vers le nouvel équilibre étant
212
donné leur affinité pour la flottation causée par le collecteur. La sortie 7>, pour sa part, est
une image de la sortie F puisque lorsqu'on augmente le temps de séjour dans une cellule de
flottation, la teneur au rejet a tendance à diminuer.
L'augmentation de la récupération R s'explique dans un premier temps par le
phénomène d'augmentation de la flottation due à la diminution du débit d'alimentation qui
augmente le temps de séjour dans la cellule de flottation. L'augmentation de ce temps de
séjour a pour effet de favoriser la flottation de davantage de matériel y compris le minéral
de valeur. Ensuite, la diminution du débit d'alimentation a pour effet d'augmenter aussi le
temps de séjour dans le broyeur, le faisant passer de 9 minutes à 11.4 minutes.
L'augmentation de ce temps de séjour a pour conséquence d'augmenter le pourcentage
massique des particules de dimension fines et moyennes, un peu comme si l'efficacité du
broyage augmentait. Les pourcentages massiques des classes de plus petites dimensions
étant aussi naturellement favorisées pour la flottation et l'entraînement, il en résulte une
hausse de la récupération. L'action combinée explique le dépassement par rapport à la
valeur finale.
L'augmentation observée sur la sortie/74m s'explique par l'augmentation du temps de
séjour dans le broyeur noté précédemment. La sortie FH quant à elle comporte un transitoire
qui s'explique par la réponse du contrôle du niveau qui diminue le débit de la pompe
volumétrique afin de maintenir la consigne de niveau. L'eau diminue davantage que le
solide car l'ajout d'eau au broyeur n'est pas modulé alors que c'est naturellement le cas
avec le minerai étant donné la recirculation.
La tendance observée sur la sortie F va dans le même sens que la diminution de
l'apport de minerai à l'alimentation de l'atelier de broyage avec une dynamique de premier
ordre liée principalement à la recirculation dans le circuit de broyage. En effet, lorsque la
pompe diminue de régime, le broyeur commence doucement à diminuer son apport au
réservoir au fur et à mesure de la diminution au niveau de son alimentation via
l'hydrocyclone.
213
10090
n
S-
F
1.25
1.5
2
Temps [h]
2.5
I.S
2
Temps |hj
2.5
Figure C. 1 : Réponse du procédé à un échelon négatif sur D\ et D/H
214
Validation 2 : Échelon négatif de 2 % sur la teneur en minerai à l'alimentation /•"....
La diminution de la teneur en minéral de valeur à l'alimentation de l'atelier de broyage
a pour effet de diminuer la densité du mélange contenu dans le réservoir et par le fait même
la masse volumique équivalente du mélange. En d'autres mots, cela signifie que pour un
niveau donné dans le réservoir, une teneur inférieure à l'alimentation implique moins de
particules de minéral de valeur dans le mélange de pulpe. Étant donné que le paramètre X
fixant la dynamique de broyage relative entre le minéral de valeur et la gangue a finalement
été fixé à 2 (voir tableau 5.12), cela signifie aussi que le minéral de valeur est plus
facilement broyable que la gangue. Étant donné que l'abondance du minéral de valeur
diminue, il est normal d'observer une diminution du pourcentage massique cumulée f74m.
Une simulation non consignée dans ce document et effectuée dans les mêmes conditions
qu'ici mais avec X = 0.5 montre d'ailleurs une augmentation du pourcentage massique
cumulée /7^m lorsque la teneur diminue comme dans cet essai ce qui vient confirmer cette
hypothèse. Dans les deux cas, le temps de séjour dans le broyeur reste stable autour de 9
minutes.
Cette baisse au niveau du pourcentage massique des classes de dimensions inférieures
causée principalement par la diminution de la disponibilité des particules de minéral de
valeur dans ces classes entraîne nécessairement une diminution de leur flottation et par
conséquent une diminution de la teneur tant au niveau du concentré qu'au rejet et donc, une
récupération moindre à l'équilibre. L'augmentation de la récupération durant le transitoire
correspond à la partie positive de la somme des courbes de F et FHLa hausse initiale des variables FH et F provient du fait que le volume occupé par la
gangue qui remplace le minéral de valeur est plus grand (masse volumique plus petite) que
celui du minéral de valeur ce qui nécessite une augmentation du débit volumique de la
pompe pour conserver la consigne du niveau entraînant par le fait même plus de gangue et
d'eau.
215
0
0.5
1
1.5
2
Temps Ih]
2.5
3
3.5
4
55.6
55.5
\
554
.
553
55.2
55.1
72
71
£ . 70
Œ.
69"
0
05
1
15
2
Temps [h]
25
3
35
4
Figure C.2: Réponse du procédé à un échelon négatif sur la teneur à l'alimentation
216
217
Annexe D :
Autres données utiles pour l'analyse
du circuit de broyage
Dans le cadre de la réalisation du simulateur du circuit de broyage, un certain nombre
d'indicateurs supplémentaires ont été calculés afin de permettre l'analyse du processus de
broyage et de classification par hydrocyclone et sont présentés dans cette annexe à titre de
référence.
Débits/Masse de solide
Pour trouver le débit (masse) de solide, il suffit de faire la sommation des débits (ou
masse) de chaque phase solide (gangue et minéral de valeur) comme suit :
Charge du réservoir :
« = _ >
fc
(D.2)
Charge du broyeur :
Alimentation du réservoir :
(D.l)
fc
D, =Y J D "<
(D.3)
k
(D.4)
Sortie du réservoir :
Surverse de l'hydrocyclone
fc
f
=2>
(D.5)
fc
(D.6)
Entrée du broyeur :
fc
Sortie du broyeur :
D s = ] T D sk
k
(D.7)
218
Pourcentages de solide total
Le pourcentage de solide correspond à la masse (ou débit) totale de solide en rapport à
la masse (ou débit) totale (solide + eau). Pour les différentes charges et flux du circuit, on
calcule les pourcentages massiques globaux de la manière suivante :
Charge du réservoir :
P stR = R/(R + RH)
(D.8)
Charge du broyeur :
PstMB = M B /(M B + MH)
(D.9)
Alimentation du réservoir :
P
^ D , = D ,/(D, + DIH)
Sortie du réservoir :
P
Surverse de l'hydrocyclone :
P
Entrée du broyeur :
P
Sortie du broyeur :
P
stA = A / ( A +
st F
= F
/(F +
A
H)
(D.l 1)
F
")
(D.l2)
st c = G/(G + GH)
^os =
D
S /(D S
(D.10)
+ DSH)
(D.13)
(D.14)
Fraction massique de minéral de valeur par superclasse de dimension
Pour calculer la fraction massique de minéral de valeur, il suffit d'effectuer la
sommation des fractions massiques de minéral de valeur pour les classes de dimension
incluses dans l'intervalle de définition de chaque superclasse.
TMD, " 7
i
ml
Sortie du réservoir :
IMA - /
a
Surverse de l'hydrocyclone :
/M F — y
'M
/ ^ JfuM J
F
Alimentation du réservoir :
Mj
Mj
(D.l5)
(D. 16)
(D.17)
219
Entrée du broyeur :
? 9M j
f>M
» Gc -~ 2_j
JMD
f"DSS
Sortie du broyeur :
(D. 18)
ms
~
~ /Z_ , » j
;"
(D.l9)
Pourcentages massiques de minerai (total) p a r superclasse de dimension
Pour calculer ces valeurs, il faut effectuer une sommation sur les classes de dimension
incluses dans l'intervalle défini par le tableau 5.7 pour chaque débit (ou masse) du circuit.
L'hypothèse de mélange parfait implique que les fractions massiques à l'intérieur du
réservoir et du broyeur sont identiques à celles en sorties de ces mêmes unités.
Alimentation du réservoir :
P
Sortie du réservoir :
rnt D ,
P
mt A
=
=
)
7,
;j
kk '
)
/ .
j
Surverse de l'hydrocyclone :
Entrée du broyeur :
A^a jk
A
^mt
2_, / _ ,
™^F —
"______
T~k
rpi
_ V V
mtc ~ 7 7
pi
mt
_ W
Ds ~ 7
;
(D.20)
'
(D.21)
k
J
Sortie du broyeur :
Dlkmijk
n~
Fkfjk
F
(D.22)
Gk9 k
r
i
(D.23)
k
7
k
Dskmijk
n
(D.24)
s
Pourcentages massiques de minéral de valeur p a r superclasse de dimension
Pour calculer ces valeurs, il faut effectuer une sommation sur les classes de dimension
incluses dans l'intervalle défini par le tableau 5.7 pour chaque flux ou charge du circuit
uniquement pour les fractions massique du minéral de valeur. L'hypothèse de mélange
parfait implique que les fractions massiques à l'intérieur du réservoir et du broyeur sont
identiques à celles en sorties de ces mêmes unités.
220
r
Alimentation du réservoir :
n
_\"AMO-MJ
rp i
Sortie du réservoir :
D IM mi M j
MDj — 7
MA — 7
A
i _ V FMfMj
^M F — 7
p
Surverse de l'hydrocyclone :
r
Entrée du broyeur :
i
G
_ V
MG — 7
M9MJ
7
(D.25)
(D.26)
(D.27)
(D.28)
j
i
M
Sortie du broyeur :
_ y
DS ~ / ^
DSM^JMJ
n
(D.29)
;'
Fraction massique totale de chaque classe de dimension
Cette donnée permet de comparer l'importance relative de chaque classe de dimension
entre elles et ainsi de constater l'évolution du processus de diminution des classes de
dimensions supérieures vers les classes de dimension inférieures.
Charge du réservoir :
Charge du broyeur :
Alimentation du réservoir :
Sortie du réservoir :
Surverse de l'hydrocyclone :
Entrée du broyeur :
Sortie du broyeur :
f^tR
= (R G a Gj + R M a M j)/R
(D.30)
(D.31)
fLtMB
=
( M c"i%y +
fmtD,
=
{D1GmiGj + DIMmiMj)/D,
(D.32)
=
M°-MJ)/A
(D.33)
fmtF ~ i.Fcfcj + F M f M j)/F
(D.34)
fmtA
fmtc ~
\AGaGj +
\GG9GJ
MM™SMJ)/MB
A
+ G M g M j)/G
fmtDs = {DSGmsGj + D SM ms My )/D 5
(D.35)
(D.36)
221
Teneur en minéral de valeur
Cette donnée se calcule en comparant la masse de minéral de valeur de chaque classe
de dimension par rapport à la masse totale de chaque classe de dimension. Pour, par
exemple, une broyabilité supérieure55 du minéral de valeur, ces variables permettent de
constater le processus d'appauvrissement en minéral de valeur des classes de dimension
supérieures au profit des classes de dimensions inférieures au niveau du flux de sortie de
l'unité de fragmentation principalement. De plus, étant donné les différences de densité
entre le minéral de valeur et la gangue, le diamètre d'équicoupure corrigé du minéral de
valeur sera plus petit par rapport à celui de la gangue. Cela aura comme conséquence que
l'hydrocyclone fera recirculer via sa sousverse davantage de minéral de valeur que de
gangue pour des classes de dimension comparables. Ce processus lié à la sélectivité de la
surverse entraînera donc un phénomène d'enrichissement les classes de dimensions
inférieures au diamètre d'équicoupure dans le flux de sousverse et par conséquent, une
tendance à l'appauvrissement des mêmes classes de dimension à la surverse.
Charge du réservoir :
TR = R M a M j/ f R G a G j + RMo.Mj)
(D.37)
Charge du broyeur :
T M B = M M ms M j/ f M G ms G j + MMmsMj)
(D.38)
Alimentation du réservoir :
T
(D.39)
D, = D m mi M j/'D I G mi G j + D m miMj)
T
Sortie du réservoir :
A = A M a Mj/( A c a Gj + AMaMj)
(D.40)
TF = F M f Mj /'F G f G j + FMfMj)
(D.41)
Surverse de l'hydrocyclone :
Entrée du broyeur :
Sortie du broyeur :
T
T
G
= G M 9 M J I \ G G 9 G J + GMgMj)
D S = DSM™-SMj/{DSGmsGj -I- DSMmsMj)
(D.42)
(D.43)
Note : Cette donnée peut aussi être calculée en regroupant des classes de dimension en
superclasse comme mentionné précédemment.
55
Selon l'expression (5.9), cela signifie que X > 1 et a pour conséquence que le minéral de valeur est
considéré plus friable que la gangue.
222
223
Annexe E :
Autres données utiles pour l'analyse
du procédé de flottation
Dans le cadre de la réalisation du simulateur de flottation, un certain nombre
d'indicateurs supplémentaires ont été calculés afin de permettre l'analyse du processus de
flottation et sont présentés dans cette annexe à titre de référence.
Concentration de particules ij dans le concentré par unité de masse d'eau :
fW P S
r
\
c =
+e
.
c
5 (■wr*y yj 5
<*»
Débit de concentré solide :
Sc=£(U^s/c(,+
W c e t j)cfj
(E.2)
Débit de rejet solide :
S T = WT
2>s
(E.3)
U
Fraction massique des solides :
x
Cu
ckWk
ckWk
ïj = ^ r = ^ \ ,„■> = ­ ^ k — > P ° u r k = F , C e t T
îtjcfj
_</<$ W
S"
(E.A)
avec y xfj = 1 , pour k = F,C e t T
(E.5)
0
Teneurs de solide :
Tk = y xfjfi , pour k = F,C e t T
(E.6)
Récupération (% de minéral de valeur récupéré au concentré)
fSctc\
R = 100 ^ — )
(E.7)
224
Pourcentage de solides :
fJ< =
(S* + W X ) ' P ° U r k
= F
'C'TetP
(E8)
Téléchargement
Explore flashcards