0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Analyse modale des volants moteurs

Ce script MATLAB analyse les modes de vibration et la réponse forcée de deux types de volants moteurs : classique et bi-masse. Il calcule les fréquences propres, les déformées modales et les amplitudes de réponse forcée pour chaque type de volant, puis affiche les résultats et trace les déformées modales. Les résultats incluent les fréquences propres et les amplitudes pour les deux configurations de volant.

Transféré par

lanjavahatriniaina
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)
7 vues4 pages

Analyse modale des volants moteurs

Ce script MATLAB analyse les modes de vibration et la réponse forcée de deux types de volants moteurs : classique et bi-masse. Il calcule les fréquences propres, les déformées modales et les amplitudes de réponse forcée pour chaque type de volant, puis affiche les résultats et trace les déformées modales. Les résultats incluent les fréquences propres et les amplitudes pour les deux configurations de volant.

Transféré par

lanjavahatriniaina
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

% Script MATLAB pour l'analyse modale et la réponse forcée

% Volant moteur classique et bi-masse

% Paramètres communs

C = 1.628e7; % Raideur torsionnelle (N.m/rad)

omega_exc = 125.5; % Fréquence d'excitation (rad/s)

F = [1000; 0; 0; 0; 0]; % Couple d'excitation (N.m)

% --- Volant moteur classique ---

% Matrice d'inertie [J]

J_classique = diag([0.39159, 0.02, 0.02, 0.02, 0.01]);

% Matrice de raideur [C]

C_classique = [C, -C, 0, 0, 0; ...

-C, 2*C, -C, 0, 0; ...

0, -C, 2*C, -C, 0; ...

0, 0, -C, 2*C, -C; ...

0, 0, 0, -C, C];

% Calcul des fréquences propres et déformées modales

[V_classique, D_classique] = eig(C_classique, J_classique);

omega_classique = sqrt(diag(D_classique)); % Fréquences propres (rad/s)

omega_classique_rpm = omega_classique * 60 / (2 * pi); % Conversion en tr/min

% Normalisation des déformées modales

phi1_classique = V_classique(:,1) / V_classique(1,1); % Mode 1

phi2_classique = V_classique(:,2) / V_classique(3,2); % Mode 2

% Réponse forcée

B_classique = diag([100, 5.1, 5.1, 5.1, 2.5]); % Matrice d'amortissement

% Matrice dynamique pour omega = 125.5 rad/s


A_classique = -omega_exc^2 * J_classique + 1i * omega_exc * B_classique + C_classique;

theta_classique = A_classique \ F; % Résolution pour theta

theta_classique_mag = abs(theta_classique); % Amplitude

% --- Volant moteur bi-masse ---

% Matrice d'inertie [J]

J_dmf = diag([0.25, 0.14, 0.02, 0.02, 0.02, 0.01]);

% Matrice de raideur [C']

K = 5000; % Raideur ressort-amortisseur (N.m/rad)

C_dmf = [K+C, -K, -C, 0, 0, 0; ...

-K, K, 0, 0, 0, 0; ...

-C, 0, 2*C, -C, 0, 0; ...

0, 0, -C, 2*C, -C, 0; ...

0, 0, 0, -C, 2*C, -C; ...

0, 0, 0, 0, -C, C];

% Calcul des fréquences propres et déformées modales

[V_dmf, D_dmf] = eig(C_dmf, J_dmf);

omega_dmf = sqrt(diag(D_dmf));

omega_dmf_rpm = omega_dmf * 60 / (2 * pi);

% Normalisation des déformées modales

phi1_dmf = V_dmf(:,1) / V_dmf(1,1); % Mode 1

phi2_dmf = V_dmf(:,2) / V_dmf(3,2); % Mode 2

% Réponse forcée

F_dmf = [1000; 0; 0; 0; 0; 0]; % Couple appliqué à Jp

B_dmf = zeros(6,6);

B_dmf(1,1) = 30; B_dmf(1,2) = -30; B_dmf(2,1) = -30; B_dmf(2,2) = 30;

B_dmf(3,3) = 1; B_dmf(4,4) = 1; B_dmf(5,5) = 1; B_dmf(6,6) = 0.5;


A_dmf = -omega_exc^2 * J_dmf + 1i * omega_exc * B_dmf + C_dmf;

theta_dmf = A_dmf \ F_dmf;

theta_dmf_mag = abs(theta_dmf);

% --- Affichage des résultats ---

disp('Volant moteur classique :');

disp(['Fréquence propre 1 : ', num2str(omega_classique(1)), ' rad/s (',


num2str(omega_classique_rpm(1)), ' tr/min)']);

disp(['Fréquence propre 2 : ', num2str(omega_classique(2)), ' rad/s (',


num2str(omega_classique_rpm(2)), ' tr/min)']);

disp('Amplitudes (rad) :');

disp(['J1 : ', num2str(theta_classique_mag(1))]);

disp(['J5 : ', num2str(theta_classique_mag(5))]);

disp('Volant moteur bi-masse :');

disp(['Fréquence propre 1 : ', num2str(omega_dmf(1)), ' rad/s (', num2str(omega_dmf_rpm(1)), '


tr/min)']);

disp(['Fréquence propre 2 : ', num2str(omega_dmf(2)), ' rad/s (', num2str(omega_dmf_rpm(2)), '


tr/min)']);

disp('Amplitudes (rad) :');

disp(['Jp : ', num2str(theta_dmf_mag(1))]);

disp(['Js : ', num2str(theta_dmf_mag(2))]);

disp(['J5 : ', num2str(theta_dmf_mag(5))]);

% --- Tracé des déformées modales ---

% Volant classique (Figure 25)

figure;

plot(1:5, phi1_classique, 'b-', 'DisplayName', 'Mode 1');

hold on;

plot(1:5, phi2_classique, 'r-', 'DisplayName', 'Mode 2');

title('Déformées modales - Volant moteur classique');

xlabel('Disque (J_1 à J_5)'); ylabel('Amplitude normalisée');


legend; grid on;

saveas(gcf, '[Link]');

% Volant bi-masse (Figure 26)

figure;

plot(1:6, phi1_dmf, 'b-', 'DisplayName', 'Mode 1');

hold on;

plot(1:6, phi2_dmf, 'r-', 'DisplayName', 'Mode 2');

title('Déformées modales - Volant moteur bi-masse');

xlabel('Disque (J_p, J_s, J_2 à J_5)'); ylabel('Amplitude normalisée');

legend; grid on;

saveas(gcf, '[Link]');

Vous aimerez peut-être aussi