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)