HomeVideos

A real control system - how to start designing

Now Playing

A real control system - how to start designing

Transcript

749 segments

0:00

hey everyone welcome back to you control

0:02

system lectures let's design a control

0:05

system the way you might approach it in

0:07

a real situation rather than an academic

0:08

one now before we begin in earnest let

0:11

me take a few minutes to set a little

0:13

context for this video you know like I

0:16

tend to do I found out quickly when I

0:18

graduated college and entered the

0:20

working world that it was hard for me to

0:21

apply the theory I learned to a

0:23

practical application sure if I was

0:25

given a mathematical model of a system

0:27

and was asked to design a specific

0:29

controller I could do that but I lacked

0:31

the ability to start a problem from

0:33

scratch especially when that problem

0:35

seemed nebulous and that there was more

0:37

than one right answer where do I begin

0:39

how should I model the system and which

0:41

type of controller should I choose my

0:44

problem came from lack of experience for

0:46

sure but the other part came from my

0:48

belief that every problem had one best

0:51

solution and then they needed to know

0:53

before I even started what the proper

0:54

approach was going to be I had assumed

0:57

that the theory I knew was somehow

0:59

outdated and I had learned on the job

1:00

exactly how people really do design and

1:03

this kept me from just applying the

1:05

techniques that I did know to learn from

1:07

it even if it's not the optimal solution

1:10

but here's the thing there is never a

1:12

single right way to solve a control

1:15

system problem there are many different

1:16

types of controllers that will produce

1:18

satisfactory results and there are

1:20

numerous ways to model test and

1:22

implement that controller if you ask for

1:24

engineers you'll probably get five

1:25

opinions on how to go about designing

1:26

something part of this is because in

1:29

addition to meeting your performance and

1:30

stability requirements there are a lot

1:32

of other aspects of engineering design

1:34

that are just as important cost schedule

1:36

mass power and manufacturability just to

1:39

name a few and a good solution must

1:42

consider them as well often you won't

1:44

know what a good answer will look like

1:46

until you jump into the problem and

1:48

start exploring it take a few wrong

1:50

turns and evolve your solution over time

1:52

until you're left with something that is

1:54

ok and those four engineers with five

1:57

opinions might all wind up with

1:58

different but perfectly okay solutions

2:01

as well so keep that in mind as we walk

2:04

through just a single approach in this

2:06

video now this is going to be packed

2:09

with a lot of information and it's going

2:10

to be presented quickly

2:12

without a whole lot of explanation you

2:14

may not be able to follow along with

2:15

everything that I go through but that's

2:17

alright it's the process and the

2:19

excitement of exploring a new problem

2:21

that I want you to take away from this

2:23

hopefully this will motivate you to go

2:25

off and tinker with some real hardware

2:26

and practice the theory that you're

2:28

learning so that you develop your own

2:30

method for tackling new designs that way

2:33

you're a little bit more knowledgeable

2:34

and at ease when you're given one of

2:35

those open-ended problems at work okay

2:39

so with all of that out of the way

2:41

let's get to our own open-ended problem

2:43

we're part of a team that is developing

2:46

an earth orbiting satellite and at the

2:48

moment we're mostly concerned with the

2:49

vehicles thermal control system that's

2:51

the system that keeps everything within

2:53

the right temperature range space is

2:55

cold and parts of the satellite that are

2:58

exposed to deep space can get very cold

2:59

like minus 150 degrees C or colder but

3:03

the parts that directly face the Sun can

3:05

get very hot up to 120 degrees C or more

3:08

and as the spacecraft orbits the earth

3:10

and goes into and out of eclipse and

3:12

rotates around the thermal gradient from

3:14

one side of the vehicle to the other can

3:15

be very extreme and changing all the

3:18

time the interior of the spacecraft is

3:20

protected from these extreme temperature

3:22

swings a bit because they sit within a

3:24

mass that has some thermal inertia if

3:26

you look at a typical temperature plot

3:28

over time the external temperatures tend

3:30

to swing wildly since they're not

3:32

protected while the internal

3:33

temperatures have that low pass filter

3:35

of thermal inertia smoothing out the

3:37

swings and creating a less dynamic

3:39

