An external force acts on a DC motor whose angular velocity should remain constant. Why is control needed even when the target does not change?
Description
Effect of disturbance torque on output ω
Distinguish target-tracking performance from disturbance rejection
02 Responding to external effects
If the external force itself cannot be removed, what can reduce the angular velocity deviation?
Description
Adjust the control action through feedback from angular velocity measurements
Distinguish removing the disturbance itself from reducing its effect on the output
Practice
1. Derive the model and calculate gain
(input): Disturbance Torque.
(output): angular velocity deviation from the operating point [rad/s].
: change in armature voltage.
: Change in armature current.
Model assumption: Neglect armature inductance.
Symbol
Meaning
Value
Armature Resistance
1
Torque Constant
0.1
Back EMF Constant
0.1
Moment of Inertia
0.01
Viscous Friction Coefficient
0.001
Tachometer Gain
0.05
Motor equations:
Substitute the expression for into the expression for current . Then substitute the resulting expression for into the equation of motion, and rearrange as a differential equation relating and .
Set the initial conditions to 0 and apply the Laplace transform to this differential equation. Collect terms containing on one side, then find .
Record the numerator and denominator of your derived transfer function as separate coefficient arrays, in descending powers.
Find: The minimum amplifier gain satisfying the tolerance condition.
Constant disturbance: .
Steady-state tolerance: rad/s.
Amplifier gain range: .
Motor coefficients: values in the table above.
Substitute , , and into the differential equation derived above. Divide both sides by the coefficient of to express as a function of .
Substitute that expression into the tolerance condition . Insert , , and the motor coefficients from the table, and find the range of that satisfies the condition.
Record the smallest value in the derived range as . Show the expression for , the inequality with numerical values substituted, and the allowed range and minimum of . Use this record when comparing with MATLAB calculations later.
2. Open-loop Disturbance Step Response
Use Gd=tf(1,[J b+Km*Kb/Ra]) defined in the Open-loop Disturbance Step Response code. Keep Ra,Km,Kb,J,b at the values defined there.
Condition
1
0.1
2
0.2
3
0.3
For each condition, calculate [rad/s].
Record these three columns in one table.
[rad/s]
Compare across the three rows. State whether the ratio is constant and how this result demonstrates proportionality between and .
3. Disturbance rejection with tachometer feedback
Keep Ra,Km,Kb,J,b,Kt and in the disturbance-rejection code with tachometer feedback unchanged; change only .
Condition
1
10
2
20
3
40
Rebuild Gc at each and calculate dcgain(Gc).
Multiply each DC gain by to find [rad/s].
Record , DC gain, and in three columns.
Compare the symbolic coefficient arrays derived in activity 1 with the coefficient expressions written in this activity’s code.
Find the first and second arguments of the tf call defining Gc, and record them as the numerator and denominator coefficient arrays, respectively.
For each representation, divide its entire numerator and denominator by its leading denominator coefficient so that this coefficient becomes 1.
Use two rows (numerator and denominator) and three columns (derived array, code array, and whether they agree). Compare coefficients at the same power and mark any differing terms.
4. Design the amplifier gain
Keep and the motor coefficients from the preceding activity. Apply each of the two tolerances below.
First calculate the minimum gain using and limit=0.5 from your hand calculation. In the amplifier gain design code, Ka_min is the calculated value of . Record this output beside the value found by hand in activity 1.
Condition
limit [rad/s]
1
0.25
2
1
Calculate the minimum for each limit. The calculated corresponds to Ka_min in the code; decimal gains are allowed.
Choose one slightly below and one above the minimum you found. Examples: , .
Insert each gain into the feedback model Gc, rebuild the model, and calculate .
Record the calculations for each condition in one table.
Tolerance [rad/s]
limit
Calculated minimum gain
Gain applied to the model
Steady-state angular velocity deviation [rad/s]
Tolerance satisfied?
: true/false
Describe how gains below and above the minimum differ in meeting the tolerance. Use this table to judge whether the calculated minimum separates the two cases.
Submission and saving
Include code, actual outputs and plots, and your own interpretation. Submit through KLAS; check the semester schedule and latest announcements for the deadline.
Filename: Name_StudentID_Week10.mlx.
Restart the runtime, run all code from the top, then save.
Optional practice
Example: treating the last simulation sample as a steady-state value
Keep the motor coefficients Ra,Km,Kb,J,b,Kt at their values from the preceding activity. Set Ka=20 and D=0.2, create Gc=tf(1,[J b+Km/Ra*(Kt*Ka+Kb)]), then find the last value of step(D*Gc,0:0.005:0.05).
Record that value beside D*dcgain(Gc) and calculate the difference. Determine whether convergence is sufficient at 0.05 s.
For the same Gc, increase the end time from 0.05 s to 8 s, keeping the time step at 0.005 s. Run [y_long,t_long]=step(D*Gc,0:0.005:8), then find the difference between y_long(end) and D*dcgain(Gc). Compare it with the earlier difference at 0.05 s.