Grant Solar PanelsI decided to post my University of Illinois doctorate dissertation. If you have questions, please leave a comment below so we can have open discussions. This dissertation applies large-signal and time-domain models along with digital control to achieve fast control performance and to quickly test/design multi-block power controllers.
Fast controls are needed for motherboard level power supplies, called voltage-regulator modules (VRM), where CPU power specifications grow more stringent. Multi-block controls help interconnected power systems track numerous control objectives, such as those found in grid-interactive power electronics. The models used in the dissertation were derived using MathCAD, simulations in Simulink, and hardware experiments on a TI TMS320F2812 DSP. The main chapters are summarized below.

  • Chapter 2: Piecewise linear, bilinear, and steady-state power converter models.
  • Chapter 3.4: Minimum-time control / nonlinear-model predictive control.
  • Chapter 3.5: Parameter system identification using recursive-least squares algorithm.
  • Chapter 4: Programmable dc-dc converter system performance using active low/high-side damper resistors.
  • Chapter 5: In depth study of  model-based techniques using a grid-interactive inverter.
I would like to thank National Science Foundation (NSF ECS 06-21643) and the Grainger Center for supporting the work. Also I would like to thank my adviser Prof. Krein and the members on my committee whose guidance was greatly appreciated. If you decide to reference this work, please use the official reference, G. Pitel, “Fast power converters and rapid digital design,” UILU-ENG-2008-2509, CEME-TR-2008-02, December 2008.
Download Link–The full document is coming January/February.
Add to:
| Digg it | RawSugar | Reddit | Slashdot | Y! MyWeb

