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:
The crossover frequency fc of the loop is chosen as high as possible to ensure fast transient response.
The phase margin at fc should be around 60°, to guarantee stable and well-damped dynamics.
The loop phase must remain above −180° for all frequencies below fc.
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)
Compute the LC resonant frequency, fLC using Eqn. 4.
Select the controller crossover frequency at twice the LC resonant frequency, fc=2f'LC'.
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.
Using Eqns. 5 and 6, compute φboost and Kboost.
Compute the location of the compensator's poles and zeros using Eqns. 7 and 8.
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.
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.
Launch Workbench application.
Pin () the Explorer dock on the right and the Toolbox dock on the left.
Click the second icon within the Explorer dock, to open the project.
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.
Click the icon to explore the files within the project.
Double click the
Buck node in the Explorer dock to display the model file.
The model is composed of four subsystems, double-click to explore each subsystem:
Controller: implements the compensator.
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.
Filter: implements the signal-based model of the LC filter-stage.
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.
The parameters used in the model file are initialized in the script file.
Click the icon to explore the files within the project.
Double click the
Parameters node in the Explorer dock to display the script file.
Update all the existing converter parameters in the script file to the values corresponding to the test hardware.
Click to run the control algorithm in real-time.
Note that this is a simulation analysis and therefore do not select the hardware mode .
To view the output from running the script file, click the DataPeek tab on the right tabs section.
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
Verify that the controller parameters computed in the earlier section matches those from running the script. Otherwise, redo the computation.
Go back to the model file and observe the result in the Scope.
As seen, the controller rapidly bring the output voltage to the reference 9 V under any load impedance and/or source voltage perturbations.
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.
Launch Workbench application.
Pin () the Explorer dock on the right and the Toolbox dock on the left.
Click the second icon within the Explorer dock, to open the project.
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.
The parameters used in the model file are initialized in the script file.
Click the icon to explore the files within the project.
Double click the
Parameters node in the Explorer dock to display the script file.
Update all the existing converter parameters in the script file to the values corresponding to the test hardware.
Click the icon to explore the files within the project.
Double click the
Buck node in the Explorer dock to display the model file.
Ensure that the switching frequency is set to 100 kHz.
To do this, double click on the project node, BuckConverter, in the Explorer.
Go to the next page by clicking the
in the property dock or choosing Device configuration from the drop-down menu.
Check that the Frequency within PWM Configuration is set to 100000.
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.
Before proceeding, ensure that the isolated power supply is powered down and that the USB cable is disconnected.
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.
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.
Rheostat setting: Set the slider such that the resistance across the two closest rheostat terminals is 10 Ω.
Power connections:
Connect the I+/I- terminals to the isolated power supply:
DC +ve: ● I+ (Red)
Ground: ● GND (Green)
DC −ve: ● I− (Black)
Connect the O+/O- terminals to the rheostat load:
Rheostat rail: ● O+ (Red)
Rheostat terminal closest to the rail: ● O− (Black)
DSO connections:
Connect DSO channel 1 probe to Ii. Set the following options, if they are supported by the DSO:
Set the probe to 1x.
Set the measurement type as Current.
Set the scaling factor to 4x.
Set the offset at 1.5 V or 6 A.
Set termination to 1 MHz.
Set the channel as inverted.
Connect DSO channel 2 probe to Io. Use the same settings as Channel 1.
Connect DSO channel 3 probe to Vo using the 20:1 attenuator. Set the following options, if they are supported by the DSO:
Set the probe to 1x.
Set the measurement type as Voltage.
Set the scaling factor to 20x.
Set the offset at 0 V.
Set termination to 1 MHz.
Set the channel as default/non-inverted.
Connect DSO channel 4 probe to Sa using the 20:1 attenuator. Use the same settings as Channel 3.
Jumper settings:
Insert jumpers ❶ and ❺ (●) to bypass the external current measurement.
Insert the GaN/Si jumper ❷ (●) to Sa/Sw. This connects the buck-converter inductor to the midpoint of the Si power pole.
Jumper ❸ (●) for the GaN FET’s external diode may remain inserted or removed, since this experiment does not use the GaN power pole.
Insert jumper ❹ (●) to connect the drains of the top switches to the positive DC bus (Vin+).
Remove jumper ❻ (●) to disconnect the capacitors across the switches.
Connect the USB cable to the power-pole board and the computer.
DC power supply settings:
Make sure that the DC power supply is fully turned down to 0 V prior to turning on the supply.
Turn on the power supply and gradually ramp up the voltage from 0 V to 15 V.
If the option is available, set the power supply current limit at 4.5 A.
The final wiring should look similar to this:
Click on the icon in the top dock of Workbench to transition from the simulation mode to the real-time mode.
Adjust the DSO time base to 2 ms per division.
Set the DSO to Trigger to the output voltage (Channel 3), rising edge, and level of 1 V.
Click to run the control algorithm in real-time.
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 and rerun it. Also, reset the trigger on the DSO.
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).
Zoom in to observe the switching characteristics.
Click on to stop the model.
List all the parameters of the converter used to design the controller.
Explain the controller design and list the computed controller parameters.
Attach the scope waveform of the output voltage from the simulation analysis.
Attach the DSO waveforms showing the voltage across the diode, the output voltage, the inductor current, and the input current.
"Power Electronics, A First Course," Ned Mohan and Siddharth Raju, Wiley Publication.