Any good refs on Model-Based-Control? (is it really as good as is claimed?)

Just read an interesting article on 'Model Based Control' of rapid thermal processing (dont have the link handy though), where quartz lamps are used to heat a silicon wafer at rates of 100 deg C / sec with < 0.5 deg overshoot @ 1000 deg C (!) and less than 0.1 deg C variation in steady state.

This seems a bit too good to be true (?).

What is the fundamental idea here allowing such performance? How robust is the model based control re system variations etc? Does it typically assume the model is known to better than e.g. 1%?

Are there any good reference texts or tutorials explaining how one would implement such a controller or simulate it in e.g. Matlab or MathCAD?

TIA!

Reply to
perfb
Loading thread data ...

With a good system, model and controller, I don't see why that kind of precision isn't possible.

There are a number of model based control systems, including direct matrix control, dynamic matrix control, smith controllers, perfect controllers, etc. Any good modern control book should have a pretty good explanation of how to implement such a control.

The basic idea is that you figure out exactly what needs to be done, based on the model of the system, then do it to the system. As long as your system behaves as the model says it does, things work great. If you have some deviation, then the control can degrade somewhat.

Typically, the models are constructed "backwards" from the system, so that you put in what you want to do, and it tells you how to do it based on current conditions. The system then takes what you do to it and gives back new conditions (which hopefully are the ones you are looking for). For example, if you wanted to change the temperature from 0C to 1000 C, the model would take into account what sort of heating rate can be applied, any sort of losses in the system, and perhaps a few other constraints, then figure out how many watts to apply for how many seconds to achieve the temperature. It would then determine how much the thermal losses were, and call for that amount of heat to be added at the appropriate moment. A little feedback would let the model know where it was in the process and possibly allow a little fine tuning.

Even PID controlls can be tuned quite tightly, though it would take a very good system with a fantastic polling rate to have the precision required for what you mentioned.

Michael

Reply to
Herman Family

1) All Control System Design derives from a model of the system to be controlled. 2) Some approaches to the design and of a feedback controller make use of a model - whether explicit or implicit, within the implementation of a controller. This is what is typically meant by 'Model-based Control' - which is essentially a lay-person's terminology - not having a precise definition within the discipline of Control Engineering. 3) One approach to controller design that incorporates an explicit model of the controlled system is 'Model-Predictive Control' (MPC). Commercial implementations of MPC exist under various trade names, such as 'Dynamic Matrix Control' in the field of Process Control. Sometimes people who are not Control Engineers use the term 'Model-based Control' to mean specifically MPC. 4) There exists a Model-Predictive Control Toolbox for MATLAB.

5) Much information about MPC, issues of robustness etc., are to be found in the book by Manfred Morari, which is an accompaniment to the MATLAB Toolbox.

I hope this helps.

Kelvin B. Hales Kelvin Hales Associates Limited Consulting Control Engineers Web:

formatting link

Reply to
Kelvin Hales

Thanks very much for the link! I am looking at the MPC Matlab toolbox now.

Does anyone know what it would take to actually implement such a control on a typical DSP eg TI F2812? eg is a code generator package eg VisSIM really mandatory or can one implement it with a generic matrix library? assuming real-world update rates of ~10Hz and 2-5 inputs/outputs and ~30second first-order system time constants.

Reply to
perfb

Hello,

applying an MPC controller in practice requires to solve a given optimization problem on-line for the current value of the state. Depending on dimensions of your system and lenght of the prediction horizon, it might or might not be feasible to solve the problem within a given sampling period. If the physical limitations do not allow you to use the on-line implementation of MPC, you can use the so-called explicit MPC for your problem.

The aim of explicit solution to MPC problems is to obtain an explicit representation of the state feedback law for _all_ states which satisfy system constraints. The resulting solution takes a form of a piecewise-affine state feedback which is defined over some polyhedral partition of the state space. Implementation of such controllers boils down to a simple set-membership test which can be performed easily on your DSP. FYI, we have applications with sampling rates in order of kiloherz, or even faster.

There is a free (GLPed) Matlab toolbox available to solve these kind of problems, called Multi-Parametric Toolbox:

formatting link
It solves both on-line and explicit MPC problems, i.e. you can use it as a free substitue of the MPC toolbox from Mathworks. MPC controllers can be constructed for linear and hybrid systems (systems involving switches, binary and integer variables, etc.) with constraints.

The toolbox allows to export the resulting explicit control law to C-code which can be directly transfered to your DSP. Alternativelly you can use Simulink and RTW to download such controllers to any supported target machine.

Best, Michal

Reply to
Michal Kvasnica

I did something very much like that using a Phelan-type control system

formatting link
running on a 20 MHz 80186. Repeatability to .1C is feasible, but that degree of absolute accuracy is questionable. Such specs are often put forth with the attitude, "I'll retract it if you can prove me wrong."

Jerry

Reply to
Jerry Avins

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.