Challenge

Project - Position control of mass spring damper system

Question :

Obtain the transfer function of a mass spring damper system and use it in the model. Add a PID controller to adjust the force on mass so that its position follows a reference signal.

Take m = 3.6; %kg k = 400; %N/m c = 100; %Ns/m

The reference signal is shown in the following figure.

ANSWER :

  • OBTAINING OF TRANSFER FUNCTION OF SPRING MASS DAMPER SYSTEM :

Second order differential equation for SPRING – MASS – DAMPER SYSTEM is given in following :

f(t) = mx* * + cx* + kx

m = mass in Kg

c = damping constant

k = spring constant

So we can write laplace transform of above equation as following :

F(s) = ms2X(s) + csX(s) + kX(s)

F(s) = X(s) [ ms2 + cs + k ]

So ,

X(s) = 1 = 1/m = K or Wn2

---------- -------------- --------------------------------- ---------------------------------

F(s) [ ms2 + cs + k ] s2 + c/m*s + k/m s2 + 2 zeta Wn s + Wn2

Because ,

k = 1/m

2*zeta*Wn = c/m

K = Wn2

Finally we get following Transfer funxtion :

X(s) = Wn2

-------- ------------------------------------------------------------

F(s) s2 + 2 * zeta * Wn * s + Wn2

Now we taken following parameters :

Wn = 2 * pi * f = 6.28 rad / s ( f = 1.0 Hz taken )

Zeta = 1.5 > 1 ( Over Damping Case taken )

So We get ,

X(s) = 39.44

-------- ---------------------------------------

F(s) s2 + 18.84*s + 39.44

ABOVE EQUATION IS OUR FINAL TRANSFER FUNCTION FOR SPRING MASS DAMPER SYSTEM

  • FINDING A POLE PLACEMENT :

We can find poles by two methods as shown in following :

Method 1 : roots( [1 18.84 39.44] )

Or

Method 2 : p1 = - zeta * Wn + Wn*sqrt ( zeta2 – 1)

p2 = - zeta * Wn - Wn*sqrt ( zeta2 – 1)

After putting all parameters value in above two methods we get following matrix P

P = [ - 16.4411 ; - 2.3989 ]

  • BY STATE SPACE REPRESENTATION WE GET FOLLOWING MATRICES :

A = [ 0 1 ; -k/m -c/m]

B = [0 ; 1/m]

C = [1 0]

D = [0]

IN QUESTION FOLLOWING PARAMETERS GIVEN :

m = 3.6 kg

k = 400 N/m

c = 100 Ns/m

  • So , NOW WE CAN FIND OUR CONTROL GAINS FOR PID CONTROL AS FOLLOWING :

K = place ( A , B , P )

After type above commands in matlab work space , we get following control gains ,

K(1) = Kp = - 258.0218

K(2) = Kd = - 32.1760

Ki = 0 ( As tunnig requirement )

AFTER GETTING CONTOL GAINS , WE ARE READY FOR BUILD SIMULINK MODEL OF PID CONTROLLED SPRING MASS DAMPER SYSTEM.

BUT , BEFORE CREATING MODEL IN SIMULINK ,WE NEED TO MAKE SCRIPT IN MATLAB FOR OUR MODEL WHICH GIVEN IN FOLLOWING :

SCRIPT :

%% SPRING MASS DAMPER SYSTEM SCRIPT %%
close all
clear all
clc
% REQUIRED PARAMETERS 
m = 3.6; % mass in Kg
k = 400; % spring constant in N/m
c = 100; % damping constant in Ns/m
Wn = 6.28; % radius ( fn = 1 Hz , so Wn = 2*pi*f )
zeta = 1.5; % over damped case taken ( zeta > 1 )
%% Finding pole placement %%
p1 = - zeta*Wn + Wn*sqrt(zeta^2 - 1);
p2 = - zeta*Wn - Wn*sqrt(zeta^2 - 1);
P = [p1;p2];
%% MATRICES A , B , C & D FROM STATE SPACE REPRESENTATION %%
A = [ 0 1 ; -k/m  -c/m];
B = [0 ; 1/m];
C = [1 0];
D = [0];
%% FINDING CONTROL GAINS K ( Kp ,Kd , Ki ) %%
K = place(A,B,P);
K(1); % K(1) = Kp
K(2); % K(2) = Kd
Ki = 0; % Ki is taken according to tunning setting
%% OUTPUT IN COMMAND WINDOW %%
who
P
A
B
K
K(1)
K(2)
Ki

MODEL PHOTO HAS BEEN GIVEN IN FOLLOWING :

OUTPUT SCOPE ( DISPLACEMENT ) :

REFERENCE INPUT SIGNAL SCOPE :

IN QUESTION FOLLOWING PLOT OF REFERENCE INPUT Vs TIME GIVEN :

NOW FOLLOWING SCRIPT NEED TO MAKE FOR PLOTING OF OUR MODEL INPUT SIGNAL :

plot( out.time,out.input,'-b');
grid on;
xlabel('Time ( Second )');
ylabel('Ref Input Signal');
xlim([0 30]);
ylim([0 5] );
title('REFERENCE INPUT SIGNAL');

PLOT OF GIVEN REFERENCE INPUT SIGNAL FOR OUR SYSTEM :

Conclusion : So , We can see that our input reference signal is match with signal given in question

Note 1 : Here I take y axis limit from 0 to 5 & x axis limit from 0 to 30

Note 2 : Integrator control gain Ki = 0 taken

---------------------------------------- END -------------------------------------------------------

FOLLOWING FILES HAS BEEN ATTACHED WITH ANSWER :

SIMULINK MODEL FILE

MATLAB SCRIPT FILE FOR MODEL

MATLAB SCRIPT FILE FOR PLOTING

MATLAB PLOT PHOTO

ALL SCOPE PHOTOS

Thank you.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.