environment even still some internal

3:42

components can see temperatures that are

3:44

outside of their desired operating

3:45

ranges and we need to figure out a way

3:47

to maintain their proper temperature

3:49

let's say for this example that we

3:51

predicted the average internal

3:52

temperature for our spacecraft to be

3:54

around -5 degrees C so what does that

3:57

mean for us

3:58

well our spacecraft has batteries and

4:01

they like to operate between ranges like

4:03

0 to 20 degrees Celsius or so it depends

4:05

on the battery chemistry so if it gets

4:07

outside that range the spacecraft and

4:09

the entire mission could be in trouble

4:10

and our job is to develop a way to keep

4:13

the batteries in this temperature range

4:15

and since we predict the average

4:16

temperature to be rather cold most

4:18

likely we will need to warm them up

4:20

rather than cool them down a reasonable

4:23

approach could be to use passive thermal

4:25

control

4:25

like rap being multi-layer insulation or

4:28

an M Li blanket around it so that it

4:31

traps the heat in just like a regular

4:33

blanket or we could use thermal straps

4:35

that connect it to another hotter

4:37

component to move heat towards it but on

4:40

this particular project it was already

4:42

decided for us that we would control the

4:43

battery temperature with a dedicated

4:45

strip heater if you have the power to

4:48

spare then a heater is a robust way to

4:50

ensure that the lower bound temperature

4:52

will not be exceeded you have a lot more

4:54

control over it with a heater and a

4:56

temperature sensor bonded to the battery

4:57

now the heater batteries temperature

5:00

sensors and the computer that will run

5:02

the heater controller were all chosen by

5:04

a different team long before we were

5:06

asked to solve this problem so we get to

5:09

work with what we're given and now that

5:11

we know the nebulous problem that we've

5:13

gotten ourselves into I think for the

5:15

next step it's important to understand

5:17

the physics of your system at least

5:18

qualitatively if not mathematically

5:20

before you just jump right in on

5:22

crafting a control solution I like to

5:24

think about how the system can move and

5:26

what it does when it's subjected to

5:28

forces where does the energy come from

5:30

how is it dissipated what are the

5:32

sources of errors and disturbances in

5:33

the system I'd like to have this general

5:35

understanding before I start because it

5:37

helps guide me later on when I feel

5:39

stuck on a particular problem a thermal

5:42

control system is all about heat

5:44

transfer if we think of the battery

5:46

system as a closed boundary then heat

5:49

goes into that boundary and heat can

5:51

leave that boundary when it's in steady

5:54

state operation the idea is to supply

5:56

the exact same amount of heat into the

5:58

system that is lost out of it so that

6:00

the temperature stays the same or at

6:02

least within acceptable bounds from a

6:05

simplistic standpoint if more heat

6:06

enters the boundary then leaves the net

6:09

heat transfer is into the battery system

6:11

and the batteries will get hotter and

6:13

the opposite is true if more heat leaves

6:16

then enters then the battery will get

6:18

colder

6:18

so what are the heat transfer mechanisms

6:21

well we have conduction radiation and

6:25

convection are the possible ways for

6:27

heat to enter and leave this system

6:29

conduction is the flow of heat through

6:31

individual particles bumping into each

6:33

other and transferring energy between

6:35

them when a high energy or high

6:38

temperature particle

6:39

bumps into a lower energy particle some

6:41

of that energy is transferred this type

6:43

of heat transfer occurs when there is a

6:45

physical interaction like we have

6:47

between the strip heater and the battery

6:49

and the battery with the spacecraft

6:51

structure so we need to pay attention to

6:53

these physical connections thermal

6:56

radiation is the transfer of heat

6:58

through photons or another way of

7:00

putting it through electromagnetic

7:02

energy in the infrared spectrum it's

7:04

like how the predator sees things with

7:06

his heat map vision actually on a side

7:08

note I think it's amazing actually that

7:10

every object warmer than absolute zero

7:12

gives off photons

7:14

it's a crazy concept to think that

7:15

humans are just lightbulbs in the

7:17

infrared

7:18

all right well our battery system emits

7:20

photons also which are absorbed by the

7:23

surrounding structure which then emits

7:25

it off into deep space or if we're in

