DIY Electric Car Forums banner

Another DIY DC controller mock

56K views 167 replies 22 participants last post by  valerun 
#1 · (Edited)
...there is something mystically attractive in power electronics...

so after getting my 10kW charger design to a reasonably good place, I wanted to live dangerously and have wired some 1200V, 600A IGBTs together for a quick DC controller setup. Would love to get your feedback. The idea is more about learning advanced power electronics rather than building any kind of production version (which we got covered quite well by the EVnetics guys ;-)

Having read a bunch of docs on how to design these things without having them blow up right away, I am using, among other things:
1. Laminated DC input bus with 1/4" polycarbonate between 2 large copper plates.
2. Lots of parallel caps mounted with studs on one line with IGBT leads to reduce current loop area
3. On-IGBT control boards with SMD 8A drivers (all to minimize inductance between driver and gate)
4. +/- 15V driver to ensure turn-off
5. Emitter current balancing resistors (0.3Ohm) to sync turn on and turn off of the parallel IGBTs
6. Output cables connected to the opposite sides of the controller to avoid concentration of current in one pair of devices

You can see some pics of the setup below - including my very sophisticated 'load system' - a bucket of cold water with a 5" iron powder toroid with ~80 turns of 8x14 gauge copper wire (15 mOhm, 800 microHenry at zero current; according to micrometals.com software, saturating to ~1/3 of the inductance at 100A etc).

In my first test run, I've used a 30V battery (I know, not super-impressive but hey, I didn't want to have to catch plasma balls in case something went wrong ;-), switched at 10kHz, and went to 250A 'motor' current.

Couple of scope captures attached. You can see (images numbered in order they appear - some images in the next post due to limit of 10 per post):
1.1. no ringing on gates. good thing
1.2. Turn-on/off takes ~1us. ok for 100us cycle.
2. Peak gate current of 4A both ways. Rg=5Ohm. I drive both SMD drivers by one A3120 isolated 2.5A driver.
3. There is some ringing on the +/-15V DC rail for SMB driver boards - to the tune of ~2V at ~0.5Mhz. I thought it's passable - let me know what you think.
4. Now this is where I'd REALLY love to hear your input: at 250A, I can see negative IGBT emitter spikes of -80V at turn-off (ringing back to zero within 400ns or so at ringing frequency of ~10Mhz). At the same time, I can see positive IGBT collector spikes of +40V. So the total spike swing is ~120V, or ~4x the input DC voltage - for the total voltage stress of 5x the input DC voltage. That is not cool. I made a conclusion that I am driving these IGBTs too fast for freewheeling diodes (which are same model IGBTs with shorted G and E) to catch the negative inductive undershoot from the load. So I am going to try 10Ohm Rg (now at 5Ohm) and lower the switching frequency to 5kHz. What do you guys think????

Thanks,
Valery.

PS. I am using the same control board I've developed for my charger (http://www.emotorwerks.com/cgi-bin/VMcharger.pl). Just finished adapting code to the controller duty, as well. Surprising amount of stuff seems to be reusable (current limiters, precharge circuits/logic, etc).
 

Attachments

See less See more
10
#2 · (Edited)
remaining pics:
2: Rg voltage drop of ~20V max (hence the 4A max gate current)
3: +/-15V supply rail in AC scope mode
4. Emitter (top) and Collector (bottom) at turn-off
5. Same for both turn-on and -off

EDIT: added the datasheet of the IGBT I am using.
 

Attachments

#3 ·
more fun today:
1. swapped 5 Ohm Rg into 20Ohm
2. lowered switching frequency to 5 kHz
3. still 30V pack

took the thing to 600A output, which is 50% of the combined continuous rating for the 2+2 devices I am using. Spiking across the switch is now limited to just +70V. This is linear to the current so I expect ~100V at 1000A. Of course, switching transition is a bit long now - especially on turn ON - to the tune of ~5us.

So I'm thinking to use a 5 Ohm as a turn-on Rg and 20 Ohm as a turn-off Rg. Also want to hook up a shunt to measure current waveform so I can calculate the losses.

Also probably will have to take the switching frequency down a bit more. The only thing is: got to watch out the caps. Have 17000uF on the bus now which should be good for 1000A output at 300V pack voltage at 5kHz.

Some pics attached.

V
 

Attachments

#4 ·
Nice work val. From what I can see you are getting stuck on the miller plateau on turn on. That HCPL3120 driver does not have near enough kick for the application. Consider a 9amp driver sucj as the mic4421 or better still a VLA501 module.

