If you want to go from 450Vdc to 5Vdc with a buck regulator, that means your switch has a duty cycle of roughly 1%. And if you also want to regulate the 5V accurately, then you need to have accurate modulation around that 1% duty cycle. Such a large input voltage to output voltage difference also means a large inductance for the filtering and this reduces the accuracy for changing current needs.
Yep, and even if you're as slow as 50kHz (20µs period), that's a 200ns pulse. Good luck getting a 555 to do that consistently. Sure it could be even slower still, but that's still only 500ns at 20kHz, and you don't want to be much below 20kHz because of audible noise.
What's missing is, sure, you're making PWM... but that's not
all you're doing.
What you're doing
first, is charging current into the inductor. Current goes up, current goes down. In steady state during one cycle, the rise and fall are equal. V = L dI/dt, for which we can change the dees to deltas with straight-line waveforms (square voltage, triangle current), and so a pulse of for example 400V * 200ns into a 100uH inductor is a rise of 800mA.
Note that's voltage across the inductor, so in a buck, it's Vin-Vout during on-pulse, -Vout during off-pulse (until current decays to zero, unless in forced CCM with sync rect).
Then, inductor current charges output capacitor, which sets output voltage. If you go straight from PWM to Vout, you incur a double pole transfer function, putting up to 180° phase shift into your control loop.
And for point of reference: you definitely don't do a pure timing based control, like pulse width inverse with supply voltage, or delay proportional to. Obviously you can't do fixed PWM% here, but even if Vin and Vout were fixed, you wouldn't, because there are too many sources of error to simply used fixed timing -- at least if you need any kind of regulation. Like, expect 5% or poorer regulation (defined as: change in Vout, as Iout varies from say 10-100% or 50-100% of rated).
So that justifies the control loop. And you control inductor current first (typically with a peak or average current mode loop), to limit switch current (especially important when dI/dt can be so high), output current, and to break the double pole (so both current and voltage loops can be stable without any hackery).
Speaking of which, between the two [current modes], peak is almost certainly better. With a fast comparator and driver, response can be within a 100ns or so, meaning the output current doesn't rise very much with input voltage, for a given current setpoint. Whereas raw PWM ("voltage mode" control), the modulator gain is directly proportional to Vin, so the control loop has to do a LOT of work accounting for that. And it's very hard to stabilize a control loop over a nearly
two decade gain range. (Average current mode, means using an inner current loop, whose error amp sets PWM% based on setpoint minus inductor current. So, PWM is still done by comparison to a fixed ramp. Naively, anyway; you would definitely drive the ramp from Vin, so some combination of its slope/amplitude/frequency is precooked to help out here.)
So you use two loops, an inner loop (probably peak current mode i.e. a comparator sensing switch current, turns off when crossing threshold), and an outer loop (setting that threshold, based on Vout). See UC3843 for a classic introduction to the method.
And then you also get automatic current limiting, during startup and output fault. You wholly eliminate one possible failure mode (excess switch current). It can still fail due to excess voltage or temperature, but even just one of them is big.
Output fault is kinda not so much solved by peak current mode, as most of the time is spent in flyback (catch diode on, or nothing / free ringdown) when there is no monitoring of inductor current. That is, if the output voltage is near zero, then dI/dt will likewise be tiny, and current won't have dropped much before the next pulse, which can only be so short, and as a result, output current continually ramps up. On the upside, with the low output voltage, a high-side current sense might be used to sense inductor current directly; level shifting isn't a big deal here. You can also reduce Fsw at low Vout, which is often used by ICs (either proportionally or stepwise -- depending, I suppose, on how good the mfg's analog vs. digital design engineers are..).
This all may seem unimportant to you ("Vout = Vin * duty, what could be easier!?"), or you're not aware of the dynamic issues (control response), or edge cases (like startup and fault conditions). Or you suspect it's solvable in the control just by tweaking values (well, again, not over a two decade range you won't!). The system is the whole thing, and you can solve issues anywhere in the system that fits; it doesn't have to be locked into a particular structure, like having a fixed-frequency PWM into a switch. The switch itself can solve issues for you (like if it shuts off after a particular time, or peak current). Make use of all opportunities -- you will need them!
(To be clear: you can compensate such a system, but what you will get is stable and fast response at maximum Vin, and extremely slow, lumpy behavior at minimum Vin. The output ripple (dynamic regulation, peak change in Vout for e.g. a step change in Iout) may be so high the output completely drops out, because the controller has to respond at a slow enough rate to handle max Vin but it's hardly getting any input error at min Vin. The challenge is to get stable
and fast response at all conditions, so that output impedance stays usefully low.)
I guess the easiest approach is to do it in two steps. Put two different buck regulators in series. The first one is able to tolerate 450Vcd on it's input, and it reduces that to something below 40V or so. When the input voltage drops below 40Vdc, then the switch in this pre-regulator wil simply always be on, so it's input and output have the same voltage (apart from diode drops, the series inductor etc).
Then, the second buck converter takes this (up to) 40V input and regulates it down to the required output voltage.
The second buck converter is one of the many standard circuits, while the first one can be quite simple because it does not have to regulate accurately. The high voltage regulator can be as simple as a reference voltage with a comparator and hysteresis.
Yeah, cascading isn't a bad idea, maybe not necessary -- the LinkSwitch and things PI has (and similar from others I think?), are made for this kind of range -- well, nearly anyway. But that approach can afford a more "conventional" solution (i.e. ordinary type regulators/controllers). Beware of either bootstrap power prohibiting 100% duty, or switch drop when not. Which really isn't a big deal, maybe you lose 2-5V out of a 12V input (1-2.5W) (using a non-bootstrap type), but that's less dissipation than say, full load current through a depletion MOS, in the 12-30V range before the LinkSwitch thing wakes up (potentially ~15W).
I don't know offhand what all regulators offer such features, though. LM2592 for example illustrates 100% duty but a higher voltage drop (the internal structure is a common-emitter PNP pulling up an NPN emitter follower), but doesn't go up to such high voltages. A discrete solution could be created, but that's a tough design, and it'll still be rather bulky and expensive.
Bootstrap kinds, at least the maximum duty isn't an issue here!
In any case, watch out for minimum duty cycle / pulse width. Don't want to be stuck grinding on burst threshold instead of normal operation (that is, even if load is high enough to be in normal continuous operation, it might not be able to switch at a low enough duty cycle for the desired output voltage, driving the controller into cutoff; as a result, it shuts down, either reducing Fsw, skipping pulses, or something else noisy like that).
Tim