7:27

the Sun the photons from the Sun radiate

7:30

into our spacecraft heating it up

7:32

lastly convection is when you physically

7:35

move hotter particles out of your system

7:37

as opposed to conduction where the

7:39

particles stay and just the energy is

7:41

transferred we experience convection on

7:43

earth when the wind blows and physically

7:45

moves the hot air particles that were

7:47

surrounding our body away from us taking

7:50

their thermal energy along with it

7:51

there's not a whole lot of convection in

7:54

space at least not for our battery

7:56

system and hopefully that's obvious so

7:58

we don't have to worry about air or

8:00

other bulk masses moving heat around

8:02

however as you'll see later we do have

8:04

to deal with convection as a source of

8:06

error when we're testing our system on

8:08

earth now the heat sources for our

8:11

system come from the Sun as I've already

8:12

mentioned but there's also internal

8:14

heating due to the battery's internal

8:16

resistance and from other hot components

8:18

in the spacecraft radiating and

8:20

conducting in and of course from our

8:23

heater and our heaters the thing that we

8:25

have the control over as for error

8:28

sources there are a few but I want to

8:31

highlight just one the temp sensors

8:33

themselves will have error in the

8:34

reading and probably more importantly

8:36

they only represent a single temperature

8:38

point on the batteries if the

8:40

temperature isn't homogeneous we may

8:41

have problems with part of the battery

8:43

getting too hot or too cold and our sins

8:46

are not being in the right spot to

8:47

measure it

8:49

so where should we go from here well if

8:52

we knew the battery system perfectly

8:54

that is how much heat enters and leaves

8:56

the system while on orbit and we knew

8:59

how the Delta heat changed the

9:00

temperature of the battery system then

9:02

we could just set the heater to the

9:04

proper supply value to make up the

9:06

difference and be done this is an

9:08

open-loop control design because the

9:10

heater setpoint doesn't rely on feeding

9:12

back the battery temperature with this

9:14

design if we're wrong about the outgoing

9:16

or incoming thermal energy then the

9:19

battery temperature will be off from

9:20

what we desire and the controller will

9:22

have no way to compensate for that error

9:24

it's a predetermined set point now this

9:27

might be a good approach if the system

9:28

was going to operate in a well

9:29

controlled environment however that is

9:32

not space because the external

9:34

environment is always changing we have

9:36

different spacecraft components that are

9:38

being turned on and off there's eclipse

9:41

as it orbits and different spacecraft

9:43

rotations to take into account even the

9:46

sun's output changes over time know the

9:49

open-loop approach feels risky for a

9:51

critical spacecraft component because I

9:53

don't have confidence that we can

9:54

predict the environment that well so we

9:57

should implement feedback control at

9:59

least of some type we need something

10:02

that determines the heater setpoint

10:04

based on the actual temperature of the

10:06

battery system something that feeds back

10:08

the temperature in order to do that we

10:11

need a temperature sensor now the temp

10:13

sensor the heater and the battery system

10:15

are all hardware components to get to

10:18

where we can develop a software based

10:20

controller we need some kind of sensor

10:22

manager that can read and interpret the

10:24

voltage from the sensor and produce a

10:26

meaningful measure now with this

10:28

measured temperature we can subtract it

10:30

from our desired temperature to get an

10:31

error term or how far off our actual

10:34

temperature is from the desired

10:35

temperature for example if we wanted the

10:38

battery to be at 10 degrees C but it was

10:40

measured to be -5 degrees C then there

10:42

would be a plus 15 degree difference and

10:44

we would need our heater to supply more

10:46

heat this is fed into a controller that

10:49

takes that error and tries to calculate

10:51

the right heater setpoint when we're

10:53

developing a controller we're trying to

10:55

determine how that conversion is done

10:57

and the output of that controller would

10:59

go into a heat manager which would

11:01

generate the voltage

11:02

needed to drive the heater alright now

11:04

that we've connected the battery

11:06

temperature back to the heater setpoint

11:08

we have the framework for our feedback

11:10

control system but now what well

11:13

unfortunately we weren't given any

11:15

transfer functions for the heater the

11:16

battery system or the temperature sensor

11:18

and I don't want to create a control log

