Hi,
I have designed a control loop for a BuckBoost Converter in Simulink. I am using the 2 Pole 2 Zero controller from the Digital Power Library for realizing my controller on the TMS320F28035 @60Mhz. The Switching Frequency for my FETs is 100kHz. So the update Rate for my control loop is also 100kHz.
I have coefficients like this from Simulink: b0= 0.32; b1=-0.56; b2= 0.25; a2= 0.013; a1=-1.01
The coefficients needs to bee implemented in Q26 format. In this case, my coefficients will fit into the range of Q26.
But my concern is the following:
the ADC-Macro from the Digital Power Library produces an output with the Range from 0 to 1; In the Hardware i use a Voltage divider 1/50; and a Reference Voltage of 2.048V for the ADC. So I have to scale down my desired Reference Voltage by approx. 1/100. This is also what the ADC does in my case.
The Difference of these Values with the Range 0-1 is passed to the Controller. The Controller outputs the Duty Cycle also in a Range of 0 to 1.
But where comes my Scaling factor of 100 (from the above ADC) into account? do i have to scale my b-coefficients from above with the factor of 100?
The Problem is, when I scale my coefficients with factor 100, they won't fit into the Q26 range.
So how is it done when I want to control high voltages (100V for example)? How can I solve the Problem? or am I totally wrong with my assumptions?
Thank you!