← Back to My Courses 2023-2024

🔗 Cours connexes:


Commande Numérique

PART A: GENERALITIES

Presentation

Le cours “Commande Numérique” traite de la conception et de l’implémentation de lois de commande sur calculateur numérique. Avec la généralisation des microcontrôleurs et processeurs, la commande numérique est devenue la norme dans l’industrie. Ce cours couvre la théorie de l’échantillonnage, la synthèse de correcteurs numériques, et leur implémentation pratique.

Année Académique: 2023-2024
Semestre: 8
Catégorie: Automatique / Commande


PART B: DESCRIPTIVE PART

Experience Details

Environment and Context

Le cours combinait développements mathématiques (transformée en Z, équations aux différences) avec implémentation sur microcontrôleur et simulation Matlab/Simulink. Nous avons conçu des régulateurs numériques pour différents systèmes (moteur, température, niveau) et les avons testés en laboratoire.

My Function

Dans ce cours, j’ai été responsable de:

PART C: TECHNICAL PART

Cette section explore les aspects techniques de la commande numérique.

Technical Concepts Learned

1. Échantillonnage et Théorème de Shannon

Principe: Conversion d’un signal continu s(t) en signal échantillonné s[k]:

s[k] = s(k·Te)
où Te est la période d'échantillonnage
Fe = 1/Te est la fréquence d'échantillonnage

Théorème de Shannon:

Fe ≥ 2·Fmax

Pour éviter le repliement spectral (aliasing).

En pratique:

Fe ≥ (6 à 40) × BW_système

où BW_système est la bande passante du système.

Choix de Te:

2. Bloqueur d’Ordre Zéro (BOZ / ZOH)

Fonction: Maintenir la valeur de sortie constante entre deux échantillons:

u(t) = u[k]  pour k·Te ≤ t < (k+1)·Te

Fonction de transfert:

G_BOZ(s) = (1 - e^(-Te·s)) / s

Effet fréquentiel: Atténuation haute fréquence (similaire à filtre passe-bas).

Retard équivalent: ≈ Te/2 (retard moyen introduit)

3. Transformée en Z

Définition:

Z{s[k]} = S(z) = Σ s[k]·z^(-k)  pour k=0 à ∞

où z = e^(Te·s) relie plan de Laplace au plan en Z
Système en boucle fermée échantillonné

Figure : Schéma bloc d'un système de commande numérique avec correcteur C(z)

Propriétés:

Transformées usuelles:

4. Fonction de Transfert en Z

Définition:

H(z) = Y(z)/U(z) = (b₀ + b₁·z^(-1) + ... + bₘ·z^(-m)) / (1 + a₁·z^(-1) + ... + aₙ·z^(-n))

Équation aux différences:

y[k] = -a₁·y[k-1] - ... - aₙ·y[k-n] + b₀·u[k] + b₁·u[k-1] + ... + bₘ·u[k-m]

Forme directement implémentable sur calculateur.

Passage continu → discret:

Méthode d’Euler avant:

s → (z-1)/Te

Méthode d’Euler arrière (backward):

s → (z-1)/(Te·z)

Méthode de Tustin (trapézoïdale):

s → (2/Te)·(z-1)/(z+1)

Plus précise, préserve mieux stabilité.

Méthode de la réponse impulsionnelle invariante

Méthode ZOH (blocage d’ordre zéro):

H(z) = Z{L^(-1){G(s)/s · (1 - e^(-Te·s))}}

Méthode exacte pour système précédé d’un BOZ.

5. Stabilité des Systèmes Discrets

Condition de stabilité: Tous les pôles dans le cercle unité du plan en Z:

|z_i| < 1  pour tout pôle z_i

Relation avec plan de Laplace:

Critère de Jury: Table de Routh équivalente pour temps discret. Vérifie si polynôme a racines dans cercle unité.

Lieu d’Evans discret: Similaire au continu mais interprétation différente (cercle unité).

6. Analyse Fréquentielle Discrète

