Voltage mode control


Theoretical background

In voltage-mode control, the objective of the feedback controller is to regulate the output voltage of the buck converter with fast dynamic response and adequate stability margins. The closed-loop performance is determined by the loop transfer function

GL(s) = GC(s) · GPWM · GP(s) · kFB(1)

where GP(s) is the power-stage transfer function, GPWM is the gain of the PWM modulator, kFB is the feedback network gain, and GC(s) is the controller transfer function to be designed.

The power-state transfer function is (see Appendix 4B.2 in [1])

GP(s) = Vo(s)d(s) = VinLC · sRcC + 1s2 + s(1/(RlC) + Rc/L) + 1/(LC)(2)

where, L is the output filter inductance, C is the output filter capacitance, Rc is the equivalent series resistance of the output capacitor, Rl is the load resistance, d is the duty ratio, Vin is the input voltage, and Vo is the output voltage.

The controller must satisfy the following objectives:

  1. The crossover frequency fc of the loop is chosen as high as possible to ensure fast transient response.

  2. The phase margin at fc should be around 60°, to guarantee stable and well-damped dynamics.

  3. The loop phase must remain above −180° for all frequencies below fc.

  4. The steady-state error should be zero, requiring an integrator (pole at the origin) in GC(s).

Controller form

A compensator structure that meets these requirements is

GC(s) = kcs · (1 + s/ωz)2(1 + s/ωp)2(3)

This form contains:

  • A pole at the origin to enforce zero steady-state error,

  • Two coincident zeros at frequency fz to counteract the two LC poles,

  • Two coincident poles at frequency fp with fp > fz to roll off high-frequency gain,

  • A gain kc adjusted so that |GL(fc)| = 1.

General design steps

Refer to Example 4.3 in [1] for the detailed derivation.

1) Choose the crossover frequency fc

Select fc slightly above the LC resonance frequency

fLC = 12π √(LC)(4)

to ensure that the loop phase remains greater than −180° at all frequencies below fc.

2) Compute the required phase boost φboost

For a target phase margin φPM, the controller must supply

φboost = −90° + φPM − ∠GP(fc)(5)

3) Place controller zeros and poles via the separation factor Kboost

Define

Kboost = tan(φboost4 + 45°)(6)

Then locate the zeros and poles as

fz = fcKboost(7)

fp = Kboost · fc(8)

4) Set the controller gain

Enforce unity loop gain at fc:

|GC(fc)| = 1|GPWM| · |GP(fc)| · kFB

⇒ kc = 1|GPWM| · |GP(fc)| · kFB·ωzKboost(9)

Controller design
  1. Compute the LC resonant frequency, fLC using Eqn. 4.

  2. Select the controller crossover frequency at twice the LC resonant frequency, fc=2f'LC'.

  3. Substitute the controller parameters into the power-stage transfer function in Eqn. 2 and compute the power-state gain |GP(jωc)| and phase ∠GP(jωc) at the crossover frequency.

  4. Using Eqns. 5 and 6, compute φboost and Kboost.

  5. Compute the location of the compensator's poles and zeros using Eqns. 7 and 8.

  6. The feedback voltage signal is scaled prior to being used in the controller, hence set kFB = 1. Similarly the PWM controller is normalized to unity gain, therefore set |GPWM|=1.

    Using these, compute the controller gain using Eqn. 9.