11:20

without knowing a bit more about the

11:22

system for example it's important to

11:24

know how the system will behave when

11:26

subjected to actuator commands or in

11:28

this case what does it do when we turn

11:30

on the heat if we don't have that it

11:32

seems a bit like shooting in the dark

11:33

and to proceed we need to know more

11:36

about the physical hardware and luckily

11:38

we do have access to a physical test bed

11:41

with RealFlight components so let's play

11:43

around with those and see what we can

11:45

learn in this video the hardware I'll be

11:48

using is this temperature control lab

11:50

which runs on an Arduino microcontroller

11:52

clearly this is not real spacecraft

11:55

flight components but for this video it

11:57

will still do just fine because it has

11:59

heaters sensors thermal mass and a

12:01

computer just like our problem we'll be

12:03

able to learn a lot from operating this

12:05

hardware but to tie it back to our

12:07

spacecraft you'll just need to use a

12:09

little imagination let's walk through it

12:11

in more detail there are two sets of

12:13

heaters and temp sensors but we're just

12:15

going to use a single one for our test

12:17

the temp sensor is highlighted in green

12:20

and it's bonded to the heater in red

12:22

with white thermal epoxy in between the

12:25

two the thermal epoxy creates a good

12:27

conductive path between the heater in

12:29

the sensor surrounding the heater is a

12:31

radiator that helps distribute the heat

12:33

and gives the system a bit of thermal

12:35

mass there are no physical batteries in

12:37

this test hardware however these

12:39

radiators will serve the same purpose

12:41

they are a thermal mass that we can heat

12:44

up and when hot they lose heat to their

12:46

environment the heaters are controlled

12:48

by and the sensors are read by the

12:50

microcontroller underneath now this

12:53

setup provides several ways for the heat

12:55

to get to the sensor there's a

12:57

conductive path through the epoxy and

12:58

another weaker conductive path down

13:01

through the copper in the board and back

13:02

up through the sensors pins and we have

13:05

some thermal radiation coming in from

13:07

the aptly-named radiator and we also

13:10

have some convection heat transfer due

13:13

to the moving

13:13

err we shouldn't need to worry too much

13:15

about the impact of convection because

13:17

the conductive path through the epoxy

13:19

should dominate when you're running a

13:22

test you should take note of how that

13:23

test differs from the real operating

13:26

environment it would be a shame to

13:27

design a control system that could

13:29

perfectly control your testbed only to

13:31

find out later that the real hardware in

13:33

the real operating environment doesn't

13:35

behave the same way now there's a lot of

13:37

differences in my test setup however I

13:39

want to highlight a few important ones I

13:41

already mentioned that there's no air

13:42

convection in space but in other is that

13:45

we don't have the rest of the satellite

13:46

which can radiate heat to or from our

13:49

system and finally the ambient

13:51

temperature is not -5 degrees I don't

13:54

think my AC can go that cold so with

13:56

these differences the dynamics of our

13:58

test will definitely be off but we can

14:00

still learn a lot from a physical test

14:02

like this if we set up our control

14:03

system well we can then tune and

14:05

configure it with simple software

14:07

commands later on this difficulty in

14:09

having a representative test environment

14:11

is why even after everything has been

14:14

designed and built a spacecraft will

14:16

still go into a giant thermal vacuum

14:18

chamber and test all of its components

14:20

in a more space like environment if we

14:23

go back to the block diagram everything

14:25

I'm circling in orange would normally

14:28

run on the battery control processor or

14:30

the Arduino in our test however rather

14:33

than attempting to design and tweak a

14:34

controller on the target processor it'll

14:37

be easier for us to do all of that

14:39

design work using a program like MATLAB

14:41

or Python the Arduino will still be

14:43

responsible for managing the heater and

14:45

sensor devices but we'll send the

14:47

temperature back to my main computer run

14:49

the control law there and then send the

14:51

heater commands back to the test

14:53

hardware and then once we're satisfied

14:55

with our controller design then we can

14:57

load our controller code onto the

14:59

spacecraft and have it run for real this

15:02

type of testing is called Hardware in

15:03

the loop because rather than simulating

15:05

the entire system with mathematical

15:07

