projet bac3
DESCRIPTION
Commande optimale en temps réel d\'un bioréacteur sous Labview.TRANSCRIPT
Commande en temps réel d’un bioréacteur par Labview
Masure P. Roppe Q. Kamga W.
Faculté Polytechnique de Mons
25 mai 2008
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 1 / 30
Pour croître de manière optimale, les bactéries ne peuventêtre ni sous-alimentées ni suralimentées.
"Appliquez-vous à garder en toute chose le juste milieu."
Confucius
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 2 / 30
Introduction
Objectif à atteindre
Objectif : construire une commande temps réel d’un bioréacteur dansl’environnement Labview afin d’optimiser la croissance de bactéries.
Différentes étapes pour y parvenir :
Description des procédés biochimiquesImplémentation boucle ouverte dans le langage Matlab du systèmenon-linéaire représentant le bioréacteurLinéarisation du système non-linéaireImplémentation boucle fermée du système linéarisé sous SimulinkImplémentation boucle fermée du système non-linéaire dans l’environnementLabview avec procédé simulé à l’aide de Matlab
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 3 / 30
Description des procédés biochimiques Les trois modes de fonctionnement des bioréacteurs
Les modes de fonctionnement des bioréacteurs sontcaractérisés par la manière dont le réacteur est alimenté ensubstrat
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 4 / 30
Description des procédés biochimiques Régimes respiratoire et respiro-fermentatif
Les bactéries divisent leur métabolisme en deux régimesdistincts
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 5 / 30
Implémentation boucle ouverte dans l’environnement Matlab
Implémentation dans le langage Matlab du système d’équations différentiellesnon-linéaire.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 6 / 30
Implémentation boucle ouverte dans l’environnement Matlab
Evolution sur 24 heures des concentrations macroscopiquesdu bioréacteur pour un débit d’alimentation de 0.1 l/h
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 7 / 30
Implémentation boucle ouverte dans l’environnement Matlab
Evolution sur 24 heures des concentrations macroscopiquesdu bioréacteur pour un débit d’alimentation optimal
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 8 / 30
Linéarisation du modèle
Linéarisation du modèle
D’un système non-linéaire, complexe à l’étude, nous allons essayer de nousramener à une équation linéaire simple d’utilisation.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 9 / 30
Linéarisation du modèle Objectif de la linéarisation
Le système d’équations différentielles modélisant lebioréacteur est fortement non-linéaire
dXdt
= (r1 + r2 + r3).X − D.X
dSdt
= −(k1r1 + k2r2).X − D.(S − Sin)
dPdt
= (k3r2 − k4r3).X − D.P
dOdt
= −(k5r1 + k6r2 + k7r3).X − D.O + kla.(Osat − O)
dCdt
= (k8r1 + k9r2 + k10r3).X − D.C + kla.(Csat − C )
dVdt
= D.V
L’objectif est de contrôler la croissance des cellules par des techniques decommande linéaire.L’avantage est que l’identification des paramètres du modèle est fortementsimplifiée
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 10 / 30
Linéarisation du modèle Comment a-t-on rendu le système linéaire ?
La linéarisation permet de transformer une équationnon-linéaire en une équation linéaire applicable autour d’unpoint de fonctionnement donné.
Nous avons linéarisé autour d’une concentration en acétate que nous avonsimposée constante : c’est un objectif sous-optimal.
L’optimum correspond à une quantité d’acétate constante et théoriquement nulle.
On distingue deux voix métaboliques :un régime respiratoire(r2 = 0)un régime respiro-fermentatif(r3 = 0)
Les ri représentent les vitesses spécifiques des réactions
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 11 / 30
Linéarisation du modèle Le régime respiro-fermentatif
r3 = 0, la vitesse d’oxydation du métabolite est nulle : il y afermentation et production d’acétate
Hypothèse : l’accumulation de substrat est nulle à tout instant ( condition dequasi-staticité)
dSdt
= −(k1r1 + k2r2).X − D.(S − Sin) = 0
r2 =D.Sin
k2.X− k1r1
k2
On injecte r2 dans dPdt
dPdt
= (k3r2 − k4r3).X − D.P
⇒ dPdt
= −k3k1r1k2
.X +k3DSin
k2− D.P
⇒ dPdt
= −k3k1r1k2
.X +k3FinSin
k2V− Fin
V.P
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 12 / 30
Linéarisation du modèle Le régime respiro-fermentatif
Développement en série de Taylor de dPdt , en considérant les
concentrations comme des variations autour de leur valeuroptimale : P = P∗ + δP ,O = O∗ + δO,X = X ∗ + δX , ...
dPdt
=d(δP)
dt= f (X ∗,V ∗,F ∗
in,P∗)+
∂f∂X
∣∣∣∣X∗,V ∗,P∗,F∗
in
(X − X ∗) + ...
+∂f∂V
∣∣∣∣X∗,V ∗,P∗,F∗
in
(V − V ∗) + ...
+∂f∂P
∣∣∣∣X∗,V ∗,P∗,F∗
in
(P − P∗) + ...
+∂f∂Fin
∣∣∣∣X∗,V ∗,P∗,F∗
in
(Fin − F ∗in) + ...
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 13 / 30
Linéarisation du modèle Le régime respiro-fermentatif
En se limitant à l’ordre 1 et en considérant des faiblesvariations autour des valeurs optimales ∗,
dPdt
= −k3k1r1k2
.X +k3FinSin
k2V− Fin
V.P
∂f∂X
∣∣∣∣X∗,V ∗,P∗,F∗
in
= −k3k1r∗1k2
∂f∂V
∣∣∣∣X∗,V ∗,P∗,F∗
in
= (k3F ∗
inSin
k2− F ∗
inP∗).
1(V ∗)2
∂f∂Fin
∣∣∣∣X∗,V ∗,P∗,F∗
in
=k3Sin
k2V ∗ −P∗
V ∗
∂f∂P
∣∣∣∣X∗,V ∗,P∗,F∗
in
= −F ∗in
V ∗
∂f∂O
∣∣∣∣X∗,V ∗,P∗,F∗
in
= 0
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 14 / 30
Linéarisation du modèle Le régime respiro-fermentatif
Choix de la commande
Termes Valeurs∂f
∂Fin35.68
∂f∂P 0.0024∂f∂V 0.0872∂f∂X 0.4886∂f∂O 0
∂f∂Fin
: terme prépondérant
Le débit d’alimentation Fin : commande du procédé.
Le développement en série de Taylor de dPdt se réduit à :
dPdt
=∂f∂Fin
∣∣∣∣X∗,V ∗,P∗,F∗
in
(Fin − F ∗in) = (
k3Sin
k2V ∗ −P∗
V ∗ ).(Fin − F ∗in)
F ∗in = débit d’alimentation optimal
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 15 / 30
Linéarisation du modèle Le régime respiro-fermentatif
Nous passons à la transformée de Laplace
Nous posons K1 = k3k1k2
et K2 = k3k2
F ∗in =
(k3k1r∗1 )k2
.X ∗.V ∗
k3Sin−P∗k2k2
Sachant que :X ∗.V ∗ = X0.V0.er∗1 .t
En effectuant la Transformée de Laplace de l’expression suivante :
dPdt
=∂f∂Fin
∣∣∣∣X∗,V ∗,P∗,F∗
in
(Fin − F ∗in) = (
k3Sin
k2V ∗ −P∗
V ∗ ).(Fin − F ∗in)
Nous obtenons la relation suivante :
p.P(p)− P(0) = (K2Sin
V ∗ −P∗
V ∗ ).(Fin(p)− K1r∗1 X0V0
(K2Sin)− P∗ .1
p − r∗1)
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 16 / 30
Linéarisation du modèle Le régime respiro-fermentatif
En posant P(0)=0 et en séparant les termes d’entrée , desortie et de perturbation , nous obtenons finalement :
p.P(p)− P(0) = (K2Sin
V ∗ −P∗
V ∗ ).(Fin(p)− K1r∗1 X0V0
(K2Sin)− P∗ .1
p − r∗1)
P(p) = (K2Sin
V ∗ −P∗
V ∗ ).1p.(Fin(p)− K1r∗1 X0V0
(K2Sin)− P∗ .1
p − r∗1)
Nous pouvons à présent effectuer la commande du bioréacteur sur SIMULINK
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 17 / 30
Commande du bioréacteur linéarisé sous SIMULINK
Commande du bioréacteur linéarisé sous SIMULINK
Grâce à l’équation du système linéarisé, nous pouvons établir une commande sousSimulink.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 18 / 30
Commande du bioréacteur linéarisé sous SIMULINK Schéma SIMULINK
A partir de l’équation linéarisée, on construit le schéma sousSIMULINK
L’équation
A(p) =K2Sin−A∗
V ∗
p
Fin(p)− K1r∗1 X0V0
K2Sin − A∗1
p − r∗1︸ ︷︷ ︸Fin∗(p)
peut être mise sous cette forme :
A(p) =Kp
(Fin(p)− di(p))
où di(p) représente un terme de perturbation de type exponentiel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 19 / 30
A(p) =Kp
(Fin(p)− di(p))
Commande du bioréacteur linéarisé sous SIMULINK Détermination des paramètres du contrôleur
Grâce à la méthode de Ziegler-Nichols, nous déterminons lesparamètres du contrôleur
Un correcteur P.I. est représenté par une fonction de transfert du type :
C (p) = Kr .(1 +1τi .p
)
Type de correcteur Gain τi τd
Proportionnel 0,5.K0
PI 0,45.K0 0,83.T0
PID 0,6.K0 0,5.T0 0,125.T0
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 21 / 30
Commande du bioréacteur linéarisé sous SIMULINK Résultats du contrôle du bioréacteur sous SIMULINK
Le correcteur contrôle la concentration en acétate
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 22 / 30
Commande du bioréacteur sous LABVIEW
Commande du bioréacteur sous LABVIEW
La réalisation avec le système linéarisé étant effectuée, nous pouvons concevoirl’implémentation du système non-linéaire plus complexe sous Labview.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 23 / 30
Commande du bioréacteur sous LABVIEW Schéma du système implémenté sous Labview
Par souci d’efficacité, nous avons utilisé Matlab Script sousLabview
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 24 / 30
Commande du bioréacteur sous LABVIEW Résultats du système implémenté sous Labview
Le système contrôle la concentration en acétate
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 25 / 30
Commande du bioréacteur sous LABVIEW Optimisation du contrôle par un contrôle Feed-Forward
Contrôle Feed-Forward
Via un contrôle Feed-Forward (a priori), nous pouvons tenter de minimiser letravail effectué par le correcteur.
Comment peut-on réaliser cela ?
On a établi une équation du Fin optimal lors de l’étude du système linéaire.
Nous allons injecter cette commande a priori dans le système non-linéaire afin quele correcteur ne fournisse plus que la différence entre la commande réelle Fin et leFin optimal linéaire.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 26 / 30
Commande du bioréacteur sous LABVIEW Résultats du contrôle par un contrôle Feed-Forward
On obtient des résultats identiques pour le contrôle de laconcentration de l’acétate
Fig.: Concentration d’acétate contrôlée par Feed-Forward sur Labview
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 27 / 30
Commande du bioréacteur sous LABVIEW Résultats du contrôle par un contrôle Feed-Forward
Ce contrôle ne semble pas adéquat dans ce cas-ci car ladifférence entre le Fin réel et le Fin optimal linéarisé est uneexponentielle
Fig.: Correction à apporter entre le Fin théorique imposé au système et le Fin réel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 28 / 30
Commande du bioréacteur sous LABVIEW Optimisation du contrôle par un contrôle adaptatif du gain
Le correcteur peut essayer de suivre la perturbationexponentielle si on lui procure à chaque instant le gainadéquat
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 29 / 30
Pour conlure
L’objectif est atteint : nous parvenons à réguler le bioréacteurNous avons dépassé l’objectif en envisageant une optimisation
par contrôle Feed-Forwardpar contrôle adaptatif du gain
Avantage de notre logiciel : nous l’avons implémenté dans l’environnementLabview qui est facilement utilisable sur le bioréacteur réel.Evolution future :
Perfectionnement de la sonde acétateExpérimenter le logiciel sur un bioréacteur réel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 30 / 30