Download presentation
Presentation is loading. Please wait.
1
CSCI1600: Embedded and Real Time Software
Lecture 14: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2016
2
Control Systems Desired output value: target value
Actual output value: measured value Actuator input: controls the plant’s behavior Error: desired - actual Controller changes the actuator input to attempt to make the actual output value match the desired output value. Lets look at this from
3
Control Variables The actuator input can be binary or continuous
Amount of heat, turn, gas, … Turn left/right, turn on heat, accelerate The outputs (and error) can be a vector or a scalar Optimize for a single factor (speed, temperature, …) Optimize for multiple factors (temp + humidity, …)
4
On-Off Control Suppose we do the simple thing for a heater
If actual temp < target then turn on heater, else off What is going to happen to the temperature Overshoot Time to heat up (undershoot) Oscillation
5
Smarter On-Off Control
A little more sophisticated temp < target – delta1 : HEAT ON temp >= target – delta2 : HEAT OFF temp > target + delta3 : COOL ON temp <= target + delta4 : COOL OFF What’s going to happen here What is it is very cold (hot) outside
6
Proportional Control Suppose we have control over the actuator
Can give it a range of values (low/high, continuous, …) Acceleration in a car, heater with low/high flame (emergency mode), variable speed fan What would we want to do in that case
7
Proportional Control Make the actuator input proportional to the error
Large error -> large input (accelerate fast) Small error -> small input (accelerate slow) No error -> do nothing Assume doing nothing drives system the other way Or that there is a corresponding input on the other side Actuator = Kp * Error
8
Demo
9
Problem: What should Kp be
Should be > 0 Actual value depends on the system How could you determine the value? Modeling Mathematics Experimentation
10
Is This Sufficient Will it eliminate overshoot, oscillation, slow rise time Depends on the actual system If the system is not perfectly linear or the actuator is not immediate, then probably not We can do better
11
Proportional-Derivative Control
A and B are two situations leading to point T What should the output be for each?
12
Proportional-Derivative Control
Want to take the rate of change into account Fast rate – slow down the response Slow rate – speed up the response Actuator = Kp * error - Kd * deriv deriv = the derivative of the error deriv = change in error over time deriv = change in error from last time to this
13
Choosing Kp and Kd Now we have two parameters to determine
How could you do this Generally Kd is > Kp Note the Kd is subtracted, but stated as positive Try different values on the demo
14
Is This Sufficient Steady state error How could this occur
15
Determining Steady State Error
Look at the sum of the error In the past Not necessarily full past Or constrain in bounds This is the integral of the error How might you compute this
16
Computing Integral of Error
Approximate with sum integ = integ + error; if (integ > MAX) integ = MAX; else if (integ < MIN) integ = MIN Actuator = Kp*error – Kd*deriv + Ki*integ Ki now needs to be chosen Typically much smaller than Kp Again play with demo
17
Issues in Controllers Actual input might have a limit range/set of values Set the actuator to the nearest value Off/on based on threshold Sampling rate affects the computation Might want to average the derivative Computations are typically non-integer
18
PID Tuning Set Ki=0, Kd=0, Kp=1
Increase Kp until the actual oscillates with a constant amplitude Let U = this Kp Let P = oscillation period (in seconds) Set Kp = U/1.7, Ki = (Kp*2), Kd = (Kp*P)/8
19
PID Tuning Requires sophistication Control theory
Control system design Control engineers
20
For More Information Wikipedia : PID
PID-without-a-PhD
21
Homework LAB Design a SIMON game Read the lab and do the pre-lab work
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.