So here is my take, since this application is microcontroller based,
couldn't one simply just stop the discharge of the inductor when the
current nears zero?
Think about this - the only way to stop the "discharge current" is to prematurely ground the transistor in the boost device to start "charging" current thru the inductor - you have no option - to keep the inductor open circuit is to enter DCM and that is what you are trying to avoid.
The cycle for a boost converter (or flyback converter) can be: -
- Ground the inductor thus current ramps up and inductor stores energy (charge)
- Un-ground the inductor - energy gets released to the output cap and load (discharge)
- If inductor can't sustain current into load via diode you enter DCM and basically the inductor becomes open circuit except for the parasitic capacitance of the MOSFET switcher i.e. you get a damped oscillation until...
- The cycle begins again.
OK, so then what happens (in that cycle) is a tiny little too much energy becomes transferred to the output capacitor and load (during inductor discharge). This causes the output voltage to rise fractionally higher than what it would and, over a period of a few milli seconds, you might exceed the output voltage that is safe for the load. A few seconds later and you have a dead load and a few seconds later you have a dead boost regulator.
OK before you get to this, the control loop would probably have implemented cycle skipping but cycle skipping is noisier than ordinary DCM so why bother?
BTW, going into DCM isn't that bad - the line regulation of the output isn't as good but it's still quite controllable. There isn't much on the web about this but, due to the self-resonance of the inductor and MOSFET drain capacitance, once DCM is entered there is a small oscillating current in the inductor that is asynchronous to the PWM and when the inductor restarts charging it does so at sometimes a slightly positive or negative current. This can cause the noise on a simple controller such as a fixed-on-period controller.
I think you have a borderline but significant core saturation problem. Using your 3rd example, the current into the primary rises at a rate of V/L where V is about 311 volts (rectified AC and smoothed) and L is 1.6 mH. So, in 5 us I would expect to see the current rise to about 1 amp.
This is based on the basic inductor formula of V = L.di/dt
5 us is the on time for a 50:50 duty cycle at a switching frequency of 100 kHz
The primary magneto motive force (MMF) is ampere turns or 1 x 95 At. But, to calculate the H field, we need the effective length of the core (57.5 mm in the data sheet linked in the question) so H = 1652 At/m.
An ungapped core would certainly be saturating but yours is gapped and has an effective permeability of around 170 compared to a permeability of around 1520 ungapped (again these were numbers I calculated from the data sheet you linked). The effect of gapping can be seen as reducing the H field so, your H field reduces to an equivalent value of around 185 At/m for an ungapped core. This allows us then to look at the published BH curve.
Now, if you look at the BH curve for N27 you will see this: -
On the two diagrams I've taken the liberty of drawing a red line that shows where the equivalent ungapped H field peak value is sitting (185 At/m). As can be seen on the left diagram (ambient of 25 degC) 185 At/m is starting to significantly saturate your core.
It's quite critical that a flyback transformer does not saturate very much.
So, as the core saturates the inductance tends to fall and instead of a linear rise in current per micro second you get a seemingly out of control rise like this: -
This may lead to a very significant rise in the peak H field and the core starts to get quite hot. But, you may say: -
So what, the controller will limit the current to that needed to store
only the energy needed to pass to the secondary load
However, as the core saturates the inductance falls so what was sufficient current (for a given value of inductance and therefore the correct amount of energy based on E = \$I^2L/2\$), now needs to be more current.
Do you see the problem and this isn't even considering what happens when the core gets warm (see the graph on the right in the picture above). At 100 degC there is even more core saturation.
I think you are running into saturation problems.
Best Answer
Battery charging is usually low power and suits DCM better for size and efficiency. Whereas high current 100W converters reducing the current swing is advantageous with CCM to avoid saturation.
DCM flyback designs have both advantages and drawbacks relative to CCM designs.