models some parts of the system like the

15:09

sensors actuators and thermal mass are

15:11

real physical Hardware getting the

15:15

software for this test to run is easy

15:17

because the temperature control lab

15:19

comes with all of those files if we go

15:21

to AP monitor comm heat htm' we can

15:25

download the device

15:26

managers and the code that will allow

15:28

your computer to talk to the hardware

15:30

using either MATLAB or Python it's your

15:32

choice

15:33

the device manager is the TC lab Ino

15:36

file that will load directly onto the

15:38

Arduino and this file defines which pins

15:41

the heaters and sensors are connected to

15:43

reads and writes to those pins and

15:45

interprets commands from my computer now

15:48

I'm using MATLAB for the interface

15:50

because I think Simulink provides a

15:52

better visual for what we're doing here

15:53

and I think it's easier for you guys to

15:55

follow along I'll open the Simulink file

15:58

and show a very basic system the orange

16:01

block is the software that communicates

16:04

with the test hardware you can think of

16:06

this block as the physical Hardware

16:07

sitting on my desk if I send a heater

16:10

command to it it will physically turn on

16:12

the heater now I can set the heater

16:15

between zero and 100 percent and get the

16:17

resulting temperature back from the

16:19

hardware this gray box ensures that when

16:22

I run this test it will run at real-time

16:24

speed and at this point I just need to

16:27

hook up the hardware to my computer so

16:29

it can talk over a serial bus and also

16:31

to a power supply to run the heater and

16:33

now we're in business for this first

16:37

test I'll set the heater open-loop to

16:40

35% this will be a step input from 0 to

16:43

35 and we should see a step response

16:45

from our hardware that starts at room

16:47

temperature and rises to some steady

16:49

state temperature now temperature

16:51

doesn't change that quickly so I ended

16:54

up running this for about 10 minutes

16:55

I'll speed it up and spare you the time

16:58

notice the shape of this response it

17:00

increases quickly at first and then

17:02

tapers off to about 55 degrees by the

17:04

end if we were trying to hold the

17:06

temperature at 40 degrees this would be

17:08

too high

17:08

we'd have to lower the heat point by

17:11

some amount but remember open-loop isn't

17:14

the solution we're going for so let's

17:15

change our system to be closed-loop for

17:18

my first attempt I'm going to create a

17:20

bang-bang controller this is a very

17:22

simple nonlinear controller that will

17:25

turn the heat on at 100% if the

17:27

temperature is below 40 degrees and turn

17:30

the heater completely off if it gets

17:31

above 40 let's run this controller and

17:34

see how it does again I'll speed it up

17:37

okay let me pause it here look what

17:40

happened with this controller the

17:42

temperature rose faster this time since

17:44

the heater was on full blast but it

17:46

overshot 40 degrees before settling back

17:49

down and hovering around our setpoint

17:51

why would this controller overshoot it

17:53

doesn't make sense that the temperature

17:55

would continue to get hotter after we

17:57

stop supplying Heat right well the

18:00

heater will stop getting hotter the

18:02

problem is that there's a delay between

18:04

the heater getting hot and the temp

18:06

sensor sensing it the heat has to flow

18:08

through the thermal epoxy and so the

18:10

heater was actually much hotter than 40

18:12

degrees when we turned it off and that

18:14

extra temperature caused heat to still

18:16

conduct to the sensor after we turned it

18:18

off and I don't like that overshoot so

18:20

let's see how to get around it let's

18:23

just change the heater setpoint to 25

18:25

percent when it's on rather than a

18:27

hundred percent this should reduce how

18:29

hot the heater gets and lower the

18:30

overshoot after we turn it off and look

18:33

at that no overshoot but now we've

18:36

introduced a new problem because the

18:37

temperature doesn't rise as fast with

18:39

this lower setpoint and we needed to be

18:41

able to respond quickly to the changing

18:43

thermal environment so this won't do

18:45

either

18:46

we need a controller that can set the

18:49

heater high at first to heat up quickly

18:50

but back off earlier to slow the rising

18:53

temperature before we overshoot and we

18:55

can do that with a PID controller I'm

18:58

using the built-in PID controller with

19:00

Simulink and I set the P I and D

