Modeling DC Motors
Modeling DC Motors
Mechanical Systems
(DC Motors)
MECH 3140
Lecture #
1
Class Update
• We will start grading Exam #2 this week
– It will probably take a couple of weeks as we try
and stay on top of other on-line items
• HW #9 is out and contains the last matlab
assignment you will have to do
– There will be a HW #10 which will be problems
to prepare for the final exam
• We should be posting the final project this
week
– It will be due the last week of classes and teams
will present their power-point slides remotely
2
Multi-DOF Modeling
3
DC Electric Motors
4
“General” Fundamental Operation
6
Step #0: Electrical Side
• Lets start with modeling the electrical side
• What components do you think we need?
– Voltage supply (since this is our input)
– Resistance
• Why? There is no resistor.
• The wire inside the motor certainly has resistance (energy loss)
that needs to be modeled
– Inductance
• Same reasons as above, it is not possible to instantly generate
current through all of the wire inside the motor.
– Voltage Output
• This is known as the back emf (electromotive force). A voltage is
generated in the coils as the travel through the magnetic field
– This is how a generator works (it’s a motor driven in reverse).
7
Step #0: Electrical Side
Vemf
– Inertia
• For sure the armature has inertia that has to be accounted for.
– Shaft compliance
• Possibly, but we will ignore it here (assume the armature is rigid)
9
Step #0: Mechanical Side
• So putting our components together in an
mechanical schematic to model we get:
– 1 DOF (ω)
– 1st Order Jm
τm
bearings
10
Modeling Step #1 (DOF and Order)
+
I R
+
Vs -
-
- +
Vemf
+
I R
+
Vs -
-
- +
Vemf
∑ 𝑉𝑉𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 = 0
−𝑉𝑉𝑠𝑠 + 𝑉𝑉𝐿𝐿 + 𝑉𝑉𝑅𝑅 + 𝑉𝑉𝑒𝑒𝑒𝑒𝑒𝑒 = 0
13
Step #2 & #3: Mechanical Side
• Assigning our coordinate (θ)
• Drawing our FBD
Jm
τm
θ
– 𝜏𝜏𝑏𝑏 = 𝑏𝑏𝜔𝜔
bearings
– 𝜏𝜏𝑚𝑚 = 𝐾𝐾𝐼𝐼 𝐼𝐼
• The motor torque is proportional to motor current
• This is why robotics use current sources
– Want to directly input motor torque
• KI is a motor constant
– KI=Kb (in SI units)
14
Step #4: Mechanical Side
• Using Newton’s Law to sum moments:
� 𝑀𝑀 = 𝐽𝐽𝜃𝜃̈ = 𝐽𝐽𝜔𝜔̇
15
Final Equations of Motion
16
Now What?
17
Transfer Function
• Take the Laplace of the two LTI equations and setting
initial conditions to zero (since we are solving for the
transfer function):
𝐽𝐽𝜔𝜔 𝑠𝑠 𝑠𝑠 + 𝑏𝑏𝜔𝜔 𝑠𝑠 = 𝐾𝐾𝐼𝐼 𝐼𝐼 𝑠𝑠
• Now What?
• We have one input, but two outputs (I, ω)
– Remember a Transfer Function is between a single input and a
single output
• We can not just set the output we don’t want to zero – This
would change the system!
– You can set additional inputs to zero
18
Transfer Function
• Since we have 2 equations, we can solve one for one
output and substitute into the other equation
𝐽𝐽𝜔𝜔 𝑠𝑠 𝑠𝑠 + 𝑏𝑏𝜔𝜔 𝑠𝑠 = 𝐾𝐾𝐼𝐼 𝐼𝐼 𝑠𝑠
𝐿𝐿𝐼𝐼 𝑠𝑠 𝑠𝑠 + 𝑅𝑅𝑅𝑅 𝑠𝑠 = 𝑉𝑉𝑠𝑠 𝑠𝑠 − 𝐾𝐾𝑏𝑏 𝜔𝜔(𝑠𝑠)
𝐼𝐼(𝑠𝑠) 𝜔𝜔(𝑠𝑠)
• Which transfer function do we want? or
𝑉𝑉𝑠𝑠 (𝑠𝑠) 𝑉𝑉𝑠𝑠 (𝑠𝑠)
• For the eigenvalues, it doesn’t matter – both transfer
functions will have the EXACT same denominator (i.e. same
characteristic equation, same eigenvalues)
• Only the numerator will be different
• Depends on which output we are interested in
– I if we want the current (maybe since torque is proportional to I).
– ω if we want the motor speed
19
Transfer Function: 𝜔𝜔(𝑠𝑠)/𝑉𝑉𝑠𝑠 𝑠𝑠
• First, lets collect terms: 𝜔𝜔 𝑠𝑠 (𝐽𝐽𝐽𝐽 + 𝑏𝑏) = 𝐾𝐾𝐼𝐼 𝐼𝐼 𝑠𝑠
𝐼𝐼 𝑠𝑠 (𝐿𝐿𝐿𝐿 + 𝑅𝑅) = 𝑉𝑉𝑠𝑠 𝑠𝑠 − 𝐾𝐾𝑏𝑏 𝜔𝜔(𝑠𝑠)
• Then use your favorite algebraic trip to eliminate I(s).
• I am going to solve the 2nd equation for I(s) and substitute
into the 1st equation:
𝑉𝑉𝑠𝑠 𝑠𝑠 − 𝐾𝐾𝑏𝑏 𝜔𝜔(𝑠𝑠)
𝜔𝜔 𝑠𝑠 (𝐽𝐽𝑠𝑠 + 𝑏𝑏) = 𝐾𝐾𝐼𝐼
𝐿𝐿𝑠𝑠 + 𝑅𝑅
• Then cleaning up:
𝜔𝜔 𝑠𝑠 𝐽𝐽𝑠𝑠 + 𝑏𝑏 𝐿𝐿𝑠𝑠 + 𝑅𝑅 + 𝐾𝐾𝐼𝐼 𝐾𝐾𝑏𝑏 𝜔𝜔 𝑠𝑠 = 𝐾𝐾𝐼𝐼 𝑉𝑉𝑠𝑠 𝑠𝑠
• Then solving for the transfer function:
𝜔𝜔(𝑠𝑠) 𝐾𝐾𝐼𝐼
=
𝑉𝑉𝑠𝑠 (𝑠𝑠) 𝐿𝐿𝐿𝐿𝑠𝑠 2 + 𝐽𝐽𝐽𝐽 + 𝐿𝐿𝐿𝐿 𝑠𝑠 + (𝐾𝐾𝐼𝐼 𝐾𝐾𝑏𝑏 + 𝑅𝑅𝑅𝑅)
20
Transfer Function: 𝜔𝜔(𝑠𝑠)/𝑉𝑉𝑠𝑠 𝑠𝑠
– Or in matlab: >>eig(A)
https://robotics.stackexchange.com/questions/4492/dc-motor-control-speed-torque-curve
27
Maxon DC16 Spec Sheet
https://www.maxongroup.com/medias/sys_master/root/8833376059422/19-EN-94.pdf
28