You have an interesting design. It would be a great help if you could also post the PCB design.
Just wanted to give back to a forum who's material has helped educate an electrical engineer understand mechanical stuff. Any I will try to be brief.
I am converting my HF 5980 to computer control using 3ea stepper motors for the X, Y, & Z axis. The mechanical stuff is everywhere but the Driver to supply my NEMA 23 495oz in motor with the needed 85VDC was not, at least at a fair price. Then when I decided to use a NEMA 34 stepper motor with a 12mH winding inductance the needed 110VDC bipolar driver was nowhere to be found. So I designed one. The spec's are below:
The design is based on the old L298N Dual H-Bridge Driver I.C. except that the I.C. is not used but the design replaces that chip pin for pin so that any design that once used the L298N with it's limited voltage & current can now operate Drives up to 150VDC @ 4A per winding. The design still needs an I.C. like the L297N to drive it or if microstepping is needed a PIC or ATMEL mpu.
The design has the 4 inputs A/B/C/D plus ENA_1 / ENA_2 plus the 2 current sense outputs and of course 3 seperate inputs for +5VDC to power the logic chips, +12VDC to power the FET Driver chips, & the motor voltage which can be anywhere from 35V all the way up to 150V. One could add a standard +5V linear regulator to the design's pcb thus reducing the voltage inputs to 2 vs the 3 there are now.
This design works & works well. But does require a heatsink for the FET'S & DIODES. Speaking of which I used 8ea FSC FQP32N20C 200V 28A .081 ohm RDSon TO-220 FET'S for the dual H-Bridges. The FET's are driven by a NICE SMT SO-8 IC also from FSC, a FAN7371 which by design is a High Side FET driver but I am using it to drive both my High & Low side FET'S which keeps timing issues to a minimum. Now the logic section is made up of 8ea SOT-23 devices that are called Tiny Logic. I used 4ea AND gates & 4ea Configurable AND gates to duplicate the L298N'S logic section. By going this route signal are where they need to be & not being all together in a single quad AND gate & a single Quad configurable AND gate or as it turns out one must if using a standard type logic chip use 2ea quad AND gates & 4 inverters leaving 3 left over & wasted. My way no waste, no signal delay, no noise from a trace that is parallel to another one that has high currents on it.
Anyway enough of my blah blah blah, I am posting the whole design data package up here for all to see & use. My use for this design is personal & I have laid out & milled a pcb which I used for it's testing. But as with all of my designs it is never good enough so I am working on a L297N knock off which will control this circuit but use a simple mpu from either Atmel or Microchip. I have found a few that should work but as I need a good ADC for reading the current plus a solid referance voltage source. But that is later right now the circuit is driven by a LM297N IC with optocouplers on the 3 needed inputs.
If anyone is interested in doing a board layout do not forget to add a L297 or other controller as this is just the high voltage H-Bridge with logic section.
By looking at the L298N inside's from the datasheet you can see that I just copied it until I got to the H-Bridges then newer better faster devices were used.
I was able to build the prototype for under $25 thanks to the FSC sample program. They sampled me all of the semiconductors as did T.I. for the logic I.C.'s also thru the sample program, so my only output was for the passive parts. The local National sales rep got me a couple of thier LM297N I.C.'s to use to test out my design, then I plan on using a MPU instead of the LM297N controller, but until then I am using it for all my testing.
I hope all who can use this type of design enjoy it as it is working great for me & the heat it generates doesn't even come close to the output of my PC's power supply.
I WAS INFORMED BY A MEMBER OF THE BOARD THAT BY MY PLACING JUST PART OF A DESIGN UP PROBLEMS MIGHT HAPPEN WITH THE MAIN ONE BEING SHOOT THROUGH. SO TO MAKE THE DESIGN BETTER TO UNDERSTAND THERE IS AN ADDITIONAL PAGE ADDED WHICH IS THE PWM CURRENT CONTROLLER IC & A PIC16F628 FOR IT'S CONTROL.
As with any design that is only a partial some thought needs to be put into it. With mine the timing needs to be controlled else shoot through will happen causing damage to both your low side fet & high side fet. Because the L298N was a H-Bridge made from Si NPN Power transistors there was never any form of protection for shoot through put into the chip, & as this circuit is a really just a high voltage higher current N-Channel H-Bridge replacement there was no SHOOT THROUGH PROTECTION designed into it.
As with ALL working designs there should be a better explaination of which I am guilty for failing to inform the reader that he or she was required to put in thier own SHOOT THROUGH protection in. We used 2 methods, the 1st was to delay the turn on signal to the low side fet by 1uS thus making sure that the opposite high side switch was completely off. The 2nd was to play with the high side FET's miller effect, this was done by adding a 10 ohm resister in series with a .001uF capacitor from Drain to Gate of the high side FET. This caused the high side fet to turn on slower & limiting the current through the FET which in turn stopped SHOOT THROUGH but again the values which did work for us might not work for you. So the best way is a shown in my last pdf file posted.
The L6506D controls the High Boltage High Current Dual H-Bridge circuit while at the same time pwm'ing the signals making the control a lot better. the l6506D is controlled by a PIC16F628 mpu which handles all the needed timing while watching it's input pins for direction, step & enable commands.
It is the PIC along with the L6506D chip that is stopping the over current & shoot through by 1st watching the current & also by delaying the signals sent to the L6506D which then go to the gates of the H-Bridge FET's. This delay of the signals by 1uS is what stops SHOOT THROUGH.
My next design will use a FSC High & Low Side Driver I.C. which has dead time control that the designer can adjust to what ever delay he wants for his circuit. This is the best way to stop SHOOT THROUGH as it does not require a mpu to operate the circuit. And that will be my next posted circuit. But my posted one now does work as long as you program the mpu to delay timing to insure 100% turn off of the fets.
Good Luck.... BAGGS
Last edited by baggs; 08-28-2008 at 03:58 PM.
You have an interesting design. It would be a great help if you could also post the PCB design.
The design works but because of some input from a member of this forum & operator of a website just for this type of stuff I have stopped the work on this unit & started doing another unit. But as the design was one which was part of a job still ongoing for a non U.S. customer who said it was O.K. giving out the concept & schematic but would probably get a bit angry if I also was to post the Orcad PCB files. Thus topic is going to close and here is the main REASON! We redid his design also for the same reasons.
THE DESIGN WAS DONE WITH IT'S 'PASS THROUGH' PROTECTION DONE IN THE MICRO'S CODE & AS THAT PART WAS NOT SHOWN ANYONE WHO DIDN'T UNDERSTAND THE DANGERS OF FAILING TO PROTECT FROM THE PROBLEM OF 'PASS THROUGH' WOULD DESTROY THE CIRCUIT & PROBABLY DAMAGE A POWER SUPPLY.
The newest design goes up in a few minutes. And it has BUILT IN protection for PASS THROUGH!
My new design was wirewrapped & done on a perfboard with point to point soldering thus no PCB but this time I am working on a pcb for the 2nd build & it will be done using Eagle 5.2 vs Orcad which most people do not have just sitting around. Thus it will have a pcb posted but not right now.
Small point but 1N4004s have a terrible reverse recovery time. I wouldn't use them in the top MOSFET bootstrap supply. Pick a fast recovery diode instead.
I checked my parts & the one's I am using are a ceramic bodied part but they have the same exact spec as a 1N4004. I tried another part I thought was a 1N4004 but it turns out they were transorbs & they did cause the circuit problems but after that I found real plastic & marked as 1N4004 Si Diodes & put them in place of the ceramic ones I was using & everything is fine as it was before!
Now before reading your note I was under the impression that all the diode was used for was to isolate the vcc power supply line from the raised voltage caused from the bootstrap cap's ground being attached to the source of the high side fet hence about 110-111V with the motor running. Thus the read voltage on the top of the cap is about 12-13VDC above the DRAIN VOLTAGE which is 111VDC so the top of the cap is 124VDC in referance to ground. So now if that voltage was to get back into the Vcc line then everything that was attached to vcc would blow up. So my understanding was until I read your reply was that any standard Si diode would work/
But as I side lined this project's design due to the needed PASS THROUGH protection in the controller's micro it use would be limited. Please read up on my newer design which by the way uses the same 1N4004 diodes which do not seems to not be causing any problems.
Can you explain the reason for the needing of a faster Diode in this spot in the circuit. THX
Last edited by baggs; 09-02-2008 at 06:27 PM.
Reverse recovery current wouldn't blow it up, rather it would partially discharge the bootstrap cap. Look at BAV21s or BAV23s (dual diode).
While I'm at it, lose the 10K resistor from gate to source on your top MOSFETS and increase the size of the bootstrap cap to from 100nF 4.7uF. Here's why:
I believe the Fairchild half-bridge driver (FAN7371) has an undervoltage lockout of 12VDC. Your Vcc2 is 12VDC which makes the top MOSFET gate drive very marginal at best. That is why we use the IR2104 (8VDC undervoltage lockout). That 10K resistor 'bleeds off' the tiny 100nF cap 1V in 83uS and is completely unnecessary. A 4.7uF cap with a quiescent 20uA leakage will allow the top MOSFET to stay 'on' for about 250 milliseconds before it needs refreshing. Your circuit as is will run into big trouble at higher speeds unless these changes are made.
PLEASE LOOK AT MY REVISED POSTING HERE AS IT HAS FIXES FOR A FEW PROBLEMS THAT NEEDED ATTENTION. 1ST BEING THERE WAS NO HARDWARE PASS THROUGH PROTECTION AS IT WAS BEING DONE IN THE MPU CHIP'S OWN FIRMWARE PLUS A FEW OTHER PROBLEMS YOU JUST PICKED UP ON; 2ND GENERATION 150V 8A Bipolar Stepper Motor Driver Design
BUT IT SEEMS THAT THE PARTS THAT I WAS USING THOUGH IN MY PARTS BIN MARKED 1N4004 WERE A CERAMIC DIODE WHICH MUST BE FAST ENOUGH AS I AM NOT SEEING THIS PROBLEM YOU EXPLAINED TO ME BUT THANK'S AS IT NEVER HIT ME ABOUT THAT PROBLEM IN MY REVISED BOARD I AM USING A BAV20 THOUGH THE SCHEMATIC CALLS OUT FOR A BAV21.
AS FOR THE UNDERVOLTAGE LOCKOUT WE NEVER SAW A PROBLEM WITH THAT BUT MY BET IS BECAUSE WE USED 15VDC NOT 12VDC. THE PARTS ON THE LM317 CALCULATE OUT TO 15.105V NOT 12.13V AS I WROTE THE ECO FOR SO SOMEONE CAUGHT IT & NEVER PASSED IT ON & IJUST HOOKED IT UP TO FIRST THE OLD DESIGN & NOW THE NEW DESIGN. SO IT HAS 15VDC NOT 12VDC AS STATED THUS NO PROBLEM WITH THE UNDER VOLTAGE LOCKOUT. ALSO MY FORMULA COMES UP WITH A 1.0uF EVERY TIME I DO IT BUT FOR SOME DUMB REASON I PUT 0.1uF IN THE SCHEMATIC BUT THE PART IS A 1.0uF.
SO PLEASE LOOK AT THIS NEW THREAD & SEE IF YOU FEEL THAT THE 10K NEEDS TO STILL COME OUT & THE CAP STILL NEEDS TO BE A 4.7uF. I LOOK FORWARD TO YOUR FEEDBACK BUT ON THE NEW CIRCUIT AS THIS ONE IS HISTORY.
NEW POSTING; 2ND GENERATION 150V 8A Bipolar Stepper Motor Driver Design
P.S. YOU ARE A GREAT HELP BUT I AM NOW USING THE FAN73832 WHICH IS A BETTER THEN VERSION OF THE IR2104 AS IT HAS SAME SPECS EXCEPT IT HAS AN EXTERNAL RC FOR DEAD TIME ADJUSTMENT WHERE THE IR2104 DID NOT. UVL STILL MAYBE AT 11.4VDC BUT RUNNING AT 15VDC GIVES BETTER HEADROOM FOR THE HIGH SIDE FET.
Well, the 10K serves no good purpose. It does harm by degrading the hold-up time of the bootstrap supply. Assuming a datasheet 35uA Vbs quiescent current, 1uF bootstrap cap, a 15VDC supply and 12VDC lockout:
t = C * V / I, 1uF * (15V - 12V) / 35uA = 85.7 millisecond hold-up time. This is a good margin (will work OK with motors whose inductive reactance limits current above 23 full-steps per second).
Now add the 10K resistor which draws an average 1,350 uA:
t = 1uF * 3V / (1,350uA + 35uA) = 2.2 millisecond hold-up time. Not so good; the inductive reactance must not limit motor current below 900 full steps per second.
Your hold-up time would be 40 times longer without that resistor. That resistor has no practical purpose because the gate driver has a <100 Ohm output resistance, swamping any effect the 10K could have.
Nice pick on the FAN73832; I was going to point it out until I saw you already have found it. About deadtime: Any time there is deadband, the MOSFET intrinsic diodes will conduct. If they conduct, expect to see 100nS to 300nS wide 50A or more reverse recovery current pulses. Keep your MOSFET source to ground inductance as small as possible (in the nH range), otherwise these shoot-thru currents can induce enough inductive voltage to malfunction the circuit.
THANKS, ONE DAY MY PUTTING THE DECIMAL POINT IN THE WRONG SPOT IS GOING TO BLOW UP IN MY FACE. NOW IS SEE THE ERROR OF MY WAYS.
Anyway the 10K resistors are gone from my newest design as it too would be prone to the same exact problems as this chip would be. I also increased the 1.0uF caps to 4.7uF & though the circuit doesn't show any changes you can see the results on a scope. The diodes were BAV20's which I was lucky enough to have a bunch of but I put BAV21'S in the schematic & parts list as this parts 100v headroom is better then the 20's 50V headroom. Also if you want to build this driver with surface mount parts then you want to use the BAS20 or BAS21 SMT version of the BAV20/BAV21 diode along with the smt SO-8 packaged driver I.C.
Now I did not take the 10K's out of the low side as there is not a problem with the bootstrap cap in these spots but since you pointed out what you just did what good is the 10K's actually doing on the low side. I put them in as a path for the FET's gate to discharge if the driver chip were to fail or the 10 ohm series resistor with the driver were to open but from what you said in this application, these 10K part are not really needed, so should they come out too?
Remember this NEW design is being done for my use & others as the team I am on at my company is on thier own path using a takeoff of this driver IC, the FAN73833. But my needs are to be able to operate my nema 23 & nema 34 motors at the right voltage & not be restricted by available drivers & thier costs. My highest needs are at about 112VDC & I was going to limit the high end to 125VDC so I could use a TL783 to power the +15VDC parts but after the math I did not need an oven so I decided on the use of added windings on the toroid transformer to supply the needed voltages.
I plan using it to run my motors & then to sell a kit of the pcb & hard to get parts allowing the builder to get & use free samples or parts out of thier parts bins. But at the same time also allowing people to etch thier own pcb and do everything themselves. To me building my stuff with my own hands makes it all worth the effort.
Now please educate me on how to pick the BEST dead time! I took the FET's datasheet & used thier value for turn off to pick the dead time, some companies like I.R. & FSC make drivers with preset dead times but to me a part that can be adjusted for best performance is always best, but at the same time a fixed 1% resistor is cheaper and will get the job done if it is a correct value. The mnf of the chip says that they are matched to within a
60nS time to each other. CHIP TO CHIP so as long as you use this in your calculation a good value can be found that would work no matter what IC was used or what FET was used. I myself would prefer to adjust the 10T trimmer on each chip to match the circuit.
To stop PASS THROUGH dead time is a required monster. I prefer doing it
in the mpu's firmware (software) but if this circuit is going to work with just about any controller the dead time must be set to a value that stops the PASS THROUGH but also does not kill the fet's protection diode. So HOW is that value (time) calculated for best results?
P.S. So what gets done here is for all members to build & use themselves at NO COST! FREE, thats a word you do not hear often. Everyone gives me the free help and in return they get to use the final results for themselves 4 free!
Last edited by baggs; 09-02-2008 at 11:50 PM.
1) There is no 'best' deadtime. During any deadtime both top and bottom MOSFETs are off, the load is inductive and the current path is through the intrinsic drain to source diodes. When diodes conduct there will be reverse recovery currents when the conducting diodes are asked to turn off. These currents will be very large and last equal to the trr listed in your MOSFET datasheet.
There are circuit techniques that prevent the intrinsic diodes (actually a parasitic NPN bipolar with a nearly shorted base to emitter junction) from conducting but in my opinion the cure is worse than the disease, requiring one Schottky and one high-speed PN junction rectifier per MOSFET. Other techniques use a cascode output topology which still requires a Schottky per half-bridge and a complex gate driving circuit.
Get used to having reverse recovery currents. Design the circuit in such a way that the pulse currents cause no harm.
2) You don't need to use a TL783C. Use a 9th MOSFET as a pre-regulator for a common 7812 regulator. Drain to 150VDC, a 100K resistor drain to gate, a 10V zener cathode to gate, anode to the output of the 7812 and MOSFET source to input of the 7812.
3) My design philosophy is if a component doesn't do anything, it shouldn't be in the circuit.:-) Investigate the consequences of the bottom MOSFET 10K being absent. I think you will find it to be superfluous.
4) Be careful what you design. It is no big deal to design a 160VDC rated drive; I have designed more than a few that have been put into production. The problem for a kit design is sure as God made little green apples, some clever soul will realize 115V AC gives 160VDC rectified and run your drive without a transformer. One fine day that soul or another one will plug it into a non-polarized wall receptacle, touch the drive or motor and become metaphysically challenged. His grieving widow and heirs will wonder who put such a lethal device on the market, if you get my drift.
As per your suggested changes of which all have been done & verified the unit is still operating well. But the errors on my part would have caught up to me at a point in time that would have been always the wrong time.
Raising the bootstrap cap value even higher to 4.7uF per your suggestion has given me even more discharge time hence it will not go dry too soon. I also could not figure out the parts I had in as 1N4004 though they did work I swapped them out for the BAV20 parts which I also had in my parts drawer and no change but at least I know whats in there now. The removal of both high & low side 10K fet's did help a lot. I also noted in the schematic & the parts layout ECO that CADDOCK MP915 0.5 ohm 1% TO-126 Current sense resistors be used to insure no inductance from source to ground. The cost for these vs the Axial parts is $3.45 each but its worth it to me to insure I dont add inductance to the mix.
So other then my again changing back to the trimmer resistor on the DEAD TIME pin everything else is still plug n play. The only addition to this design is going to be a fan controller. As heat is always a killer I have added a fan to each of the FET's heatsinks. I used the type used on old cpu coolers so I am able to monitor the speed pulses thus if one die's it will shut down the motor so as to not allow damage to the fets. Right now there is a 6 inch fan blowing air across both heatsinks plus the heatsinks for the Stealth Diodes & boy is it warm on the other side. Because of this finding not having myself a protection circuit for heat would just be plain stupid. So I am going to install some 10K thermistors on each heatsink feeding a dual comparator so that if it gets to XX degree's a flashing light or buzzer sounds, if it gets past the 2nd trip point the unit shuts down. That feature will require a human to push the reset button. Thus damage to the unit can only be blamed on the operator!
I did the dead zone (time) setup using a dual trace scope & set it so the PASS THROUGH problem was not there but short enough to not over power the internal diodes in the FET's. But w/o doing this to each unit how can I use a fixed 1% M.F. resistor on the driver I.C's w/o fear of being out of spec & damaging a part.
P.S. I have included 2 different power supply concepts both should work just fine though any time you have an additional winding put onto a toroid core it jacks the price up which is why I was wanting to get away with stealing the needed power from the 80-150VDC supply. So which one would do the best job?
Last edited by baggs; 09-03-2008 at 05:16 PM.
The 1N4004 was a mousetrap. Diodes only have reverse recovery currents if they are conducting. A 50% duty cycle on your 20kHz would be no problem; the 1N4004 would have finished charging the bootstrap cap and stopped conducting. At high duty cycles, the diode would still be charging the cap when polarity reversed and reverse recovery currents would have caused mysterious problems (empty bootstrap cap).