19:03

parameters to a first guess and if I run

19:06

this you'll notice a few differences

19:08

from the bang-bang controller first the

19:10

heater setpoint on the left is no longer

19:12

jumping between a max and min value but

19:14

is being set to a continuous set of

19:16

values high at first when we want the

19:18

temperature to rise quickly and then

19:20

lower as it reaches its desired

19:22

temperature now there's still an

19:24

overshoot which means I don't have it

19:25

tuned very well I could probably

19:27

increase the D term to remove the

19:29

overshoot however there's something else

19:31

that I want you to notice when the

19:34

temperature is steady at 40 degrees we

19:36

can see the heater setpoint is steady

19:38

around 17% this means that the heat that

19:41

is supplied at 17% is exactly the amount

19:44

of heat that has lost to the surrounding

19:46

environment this is the portion that our

19:48

heater makes up so you might be tempted

19:50

to just go back to

19:51

open-loop system and set the heater to

19:52

17% and be done however this will only

19:55

work if the environment stays the same

19:57

watch what happens when I remove more

20:00

heat with a hair dryer set to cool the

20:03

temperature immediately drops and the

20:05

PID controller Rises the setpoint to

20:07

counteract it eventually the temperature

20:09

gets back to 40 degrees but now you can

20:12

see with this changed environment the

20:14

heater setpoint settles at around 75%

20:16

and not 17% this is reinforcing that we

20:20

really do need this feedback controller

20:22

okay at this point I could go back and

20:25

tweak the PID gains and see if we can

20:27

get a better controller but it takes 10

20:29

minutes every time I run this and this

20:31

is taking a long time not only that but

20:33

most of the controller designs that I

20:35

want to try require me to have a

20:36

mathematical model of the system which I

20:38

don't have we've done everything so far

20:40

without really knowing anything about

20:42

our hardware so at this point I want to

20:45

do some system identification for system

20:48

identification we could take the white

20:49

box approach taking note of the material

20:51

properties and the dimensions and write

20:53

out the differential equations directly

20:55

however we have the hardware so let's

20:58

fit a transfer function to our real

21:00

system the way I'm going to do that is

21:02

by applying a step function to our

21:04

system and recording the step response

21:06

this is exactly what we did at the

21:08

beginning of all of this except this

21:10

time I'm going to save the data in an

21:12

array to use later and that's nearly the

21:15

same step response that we saw earlier

21:17

except this time with a heater setpoint

21:20

of 40% I'm going to try to approximate

21:22

this system with a first order transfer

21:25

function we'll need to include a delay

21:27

term or dead time as well since we

21:29

already know that there's delay in the

21:31

system a first-order plus dead time

21:33

transfer function requires three things

21:35

the gain the time constant and the delay

21:39

the gain can be found by dividing the

21:41

rise in temperature by the rise in the

21:43

setpoint the temperature went from about

21:45

20 to 60 degrees and the setpoint went

21:47

from zero to 40% so the gain works out

21:50

to be about 40 over 40 or 1 the delay

21:54

term is how long it takes for the

21:56

temperature to start rising after the

21:57

step is applied it's hard to tell

22:00

exactly but it looks to be about 10

22:02

seconds and the time constant

22:04

is a measure of how fast the system

22:06

rises it takes about five time constant

22:09

periods to go from zero to 98% of the

22:12

steady state value for us it gets to

22:14

steady-state around 500 seconds so minus

22:17

10 seconds for the delay and divide by

22:20

five gives us a time constant of 98

22:23

seconds I can use the TF command in

22:26

MATLAB to generate the first order plus

22:28

dead time transfer function and I get e

22:31

to the minus 10 s which is the 10-second

22:34

delay times 1 over 98 s plus 1 or since

22:39

I'm working in Simulink I can just build

22:41

it there as well

22:42

now this is just the dynamic portion of

22:45

the system and if we input it as 0 for

22:47

the heater the output of the system

22:49

would also be 0 for this transfer

22:52

function but we know zero input means

22:54

room temperature output so we have to

22:56

add a constant room temperature value to

22:58

the output to create our mathematical

23:00

model

23:03

and there we have it now I'll comment

23:06

out the top system and run our model

23:09

