Re: PID CONTROL FOR BOOST CONVERTER



manish wrote:
Hi everybody

I am currently working on my final year project which consists of

designing a boost converter using Mat 385 microprocessor kit. I would
like to have your views of how this can be done using PID control.
The design of the power circuit is OK but I am having problems with
the control circuit and I am not being able to generate the control
signals effectively using PWM technique + PID control.


hoping to hear from you soon !!

Thanking you in anticipation..

manish


Like many control problems, this is one that should be simple, and can be simple, but will have subtle little effects hiding in the corners to make your life difficult, at least temporarily.

I don't know how much control systems background you have, so forgive me if I go into too much detail.

I assume that when you say 'boost' converter you mean 'flyback' converter with an output stage like this one (view in fixed-width font):


V in ___ HV out
o---------UUU--o-->|---o----------o
| |
| |
||-+ ---
PWM ||<- ---
o-----------||-+ |
| |
| |
=== ===
GND GND
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

If I remember correctly, if you use a flyback converter to drive a resistive load your system will be stable, but the converter will have a couple of 'interesting' (read 'hard to deal with') properties. If you drive something other than a resistive load, your converter will tend to have even more 'interesting' properties.

The first of these interesting properties stems from the nature of a flyback converter that uses a single pass transistor and a diode. The operation of the converter can either be such that the coil always has current flowing through it ("continuous conduction") or that the coil current stops every cycle after discharging through the diode ("discontinuous conduction"). As the duty cycle changes, and if the converter goes from continuous mode to discontinuous mode, the dynamics of the system changes in a way that impacts the allowable tuning of your controller.

The second interesting property is that when the converter is in continuous conduction mode the converter's transfer function from PWM to voltage out has an unstable zero. This means that if you suddenly increase the duty cycle your converter's output will first drop (because the output capacitor is getting a smaller share of the current in the coil) then rise (because the coil current has increased due to the longer on time).

In combination you get a system that is hard to stabilize (because of the unstable zero) in the first place, and this difficulty is compounded by the fact that the zero is crawling all over the place as you change your command to the drive section.

These are all things that can be overcome, however.

If you are going at this with the sort of background assumed in my "PID Without a PhD" article, then I suggest you do the following:

* Set up your software so that you can command a constant PWM, and verify that your power stage is stable and well-behaved when you drive a resistor.
* Spend a bit of time with an oscilloscope, stepping the PWM command and seeing how the output behaves.
* Try this with different values of resistance on the output, so you can see what happens with different baseline duty cycles, and with different conduction modes.
* Now close your loop with a _very little_ bit of proportional gain, and use the procedures in that article to tune the loop. Continue to monitor the output with your o-scope, and make steps in your target output voltage to see how the system responds.

If you are going at this from a more sophisticated control systems perspective, do this instead:

* Set up the system as before, and familiarize yourself with it.
* Read my article about characterizing systems in the frequency domain (http://www.wescottdesign.com/articles/FreqMeas/freq_meas.html). If it doesn't make sense, read about z transforms at http://www.wescottdesign.com/articles/zTransform/z-transforms.html.
* Write the code to characterize your drive, and do so. Collect information with a number of different loads.
* Use formal frequency-domain design procedures (Bode plot, Nyquist plot) to design a controller that will be stable for all of the different loads that you tried.

If you _do_ want to use the more formal methods, but _don't_ have the control systems background, then I have a book for you: http://www.wescottdesign.com/actfes/actfes.html. I don't know if it'll fit in your budget, but if not you may be able to convince your university library to get a copy.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Posting from Google? See http://cfaj.freeshell.org/google/

"Applied Control Theory for Embedded Systems" came out in April.
See details at http://www.wescottdesign.com/actfes/actfes.html
.