DC Motor Modeling

V is voltage supply for motor, i is current, R is armature resistance, L is armature inductance, vb is voltage due to back EMF (electric magneticforce), and:

Where kb is back EMF constant, is angular velocity of armature. So, we have:

Because motor inductance is very small and not convenient to measure, we ignore it. Thus, we have:

[eq(1)]

It is known that relationship between motor torque and armature current is:

[eq(2)]

Where kt is torque constant. Assume there are no electromagnetic losses, which means mecanical power is equal to electrical power dissipated by the back EMF in the armature:

Let's denote

kt = kb = K [eq(3)]

From eq(1), eq(2) and eq(3), we get:

Therefore, we need to measure two parameters: resistance R and torque constant K.

Experiment 1--find R

Take a multimeter and measure at the terminals. Give the armature a random turn, measure it; give it another random turn, measure it, etc. Then take the average. I've measure it 50 times, and here is what I got: (unit: Ohm)

7.4 9.5 8.5 9.8 9.1 18.7 6.4 8.4 11.2 6.9
8.3 9.4 15.4 7.2 15.3 13.1 11.6 12.1 9.2 7.7
10.8 9.1 18.6 11.0 16.1 12.1 10.1 8.1 9.6 10.0
9.9 16.8 16.5 10.3 17.5 13.8 9.9 14.0 8.5 15.3
14.2 16.0 29.5 13.8 14.3 11.9 31.3 18.3 10.9 10.9

The average is 12.486. So,

R = 12.486 Ohm

Experiment 2--find K

Denote moment of inertia of motor armature J, thus

Take Laplace transform,

[eq(4)]

From eq(1), we get

[eq(5)]

From eq(4) and eq(5), we get

[eq(6)]

So, give the motor a step input, and measure the response (motor angluar velocity):

The step input is 7.23V, I know this value by measuring the voltage inputs to motor using a multimeter. A 7.23V step input written in Laplace form is:

Inserted it into eq(6), we have:

I wrote an Arduino program to grasp angular velocity data. Here is a video explains how to do this experiment:

Video 4
(If you cannot watch YouTube, please click here for YouKu)

I did this experiment 6 times. These are the angular velocity data plots:

The steady state velocities are a little jerky, so, I calculate the average value. This is result I get: (K values for the 6 experiments)

0.2670 0.2663 0.2677 0.2659 0.2669 0.2653

The average of these 6 values is 0.2665, thus:

Programs of this experiment is available in DOWNLOAD section.