%% Exercice 4 - Réglage proportionnel numérique de vitesse clear; clc; close all; %% 1. Définition des paramètres h = 0.025; % Période d'échantillonnage h = 25 ms s = tf('s'); % Système continu G(s) = 1 / (s + 2) G_s = 1 / (s + 2); %% 2. Discrétisation du système avec BOZ K_z = c2d(G_s, h, 'zoh'); disp('Fonction de transfert discrète K(z) :'); disp(K_z); %% 3. Question a) - Lieu des racines et gain limite figure('Name', 'Lieu des racines'); rlocus(K_z); title('Lieu des racines du système échantillonné dans le plan z'); grid on; % Calcul analytique du gain limite Kp_lim = 80; F_cl_lim = feedback(Kp_lim * K_z, 1); poles_lim = pole(F_cl_lim); fprintf('Gain limite Kp = %.1f -> Pôle en BF : z = %.4f\n', Kp_lim, poles_lim); %% 4. Question b) - Réglage pour Kp = 1.9 Kp = 1.9; F_cl = feedback(Kp * K_z, 1); pole_bf = pole(F_cl); fprintf('\nPour Kp = %.1f :\n', Kp); fprintf(' - Pôle mesuré en BF : z = %.4f\n', pole_bf); % Déduction de la constante de temps effective T_cl_effective = -h / log(pole_bf); fprintf(' - Constante de temps BF effective : T_cl = %.4f s (Objectif : 0.25 s)\n', T_cl_effective); %% 5. Question c) - Simulation de la réponse à un échelon t_sim = 0:h:2; % Temps de simulation sur 2 secondes % Réponse en boucle ouverte (BO) et boucle fermée (BF) [y_bo, t_bo] = step(G_s, t_sim); [y_bf, t_bf] = step(F_cl, t_sim); figure('Name', 'Réponse à un échelon'); plot(t_bo, y_bo, 'b--', 'LineWidth', 1.5); hold on; stairs(t_bf, y_bf, 'r-', 'LineWidth', 1.5); grid on; xlabel('Temps [s]'); ylabel('Vitesse y(t)'); legend('Boucle Ouverte G(s)', sprintf('Boucle Fermée K_p = %.1f', Kp)); title('Vérification par simulation numérique de la réponse indicielle');