I use the following DC drive model: DC motor

with the following parameters of the motor: Motor parameters

Matlab variables for these parameters:

L = 0.343*10^(-3);                  % H
R = 11.4;                           % Ohm
Kt = 11.2*10^(-3);                  % Nm/A
Kemf = 1/(2*pi*849/60);             % 849 [rpm/V] -> [V/(Rad/s)]
J = 0.993*(10^-3)*(0.01)^2;         % [g * cm^2] -> [kg * m^2]
B = 0.00;                           % Friction coefficient
G = 35;                             % Gearing coefficient

Jload = 0.0;                       % N*m^2

Transfer function which converts torque into omega is derived from the following considerations(here I omit damping B):

enter image description here

What makes me feel that model does not work properly is its' output. With Jload = 0 I have the following current and speed responses: enter image description here enter image description here

And the settled speed actually is close enough to that of declared in No load speed field(note that field is in RPM while plot is in rad/s). However if I change Jload the behavior seems to be wrong. When I increase the load I expect that motor will shift along speed/torque curve leading to an increased current and reduced speed. Nevertheless making Jload = 0.05 gives me the following output: enter image description here enter image description here

Here is how output is generated: enter image description here

As you can see the only thing that changes is settling time. What am I missing here?


  • \$\begingroup\$ Missing some units ? Is RPM shown? Computed power/rated power? Or I ratios? Or actual RPM/torque curve \$\endgroup\$ Feb 3, 2019 at 14:56
  • \$\begingroup\$ @SunnyskyguyEE75 yep, sorry for that. Two plots:I(t) [A] and Omega(t) [rad/s]. \$\endgroup\$
    – Long Smith
    Feb 3, 2019 at 14:59
  • \$\begingroup\$ @SunnyskyguyEE75 I have also revealed that motor link is broken so I have added screenshot with motor parameters from maxon web page. \$\endgroup\$
    – Long Smith
    Feb 3, 2019 at 15:04
  • \$\begingroup\$ Define ALL inputs and ALL outputs with units for graph. I sense should not go to 0 for 12Vin, while L/R ratio is one time constant and torque current with gear reduced speed G=35 and load inertia another T \$\endgroup\$ Feb 3, 2019 at 15:07
  • \$\begingroup\$ G reduces RPM and increases output torque so define new W range. \$\endgroup\$ Feb 3, 2019 at 15:14

1 Answer 1


\$J_{load}\$ is the moment of inertia of the load; mathematically it's the equivalent of mass in a system where you're dealing with linear motion. Here's the details: $$T = J \alpha \\ F = m a$$ where \$T\$ is torque \$J\$ is moment of inertia, \$\alpha\$ is rotational acceleration (\$\ddot \theta\$), \$F\$ is force, \$m\$ is mass and \$a\$ is linear acceleration.

Increasing \$J_{load}\$ will slow the response of the system to changes in voltage, because it takes more torque to spin the motor up. But \$J_{load}\$ does not change the amount of torque used by the system once it is at speed. That is why when it eventually settles, it does so to it's previous speed and current.

This is quite apparent in the math, if you can pull your head out of dependence on Matlab for long enough to spend some time with a pencil and paper. I highly recommend you do so; the equations of motion are first order and linear, so should be easy to solve.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.