against the real hardware so we can see

23:11

how well it does all right I can see

23:14

that it's rising faster than the real

23:16

hardware so it's already a little bit

23:18

off but while it runs in the background

23:20

I'm going to generate a better first

23:23

order plus dead time model using a

23:25

Python program from the AP monitor site

23:28

that will find the optimal combination

23:30

of gain time constant and delay based on

23:33

the step response values that I saved

23:35

earlier I'll set the initial guess to

23:38

what I calculated by hand and then kick

23:40

it off running the script takes a three

23:43

column data file time input and output

23:47

starts at the initial guess and then

23:49

tweaks those values to minimize the sum

23:51

of the squares of the error between the

23:54

real data and the current model alright

23:58

now it's done you can see the blue line

24:01

which was our original guess

24:03

rising much faster than our data just

24:05

like we see with what's going on with

24:06

the tests were running right now but the

24:09

optimized set of parameters fall right

24:12

on top of the test data and we can see

24:14

the optimized parameters in the script

24:16

output the gain is one point zero four

24:19

seven and the time constant is 150 two

24:22

point four and the delay is eighteen

24:25

point six seconds and now we can go back

24:29

to Simulink and change these parameters

24:31

to the optimized ones we'll have a much

24:34

better first order model of our system

24:36

with these parameters now at least for a

24:39

while we don't need our hardware to

24:41

design a controller we can use this new

24:43

model to perfect our PID controller try

24:46

some feed forward control or build an

24:49

optimal model predictive controller and

24:51

we may find later that the first order

24:54

model doesn't accurately represent

24:56

higher-order dynamics and we need to

24:57

improve it and then we will just do that

25:01

designing a control system is usually an

25:04

iterative process and that's what we did

25:06

here we went from open-loop to bang bang

25:09

- PID without a model - developing a

25:12

model which will allow us to quickly

25:14

tweak our PID game

25:15

or develop a more optimal controller

25:18

okay I know this video was really fast

25:22

but hopefully it still gave you a better

25:23

understanding of how to just jump into a

25:25

problem and make your way through some

25:27

of the confusion that you might have

25:28

also how control system theory is tied

25:31

back to the larger engineering problem

25:34

now the temperature control lab that I

25:36

was using was developed by associate

25:38

professor John heading grin at BYU at

25:41

his ap Monitor website you can explore

25:43

all of the different ways to learn

25:45

control theory using simple hardware

25:47

like this if you don't have hardware to

25:49

play around with it would be a good

25:51

engineering exercise to try to build one

25:53

yourself it doesn't have to be

25:54

temperature related or if you want you

25:57

can buy a temperature control lab

25:58

directly from this webpage now this

26:00

video isn't sponsored by BYU or

26:02

professor heading written in any way I

26:04

just like the hardware and I think that

26:06

it's a great way to practice more

26:07

realistic control theory if you made it

26:11

this far thanks for watching this

26:13

marathon video I always liked reading

26:16

everyone's comments so please tell me

26:17

what you think of this type of video

26:19

below it's a bit different from my usual

26:21

ones and a huge thank you to my patreon

26:25

supporters for making this video

26:26

possible if you would like to support me

26:28

in my efforts on YouTube you can from

26:30

the patreon link in the description

26:32

below for any amount of support you can

26:34

download a digital copy of my book in

26:36

progress on control theory now I'm still

26:38

actively writing the book so it's not

26:40

complete but if you'd like a copy of

26:41

what I have so far but are unable to

26:43

support through patreon for any reason

26:45

just email me at control system lectures

26:47

at gmail.com and I'll just send you a

26:49

copy for free

26:50

that way we can spread the knowledge and

26:52

help everyone on their quest to becoming

26:54

better control system engineers thanks

26:57

everyone

Interactive Summary

This video walks through the practical, iterative process of designing a thermal control system for an Earth-orbiting satellite. Rather than focusing solely on academic theory, the instructor emphasizes exploring nebulous real-world problems. By using a temperature control lab as a hardware-in-the-loop testbed, the video demonstrates the progression from open-loop design to simple bang-bang control, and eventually to a PID controller based on a system identification model derived from step response data.

Suggested questions

3 ready-made prompts