As far as I know, BJTs are better than MOSFETs at high frequencies (for example "hard" PWM) because MOSFETs have larger parasitic capacitances (Ciss/Cgs), is this correct?
If that's the case, why do people use MOSFETs for PWM and not BJTs?
As far as I know, BJTs are better than MOSFETs at high frequencies (for example "hard" PWM) because MOSFETs have larger parasitic capacitances (Ciss/Cgs), is this correct?
If that's the case, why do people use MOSFETs for PWM and not BJTs?
Why do people use MOSFETs for PWM and not BJTs?
Mostly because driving BJTs is a relative pain in spite of their lower input capacitance. They are current controlled devices, not voltage controlled, and they take a lot of current. Even small switching power supplies that fit in one's hand switch tens of amperes like it was nothing much. So that's what would need to be done with BJTs.
Low voltage MOSFETs can have quite reasonably driveable gate capacitances. The gate drivers have to push 10s of amperes into the gate, but only for a very short time, on the order of nanoseconds or tens of. Even at 1MHz switching frequency, that's only a couple % of time spent switching. The rest is quiescent: no gate current flowing, no attendant dissipation from the drive circuit.
Now, to minimize losses, BJTs have to switch hard, so they'll be operating with small V(CE), and their current gain may well suffer for it. A "small" V(CE) for a BJT is still an order of magnitude or two larger than that of a MOSFET in a low-voltage power application. So, those BJTs generate a lot of heat just from conduction loss. They may switch "faster" ultimately, but the losses they incur from having to be driven all the time are quite enormous.
A switch that has to push 30A peak may need a couple amperes of base drive when it is on, not only during switching events. Iif that base drive can't flow into the output or into an additional inductor to be recuperated, it's additional loss. While the base current is flowing, it's flowing through the base-emitter junction - that's up to 1V of voltage drop for the base current to make heat on.
The base charge needed to go into saturation needs to be controlled, often in closed loop, so that not too much energy is wasted when turning the switch off, having to desaturate it - but there must be enough charge to saturate the switch.
BJTs make better low power RF amplifiers than MOSFETs, but that's not how the majority of discrete MOSFETs out there are used. Pretty much all discrete power MOSFETs are used in switching power supplies and power conversion in general (e.g. chargers,) with a chunk left over for motor drives. The other applications are comparably a rounding error on the global scale AFAIK.
Switching supplies in the late 70s through late 80s did use BJTs as switching elements. They were designed to work reasonably well, but the engineers designing would have sold their souls for modern power MOSFETs, if that was made available as an alternative to them. Anyone competent back then could whip what passes for a gate driver on the back of a napkin. So they'd have been more than happy to generate those current pulses to get the MOSFET switches switching.
Finally: For hard small-signal voltage switching, BJTs sort of suck without either Schottky clamps or gold doping to vastly reduce the stored charge. Try building digital logic out of discrete small signal BJTs - even RF types - vs discrete small signal MOSFETs. The BJTs are slow as molasses compared to MOSFETs in that application. They will stay fast as long as the stored charge doesn't accumulate, so switching them at 50% duty cycle and quickly will give appearances of good performance - but past that point it'd be like hitting freshly laid hot asphalt.
To make BJTs fast - faster than MOSFETs - they need to switch currents, not voltages. That means ECL logic. A heating element that incidentally also computes. Now, don't get me wrong, ECL is quite an amazing logic family, but if, for whatever reason, I was asked to build discrete logic for a demonstration, I'd always go with CMOS from discrete parts. It's pretty much foolproof and if you don't make logic mistakes, it'll pretty much work on first try. BJTs will be much harder unless you prototype first, or copy an established logic family like TTL.
Be careful you do not mistake analog bandwidth vs digital switching speed. When you say or hear "BJTs are better at high frequencies", what is often being referred to is bandwidth as an amplifier for analog signals which (apparently) is not the same as digital switching speed. The issue seems to be quite complex as far as the switching speed and bandwidth comparison between MOSFETs and BJTs and what I said just now is as close as an answer as I have ever gotten.
But there are other considerations for PWM other than frequency and these are much easier to understand.
The first advantage of MOSFETs is that the gate drive currents do not need to scale with the source-drain currents. With BJTs, if you want to pass a lot of collector-emitter current, you need to increase the base current which can be problematic.
The second advantage of MOSFETs is that "low voltage" devices, the source-drain resistance is low enough to best BJTs, which have a fairly fixed collector-emitter voltage drop at saturation, in conduction losses.
However, as you increase the voltage rating of devices, the source-drain resistance of MOSFETs increase and the balance between tradeoffs for different types of transistors begins to change. At sufficiently high voltage ratings, the fixed collector-emitter voltage drop of BJTs results in lower conduction losses than MOSFETs.
This is the reason IGBTs exist. They try to combine the lower conduction loss of BJTs at higher voltages with the easier drive of MOSFETs.
The BJT is harder to drive than the MOSFET or IGBT. High current high voltage devices can have a current gain of less than 10. More complex circuitry, like a proportional base drive drive or Baker clamps, to keep the BJT out of saturation is needed to keep switching losses reasonable even at 20 kHz.
When this is done, the switching losses are still more than the MOSFET and the onstate voltage drop is higher leading to more conduction losses. In earlier decades the RDS,on of the MOSFET was much higher and the MOSFETs were much more expensive so BJTs were used.
These days the only really expensive MOSFETs are the high voltage, low resistance ones. IGBTs which are slow and cheap and easy to drive are used here.