Vous êtes sur la page 1sur 17

Implémentation d’un contrôleur de la

température à l’interieure d’une serre


agricole
Présenté par : P. Hamid CHEKENBAH
Objectif de la
présentation :
Implémentation d’un contrôleur flou
pour appliquer un stress thermique
de (+ 1,5 °C  0,2) de la température
ambiante.
Architecture du contrôleur flou
Variables d’entrée:

1. Température ambiante
2. Température interne

Variables de sortie

1. Signal de commande

Comment segmenter les variables d’entrée sous forme de fonctions


d’appartenances significatives ?
Architecture du contrôleur flou
Variables d’entrée:
1. Température ambiante
2. Température interne
• L’Erreur

Prétraitement • La Variation de l’erreur ΔET = ET(k) – ET(k-1)

Variables de sortie

1. Signal de commande
Fuzzification

Univers de discours: [-10 , +10 ]

Ensembles flous : Négative, Nulle , Positive BN, N, Z , P, BP

L’Erreur
Fonctions d’appartenances: Négative Nulle Positive
ET
Négative Triangulaire

Nulle Trapézoïdale
-10 -0,2 0 +0,2 +10

Triangulaire ET
Positive
Fuzzification

Univers de discours: [-1 , +1 ]


Ensembles flous : Négative, Nulle , Positive

Fonctions d’appartenances: Négative Nulle Positive


ΔET
Négative Triangulaire

Nulle Triangulaire
-1 -0,1 0 +0,1 +1

Positive Triangulaire ΔET


Fuzzification

Univers de discours: [-100 , +100 ]


Ensembles flous : Lente, Moyenne , Rapide

Fonctions d’appartenances: Lente Moyenne Rapide


V
Lente Triangulaire

Moyenne Triangulaire
-100 -10 0 +10 +100

Rapide Triangulaire
V
Moteur d’inférence
1- Base de Règles
ET ΔET V

Négative, Nulle , Positive Négative, Nulle , Positive Lente, Moyenne , Rapide

1) Si ET est "Negative" ET ΔET est "Negative", ALORS V est "Rapide"


2) Si ET est "Nulle« ET ΔET est "Nulle", ALORS V est "Moyenne"
3) Si ET est "Positive« ET ΔET est "Positive", ALORS V est "Lente"
4) Si ET est "Negative" ET ΔET est "Nulle", ALORS V est "Rapide"
5) Si ET est "Positive" ET ΔET est "Nulle", ALORS V est "Lente"
6) Si ET est "Nulle" ET ΔET est "Positive", ALORS V est "Moyenne«
7) …….

Antécédentes Conséquences
Moteur d’inférence
Exemple d’application :

ET= 0,15 °C ΔET =0,2 °C

𝝁𝑯 Neg Nul Pos 𝝁𝑯 Neg Nul Pos

0,75

0,3

1) Si ET est "Negative" ET ΔET est "Negative", ALORS V est "Rapide"


2) Si ET est "Nulle " ET ΔET est "Nulle", ALORS V est "Moyenne"
3) Si ET est "Positive " ET ΔET est "Positive", ALORS V est " Rapide"
4) Si ET est "Negative" ET ΔET est "Nulle", ALORS V est "Rapide"
5) Si ET est "Positive" ET ΔET est "Nulle", ALORS V est " Rapide"
6) Si ET est "Nulle" ET ΔET est "Positive", ALORS V est " Rapide"
Moteur d’inférence
Exemple d’application :

ET= 0,15 °C ΔET =0,2 °C


𝝁𝑯 Neg Nul Pos 𝝁𝑯 Neg Nul Pos

0,75

0,3

1) Si ET est "Negative" ET ΔET est "Negative", ALORS V est "Rapide"


2) Si ET est "Nulle " ET ΔET est "Nulle", ALORS V est "Moyenne"
3) Si ET est "Positive " ET ΔET est "Positive", ALORS V est " Rapide"
4) Si ET est "Negative" ET ΔET est "Nulle", ALORS V est "Rapide"
5) Si ET est "Positive" ET ΔET est "Nulle", ALORS V est " Rapide"
6) Si ET est "Nulle" ET ΔET est "Positive", ALORS V est " Rapide"
Moteur d’inférence (Min-Max: Mamdani)
Évaluation des règles ) Implication Vitesse du ventilateur
ET= 0,15 °C ΔET =0,2 °C V
𝝁𝑯 Neg Nul Pos 𝝁𝑯 Neg Nul Pos L M R
1

0,75
0,75 Et
0,3
0,3 (MIN)0,3
2- Si ET est "Nulle " ET ΔET est "Nulle", ALORS V est "Moyenne"
𝝁𝑯 Neg Nul Pos 𝝁𝑯 Neg Pos L
Nul M R
1

0,3
Et
0,3
0,25
0,25
(MIN) 0,25

6- Si ET est "Nulle" ET ΔET est "Positive", ALORS V est " Rapide"


𝝁𝑯 Neg Nul Pos 𝝁𝑯 Neg Nul Pos L M R
1
0,75 0,75
0,7 0,7
0,7
Et
(MIN)
5 - Si ET est "Positive" ET ΔET est "Nulle", ALORS V est " Rapide"
𝝁𝑯 Neg Nul Pos 𝝁𝑯
Neg Nul Pos L M R
1 1 1
0,7
0,7

0,25
Et 0,25
(MIN)
3 - Si ET est "Positive " ET ΔET est "Positive", ALORS V est " Rapide"
Moteur d’inférence
Sortie de commande
« nette »
Agrégation

Méthode d’adhésion premier des dernier des centroïde


maximale maximums maximums

Agrégation
1
Convertissez la sortie agrégée en une
Défuzzification valeur numérique nette

Sortie floue
Mise en œuvre

Matlab Simulink Arduino


Mise en œuvre
1- Installer la bibliothèque « Fuzzy » pour Arduino
1
4

3 2

4
Cas pratique
Arduino
Matlab

Vous aimerez peut-être aussi