Simulation verification
  1. Copy the folder where pre-built example project for this experiment is present, usually in C:\Program Files (x86)\Sciamble\WorkBench v1\Examples\CUSPLab\BasicPowerElectronics\Experiment9\Simulation and paste it in a location where the user has permission to edit and save files, like the Desktop folder.

  2. Launch Workbench application.

  3. Pin (Dock hide icon) the Explorer dock on the right and the Toolbox dock on the left.

  4. Click the second icon within the Explorer dock, Open simulation/real-time control project button to open the project.

  5. Navigate to the folder where the pre-built example project was pasted in Step 1. Double click the VoltageModeControl.project node within that folder to open the project.

  6. Click the Project expand button icon to explore the files within the project. Double click the Workbench model logo Buck node in the Explorer dock to display the model file.

    Buck converter voltage mode control simulation model

    The model is composed of four subsystems, double-click to explore each subsystem:

    1. Controller: implements the compensator.

    2. PWM: implements the ideal buck-converter power-pole operation. In this subsystem, the input voltage is stepped up by 50% at 8 ms to observe the controller's capability to maintain the output voltage under perturbation of the input voltage.

    3. Filter: implements the signal-based model of the LC filter-stage.

    4. Load: implements the resistive load. In this subsystem, the load resistance is halved, i.e., the load is doubled at 5 ms to observe the controller's capability to maintain the output voltage under perturbation of the load impedance.

  7. The parameters used in the model file are initialized in the script file.

    Click the Project expand button icon to explore the files within the project. Double click the Workbench script logo Parameters node in the Explorer dock to display the script file.

  8. Update all the existing converter parameters in the script file to the values corresponding to the test hardware.

  9. Click Numerical simulation and real-time prototyping Run button to run the control algorithm in real-time.

    Note that this is a simulation analysis and therefore do not select the hardware mode Numerical simulation to Real-time mode transition button.

  10. To view the output from running the script file, click the DataPeek tab on the right tabs section.

  11. Double click any of the variable name in the script file and its value will be loaded in the DataPeek dock.

    For instance selecting the variable ωz by double-clicking it, loads the following in the DataPeek

    Data peek script parameters

  12. Verify that the controller parameters computed in the earlier section matches those from running the script. Otherwise, redo the computation.

  13. Go back to the model file and observe the result in the Scope.

    Buck converter voltage mode control simulation result

    As seen, the controller rapidly bring the output voltage to the reference 9 V under any load impedance and/or source voltage perturbations.

Preparing the Workbench model for real-time control
  1. Copy the folder where pre-built example project for this experiment is present, usually in C:\Program Files (x86)\Sciamble\WorkBench v1\Examples\CUSPLab\BasicPowerElectronics\Experiment9\Realtime and paste it in a location where the user has permission to edit and save files, like the Desktop folder.

  2. Launch Workbench application.

  3. Pin (Dock hide icon) the Explorer dock on the right and the Toolbox dock on the left.

  4. Click the second icon within the Explorer dock, Open simulation/real-time control project button to open the project.

  5. Navigate to the folder where the pre-built example project was pasted in Step 1. Double click the BuckConverter.project node within that folder to open the project.

  6. The parameters used in the model file are initialized in the script file.

    Click the Project expand button icon to explore the files within the project. Double click the Workbench script logo Parameters node in the Explorer dock to display the script file.

  7. Update all the existing converter parameters in the script file to the values corresponding to the test hardware.

  8. Click the Project expand button icon to explore the files within the project. Double click the Workbench model logo Buck node in the Explorer dock to display the model file.

  9. Ensure that the switching frequency is set to 100 kHz. To do this, double click on the project node, Workbench project logo BuckConverter, in the Explorer. Go to the next page by clicking the Property class next page icon in the property dock or choosing Device configuration from the drop-down menu. Check that the Frequency within PWM Configuration is set to 100000.

  10. Ensure that the PWM channel is set to the Si power pole. To do this, open the property of the tool labeled Si PWM in the model by double clicking on it. Check that the Channel is set to 1.

