Observer design for buck boost converter

I have derived the nonlinear state-space equations for the Buck-Boost converter and have also linearized the system around the operating point of −40V and 6A. I selected closed-loop poles at −237, -335. I then designed the servo controller by computing the state feedback gain K and reference gain Kr accordingly.
When I implemented this controller in the nonlinear system, it worked as expected — the system converges to 6A and −40V. However, when I tested the same controller on the linearized model, the output voltage reaches −40V correctly, but the inductor current settles at 10A instead of the expected 6A.
Following this, I proceeded to design a state observer by placing the observer poles at ten times the controller poles (−2370, -3350). When I implemented the observer-based controller, the system failed to settle at −40V and 6A. Interestingly, the output voltage from both the nonlinear model and the linear observer model still tracks closely — but at the wrong steady-state value. I also tried using the control input as a combination of the estimated current and the actual voltage, i.e., [x^1,x2], but the results remained inaccurate, likely due to incorrect current estimation from the start.
In addition, I observed that the control input u is incorrect and the difference between the actual output and the observer output (Cx−Cx^) does not converge to zero. To ensure my base model was valid, I also tested the nonlinear model in open-loop with a constant u=32, and it correctly reaches the expected steady-state values.
At this point, I am unsure if the issue lies in my linearized model, observer design, or some deeper aspect of the control structure. I would greatly appreciate your advice on how I should proceed.
to be used in workspace
A = [0 20.95118374;-709.2198582 -106.382978]
B=[3771.213074;12765.95745]
phi=[-237 -335]
K=acker(A,B,phi)
C=[0 1]
Kr = -inv(C * inv(A - B*K) * B)
phi=[-2370 -3350]
L = acker(A', C', phi)'

Answers (0)

Categories

Asked:

on 28 Mar 2025

Commented:

on 28 Mar 2025

Community Treasure Hunt

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

Start Hunting!