Académique Documents
Professionnel Documents
Culture Documents
TP 2
TP 2
Un système masse-ressort est un système mécanique à un degré de liberté. Il est constitué par
une masse accrochée à un ressort contrainte de se déplacer dans une seule direction. Son
mouvement est dû à trois forces :
Pour le soin de la simplicité de l'exercice théorique dans un premier temps nous ne considérons
pas l'effort gravitationnel, ni le frottement de l'air. Classiquement la loi de référence d'un système
ressort est traité par la Loi de Hooke, mais il existe des abaques et des notice constructeur
permettant de définir une constante simple pour chaque élément ressort faisant partie d'un
système mécanique.
Le système masse-ressort est un sujet d'étude simple dans le cadre des oscillateurs harmoniques
Le but de TP :
1
Manipulation :
Considérons masse ressort représenté par l’équation de mouvement suivante :
3
𝑥̈ (𝑡 ) + 𝑥 (𝑡 ) + 2(𝑥 (𝑡 )) = u(t)
✓ Supposons que la position et la vitesse initiales de l’objet soient :
𝑥̇ (0) = 𝑦0 𝑒𝑡 𝑥 (0) = 𝑥0
✓ Tels que x est la position de la masse ; u est la force appliquée à la masse et 𝑥̇ est la vitesse
de la masse
✓ On va amener la masse à sa position d’équilibre en utilisant la force externe et pour cet
objectif on va étudier les cas suivants :
clc,clear all
a=[0 1;-1 0]
b=[0 1]
global u
% global: elle déclare des variables globales
k2=0
ti=0
tf=20
x01=1
x02=2
u=0;
% [t,x]=ode23('f',[0 5],[2 3])
% plot(x(:,1),x(:,2))
% pause
% plot(t,x(:,1))
% pause
% plot(t,x(:,2))
for x02=1:0.5:3;
hold on
[t,x]=ode45('f',[ti,tf],[x01,x02]);
x1=x(:,1);
x2=x(:,2);
x=x1;
y=x2;
plot(x,y)
xlabel('x1 = x')
ylabel('x2 = y')
grid
end
2
❖ Premier cas : ressort libre
On suppose que u(t)=0, c'est-à-dire qu’aucune force n’est appliquée au ressort. Donc
l’équation devient
3 3
𝑥̈ (𝑡 ) + 𝑥 (𝑡 ) + 2(𝑥 (𝑡 )) = 0 S’applique que 𝑥̈ (𝑡 )=−𝑥(𝑡 ) − 2(𝑥(𝑡 )) qui s’appelle
l’équation de duffing
la commande u=0 :
Le plan de phase :
La position et la vitesse :
3
❖ Deuxième cas : Ressort amorti
On suppose que u(t)=-𝑥̇ (t) l’équation devient donc :
3
𝑥̈ (𝑡 ) + 𝑥 (𝑡 ) + 2(𝑥(𝑡 )) + ẋ (t) =0
̇
La command u= − 𝑥(𝑡)
Le plan de phase :
La position et la vitesse
4
❖ Troisième cas : ressort entretenu
On suppose que u(t)=-(x(t)2-1)𝑥̇ (t)
Donc l’équation devient
3
𝑥̈ (𝑡 ) + 𝑥 (𝑡 ) + 2(𝑥(𝑡 )) + (x(t)2 − 1𝑥̇ (t) = 0
Le plan de phase :
La position et la vitesse :
5
Simulink :
6
En début écrire le programme sur MATLAB
function xdot=fun1(t,x,sys)
xdot=sys*[x(1);x(2)]
xdot=xdot(:);
end
clc
clear
close all
ti=[0 10];
a=[0 1;-1 0];
b=[0;1];
c=[0 1];
k=place(a,b,[-1 -2]);
xdot1=a-b*k;
ti=[0 10];
for i=1:2
for j=1:2
x0=[i,j]
[time,x]=ode45(@(t,x)fun1(t,x,xdot1),ti,x0);
u=-k*x'
figure (1)
hold on
plot(x(:,1),x(:,2))
title('plan de phase')
xlabel('x1(la position)')
ylabel('x2(la vitesse)')
figure(2)
hold on
plot(time,x(:,2))
title('la vitesse')
xlabel('t(s)')
ylabel('x2(t)')
figure(3)
hold on
plot(time,x(:,1))
title('la vitesse')
xlabel('t(s)')
ylabel('x1(t)')
figure(4)
hold on
plot(time,u)
title('commande')
xlabel('t(s)')
ylabel('u(t)')
end
end
7
Le résultat graphiquement est :
Conclusion :
Ce TP a permis de mieux comprendre le problème de la commande optimale. Ce problème
consiste à rechercher une commande u(t) appliquée au système .cet commande minimise un
critère J scalaire donné.
• Nous avons appliqué tout le travail précédent à Simulink pour confirmé les résultats.
• Nous avons vue et constaté que les résultats sont identique.