What I'd probably do:
- 12V synchronous buck regulator. This produces +12V and is rated for about 3A alone.
- The buck inductor is dual winding, and the secondary is rectified with the correct phase to get -12V. This works for any combination of load currents, as long as the buck converter is always active (synchronous). (If a non-synchronous regulator is used, the load on +12 must always be greater than the load on -12, otherwise the -12 catch diode takes over and regulation is lost.)
- 5V from a separate regulator, which may be the same type, or a different type; cascaded (powered from +12V) or not. Cascading has the advantage of automatic supply sequencing: 12V comes up first, then 5V shortly (or jointly) thereafter. (Sequencing can also be done through the soft-start pin on suitable regulators.) If not cascaded, then the +12V regulator only needs to be rated 2A.
- Maybe a single LC at the input and outputs, and laying out the supply section so the inputs and outputs are all to one side. This avoids crossing ground loops, and facilitates good filtering.
- If 15V is a little too tight for any regulator, or the input minimum really is lower than this still (say it needs to continue operating, even for momentary or sustained dips to 10V or less), I would choose a SEPIC configuration instead; this can (almost trivially) use secondaries to generate as many voltages as you like, so +/-12V is easy, and +5V is harder (you need a custom 5/12 turns ratio), but that can either be solved by following it up with an LDO to make nice clean 5V, or tweaking the tolerances on everything so both supplies are marginal but it works out (i.e., 5.5V is 10% high, while 11V is 8% low, but this may be acceptable after all -- supplies are largely arbitrary, and rarely need to be well regulated).
That's an overview of the production-grade solution, but that may not be all that helpful for a newbie; for that, I would suggest:
- Individual buck modules or regulators, as you or others have noted. If board-level, follow the application information and recommended values. 12V 1A should be pretty close to a standard example, or use a design tool.
It'll probably work, and not need weird tweaking like compensation done.
Or for modules, plop it in, use whatever capacitors are recommended (if any), and there you go. If it's freaking out and you can't figure out why (and maybe you'd need a scope to figure it out?), can always try another module. (Alas, the pinouts may not be compatible. The three-terminal modules are usually the same, so that's nice!)
- For -12V, you may try a bootstrap mode regulator. This is shown in the application section, maybe not on LM2596, but a bunch of the SimpleSwitchers show how it's done. Basically the output gets tied to GND, and what used to be GND, gets pushed down and becomes your -12V rail. The input sees the sum, or (15-20V) - (-12V), so you need a reg with a relatively high input voltage rating (>= 40V). It also sees the difference of currents, so you need a 2A regulator for a 1A output.
Alternately, use a 12V 1A DC-DC isolator module. Over the top, definitely more cost; but you can put that output wherever the hell you want, and it'll always have 12V (at up to 1A..) across its pins!
- Would still recommend input and output filtering. Connect to the inside bulk cap, an inductor of maybe 1uH or less. Put a ceramic cap maybe 1uF on the other side (the external facing side) to ground, and again, arrange the input and outputs at the edge of the area so switching ground loops are avoided. (There's always an internal bulk cap, so overall, this gets you a CLC filter on each terminal.)
Easy, this way, to get lots of attenuation at switching frequencies (~100kHz) and modest harmonics (into the 10s MHz); good layout (or even shielding) is required for good attenuation into the 100s MHz.
Tim