If you drive the switch too fast the freewheel diode will not recover properly before the next cycle. I had this problem when I first ran my igbt controler at 16khz. Dropping to 8khz cured this problem. Consider snubber caps. At least 2 or 3 on the dc link and one across the switch. Next be aware of the ton and toff of the device and the freewheel. A lot of older modules have terrible values.


I have a few threads on here from late '09 dealing with these exact issues. Also got some videos on the subject. Hope that helps.
 
#5 ·
Thanks Damien!

I am using a 3120 only for isolation - it then drives the bigger 8A drivers - one per IGBT. My problem is I can't unleash their full power - even with Rg of 5Ohm (and peak gate current of 4A) the IGBTs switch off too fast (and, as you very correctly noted, exceed the recovery speed of the freewheeling diode). So I needed to slow down the turn-off and it helped a ton for toff spike. But now my t-on is muddling through the miller plateau for too long as you correctly noted. So I am thinking of doing a 5 Ohm Rg for turn-on to keep the speed but 20 Ohm for turn off.

I have read most of your threads and your posts on ecomodder - they've been a great help! Not fully up to speed on the videos, though ;-)

BTW, what is the value of the snubber cap you are using across the switch? All the snubber design docs I have read talk about RCD snubbers for high power applications... Also, how did you connect the caps across the DC link given that + and - connections to IGBT and freewheeling diode much be ~10cm apart (I think you are also using single IGBT modules, right?)

Thanks!!
V
 
#6 ·
Right now the controller i have in the car is running a pair of Fuji 800amp single igbts. One as the switch the other with its g-e shorted as the freewheel diode. They are joined with a piece of 20x10mm copper bar. Thats a bad idea in theory as the link can ring like a bell and i go shooting down the road trailing flames like a dragster with a blown engine:eek:. In practice its worked fine. Remember that app notes are based on ideal conditions with unlimited resources and infinte development times. They are a guide at best.

I used a piece of standard copper clad pcb board , roughly routed on the drill press to cary the link caps. Kind of a poor man's laminated busbar. I used a 1uf RC snubber across the switch as i was seeing some alarming ringing on turn on if i remember rightly. My advice would be to use 2 resistors and a schottky diode to shape the turn on and turn off. You really need a hard turn on to punch through the miller knee.

What is the ton and toff of the devices your using? Are you using emitter resistors?
 
#7 · (Edited)
I used a 1uf RC snubber across the switch as i was seeing some alarming ringing on turn on if i remember rightly. My advice would be to use 2 resistors and a schottky diode to shape the turn on and turn off. You really need a hard turn on to punch through the miller knee.
yes, will try that tonight. For the RC snubber, what did you use as R? And how you heatsinked that? From my calculations, at 200V and 8kHz, you would have to dissipate C*U^2*f=10^-6 * 4*10^4 * 8*10^3 = 320W on a resistor :)-0). I can't find anything close to that in a non-inductive package...

What is the ton and toff of the devices your using? Are you using emitter resistors?
ton: 700 ns
toff: 350 ns
I figured if I want to keep switching time to <1% of the cycle, this would mean <10kHz frequency. Now, since I can't really use that blazing toff speed anyway, I have to reduce the frequency to keep the dissipation under control. I hope I can use 5 kHz.

EDIT: oh, yes, I am using emitter resistors.

V
 
#8 · (Edited)
added a 5 Ohm turn-on resistor parallel with the 20Ohm I already have. Turn on now takes 700-800ns as it should. no additional ringing so I am happy.

took it to 800A today. a bit scary.

turn-off spike is ~80V at 800A. It was fun to put one end of the scope on one end of the DC+ bar and slide the second end along the bar - the further apart I took it, the more voltage spike I saw ;-) ~30V along the 5" of a bar. Power electronics is fun ;-)

Measured voltage spikes across DC link and across freewheel diode separately to understand what drives voltage stress. DC link spike only ~1/4-1/3 of the overall C-E spike on the switch so not really a problem. So if I want to reduce the spike, I have to deal with the diode part. How's this for an idea: using a smaller u-fast diode (say, 60A 1200V part) in parallel with the big one? It will turn back on much faster and will conduct for the first 200ns while the large diode ramps up. Yes, the initial current will be close to the IGBT current (say, 500A if I push 1000A through the controller) but this will go on for just 200ns and the remaining 200 micro-seconds it will be chilling. So I would definitely not exceed the power dissipation ratings. Is this a crazy idea?

EDIT: also, any ideas how to confirm whether my IGBTs share the current evenly or not?

V
 
