0% ont trouvé ce document utile (0 vote)
111 vues8 pages

TP 2

Le document décrit un système masse-ressort à un degré de liberté. Il présente trois cas où une force est appliquée au ressort: libre, amorti et entretenu. Le but est de modéliser le système sur MATLAB et Simulink et d'analyser la position et la vitesse de la masse pour chaque cas.

Transféré par

abdousewager8080
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)
111 vues8 pages

TP 2

Le document décrit un système masse-ressort à un degré de liberté. Il présente trois cas où une force est appliquée au ressort: libre, amorti et entretenu. Le but est de modéliser le système sur MATLAB et Simulink et d'analyser la position et la vitesse de la masse pour chaque cas.

Transféré par

abdousewager8080
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

Introduction :

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 :

✓ Une force de rappel ,

✓ Une force d'amortissement ,

✓ Une force extérieure .

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 :

Dans ce TP nous modifions la valeur de la command U et comparons le résultat

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 :

Travaille sur matlab

En début écrire le programme sur MATLAB

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 :

function [dx]= f(t,x);


global u
dx(1)=x(2);
dx(2)=-x(1)-(2*x(1)^3)+u; la command u
dx=dx(:);
end

Le résultat graphiquement est :

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= − 𝑥(𝑡)

function [dx]= f(t,x);


global u
dx(1)=x(2);
dx(2)=-x(1)-(2*x(1)^3)-x(2);
dx=dx(:);
end

Le résultat graphiquement est :

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

𝑐 ′ 𝑒𝑠𝑡 𝑢𝑛𝑒 é𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑𝑖𝑡𝑒 𝑑𝑒 𝑣𝑎𝑛 𝑑𝑒𝑟 𝑝𝑜𝑙

La command u= −(𝑥(𝑡)2 − 1)𝑥̇ (𝑡)

function [dx]= f(t,x);


global u
dx(1)=x(2);
dx(2)=-x(1)-(2*x(1)^3)-((x(1)^2)-1)*dx(1) ;
dx=dx(:);
end

Le résultat graphiquement est :

Le plan de phase :

La position et la vitesse :

5
Simulink :

Le résultat graphiquement est :

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.

Vous aimerez peut-être aussi