Printemps des Sciences 2016 – Bruxelles
Contrôle autonome d’une serre
ULB – Faculté des Sciences – Département d’Informatique
Anthony Caccia, André Madeira Cortes, Nikita Marchant et Romain Fontaine
Le but de ce projet est de réguler en temps réel l’environnement d’une serre grâce à des capteurs reliés à un ordinateur sur
lequel tourne un programme informatique. Nous contrôlons en temps-réel la température et la luminosité de la serre ainsi
que l'humidité du sol.
Dispositif expérimental
Des capteurs, contrôlés par un Arduino (un Arduino est un micro-contrôleur qui permet de relier des moteurs et des capteurs
à un ordinateur), sont installés dans la serre et mesurent les différentes variables. Un programme informatique exécute
alors des algorithmes pour décider des actions à effectuer afin d'amener la serre dans un état optimal pour les plantes qui
y poussent. Un algorithme fonctionne comme une recette de cuisine : il s’agit d’une suite d’actions réalisées dans un ordre
fixé pour partir de données initiales (les “ingrédients”), ici les mesures des capteurs et arriver à un résultat (le “gâteau”), ici
les actions à effectuer.
Un de ces algorithmes est l’algorithme “Bang Bang”, qui fonctionne selon le même principe qu’un thermostat (si il fait trop
froid, il décide d’allumer le chauffage, si il fait trop chaud, il l’éteint). “Bang Bang” a uniquement deux états : allumé ou
éteint
L’autre algorithme que nous utilisons est PID. Celui-ci permet des actions plus nuancées : les actions sont proportionnelles
à la différence entre la valeur mesurée et la valeur désirée.
On peut faire une analogie entre PID et la manière dont on règle la température de l'eau de sa douche : au départ on met le
chaud au maximum, quand la température se met à augmenter, on commence à diminuer le débit d'eau chaude jusqu'à ce
que l'eau soit à la température désirée. De plus, si jamais l'eau devient trop chaude ou trop froide pendant la douche, on fait
aussi de petites corrections pour qu'elle reste toujours agréable.
PID utilise trois “actions”:
x l’action Proportionnelle, qui permet la correction proportionnelle à l'erreur courante;
x l’action Intégrale, qui agit selon les anciennes corrections;
x et l’action Dérivée, qui permet de rendre la fonction plus stable.
Ces trois actions nécessitent des paramètres, Kp, Ki et Kd qui pondèrent chacune des actions comme on peut le voir sur
l’équation ci-dessous :
e(t) représente l’erreur calculée à l’instant t et u(t) la correction effectuée à l’instant t