0% ont trouvé ce document utile (0 vote)
29 vues13 pages

Simulation et Commande PID avec Matlab

Ce document traite de la simulation et de l'analyse de systèmes dynamiques à l'aide de Matlab, en se concentrant sur la transformée en z et les contrôleurs PID numériques. Il explique les étapes de simulation de fonctions de transfert, la discrétisation des contrôleurs PID et leur mise en œuvre pratique, ainsi que l'importance du réglage des paramètres pour optimiser les performances. Enfin, il souligne les applications variées des contrôleurs PID dans des domaines tels que l'industrie et la robotique.

Transféré par

hadjer3241
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues13 pages

Simulation et Commande PID avec Matlab

Ce document traite de la simulation et de l'analyse de systèmes dynamiques à l'aide de Matlab, en se concentrant sur la transformée en z et les contrôleurs PID numériques. Il explique les étapes de simulation de fonctions de transfert, la discrétisation des contrôleurs PID et leur mise en œuvre pratique, ainsi que l'importance du réglage des paramètres pour optimiser les performances. Enfin, il souligne les applications variées des contrôleurs PID dans des domaines tels que l'industrie et la robotique.

Transféré par

hadjer3241
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

But de tp :

Dans ce TP , nous essaierons de nous familiariser avec les différentes fonctions


utilisées dans Matlab pour calculer la transformée en z et la transformée inverse
d'une fonction donnée ainsi que simuler des différents signaux dans les
domaines analogiques et numériques afin de conclure sur leur stabilité et leur
comportement global

Partie 1 :

Nous commençons par la simulation de la fonction de transfert donnée et prenons l'entrée

comme une amplitude d'échelon 2 :

On ouvre simulink sur matlab et on ouvre un nouveau dossier, après on apporte le signal

échelon en allant sur ‘source’ , la fonction du transfert sur ‘ continuous’ puis l’oscilloscope

sur ‘ commonly used’ :


Après avoir défini les blocs et les avoir brancher, nous double-cliquons dessus pour définir

leurs valeurs : nous fixons les coefficients de notre fonction de transfert :

Ainsi que l’amplitude et le décalage de notre entrée :

Ensuite, nous simulons et obtenons le résultat suivant


Cette fois, notre entrée passera par un support d'ordre zéro et un convertisseur ‘Tustin’ qui se

trouvent dans le bloc « discret » :


Après simulation on obtient :

Comparaison :

On remarque que dans les deux cas on obtient un signal exponentiel d'amplitude 3,33 qui est

le gain de notre fonction de transfert (10/6 ) à la fréquence 0 (qui est la fréquence de notre

entrée) multiplié par l’amplitude du signal d'entrée ( 2 )  2*(10/6) = 3.33

Les résultats sont similaires dans les deux cas, car la transformation d'un échelon en domaine

discret n'influencera pas sa précision, car l'échelon est constant à tout moment, donc aucune

information n'est perdue quelle que soit la fréquence d'échantillonnage. en revanche, si l'on

prend par exemple un signal variable comme une onde sinusoïdale


On peut remarquer qu'il y a une perte d'information due à la discrétisation
Partie 2 :

Afin de trouver la transformée en z d'une fonction donnée, nous devons utiliser la fonction

ztrans() :
Les 3 dernières fonctions n'étant pas très claires on peut utiliser la commande Pretty

() afin de la mettre de manière lisible :

Et pour l'inverse, iztrans() s'avéra utile :

Avec kroneckerDeklta (n,0) étant la fonction d'impulsion


:

Afin d'obtenir la valeur d'une fonction spécifique, nous devons utiliser la fonction subs() en

passant 3 arguments (nom de la fonction, la variable, la valeur attribuée à la variable) et

comme nous voulons voir 20 variables, nous utiliserons une boucle for. et en incrémentant la

variable de 1 à chaque fois

20 premières valeursK=0:19
Partie 3:

Nous revenons à simulink et construisons une onde sinusoïdale, un bloqueur d’ordre zéro , et

nous changeons la période d'échantillonnage du bloqueur de 0,2 à 1,2 depuis la fenêtre zoh :
Ensuite, nous remarquons ces sorties :
Nous remarquons qu'à mesure qu’on augmente la période d'échantillonnage, beaucoup

d'informations sont perdues, donc quelques précautions doivent être prises en considération

avant chaque discrétisation, et la plus importante étant le théorème de Shanoon : la fréquence

d'échantillonnage doit être au moins le double de celle du signal .

Nous restons en simulink , mais cette fois nous utilisons des systèmes discrets , nous allons