#9 ·
ok tried the parallel diodes. Largely good news - the turn-off [C-E on the switch] spiking goes down to ~40V at 800A output (from ~80V).

However, there is now some new small (~20V) spiking and ringing on turn-on. I guess the reverse recovery is too fast / snappy and sets off the ringing... Just can't bloody have it all, huh? ;-)

Also, there is quite a bit of power dissipated on the smaller diodes. Looks like they share some good part of the freewheeling current. Just looked up the forward voltage vs. current dependency: at 600A, the large diode drops ~2.5V. At the same 2.5V drop, the small diode would have to conduct ...250A. So looks like up to 1/3 of the total current can be going through the poor little diode. Not good. Perhaps something like 0.02-0.03 Ohm resistor in series with the smaller diode would cure it. Initial spike of 500A would result in 10-15V drop on a resistor, which would add to a voltage spike on a switch. But then during steady state, every 10A through small diode would generate 0.2-0.3V - enough to force on the current to go through the large diode... Although it's becoming to look a bit complex now ;-) Maybe I should just give up and use a snubber...
 
#11 ·
I'm nearly sure this is the snubber i used:
http://radionics.rs-online.com/web/p/rc-network/4419464/

Right now i'm looking into a 1ka controller myself. I have just completed building Paul's 1000amp control board and melexis current sensor. I'm planning 4 fuji 1200v 800amp igbts in the power stage. 2 as switch , 2 as diode with laminated busbar made from stacked 2 layer copper clad pcb board.

Igbts:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250830327377&ssPageName=STRK:MEWAX:IT

I know these are rather old parts but i have had two of them running in the car for past year and a half no problems. Even with less than ideal gate drive of only 12v and ground. Just please don't buy em all on me ;)
 
#13 ·
I'm nearly sure this is the snubber i used:
http://radionics.rs-online.com/web/p/rc-network/4419464/

Right now i'm looking into a 1ka controller myself. I have just completed building Paul's 1000amp control board and melexis current sensor. I'm planning 4 fuji 1200v 800amp igbts in the power stage. 2 as switch , 2 as diode with laminated busbar made from stacked 2 layer copper clad pcb board.
got the http://cgi.ebay.com/Aerovox-IGBT-Sn...ltDomain_0&hash=item2c5c345ffb#ht_1185wt_1139
for snubber.

those 800A parts do look cool.

so you connected the cap across the switch so it discharges through the IGBT every cycle?
 
#12 ·
We initially picked a diode type (SBR60A200CT) based on availability and power, rather than a careful consideration of the specs. They turned out to be too slow-yet-snappy for our switching speeds. With higher current (and thus high di/dT and dV/dT) but still well within their current rating, they would fail shorted. This would take out the MOSFET power section.

Background: "snappy" diodes are merely-fast diodes that turn off suddenly. This is fine when rectifying a 60Hz sine wave, where the current drops off before the voltage reverses. But with a 15KHz square wave, parts of the diode turn off at different times leaving final still-on areas with very high current density. For our use we need 'ultra-fast' diodes with 'soft' turn off.

The solution was both faster diodes and a slower MOSFET turn-off time.

With the higher value gate resistors to slow the switching time, we had more options for the gate drivers. We are very happy with our switch from an optoisolator to the Silicon Labs Si8233 gate driver. Even if we go back to using a MIC4452 gate driver on a bigger power stage, we'll use the Si82xx parts as an isolator.

The big drawback of those parts for people here is that they are only available in SMD packages. You are are already building with SMD, so that's not a problem for you.
 
#18 ·
The ones I have all have 3 and I forgot . I have a small diesel welder , when replacing a diode (pigtail/bolt type) I was looking over the good ones and saw that they are built conducting up or down , I put the wrong one in but didn't want to start it until I traced out the path . got it now but how dense ! thanks Jack .
 
#19 ·
doubled the voltage to 60V pack. Took to 900A. Spikes at ~50V on top of 60V rail - actually smaller than with 30V pack. Perhaps due to C*U^2 - at higher pack voltage, it takes smaller delta U to absorb the same energy?

I do think my transistors don't share the current evenly - heatsink heats up a bit non-uniformly. Any ideas how to test? I can't really insert a shunt at a single IGBT...
 
#21 · (Edited)
can try. need to read up on that ;-)

Also, after reading through the SEMIKRON doc you posted on the other forum (attached), I realized that my incoming DC connections might not be routed right. Here's what I have:


HTML:
DC "-", Motor "-"  ========================

                   ========================  DC "+"
                    Q1     D1     Q2     D2 
                   ========================  Motor "+" (or "AC")
