Observer design for buck boost converter
Show older comments
I have derived the nonlinear state-space equations for the Buck-Boost converter and have also linearized the system around the operating point of −40 V and 6 A. 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 6 A and −40 V. However, when I tested the same controller on the linearized model, the output voltage reaches −40 V correctly, but the inductor current settles at 10 A instead of the expected 6 A.
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 −40 V and 6 A. 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
Find more on Linearization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!