1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Feed-forward control system: heating an oven with outside temperature disturbance

  1. May 2, 2012 #1
    1. The problem statement, all variables and given/known data

    I am supposed to design a control system with feedback and disturbance feed-forward, with all relevant transfer functions.

    The system consists of an oven where the temperature [itex]T[/itex] is controlled by an electric heater that dissipates power [itex]P_{in}[/itex]. The temperature outside the oven is [itex]T_0[/itex]. Consequently, the oven dissipates heat to the environment, at a rate [itex]P_{loss}[/itex] depending on the temperature difference. The outside temperature is considered to be a disturbance, and is considered not to be affected by the temperature inside the oven.

    2. Relevant equations

    We are given the rate of loss as

    [itex]P_{loss}=\alpha (T-T_0)[/itex]

    where [itex]\alpha=0.05 \: W/K[/itex]. We are also given the oven's heat capacity as [itex]C=25 \: J/K[/itex]

    3. The attempt at a solution

    I started out trying to find the transfer function of the process, i.e the temperature inside the oven. To do this I have defined a differential equation using energy balance [itex]E[/itex] inside the oven:


    where [itex]E=C \cdot T[/itex] and [itex]P_{loss}[/itex] as above. This gives the differential equation as

    [itex]C \cdot \dfrac{dT}{dt}=P{in}-\alpha(T-T_0)[/itex]

    Calculating the Laplace transforms then gives (a "bar" signifies the transform), assuming that the initial temperature inside the oven is [itex]T_0[/itex] because of equilibrium, so that [itex]T(0)=T_0=0^{\circ} C[/itex]:

    [itex](C \cdot s+\alpha)\bar{T}(s)=\bar{P}_{in}(s)+\alpha \bar{T_0}(s)[/itex]

    Surely then, the transfer function [itex]G_P(s)[/itex] is the quotient between the output [itex]\bar{T}(s)[/itex] and the input [itex]\bar{P}_{in}(s)[/itex]. But I can't get rid of [itex]T_0[/itex]. Is the outside temperature supposed to just be considered in the transfer function of the disturbance?

    Alternatively, I tried modeling the process without heat loss (assuming heat loss is a disturbance), that is, writing the differential equation as


    and then assume that the initial temperature is 0 degrees outside and inside the oven, for simplicity. This gives me the transfer function

    [itex]G_P(s)=\dfrac{1}{C \cdot s}[/itex]

    which feels insufficient as I feel there should be some time delay due to some time constant. I then model the disturbance (i.e heat loss) as

    [itex]C \cdot \dfrac{dT}{dt}=-P_{loss}=\alpha (T_0-T)[/itex]

    that is, how the heat loss affects the temperature in the oven. Using the laplace transform gives

    [itex]C \cdot s \cdot \bar{T}(s)=\alpha \bar{T}_0(s)-\bar{T}(s))[/itex]

    Giving the transfer function of the disturbance as

    [itex]G_V(s)=\dfrac{\bar{T}(s)}{\bar{T}_0(s)}=\dfrac{ \alpha }{C \cdot s + \alpha}[/itex]

    which looks more like a transfer function. This is then added to the process through summation.

    I'm completely stuck on this exercise. I don't want an entire solution, just a hint to guide me into the right direction. I feel I am pretty close to solving it, I just need to separate the disturbance from the process somehow. Thanks in advance.
    Last edited: May 2, 2012
  2. jcsd
  3. May 2, 2012 #2

    rude man

    User Avatar
    Homework Helper
    Gold Member

    Yes, T0 is a source of disturbance to your controller.

    If you're going to design a control system you also have to allow for a temperature reference Tr. So there is T, T0 and Tr.

    I don't tknow what the problem requires, but I would think a system block diagram is indicated. In which case:

    Provide for Tr - T to be zero averaged over time. What block ("first block") does that suggest?

    Then model the heater as a 2nd block with transfer function (dQin/dt)/x where x is the output of your first block, since the heater generates heat rate into the oven.

    The heater output dQin/dt is then combined with the heat outflow rate, and the result is the net heat input rate to the oven. The oven is a third block which you have already characterized above. Same goes for dQout/dt. The oven output is T. So complete the picture.

    Have they discussed P vs. I vs. PI vs. PID controllers? If not, never mind. (What I have in mind for you is an I controller, giving zero temperature error over time. By adding P and D terms one can adjust the dynamic response of T to disturbances in T0 and Tr. Just FYI.)
  4. May 3, 2012 #3
    Thanks, I'll look into it later. The problem requires me to, as you wrote, produce a block system diagram and calculate all the transfer functions in it.

    But I'm not sure I need to introduce new variables such as TR or the heat output, especially if I don't know their value (I am already given a minimal amount of information). I'm afraid they won't cancel out and that I'll be stuck in the end with expressions with unknown variables. I don't really understand why I need to have an extra transfer function between the heater and the oven, is it because the input is power and the output is temperature?

    I also forgot to mention that there is a sensor measuring the outside temperature, with the time constant 30 seconds. But this is not relevant to finding the transfer function for the oven.

    I plan to design a PID controller for the system using the Ziegler-Nichols method (not very accurate but simple) but this is the next step. In order to do this I first need the transfer function for the process.
  5. May 3, 2012 #4

    rude man

    User Avatar
    Homework Helper
    Gold Member

    The heater is an integral part of your system so you need to inlude it in your block diagram.

    There are two transfer functions in your system, T/Tr and T/T0. You need to determine them both. You're building a controller, controlling temperature, so if I change the temperature setting I need to know the time response of T ...
    really, the basic transfer function is T/Tr; T0 is just a disturbance input.

    Tr is an independent variable. You can make it anything you want, including a constant. To determine the dynamic response of your system, a step change ΔTr would be one way to do that.
  6. May 4, 2012 #5
    OK thanks, I think I've figured out how to calculate the transfer functions from the heater to the oven.

    I still don't understand how to find the transfer function from the disturbance to the oven, however. Is it just 1, or is there a more complex relationship, involving [itex]\alpha[/itex]?

    As for the controller, I'm not sure how to find its parameters. I didn't manage to find them using the Ziegler-Nichols method as no matter what value I choose for the initial proportional part K, I never manage to make the system unstable. Maybe I'll try with Simulink.
  7. May 4, 2012 #6

    rude man

    User Avatar
    Homework Helper
    Gold Member

    The transfer function from T0 to the oven input includes your 30 second time constant: (dQ0/dt)/T0 = α/(τs+1) where τ = 30 s.

    Your famous Ziegler-Nichols method just gives you the open-loop gains (P,I and/or D) for various static and dynamic responses to an input change in Tr. You need to concentrate on coming up with your block diagram first. How's it look so far?

    If you make it just a P controller then it can't possibly go unstable, since there is only one pole in the open-loop transfer function Tr in to T out, provided by the oven.
  8. May 4, 2012 #7
    I thought I would find my PID controller by identifying step response, using a Silab Xcos diagram (similar to Matlab's Simulink), and play around with the PID parameters until I get a good result.

    I've included the feed-forward part and set the disturbance as a step function that goes from 0 to -10 degrees. My feedback sensor transfer function I've set to 1, as there is nothing else indicated in the problem. I am however, having some trouble finding the right feed-forward transfer function GF. I want to include the diagram I drew but I don't have enough posts yet to post a link...

    I calculated the transfer function from the heater to the oven as


    and the transfer function accounting for the heater and the disturbance as


    The sensor's transfer function I calculated to G2=1/(1+30*s)

    Anyway, according to my block diagram the disturbance transfer function is given by

    T0+G2 * GF * (1/α)*T0

    which gives

    GF= -α*(1+30*s)

    or with values,

    GF= -(0.05+1.5*s)

    However, Xcos won't let me use this transfer function as it's not proper, so I'm guessing my transfer function is incorrect. This is the only thing missing before I can find the PID controller parameters.

    I guess the transfer function from the disturbance to the oven isn't just "1", as I assumed in my block diagram... How did you calculate the transfer function from the outside temperature to the oven, the one you wrote? Why do I have to account for the time constant of the sensor?
    Last edited: May 4, 2012
  9. May 4, 2012 #8

    rude man

    User Avatar
    Homework Helper
    Gold Member

    OK, I got your block diagram. Not a bad start.

    1. why do you have T0[ /SUB] going into two places? Take out the left part, eliminate that summing junction, but include the 30 second filter. So what block goes between T0 and the right-hand summing junction?
    2. You modeled the oven as a 1st order lag (1/(500s+1). It's not. The oven integrates input heat rate and produces output temperature T. So its transfer function must be 1/ks. What do you suppose k is?
    3. You should leave the block gains in their symbolic terms, i.e. α instead of 20, C instead of 25, etc. Also, you should label the units of all blocks to make sure the gains make sense, especially when concatenated. Each block represents an output/input and you need to specify the units for each i/o pair. Of course, one o will be the next one's i, etc.
    4. Your diagram does not show total heat into the oven. There are 2 parts: heat input from the heater, and your equation for Ploss = α(T - T0). Your diagram shows only the outer loop for T, where T is compared to the reference temperature Tr.
    5. Call the heater gain kh. The units are (dQ/dt)/T or J/K. Then your GR block, which is where the P, I nd D gains are established when combined with the rest of the open-loop gains, has nondimensional output/input.

    You don't need to know kh. It will be part of GR eventually. It's the product khGR you are determining. In real life you'd be given kh and then the GR gains would be set accordingly by electronics.

    I again advise keeping track of units everywhere.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook