Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI1600: Embedded and Real Time Software

Similar presentations


Presentation on theme: "CSCI1600: Embedded and Real Time Software"— Presentation transcript:

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


Download ppt "CSCI1600: Embedded and Real Time Software"

Similar presentations


Ads by Google