essayer deux systèmes différents avec un échelon en entrée :

Après simulation, nous pouvons voir les résultats suivants


pour f1 :
pour f2 :

Conclusion :

Comme le premier système est un système stable ( -1<pole<1), nous obtenons une sortie

stable qui converge vers 2/3, ce qui est conforme au résultat que nous obtenons si nous

l’étudions dans la commande Windows.


On met entrée = échelon  u(z) = z/z-1 et h(z) = u*F  y = iztrans(h) :
Mais dans le deuxième système, comme le pôle est supérieur à un, il ne cesse de
diverger, ou on remarque aussi une alternance à cause de signe de pole (pole=-3):

Tp2 : Commande d'une système en utilise commande pid numérique.

▎Introduction
La commande de systèmes dynamiques est un domaine essentiel en automatique,
permettant de réguler des processus variés dans de nombreux secteurs, tels que
l'industrie, l'aéronautique et l'automobile. Parmi les différentes techniques de contrôle,
le contrôleur PID (Proportionnel, Intégral, Dérivé) est l'une des plus utilisées en raison
de sa simplicité et de son efficacité. Ce rapport présente les principes fondamentaux de
la commande PID numérique, ainsi que sa mise en œuvre pratique.

▎1. Principe du Contrôleur PID


Un contrôleur PID ajuste la sortie d'un système en fonction de l'erreur entre une valeur
de consigne (setpoint) et une valeur mesurée (output). Le contrôleur PID est défini par
trois termes :

• Proportionnel (P) : Réagit à l'erreur actuelle. Une grande erreur entraîne une grande
correction.
• Intégral (I) : Réagit à l'erreur cumulée dans le temps, permettant d'éliminer les
erreurs permanentes.

• Dérivé (D) : Réagit à la variation de l'erreur, anticipant ainsi les changements et


réduisant les oscillations.

La sortie du contrôleur PID est donnée par la formule :

u(t) = Kₚ ⋅ e(t) + Kᵢ ⋅ ∫₀ᵗ e(τ) dτ + K_d ⋅ (de(t))/dt

▎2. Discrétisation du Contrôleur PID

Pour une application numérique, il est nécessaire de discrétiser le contrôleur PID. Cela
implique d'approximer les intégrales et les dérivées à l'aide de méthodes numériques,
comme la méthode d'Euler. Les équations discrètes deviennent :

• Intégration :
I(k) = I(k-1) + Kᵢ ⋅ e(k) ⋅ Tₛ

• Dérivation :
D(k) = K_d ⋅ (e(k) - e(k-1))/Tₛ

où Tₛ est le temps d'échantillonnage.

▎3. Implémentation Numérique

L'algorithme PID peut être implémenté sur un microcontrôleur ou via un logiciel de


simulation. Voici un exemple simplifié en pseudo-code :

initialize:
Kp = ... // gain proportionnel
Ki = ... // gain intégral
Kd = ... // gain dérivé
Ts = ... // temps d'échantillonnage
previous_error = 0
integral = 0

loop:
error = setpoint - measured_value
integral = integral + error * Ts
derivative = (error - previous_error) / Ts
output = Kp * error + Ki * integral + Kd * derivative
previous_error = error

apply_output(output)
wait(Ts)
▎4. Réglage des Paramètres PID
Le réglage des gains Kₚ , Kᵢ , et K_d est crucial pour optimiser les performances du
contrôleur. Différentes méthodes peuvent être utilisées :

• Méthode Ziegler-Nichols : Basée sur des tests expérimentaux pour déterminer les
paramètres.

• Réglage par essais-erreurs : Ajustement manuel des paramètres jusqu'à obtenir une
réponse satisfaisante.

• Algorithmes d'optimisation : Utilisation de techniques mathématiques pour trouver


les valeurs optimales.

▎5. Applications Pratiques

Les contrôleurs PID numériques sont utilisés dans de nombreuses applications, telles
que :

• Systèmes de chauffage et de climatisation : Régulation de la température.

• Robotique : Contrôle des mouvements et des positions.

• Automatisation industrielle : Gestion des processus de fabrication.

▎Conclusion

Le contrôleur PID numérique est un outil puissant pour la régulation des systèmes
dynamiques. Grâce à sa simplicité et à sa flexibilité, il est largement utilisé dans diverses
applications industrielles et technologiques. Une bonne compréhension des principes du
PID et une attention particulière au réglage des paramètres sont essentielles pour
garantir des performances optimales du système contrôlé.

Vous aimerez peut-être aussi