How to auto-tune PID parameters for isolated converters like a phase-shift full-bridge DC-DC converter?

6 views (last 30 days)
I want to auto-tune the PID controller for an isolated DC-DC converter, specifically a phase-shift full-bridge (PSFB) topology. The goal is to automatically determine the optimal PID parameters (Kp, Ki, Kd) for voltage or current control loop using simulation tools like MATLAB/Simulink or real-time data.

Answers (1)

Sam Chak
Sam Chak on 3 Apr 2025
Generally, you desire a 'smart' program that autotunes the PID controller without requiring the user to specify the desired performance requirements. The program should at least stabilize the system with the commonly desired phase margin of 60°. If that is the case, the Control System Toolbox has a useful function called pidtune().
help pidtune
--- help for DynamicSystem/pidtune --- DynamicSystem/pidtune - PID tuning algorithm for linear plant model This MATLAB function designs a PID controller of type type for the plant sys. Syntax C = pidtune(sys,type) C = pidtune(sys,C0) C = pidtune(___,wc) C = pidtune(___,opts) [C,info] = pidtune(___) Input Arguments sys - Plant model dynamic system model type - Controller type 'P' | 'PI' | 'PD' | 'PID' | 'PI2' | 'PIDF2' | 'I-PD' | ... C0 - Baseline controller pid object | pidstd object | pid2 object | pidstd2 object wc - Target crossover frequency scalar opts - Tuning options pidtuneOptions object Output Arguments C - Controller pid object | pidstd object | pid2 object | pidstd2 object info - Additional information struct Examples openExample('control/PIDControllerDesignAtTheCommandLineExample') openExample('control/DesignStandardFormPIDControllerExample') openExample('control/SpecifyIntegratorDiscretizationMethodExample') openExample('control/Design2DOFPIDControllerExample') See also pidtuneOptions, pidTuner, PID Tuner, Tune PID Controller, pid, pidstd, pid2, pidstd2 Introduced in Control System Toolbox in R2010b Documentation for DynamicSystem/pidtune doc DynamicSystem/pidtune Other uses of pidtune slTuner/pidtune

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!