Preparing the setup for real-time control
    warningWarning

    Before proceeding, ensure that the isolated power supply is powered down and that the USB cable is disconnected.

  1. Magnetics card connection: Replace the existing magnetics card with the Buck/Boost/Buck-boost magnetics card, making sure that all six pins are properly aligned and in contact with the power-pole board, adjusting the angle if necessary.

    warningWarning

    Never leave the magnetics card unscrewed. If contact is lost while the converter is running, it has the potential to cause very high voltage due to interruption of inductor current, potentially damaging the converter, or worse, could lead to a safety hazard.

  2. Rheostat setting: Set the slider such that the resistance across the two closest rheostat terminals is 10 Ω.

  3. Power connections:

    1. Connect the I+/I- terminals to the isolated power supply:

      1. DC +ve: I+ (Red)

      2. Ground: GND (Green)

      3. DC −ve:  I− (Black)

    2. Connect the O+/O- terminals to the rheostat load:

      1. Rheostat rail: O+ (Red)

      2. Rheostat terminal closest to the rail:  O− (Black)

  4. DSO connections:

    1. Connect DSO channel 1 probe to Ii. Set the following options, if they are supported by the DSO:

      1. Set the probe to 1x.

      2. Set the measurement type as Current.

      3. Set the scaling factor to 4x.

      4. Set the offset at 1.5 V or 6 A.

      5. Set termination to 1 MHz.

      6. Set the channel as inverted.

    2. Connect DSO channel 2 probe to Io. Use the same settings as Channel 1.

    3. Connect DSO channel 3 probe to Vo using the 20:1 attenuator. Set the following options, if they are supported by the DSO:

      1. Set the probe to 1x.

      2. Set the measurement type as Voltage.

      3. Set the scaling factor to 20x.

      4. Set the offset at 0 V.

      5. Set termination to 1 MHz.

      6. Set the channel as default/non-inverted.

    4. Connect DSO channel 4 probe to Sa using the 20:1 attenuator. Use the same settings as Channel 3.

  5. Jumper settings:

    1. Insert jumpers ❶ and ❺ () to bypass the external current measurement.

    2. Insert the GaN/Si jumper ❷ () to Sa/Sw. This connects the buck-converter inductor to the midpoint of the Si power pole.

    3. Jumper ❸ () for the GaN FET’s external diode may remain inserted or removed, since this experiment does not use the GaN power pole.

    4. Insert jumper ❹ () to connect the drains of the top switches to the positive DC bus (Vin+).

    5. Remove jumper ❻ () to disconnect the capacitors across the switches.

  6. Connect the USB cable to the power-pole board and the computer.

  7. DC power supply settings:

    1. Make sure that the DC power supply is fully turned down to 0 V prior to turning on the supply.

    2. Turn on the power supply and gradually ramp up the voltage from 0 V to 15 V.

    3. If the option is available, set the power supply current limit at 4.5 A.

The final wiring should look similar to this:

Buck converter wiring diagram

Real-time closed loop voltage mode control of buck converter
Running the setup:
  1. Click on the Numerical simulation to Real-time mode transition button icon in the top dock of Workbench to transition from the simulation mode to the real-time mode.

  2. Adjust the DSO time base to 2 ms per division.

  3. Set the DSO to Trigger to the output voltage (Channel 3), rising edge, and level of 1 V.

  4. Click Numerical simulation and real-time prototyping Run button to run the control algorithm in real-time.

  5. If an under-voltage fault occurs, slightly increase the input voltage above 15 V but less than 16 V. Stop the model by clicking on Numerical simulation and real-time prototyping Stop button and rerun it. Also, reset the trigger on the DSO.

  6. Observe the DSO waveforms and make a copy of the voltage across the diode (channel 4), the output voltage (channel 3), the inductor current (channel 2), and the input current (channel 1).

    Buck converter voltage mode control realtime result

    Zoom in to observe the switching characteristics.

  7. Click on Numerical simulation and real-time prototyping Stop button to stop the model.

Lab report and reading assignment
  1. List all the parameters of the converter used to design the controller.

  2. Explain the controller design and list the computed controller parameters.

  3. Attach the scope waveform of the output voltage from the simulation analysis.

  4. Attach the DSO waveforms showing the voltage across the diode, the output voltage, the inductor current, and the input current.

Reference
  1. "Power Electronics, A First Course," Ned Mohan and Siddharth Raju, Wiley Publication.



next topic : Flyback converter >