J
Joel Kolstad
Guest
I was curious how one goes about implementing the feedback loop portion of
software that's controlling a flyback architecture switching power supply?
At startup, I'll have a large error voltage since the output is zero (read
in using an 8 bit ADC) and therefore even with moderate gains I'll crank my
PWM output to it's maximum duty cycle (65% in my case). However, when
lightly loaded, the output voltage will shoot _way_ beyond the desired
otuput voltage long before the control loop is run again to regulate things.
(My control loop runs at about 780Hz.)
I'm thinking that rather than doing something like:
DC=P*(Vo-Vref), where DC is the duty cycle of the PWM
....I need to do something more like:
DC=DC+I*(Vo-Vref)
Notice that the first case is the 'P' from 'PID' control whereas the second
case is an 'I only' controller.
Does this sound reasonable? Are there better methods?
Thanks,
---Joel Kolstad
software that's controlling a flyback architecture switching power supply?
At startup, I'll have a large error voltage since the output is zero (read
in using an 8 bit ADC) and therefore even with moderate gains I'll crank my
PWM output to it's maximum duty cycle (65% in my case). However, when
lightly loaded, the output voltage will shoot _way_ beyond the desired
otuput voltage long before the control loop is run again to regulate things.
(My control loop runs at about 780Hz.)
I'm thinking that rather than doing something like:
DC=P*(Vo-Vref), where DC is the duty cycle of the PWM
....I need to do something more like:
DC=DC+I*(Vo-Vref)
Notice that the first case is the 'P' from 'PID' control whereas the second
case is an 'I only' controller.
Does this sound reasonable? Are there better methods?
Thanks,
---Joel Kolstad