Réponse fréquentielle:

H(e^(jω·Te)) = H(z)|_(z=e^(jω·Te))

Périodique de période Fe (repliement).

Diagrammes de Bode discrets:

Tracés pour ω ∈ [0, π/Te] (jusqu’à Fe/2).

Marges de stabilité:

Interprétation similaire au continu.

7. Régulateur PID Numérique

Forme continue:

C(s) = Kp + Ki/s + Kd·s

Discrétisation:

Forme vitesse (incrémentale):

Δu[k] = u[k] - u[k-1]
Δu[k] = q0·e[k] + q1·e[k-1] + q2·e[k-2]

Où:

Forme position:

u[k] = Kp·e[k] + Ki·Te·Σe[k] + Kd·(e[k]-e[k-1])/Te

Action proportionnelle:

uP[k] = Kp·e[k]

Action intégrale (méthode rectangulaire):

uI[k] = uI[k-1] + Ki·Te·e[k]

Action dérivée:

uD[k] = Kd·(e[k] - e[k-1])/Te

Souvent filtrée pour réduire bruit:

uD[k] = α·uD[k-1] + Kd·(1-α)·(e[k]-e[k-1])/Te

8. Correcteurs Polynomiaux RST

Structure:

R(z)·U(z) = T(z)·Yref(z) - S(z)·Y(z)

Où:

Équation de commande:

u[k] = (1/r₀)·[t₀·yref[k] + ... - s₀·y[k] - s₁·y[k-1] - ... - r₁·u[k-1] - ...]

Synthèse par placement de pôles: Résolution de l’équation diophantienne:

A·R + B·S = P_désiré

Où P_désiré contient les pôles en boucle fermée souhaités.

Avantages:

9. Commande Prédictive (MPC)

Principe: Optimiser une séquence de commandes futures pour minimiser un critère.

Critère:

J = Σ [w_y·(yref[k+i] - y[k+i])² + w_u·Δu[k+i]²]

Sur un horizon de prédiction.

Algorithme:

  1. Prédire sortie future avec modèle
  2. Optimiser commande pour minimiser J
  3. Appliquer première commande u[k]
  4. Répéter à chaque instant (receding horizon)

Avantages:

Inconvénients:

10. Aspects Pratiques d’Implémentation

Quantification:

Erreurs de quantification peuvent causer:

Saturations: Actionneurs ont limites physiques:

u_min ≤ u[k] ≤ u_max

Anti-windup: Quand u sature, l’intégrateur continue à s’accumuler (windup).

Solution:

Si u saturé:
  uI[k] = uI[k-1]  (geler intégrale)
ou
  uI[k] = u_sat - uP[k] - uD[k]  (back-calculation)

Filtre dérivé: L’action dérivée amplifie le bruit. Filtrer avec passe-bas:

D_filtré(z) = Kd·z/(z + α)  avec 0 < α < 1

Bumpless transfer: Lors de changement de mode (manuel → auto), éviter saut brutal:

Temps d’exécution: Le code de commande doit s’exécuter en moins de Te:

T_exec < Te

Sinon, instabilité ou perte d’échantillons.

Optimisations:

11. Observateurs Discrets

Problématique: Si toutes les variables d’état ne sont pas mesurées, les estimer.

Observateur de Luenberger discret:

x̂[k+1] = A·x̂[k] + B·u[k] + L·(y[k] - ŷ[k])
ŷ[k] = C·x̂[k]

Placement des pôles de l’observateur: Plus rapides que ceux du système (2-5 fois).

Filtre de Kalman: Observateur optimal en présence de bruit.

12. Outils de Simulation et Test

Matlab/Simulink:

Processor-in-the-Loop (PIL): Simulation avec code réel sur processeur cible. Vérifie comportement avec quantification, timing réel.

Hardware-in-the-Loop (HIL): Contrôleur réel + système simulé temps réel. Validation avant tests sur système physique.

