# Calculate Moment of Inertia(J) and Magnetic Field B of a permanent magnet DC motor (PMDC) motor

#### charlie_89

Joined Mar 13, 2020
4
hello,

can anyone tell me how to find the moment of inertia(J) and magnetic field(B) value of a PMDC motor? I am currently working on closed loop DC motor control for my control systems project. And I am supposed to find the constants( i.e, J, B, L, R and other parameters.)

Below, I attach motor design and other specification details for your reference.

Thankyou.

#### Attachments

• 150.2 KB Views: 8
• 17 KB Views: 8
• 84.5 KB Views: 6

#### MrAl

Joined Jun 17, 2014
8,369
Hello,

Do you have an example using the data you have provided?
I ask because usually to calculate J you have to have detailed mechanical drawings and specifications or you have to be able to do detailed tests on the actual motor itself.

#### drc_567

Joined Dec 29, 2008
1,135
A possib!e method to obtain an estimate for the moment of inertia would be to first measure the locked rotor torque. This measurement is obtained using the rated motor amps and sufficient weight placed radially on the motor shaft ... A small pulley may be utilized. The second step is to measure the no-load, or free running speed of the motor at the rated amps. Plot the two points and draw a straight line. Using the formula:
$$T=Jdω/dt$$
Find an estimate for the moment of inertia J.

edit: The stall torque is given in the data sheet. Measure the no-load speed. Plot the two points and draw a line. Maybe the calculated number will be approximately correct. See if the motor manufacturer will provide a value.

Last edited:

#### charlie_89

Joined Mar 13, 2020
4
A possib!e method to obtain an estimate for the moment of inertia would be to first measure the locked rotor torque. This measurement is obtained using the rated motor amps and sufficient weight placed radially on the motor shaft ... A small pulley may be utilized. The second step is to measure the no-load, or free running speed of the motor at the rated amps. Plot the two points and draw a straight line. Using the formula:
$$T=Jdω/dt$$
Find an estimate for J, the moment of inertia J.

edit: The stall torque is given in the data sheet. Measure the no-load speed. Plot the two points and draw a line. Maybe the calculated number will be approximately correct. See if the motor manufacturer will provide a value.

#### charlie_89

Joined Mar 13, 2020
4
Thank you! Will follow the procedure which you mentioned to calculate and will get back to you.

#### drc_567

Joined Dec 29, 2008
1,135
... Still trying to close in on a practical solution.
It seems that in an approximate sense, the slope of the line as plotted above should be:
$$m=ΔT/Δω$$
The question then is m equal to J?
This implies that
$$ΔT=JΔω$$
If this is reasonably correct, then appropriate numbers, over a small interval, could be obtained from the plotted line.

Last edited:

#### cake4all

Joined Oct 19, 2018
8
Sorry if I am a bit too late. But maybe somebody else will still profit from this post.

In general, you need a (differential equation) model in order to perform process identification. For a simple dc motor, often the following model is used:
$$L_A \cdot \dfrac{d i_A(t)}{dt} = - R_A \cdot i_A(t) - U_{ind} + U_{A}(t)$$
$$J \cdot \dfrac{d \omega}{dt} = c_A \cdot \phi_E \cdot i_A(t) - m_L$$
(From the german wikipedia.)
$$m_L$$ is the load torque, $$c_A \cdot \phi_E$$ is for most dc motors roughly a constant. $$R_A$$ is the resistance of the armature, and $$L_A$$ is its inductance. Approximately $$U_{ind} = c_A \cdot \phi_E \cdot \omega$$ holds. $$i_A(t)$$ is the current through the armature and $$U_A(t)$$ is its voltage (this is in most cases the system input).

There are also more complicated models (mostly nonlinear), that include much more behaviour (e.g. different types of friction). See here for an example.

As soon as you have a differential equation model, you can use system identification methods for finding the parameters. I am too lazy to write about its aspects. Just a grab a suitable textbook about control theory/system identification or just use the very popular matlab system identification toolbox.

Summarized, you need to perform the following steps:
1. Find a suitable differential equation model.
2. Find a suitable system identification method.
3. Perform experiments and capture the data.
4. Apply system identification methods to your data.

Kind Regards