Just spend a bunch of time trying to optimize the circuit around the ‘float’ when the circuit is unloaded, thought I would document some of those findings here….
The value of Rsense (R7 in the model) has a huge impact on the level of the unloaded float. Now I will say that the model is limited a bit here and so I actually did a bunch f actual experimentation with the circuit in addition to modeling. The problem with the model for this question is that it takes too dang long. To see the float in the model you really need to run the model out to 15-20ms or further. Sure you can speed things up by telling the simulation to not record the first 10-15ms of waveform, but it still takes a dang long time. Sometimes much faster just to whip out the soldering iron, change the Rsense resistor and physically try it.
Back to Rsense…
The Application Note never really comes out and says RSense impacts the float. It says the float happened because there’s a “minimum on-time” to generate a feedback voltage to approximate the output voltage. Doesn’t say anything about RSense, but… what you find from examining the wave-form in the simulation is a single sharp spike when the FET starts feeding power to the primary followed by the few cycles of “minimum on-time”. It’s that sharp spike that really drives the float up. And yeah, Voltage implies current, so too there’s a large current spike….. That’s where the brain finally kicked in. RSense (which is there to limit maximum current through the primary) should be able to limit the “minimum on-time” current spike as well.
So ideally, you want Rsense large enough so that you get full power under load, but small enough to limit the float without any load. Now that’s a good modeling exercise, how large can you make RSense and still get full power?
Ah too, reality kicks in. Rsense is in the range of 0.027 Ohms. Yeah that’s point zero something Ohms. That’s small enough that the actual result is highly dependent on your circuit board layout. So best you can do is use the model to get in the ball-park and then purchase resistors around that value, then actually experimentally determine the ‘optimum’ value.
Also, using the Zener (D2 in the model) to manage the float has it’s own set of problems. For one, there aren’t a lot of zener values supplied with the simulator. So without tracking down a bunch of new components, doing much simulation is hard. Two, you can’t get too accurate on the output voltage. You need enough change in the output so that the zener solidly switches on and more importantly OFF. With a Zener value too low, all your power goes into the Zener rather than the load and -poof- no more zener. Zener value too high and the ‘float’ still gets out of hand. Three, Zener values aren’t extremely accurate. Best combination I got was a 5.1V Zener running with a 5.0V load. Float gets up to maybe 5.2V and I’m pulling about 1/2 watt through the zener without an output load and the zener does shut off.
Note on the actual circuit design…. I stuck a 1 Ohm resistor in series with the Zener so I could measure the current through the zener on the fly in the real circuit. Helped immensely.