unstable DSP-controlled smps

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I have a small setup that consists of a DSP-board that controls the on-time for a boost-smps. I have sense-points on Vdc (input), and Vo (output) voltages, but no current sensing for the switch mosfet. In this application I have assumed that the load will behave well, and not draw more than its limit (70mA) current.

The switching frequency is 26.5kHz, and I employ a hysteretic control scheme, where the on-time when Vo is below its set-point is a constant that depends on Vdc, to allow the inductor to charge to a predefined energy level (thus a fixed Ipk) for each switch cycle. This value is also chosen to keep the smps in the discontinuous region with a 30% margin for my maximal load/voltage combination.

During start-up, and load-step conditions I want to avoid switching too often, and thus letting the inductor current build up into the continuous region. My strategy for this is to demand Vo to drop lower than its last peak before again switching on, to be sure that the inductor current cannot climb (since the inductor cannot release of its energy fast enough before Vo has climbed high above Vdc).

My switch period is constant, and at ~10% from the end where no switching has taken place for a while to lower the noise, I get an ADC-interrupt when both Vdc and Vo have been sampled, and the on-time is decided for the next switch period (will be updated in time before these 10% have run out). If Vo is below a certain level AND Vo has dropped below its last sample value (thus it has rolled off the peak), the duty-cycle for the next period is set according to the above rule, otherwise it is set to zero (skipping this cycle completely).

The circuit works, and keeps the voltage constant, but I can clearly hear the inductor saturating, both for low and high load. At low load, it makes a ticking noise maybe 10 times/second, and at high load it makes a semi-random screeching noise. What I wonder is if my control scheme is fundamendally flawed, and what can be done to make it work better. I am quite confident that the noise from the measurement points is low enough not to be that much of a problem, but I will still try to make it a few dB lower by increading the sample-period. I also know that I should have headroom before saturating the inductor..
 
zilog said:
Problem solved - was an error regarding when duty cycle updates should take effect. Now the smps runs fine except some % voltage instability from the noisy signal lines..


Now the output voltage is stable - adding a hysteresis-band of ~100mV or so to the relay-behaviour of the controller solved everything. Now the output voltage has a sawtooh superimposed, where the voltage climbs to a certain value and then idles down for a while, then climbs a bit bove the set-point and again drops for a while. The higher the output current, the more often this happens.

Now on to the problem with writing a flash/sram-loader tool for the DSP since the license for the original tool-chain runs out in a couple of days, and I'm too cheap to prolong it...
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.