So that might be the reason for uneven sharing - when IGBTs (Q1 and Q2) are on, conduction path is from DC "+" through Q1 & Q2 to Motor "+", then through motor, then to Motor "-"/DC "-". Therefore "ON" path is skewed towards Q2 (which is exactly the side that heats more). When IGBTs are off, conduction path is from DC "-" through D1 & D2 to Motor "+", then through the motor back to DC "-"/Motor "-". Therefore "OFF" path is symmetrical.

So I gather that I need to move DC+ cable to the left side.

Am I on the right track?

V
 
#22 · (Edited)
110V pack, 900A output (~12kW). Turn-off spikes at ~200V on C-E (attached is a 600A plot showing ~140V overshoot). So total voltage stress of 310V. Seems to be linear with the output current and not very dependent on the pack voltage. Not sure I need to worry about the spikes anymore given that my parts are all 1200V...

Anyway, 2uF snubbers are on order. Will at least use on DC rails - that should shave off ~1/3 of the spike voltage. A bit concerned about using them across the switch, though - 2uF discharged through the switch 5000 times a second is ~500W extra dissipation per IGBT at a hypothetical 300V pack voltage that I might try on this thing at some point (;-)...

Connected current sensor and control board (adopted from the charger). Can see the current / temp / voltage / etc on the screen now. Kind of nice. Unfortunately, will have to give up the screen as every refresh eats up 200-300ms which was fine for the charger but is a deal-breaker in a controller that needs to respond to throttle change in <50ms or so...

Checked thermal balance after rerouting the DC link - seems to be better but not quite equivalent (one side ~5 deg C cooler than the other...). Perhaps that's ok and I just should stop stressing out about that. With 3 92mm PC fans and 7lbs finned heatsink, 250Amps continuous keeps heatsink temp under 55 degrees. As is 600Amps for 30-60 sec. Not bad but expect losses to double-triple when going to higher pack voltage. The last card in the sleeve is automatic PWM frequency reduction with current - at 100uH for something like 9" motor, anything above 400A at 5kHz gives < 40% current ripple. Hence could go down to 2.5kHz for high/low duty cycle and / or high output current. The downside, of course, is the whining becoming more and more noticeable with lowering frequency...

V
 

Attachments

#24 ·
cap across the switch does help but the loss is going to be ~U^2 so if your pack is 100-150V, you will have 4-9 times lower dissipation than at 300V. 50-100W per one of these devices is not a problem at all. I'm just a bit worried about 500W ;-)

However, by adding a cap across the switch, I think you are reducing turn-off losses within IGBT as you are slowing down the voltage ramp across the switch and the current has a chance to die down before a significant voltage develops across the switch. As the turn-off loss is the integral of voltage across the switch times current through the switch during the transition period, this reduces the torn-off loss.

So there might be some optimal value of the cap across the switch when you actually reduce total losses... Haven't seen any literature on this, though - everyone is talking either about RC or RCD snubbers...

V
 
#25 ·
Yeh it hard to find any real info on the subject. I did look back over my videos and the cap on the switch made a big difference. I may change the value a little.

Damn you Val for starting this thread now i have to go build another one of these things:D
 

Attachments

#30 ·
This is probably redundant to your own research but here are some links on snubber design:
JR
Thank you JR! Not redundant - haven't seen these before. On my side, the best doc I found so far was http://focus.ti.com/lit/an/slup100/slup100.pdf.

So I decided to try the RCD snubber across the switch - in the clamp configuration (when RC >> switching period). The snubber dissipation is supposed to be much less than in the RC snubbers that recharge on every transition - the only loss in this snubber should be the energy stored in the stray inductances. In my non-ideal snubber design, I have put together a 1200V 60A u-fast diode, 4.7uF metal film cap, and a 5kOhm resistor (the latter could really be much reduced but that was the only >200Ohm resistor I had in a non-inductive package). Below is the screenshot of C-E voltage on turn-off at 800A (110V DC rail). Pretty ugly. My guess is that the snubber diode has too slow forward recovery (indeed, datasheet says 700ns!) and so it doesn't even turn on for the most of the initial spike. Then, when it does turn on, it sets off the ringing. Somewhere around the same time, main diode turns on, as well. The result is a bit of a jagged mess. Not really sure about the origin of the super-high frequency ringing you see on the pick (~30MHz). Perhaps self-resonance of the snubber? Anyway, clearly not the optimal design solution ;-)

I think the key to making it work is very fast forward recovery diode. In fact, JR, in the paper you forwarded, Rudy says that this indeed may be a problem so I suspect it even more now. What do you guys think of using a Silicone Carbide Shottky diode for a snubber? For example, http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=C2D05120A-ND?

