Hello!
So I've been designing a very high current H-Bridge controller, (16-72V,0-100A, 100KHz-1MHz [different component configurations]).
Those are pretty aggressive goals, if a few happen to coincide. 100A in a single module is challenging. I would suggest stopping at 30 or 50A, and paralleling several (which often invites other techniques, like phase shifted converters for reduced input/output ripple). Likewise, you're not going to be doing 100A at 1MHz, that's just ridiculous. I would be impressed if you pulled it off, but I'm guessing it still wouldn't be very good.
The voltage is no problem; somewhere in the 100s of V, you'll want to ask if you should use isolated gate drivers (transformers, optos, iCouplers, etc.) instead of HVIC bootstrap driver chips, but it's not a big problem. The main difference is your supply bypass and snubber (if present) capacitors must be physically larger, which limits operating frequency by stray inductance. It's a more gradual impact than the current or frequency ranges are.
If your zone of interest is something of a three-dimensional trapezoid or octahedron between those ranges of current, frequency and to a lesser extent voltage, then that's absolutely reasonable.
As for the components: take time to understand the role of each component in the circuit:
Before I finish up this section of the project i wanted to know if anyone had any recommendations about circuit protection mechanisms for such a H-Bridge.
I currently have:
Fast 100A Fuse on input (I don't want to overrate this, it'd be dangerous).
Remember that a fuse is only there to protect the wiring; your transistors will die in 20us, the fuse in 2ms at best. 100 times slower.
You can use
an active circuit to attempt to detect such a fault and open it before it becomes fatal, but it's as often an annoyance as a savior because you will likely have spikes due to capacitor charging and load starting.
Note that the "fuse" still contains a... fuse. Such devices still don't protect wiring, not in an agency-approved manner anyway.
It's worth noting, also: a fuse only blows if sufficient energy is available to burn it out. If your source is a switching supply of nominal rating, it will probably simply brown out and go into pulsed restart operation. If it's rated much greater than your circuit (say, because it's powering ten of your modules, only one of which has a fault), the excess current will probably punch through whatever's faulting and cause a fire hazard (hence: needing a fuse).
Whereas if your supply is a linear (iron cored transformer + rectifier) kind, it'll probably need the fuse either way; but, in the nominally rated case, the fuse can be at the input as well, since fault current at its secondary will draw fault current at the primary just fine. The 'fanout' case, you'd still want a primary side fuse for all, plus individual fuses for the modules.
Speaking of primary side fuses; I guess they still like to see those in equipment, even though the supply itself has one inside.
So, that covers not only little circuit modules, but can extend all the way to machine level protection and wiring rules (which vary by state/country; do check).
Input Polarity Protection,
Arguably not needed (if the bridge is wired with MOSFETs or co-pack IGBTs, the internal diodes will prevent reversal, "by force if necessary"
), but if "force" is more undesirable than the extra diode drop, yeah, this can be a good idea. Example: automotive application (device must tolerate -Vbatt without change).
TVS devices pretty much everywhere,
Ehh... good and bad. Literally on every circuit node would be dumb, but doing that for the supply can be handy. Not needed on the output, because the bridge's body diodes will clamp that to the supply or GND just as well.
TVS diodes need to be rated for at least the maximum nominal supply voltage -- so, for an automotive application again, it would have to be 24 or 30VDC. But, with a breakdown around 35-40V, they would also have to be big enough to stomach a load dump (at that voltage, maybe 10-20A worth: not the full short-circuit current of the event, but still way more than is reasonable). So 40-60V devices might actually be desirable, just to save size and cost. But the knock-on effect of that is, you need all the bridge components to tolerate TVS(nom) + 50%, or 80-100V, so the transistors become way bigger than they ordinarily need to be.
The other option is "riding out" the load dump, by using something like an LDO set to normally be in dropout all the time (as the input voltage surges beyond nominal, this protector only needs to dissipate excess voltage * load current, without having to dissipate load dump current!). Or use a UV/OVLO chip that disconnects the load entirely, outside of the nominal voltage range.
Spark gaps,
Useless -- think front-line defense for very long wires (in-building and between-building runs), combined with a series of impedances and other protectors for bringing the signal down, finally, to a safe circuit level. Even a very high voltage converter (kV+) will not generate spikes sufficiently high to be protected by a spark gap -- just for the unreliable breakdown if nothing else.
High speed Catch Diodes inside the N-MOSFET's trr=64ns,
Not sure what's meant here?
The body diode for lower voltage MOSFETs is quite reasonable, even up to 1MHz (for the V/I that you'd be using at that frequency, I assume). You can safely assume that the body diode is always rated for load current; but do check, and if you don't see the rating in the datasheet, run away and buy one that does -- it's probably got much more wrong with it anyway!
High speed high side and low side synchronized switching.
If this is a general purpose module, it might pay to bring out all four switches independently, but also having a jumper option to drive the "left" and "right" sides with complementary signals, or "top left" and "bottom right" and vice versa.
Whatever the case, should be easy and nice with a couple logic gates (at worst) and some typical bootstrap gate driver chips. For the higher input voltage ranges, you'll want to consider an HVIC type (200-600V rated), but below 40V, say, a HIP2101 or similar would be just fine.
BTW: some drivers include dead time protection. This is probably undesirable for a general purpose bridge, and interference switching can be beneficial.
1.5KV isolation to controller and bridge.
Ah, interesting. So you'll need low voltage supply as well, either isolated from the control side, or derived from the bridge supply. Easily coupled with some logic isolators, of course. Probably high speed (logic output) optos or magnetic isolators.
Regarding magnetic isolators, read the datasheet carefully; if they don't brag about "refresh" technology, run away! The ADI iCoupler series does this (I think sending a refresh pulse every few us), ensuring that, if the input and output go out of sync (say due to a magnetic transient, which they're pretty resistant to in the first place), it won't just end up stuck on forever. There are also TI parts and a few others which do. Some or all Si-series parts I think (beware, they're also the cheapest ones) don't make mention of this.
I wouldn't consider a "non refresh" type to be acceptable for any more than line-coded digital data.
Which is still an option: you could have an error-correcting communication channel, maybe using UART channels between two MCUs, and put the controller on the isolated side. Which adds more features (including monitoring and protection), but also adds a lot of complexity (you've doubled or tripled your software load!).
I know MOVS can withstand higher voltage than high end TVS's, but I cannot use them because I don't want the device to expire after the MOV's EOL.
MOVs aren't as vulnerable as they're made out to be; that's mainly from using too-small devices on too-large transients (i.e., teensy discs against freaking lightning). The main downside for circuit protection is, the knee is VERY gradual, so expect a transient to about twice the rated voltage; which in turn means your circuit needs to survive triple the rated voltage! Going back to the automotive case, you might use an MOV at the input, followed by an LDO or OVLO type protector rated for that triple voltage case; that way your most expensive device (the high voltage rating, with a low voltage drop while saturated) is only needed once, not multiple places in the power circuit.
Other important protection that you may've forgotten, or aren't aware of:
- UVLO -- make sure those gates are driven with sufficient voltage. Gate drivers often have this, but they often also have it at an inconvenient threshold, like 4.5V, and they're per-channel or per-chip, rarely if ever with a logic output to indicate if they're working.
- Desat -- some drivers incorporate this as well, but it can pay to have central sensing/control of this too. MOSFETs don't really "desat" the way IGBTs do (desat protection is a big deal with IGBT switching circuits in the 300V+ and 50A++ range), so it can also help to have user defined thresholds.
- Overcurrent -- Again, some drivers do this, but it's almost always a bad idea; if one transistor turns off, voltages just go crazy, and confuses the hell out of your controller because now it's not the only thing doing control! Do, absolutely, take every effort you can, to design your circuit with
current mode control first and foremost. Whether you're switching transformers and inductors, or motors, or just dumb heating coils or something, the key variable is always load current. Too much current and the transistors let out the smoke, but also, current is the variable you want to control for inductive loads. Add a second control loop to regulate the process variable, after regulating current (which might be output voltage, or motor RPM, or whatever).
You'll want to consider carefully what method is best to bring these all together. Local management is probably the best idea, but has its issues. Consider:
- Detect all three events, per transistor (or whatever combination is equivalent -- obviously, the desat voltages are only ever referenced near supply or ground, and the currents are only ever flowing through a pair of transistors, though you don't necessarily know which pairs -- depending on which ones are, or were, conducting!)
- Filter the signals, to allow some room for transients (if the transistors cook off in 20us, you're relatively OK for the first 5 or 10us -- which is relatively an electrical eternity, considering we can switch them in ~0.1us)
- Bring the signals into, say, a series of flip-flops, so that: you know which event caused the trip; all the trips go into a main "Everything's NOT OK" flip-flop, which also controls on/off operation of the bridge; and gates all the direct gate drive signals
- So you'll have at least two additional user inputs: "GO" and "RESET" (which can also be "STOP"), and at least one more user output ("FAULT"), but maybe you'd like to forward each flip-flop state for error reporting (FAULT + UVLO, Desat, etc.).
- This starts to take up a lot of channels, so maybe you'd like to compile them into a serial bitstream (shift register and clock?). Or use a local MCU. Damnit...
- You can also consider having a really, really dumb user interface, like, just some buttons and LEDs with a slow serial channel between them, and do all the actual thinking and computing on the isolated side. If you have a graphical display, it doesn't need to be isolated, it's behind plastic! So maybe you don't need two MCUs after all, just push the user stuff off to the side instead.
Loads and loads of variations on things you can do. The above is probably the kinda best generally purposey way, but you may have very good reasons, within a set of applications, to do it one way or another. You could pipe all the fault signals back to a main controller, including isolation, if the propagation time isn't bad, and you can ensure the controller is awake to do its thing (I'd recommend this more with static logic, or at worst an FPGA, but not with software that can freeze). Advantage being, you know, down to the individual transistor, "who dun it".
Or maybe the local per-transistor flip-flop is desirable, and you have it act passively, because it's intended that it turn off when it reaches peak current; and it simply turns on again with the next pulse. You could built a quick and dirty peak current mode converter very easily this way. You might still use the on-board logic (rather than opting for the gate driver chips with these features included), just for generality, but that's still an option, too.
Tim