Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015.

Similar presentations


Presentation on theme: "CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015."— Presentation transcript:

1 CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015

2 Control Systems  Desired output value: target value  Actual output value: measured value  Actuator input: controls the plant’s behavior  Error: desired - actual

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 Problem: What should Kp be  Should be > 0  Actual value depends on the system  How could you determine the value?  Modeling  Mathematics  Experimentation

9 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

10 Proportional-Derivative Control  A and B are two situations leading to point T  What should the output be for each?

11 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

12 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

13 Is This Sufficient  Steady state error  How could this occur

14 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

15 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

16 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

17 Understanding PID  http://demonstrations.wolfram.com/PIDControlOfATankL evel http://demonstrations.wolfram.com/PIDControlOfATankL evel  http://sites.google.com/site/fpgaandco/pid http://sites.google.com/site/fpgaandco/pid

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  In general requires a bit of sophistication  Control theory  Control system design  Control engineers

20 For More Information  Wikipedia : PID  http://www.embedded.com/design/embedded/4211211/ PID-without-a-PhD

21 Homework  Design a SIMON game  https://www.youtube.com/watch?v=4YhVyt4q5HI https://www.youtube.com/watch?v=4YhVyt4q5HI  What are the tasks  What types of models are appropriate  Develop appropriate models (of at least one task)  Be prepared to show and explain models for the tasks  Be prepared to hand in the models


Download ppt "CSCI1600: Embedded and Real Time Software Lecture 12: Modeling V: Control Systems and Feedback Steven Reiss, Fall 2015."

Similar presentations


Ads by Google