V

PS. Also had a curious inadvertent experiment - while putting things back together after installing the snubber, forgot to plug in the second IGBT driver. Then, after running a few 700A ramps, noticed it! Learnings:
1. There is quite a bit of reserve in a 2-IGBT, 2-diode design - if I can run 700A for 20 sec on just 1 IGBT...
2. It's good to have driver boards bolted to the IGBT. No matter what happens to your upstream circuitry, IGBT won't turn on.
 

Attachments

#33 · (Edited)
ok another small update.

After reading that those resistors in an RCD snubber don't really have to be non-inductive, I wired in my 25W wirewound 250 Ohm resistor to the snubber I described above. Resulting C-E voltage waveform attached (110V rail, 900A output). Looks quite a bit better but forward turn-on is still slow (I think that's what you see at T+800ns or so - T being the time when voltage crosses zero on the way up). Still, overshoot is ~130V instead of ?200V.

Also, getting a bit cocky, turned up the output to 1200A (!) and in ~5 sec, ...blew the 100A fuse on the battery side... no damage to controller. Those semiconductor fuses go so quietly, too. Need some more powerful fuses now LOL ;-)

Ordered some 1200V 100A (peak) and 600V 250A (peak) silicon carbide shottky diodes... too bad can't get them from radioshack ;-) ..just $5-8 from digikey.

V
 

Attachments

#36 ·
Val - here are some info from Semikron on recommended snubber networks. We use networks 1 and 4 on the big AC drive at work.

View attachment 10336

Regards
Dawid
Thanks Dawid!

Question: are the resistors connected to the right place on fig (d)? Usually, I see the resistor from the top snubber connected between top diode and cap on one end and to negative DC rail on the other end. The resistor from the bottom snubber is then connected to positive DC rail on one end and between bottom diode and cap on the other end.

JR - Can you say more on the cap between 2 diodes for non-dissipative version? How do you connect it?

V
 
#35 ·
Hello V,

Good progress. Once you get this down, I'd go for the 'energy recovery' model adding a cap between two diodes so rather than dissipating the glitch on a resistor, you feed it back to the bus. Note Rudy's comment on smoothing that a bit so you don't create noise on your bus. But that's likely for another day, I imagine.

BTW, though equally brilliant, that was Major, not Jeff.

JR
 
#37 ·
Hello V,

On this link: http://homepages.eee.strath.ac.uk/~bwwilliams/Book/Chapter 9old.pdf figure 9.13 shows the circuit.

I was looking for a simplified version but came across the one above instead. Since it brought up several of my own questions (ie: how is regen in a 3-ph system going to behave with all the diodes, caps and inductors in there), I contacted Rudy for help and was quickly told (I mean, he replied within 9 mins), that he had retired of power electronics and he doesn't do that anymore :) He's done that for over 50 years so I completely understand how he wants out of it.

But there seem to be other resources if you search for combined (or combination) snubbers in energy recovery configuration. Combined in this case is a snubber for both turn on and turn off switching and as you can imagine, it does affect your turn on/off speed, ringing potential and noise.

JR
 
#38 ·
Thanks JR!

Got the book, too. Too bad he doesn't sell it on Amazon...

Anyway, since I started blowing the fuses above ~900A output current, I decided to connect the thing to my Fiat pack (256V nominal, 265V most of the time). So now it's not a toy anymore! Still protected using 100A battery-side fuse which should allow me to go to ~30-40kW output power. I think that's ok for now ;-)

Resulting 800A, 260VDC input rail waveform is attached. Almost same as before. If anything, overshoot is ~110V instead of 140V I've seen with a 110VDC input. No spikes to speak of at turn-on.

Also, added control board with current sensor (blue thingy on the bus in the attached photo of my somewhat Frankenstein-ean setup ;-). First draft of the code is ready to go - maybe will do it later today.

One curious thing: after ~900A, I hear some lower-frequency noise added to the usual 5kHz whine. At the same time, I can feel same-frequency vibration through the output cables. Wondering what that might be... Maybe copper bus vibrating from magnetic force? (btw, just plugged in some numbers into http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/wirfor.html to come up with ~0.5lb of magnetic force between the DC'-' and output buses at 1000A... Fun stuff). Any other ideas?

So next step is to wait until SiC diodes show up and try them in the snubber circuit.

Although, since even at almost 300VDC input, the total voltage stress is below 400V on the switch, I am tempted to actually clean it up and try in a car ;-0! Will see.
 

Attachments

This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top