39 Responses to “Fast Power Converters and Rapid Digital Design”  

  1. 1 Wayne

    This looks like very interesting and useful work. I look forward to seeing the full document.

  2. 2 Grant Pitel

    Thanks Wayne. You received a “special” acknowledgment in the dissertation.

  3. 3 Maher

    Actually, very good work but there is some ambiguity in program like the parameters a0, b0 is it the in continues or discrete?.

  4. 4 Grant Pitel

    I am not sure what you mean by parameters being continous or discrete. Time can be continuous or discrete. Parameters have datatypes. The default datatype for simulink is double (i.e. floating point). I could not get more computationally efficient datatypes to work.

  5. 5 Maher

    I mean the Transfer function parameters. Did you identify the system in continuous or discrete? Because in the papers you mentioned a0 and b0 is in the s-domain. Also, I think there is error in IL T.F page 67 but in result is correct page 73. I checked it in Matlab.

  6. 6 Grant Pitel

    I identified the coefficients for the discrete time TF. a-b are the parameters from the cont. TF. c-d are for the disc. TF.

  7. 7 Grant Pitel

    I used the disc2cont with a ZOH. Did you do the same?

  8. 8 Grant Pitel

    If you lump all the parameters in (34) you get (35). If you evaluated those coeficients using the values that I state you numerical coefficients . If you use those coefficient and make a TF and apply disc2cont you get (36).

    I am pretty sure that there is no error. I had previously simulated the PWL model, the cont. SSA model, and the disc. SSA model simulataneously together and they all matched. Have you tried doing this for yourself yet?

  9. 9 Maher

    Actually, I read your papers in this filed more than ten times and I think you known that because you help me in every think in this paper. However, if you insert the component value in (34) and use the commend (c2d) in Matlab you will get the T.F in 36. But the Values of parameters in this T.F not same values in (41). When I try to evaluate that I found that right in VC T.F but in current (IL) is not. And I found the correct num in IL (34) is [E1 C1 (R1+rc1)s+E1] /den . Just do that you will find the T.F parameters values are same in (41).

  10. 10 Grant Pitel

    There is always a chance I could have an error. I will take another look at it and get back to you.

  11. 11 Grant Pitel

    I finally had a chance to dig through my lab book and address your question. Sorry for taking so long. I have been busy with my new job and upgrading the server.

    I found my derivations on system identification, plugged the dissertation values into the formulas, and observed the results. They seemed pretty close.
    The lab book page/code (see pg. 2 in pdf link below) is quite detailed. If you see errors in these derivations, I will take some more time out for some further investigation.

    Link to Lab Book:

  12. 12 Maher

    Congratulation for new job. I saw this pdf and the derivation is good and I compared it with equation that I derived just before 5 days. I am looking for the whole chapters of your thesis.

  13. 13 Maher

    I would like to ask you please, how you know during the RLS algorithm work and controller if the load changes. I mean how you monitor this change of load and define at which time or sample that is happened.


  14. 14 Grant Pitel

    That is a good question and a topic that needs some further study. I originally set out to quickly calculate the change in load resistance as the transient occurred. RLS calculates the coefficients, which are functions of resistance and circuit parameters. I spent some effort trying to isolate an expression for R in terms of the identified TF coefficients. I was able to do this for the cont. time TF, but not the disc. Time TF, due to the paper deadline.

  15. 15 Maher

    I appreciate your cooperative, my question is how you know there is change in load or the transit change occurs to calculate the value of RL at this time of change on- line, because it is impossible to calculate the value of RL all time during the RLS work.


  16. 16 Grant Pitel

    Here are some hints.
    From the lab book pages I gave you there are four equations (a0, a1, b0, b1) and six unknowns (E, R, L, C, rL, rC). Which leaves you with two options.

    (1) you need to get more coeficients.
    (2) Some unknowns are actually known such as E=12 or rC=0, etc.

    If you apply (1) or (2), you get a number of unknown variables equal to the known, so you can solve for R.

  17. 17 Maher

    Thank you very much, actually I mean when the load change from 5-to-1 at 0. 2 second how your algorithm knows that the change was happened to find the value of RL related to this change and to use the estimation value in controller, because you assume to identify the parameters at transit time only.

  18. 18 Grant Pitel

    The algorithm updates load estimation with every sample. No specific changes to the algorithm are necessary before or after the disturbance. The algorithm identifies better when it has more output excitation, such as a transient, but it can also do steady-state if the output has a deterministic noise source added on.

  19. 19 Maher

    Dear Dr. Pitel,
    I hope that you are well,
    I would like to ask you question please if you can answer it, if you have time for that. My question is how I can know that the output response of my converter is work now in steady- state, I mean how I can design a circuit or algorithm to know that?.

    Best Regards

  20. 20 Grant Pitel


    A circuit is composed of components lambda (R, L, C, RL1, RC1), states x (iL, VC), and a model in the form a differential equation dx/dt=f(lambda,x). To solve for steady state you set dx/dt=0 and solve for x.

    In words, to solve for steady-state requires:

    (1) An accurate power circuit model and types of loads attached to it.

    (2) State measurements to determine circuit parameters and steady state.

    To do a steady state algorithm needs one must manipulate the known and unknown variables in the system. For example, the large-signal steady-state equation for a buck converter inductor current feeding a constant resistance load is

    iL = E1/(RL1+R1)*u,

    Here, the controller knows what u is and measures the output voltage vC. From offline measurements it can be determine if E1 is a stiff voltage source and if RL1 is negligible. Thus, in steady state the controller knows R1. However this assumes that converter is well behaved with no ripple.

    A nonlinear method is to look at the ripple magnitude, when ripple stays within some parameter dependant boundary for a period of time, one could say it has reached steady state.

    I plan to post chapter one and two of my dissertation this weekend. Inside you find switching and steady state models for buck with constant resistance and constant current, a boost with constant resistance, and boosting inverter.

    Good Luck


  21. 21 Maher

    Dear Dr. Grant,
    I hope that you are well,
    I am very sorry because all time I depend on you to help me and ask you a lot off questions, and I know that I take from your time but actually you are very kind man.
    I read many papers about the control of dc-dc and identification and they identify the system during steady-state and then update the parameters of controller. My question is what the advantages of this procedure. I mean if the disturbance happened for example the load change and they identify this change in steady-state and update the controller of this change after the sudden change what the advantages of that for the system and what the improvement will happened to the system. Actually, I design a controller to my dc-dc converter and I find the result is very good, why I need to update the parameters and design for example self tuning controller for this converter.
    Thank you very much,
    Best Regards

  22. 22 Grant Pitel

    The load directly affects the performance and stability of your controller. For example, suppose a feedback controller was tuned for a constant resistance load. Then the load changes to a constant power load (negative resistance). The once stable controller had become unstable. The negative resistance causes the transfer function poles to flip sign, a trait that leads to closed-loop instabily. Online system identification can identify these changes and adjust pole placement online.

  23. 23 Maher

    Dear Dr. Grant,
    I am appreciated your help to me every time. Thank you very much
    Actually, I used the pole-zero cancelation controllers for my system and your system in the paper as well and I changed the load but I saw that the system is robust for many values of load. How I can find or know the value of load that caused the system instable or change the performance of the system or effect to stability to take this effect in the controller? I mean for example in your paper you identify the change of load from 5-1 or 1-5 ohm, but the system is still good and stable and the change is very low in the response why I need to identify that and update the controller.

    Many thanks


  24. 24 Grant Pitel

    Comments on Stability:
    Resistive loads are inherently stable. Suppose you connect a battery (ideal voltage source)to the output. This will cause most voltage feedback PI controls to go unstable, since there is always a constant error. System identification could potentially identify the transition between load types and prevent instability.

    Comments on Performance
    While many optimal pole placement techniques exist, they are optimal only for a fixed load. When the load changes, pole/zero locations change and might be added or removed. Thus to maintain optimal performance requires an up to date plant model. Reduced performance might be acceptable, it depends on the application.

  25. 25 pradeep

    Hi Grant,

    It looks like your work is generating a lot of comments on your website. I just wanted to shoot you a quick note saying that I’m starting up a project to look at the augmented converter. Any words of warning and advice are appreciated. Taylor is working with me on it for the time being so he might contact you.


  26. 26 Maher

    Dear Dr. Grant,

    I would like to ask you a technical question please. How you change the load from 5-to-1 in practical experiment. I mean what a practical components you used in the practical circuit to make the fast change in the load.

  27. 27 Grant Pitel

    I had two resistors that pulled-down using two power MOSFETS. The DSP would control when MOSFET’s were on and off.

  28. 28 Maher

    Thank you I used the same procedure, just I want to check that with you.

  29. 29 Maher

    Dear Dr. Grant,

    I would like to ask about the type of current transducer that you are used to measure the current because I need one with high resolution to measure the ripple added from white noise for identification process. Please if you can recommend me about this or any other one.

    Thank you, Best regards

  30. 30 Grant Pitel

    In my experimental setup, I used at 50mOhm shunt resistor and amplified it with an instrumentation amplifier. I dug through my bill of material to find

    91F4974 R OHMITE Newark $1.54 1 Current Sense Resistor 0.05 Ohms Passives\10_series.pdf $1.54

    I used the DSP to calibrate the sensor in software so that it was accurate. Calibration technique is illustrated in video located at on the UIUC Wiki.
    Good luck. Graduating anytime soon? Going to any upcoming conferences?

  31. 31 Maher

    Actually, I went to IECON09 in Portugal and I published a paper related to your work and I wrote your name in aknlowdgment that’s the less thing I can do for you indeed. But my proposed solution to track the abrupt load change is complex so I found other solution but in this solution I should use the current model in identification not voltage model. However in the paper I preferred to use voltage model in identification rather than current.
    Thank you very much for your help, you are very kind indeed.


  32. 32 Maher

    Dear Dr. Grant,
    I would like to ask you again about the current sensor. I need one work with high frequency (500 khz). so if you can recommended any one for me please

  33. 33 Grant Pitel

    Shunt resistors do not have bandwidth limitations like hall-effect sensors. Just make sure you don’t use wire-wound resistors (becomes an inductor). You may also be interested DCR current sensing, which works well at the frequencies you described.

  34. 34 Maher

    Hi Dr. Grant,

    Please can you send me other link to access the link of calibration techniques for current sensor, because I can’t open the link of UIUC Wiki.

    Best Regards

  35. 35 Maher

    Also, I would ask why you said shunt resistor, however you connected it in series with L and then measure the voltage across it by amplified it using the instrumentation amplifier? I think it is series restore not shunt restore?

  36. 36 Maher

    Hi Dr. Grant,

    Please can you send me other link to access the link of calibration techniques for current sensor, because I can’t open the link of UIUC Wiki.
    Also, I would ask why you said shunt resistor, however you connected it in series with L and then measure the voltage across it by amplified it using the instrumentation amplifier? I think it is series restore not shunt restore?

  37. 37 Grant Pitel

    The shunt resistor is a a series resistor. The term shunt is special type of resistor intended just for measuring current. Shunts are typically rated using a current and voltage across the shunt at a rated current (rather than ohms). Shunts also have lower temperature coefficients to ensure consistent measurements.

  38. 38 maher

    Dear Grant,
    Is there other new link for UIUC Wiki? or link for calibrate the sensor using DSP



    please, can i have the complete PhD thesis?
    thanks in advance

Leave a Reply