No Description

Pierre Fromager f5f14ac592 doc : README transfer fn 2 years ago
.vscode 674afb52ce regul_pid/clean : clean business regulation test suite 4 years ago
doc f5f14ac592 doc : README transfer fn 2 years ago
src 65ca8862dd fix : extern definition in headers 2 years ago
test 40af7581ce regul_pid/feat : business waterlaw 4 years ago
.gitignore bfb07418cf regul_pid/fix : fix test missing files 4 years ago
Makefile 1cb3a9e175 doc : README test 2 years ago
README.md f5f14ac592 doc : README transfer fn 2 years ago

README.md

Regulation PID

Système de régulation par fonction d'amortissement appelée aussi fonction de transfert.
Ce système est largement utilisé dans l'industrie dans les contraintes d'asservissements.

Principe

Pour une consigne et une valeur de capteur donnée :

  • on applique une proportion (P)
  • on intégre dans le temps (I)
  • on affine la stabilité autour de la consigne par la dérivée (D)

La sortie est la valeur de commande utilisée par l'actuateur pour appliquer la contre mesure.

Fonction de transfert

pid_fn_transfert

pid_eq

Aussi on retrouve ces 3 paramètres d'entrée dans l'équation sous la forme :

  • Kp (proportion)
  • Ki (intégration)
  • Kd (dérivée)

Le but étant d'obtenir une courbe d'amortissement moyen à fort.

Déterminer Kp, Ki, Kd

Méthode empirique

On commence par réduire le système PID à P en fixant Kp à 1, les autres à 0.
La valeur de commande est ainsi égale à l'erreur (différence entre la consigne et la valeur du capteur).
Dans cette situation on constatera un effet de pompage.
La courbe oscille fortement en fréquence et en amplitude autour de la consigne (amortissement faible).

amortissement_faible

On va donc déterminer Ki pour que le système lisse la réaction dans le temps afin d'atteindre la valeur de consigne.
Notre système régule alors en PI.

amortissement_moyen

Il reste maintenant à déterminer Kd pour que le système n'oscille plus autour de la consigne.
Notre système régule alors en PID.

amortissement_fort

Il est bon de savoir que le PID parfait n'existe pas (l'amortissement fort est théorique).
On trouvera un compromis entre moyen et fort en affinant Kd.

Liens utiles

Généralité

Vitesse

Thermique

Sources

Compilation

  • build regul_pid make
  • clean build make clean

Check

check code consistency

make check

Doc

Generate doc from sources

make check

Tests

Testing is based on CUNIT test libs.
To setup dependencies on debian see command as below.

apt-get install libcunit1-ncurses libcunit1-ncurses-dev

Build

build unit tests

make test

Run

Run unit tests

./regul_pid_test