Skip to main content

Open Loop Analysis of the PMDC Motor


Hello friends !!!
i am here to share my project work with you. i have done a comparative analysis of PMDC motor  to  show the variation in response by changing its parameters..
the introduction of PMDC motors can be view by checking the page linked on this page. we'll start with open loop analysis of the motor.
Open Loop Analysis of the PM DC Motor
The open loop analysis is done using MATLAB® .
Open loop analysis using MATLAB® .m-file
With the aid of the PM DC motor parameters provided, the open loop analysis us done by considering the stability factors and making the necessary plots for this analysis. This includes the step response and the bode plot diagram.
For this purpose, separate m files were created for the constants, file to change these constants and the main files.
constants.m
% start of code
% motor parameters
L = 0.12
R = 7
Kt = .0141
J = 1.6e-6
Ke = .0141
B = 6.04e-6
% end of code

The above file generated constants.m stores the relevant constants describing a motor. The file described below change_data.m is for any change in the values by the user at any later moment to be used in the calculation of response of a motor different than defined by the motor parameters provided in the above file constants.m.
change_data.m

% any change in data
display = input('do you want to change the values(y/n): ', 's');
if strcmp(display,'y')
L = input('enter the value of the inductance,L: ')
R = input('enter the value of the resistance,R: ')
Kt = input('enter the value of constant Kt: ')
J = input('enter the value of J: ')
Ke = input('enter the value of Ke: ')
end
% end of code

This file open_loop.m analyzes the open loop response of the motor with the constants supplied by the file constants.m or by the user through change_data.m. The step response is showed with a series of plots completely describing the state of the system.
open_loop.m

% start of code
% include constants.m
constants
% includes change_data
change_data
% electrical transfer function
Z = tf([1],[L R])
% dynamic tranfer function
I = tf([1],[J B])
% closed loop transfer function
T = feedback(Z*Kt*I, Ke)
% bandwidth frequency of the motor
fb = Ke*Kt/2/pi/J/R
% system response to step input
figure (1), step (T)
grid on
% root locus
figure (3), rlocus (T)
grid on
% nyquist
figure (4), nyquist (T)
grid on
% frequency response
figure (2), bode (T)
grid on
% end of code
T = feedback(Z*Kt*I, Ke)
% bandwidth frequency of the motor (in Hz)
fb = Ke*Kt/2/pi/J/R
% end of code

The output of the analysis is as follows:

Output of the code

L = 0.1200
R = 7
Kt = 0.0141
J = 1.6000e-006
Ke = 0.0141
B = 6.0400e-006

do you want to change the values(y/n): n
Transfer function:
1
----------
0.12 s + 7
Transfer function:
1
----------------------
1.6e-006 s + 6.04e-006
Transfer function:
0.0141
----------------------------------------
1.92e-007 s^2 + 1.192e-005 s + 0.0002411

fb = 2.8251

Here, the fb is the break frequency calculated for the system, as this defines the bandwidth of the system, for as this will limit the system’s response to that particular frequency only. 
The plots are shown below;
Fig. 1. The OPEN LOOP STEP RESPONSE

Fig. 2. Frequency Response





Comments

Popular posts from this blog