Banc d’essai: Test sur système réel avec instrumentation. Validation finale.

PART D: ANALYTICAL PART

Knowledge and Skills Mobilized

Self Evaluation

Ce cours a été crucial pour comprendre que la commande numérique n’est pas qu’une simple discrétisation de la commande continue. L’échantillonnage introduit des phénomènes spécifiques (repliement, retard) qui doivent être pris en compte.

La transformée en Z, initialement abstraite, est devenue un outil naturel après pratique. La correspondance plan s ↔ plan z est fondamentale pour comprendre comment les propriétés continues se transposent en discret.

Le choix de la période d’échantillonnage est un compromis délicat. J’ai appris qu’il ne suffit pas de respecter Shannon; il faut échantillonner suffisamment vite pour que le comportement discret soit proche du continu, mais pas trop pour éviter problèmes numériques et charge calcul.

Le PID numérique semble simple mais les détails d’implémentation (forme vitesse vs position, anti-windup, filtre dérivé) sont essentiels pour performance et robustesse. Les problèmes de windup peuvent causer des comportements très surprenants.

Les correcteurs RST offrent beaucoup plus de flexibilité que le PID. La synthèse par placement de pôles est élégante mathématiquement, mais le choix des pôles désirés reste un art (compromis performance/robustesse).

La commande prédictive (MPC) est séduisante pour sa capacité à gérer contraintes et anticipation. Cependant, la charge calcul peut être prohibitive pour systèmes rapides ou microcontrôleurs limités. C’est un domaine de recherche actif.

L’implémentation sur microcontrôleur m’a confronté à des problèmes pratiques souvent ignorés en cours théoriques: timing d’interruptions, virgule fixe vs flottante, gestion des dépassements arithmétiques. Le code doit être robuste et efficace.

Les simulations Processor-in-the-Loop ont révélé des écarts entre théorie et pratique: quantification, arrondis, délais de calcul peuvent dégrader performance voire déstabiliser.

My Opinion

Ce cours est indispensable à l’ère du numérique. Pratiquement toute commande moderne est implémentée sur calculateur. Maîtriser les spécificités du discret est donc essentiel.

Points forts:

Points à améliorer:

Réflexions personnelles:

La commande numérique a révolutionné l’automatique. Ce qui était impensable en analogique (MPC, observateurs complexes, adaptation) devient possible avec des microcontrôleurs peu coûteux.

Cependant, la puissance de calcul disponible peut donner une fausse impression de facilité. Un correcteur mal conçu (instabilité numérique, paramètres inadaptés) ne marchera pas mieux sous prétexte qu’il est numérique.

La tendance est à l’augmentation de la puissance de calcul (processeurs multi-cœurs, FPGA, DSP). Cela ouvre des possibilités (fusion multi-capteurs, traitement d’image embarqué, IA embarquée) mais nécessite expertise en programmation temps réel et optimisation.

La séparation traditionnelle entre électronicien et informaticien s’estompe. L’ingénieur moderne doit maîtriser hardware (capteurs, actionneurs, électronique) ET software (algorithmes, programmation embarquée, architectures logicielles).

Applications professionnelles:

Ces compétences sont applicables dans tous les domaines de l’automatique industrielle:

La maîtrise de la commande numérique, couplée à des compétences en traitement du signal et systèmes embarqués, est un profil très recherché en industrie.

L’avenir verra probablement:

Avoir des bases solides en commande numérique classique est le prérequis pour comprendre et contribuer à ces évolutions futures.


📚 Documents de Cours

📖 Polycopié Commande Numérique

Cours complet : transformée en Z, échantillonnage, synthèse de correcteurs numériques et implémentation discrète.

📥 Télécharger

📖 Annales 2019

Sujet d'examen 2019 avec exercices sur transformée en Z, stabilité et synthèse de correcteurs PID numériques.

📥 Télécharger

📖 Correction 2019

Correction détaillée de l'examen 2019 avec méthodes de résolution et explications complètes.

📥 Télécharger