Arlo's power stage Leaf controller runs and drives page 103

Arlo1 said:
Lebowski said:
Ehm, no disrespect meant or anything, all in good humor etc, but, eh, so far you're doing a good job of proving me right....

A double pulse test is not the same as a continuous 5 kHz pulse train.
I get that but I can write code for a continuous 5khz pulse if you want and prove you wrong that way does that work for you?

If you want to make it easier to run sensorless (as you only want this to calibrate the halls), what you can to is spin the
motor by hand before giving throttle. The controller will then get in sync with the spinning motor before you apply throttle (phase current)
the motor is a SOB to spin by hand.... Maybe I can set the current limits low in Drive 2? What about this... I did discover with your chip there is a lot of times when the igbts get very short on and off pulses... Can we add limits for the shortest on and longest on pulse and shortest off pulse?

see the reply in the other thread.... use the % setting in the control loop coefficients menu
 
HighHopes said:
90Amps.. that's nothing. your IGBT can handle 900A spikes regularily. it would have to be some sort of super severe jumping around..
Your right... And its not jumping around that bad.. I need to look for a problem on the gate.
 
Sorry to hear about the issues Arlo1. I can't offer up any other ideas right now. How many devices have you killed and is there any pattern to which device has failed? Feel free to PM me if you do not want to discuss publicly.
 
Thanks Its all good. There was no patterns any side of any stage would die during start-up in sensorless but I think I have it. Its one of those things you need to guess at then make a list and use process of elimination. Using that method I came up with the IDEA the gate was getting voltage spikes on the gate big enough to kill it the igbts then I spent a couple hours thinking how I could save the gates from to much voltage which isn't an easy thing because Zeners will not work on their own because of the negative turn off value of -5v. I was staring at the schematic for about 20 min until I looked at the desat circuit with a zerer backwards to the normal blocking diode.... I thought about it for a good while saying in my head "can that work? No.... Wait YES>>> I think??" So then I Hooked 2 18v zeners in parallel (because what I have doesn't have much current handling capabilities) on the side of the gate and a fast blocking diode facing the other way towards the emmiter. And I tested the string of Zener and blocking diodes with my lab supply and once I turned it up to ~18v the current started climbing on the supply but hooking it backwards did nothing which is what I think I needed...
So I installed one these on all 6 gates and did PWM test mode for a long time watching it with the FLIR and testing the voltages at the gates. All was good so then I moved to testing with 115v hooked up to the inverter. And it konked many times as I was dealing with settings to make it work smoothly up to drive 3 so I could calibrate the halls.
Some times when it Konked out something which I think is a driver latches up in the on state.... THIS IS NOT GOOD but luckly the desate shuts everything down so I can remove power from the driver stage supplies and once its powered down something resets and its ok again.
Once I calibrated the halls everything was perfect and now it runs great. I was frozen and starving so I come home for the night but tomorrow I will try more voltage and tonight I will read up on the AVEGO latching on...
I have lots of video on my phone but it wonk communicate with my laptop right now so Im off to fix that.... :roll:

But the great news it NO IGBTs got hurt today!!! :)
 
This video should explain a bit.
Its important to note for the last few months the amount of times I had to reset it in this video would be 3-5 more blown igbt's
But I THINK THE ZENER TRICK WORKED!!

[youtube]Dj9Xd9AgSSs[/youtube]
 
Very strange, what happens at around 8:43 to 8:47 in the video ? It makes that tsk tsk noise but the controller IC is not even on yet (all lights are off) ? Is your driver oscillating on its own there ?

One thing I can recommend, reset the current sensor calibration and don't calibrate them. I'm seriously thinking about taking the current sensor calibration out as I have the feeling it does more harm than good.

When you press setup and all 4 LEDs light up, the chip will save settings and reset. Since (in the hex you PM-ed me I can see) you have the check for throttle closed enabled, to prevent the chip from exiting drive 0 you can keep the throttle open until the motor has spun down.

Have you ever compared the PWM output of the controller IC with the gate drive signals of the IGBT's ? You can run the PWM test function with very low and high dutycycles (like 5% and 95%) to see how the drive signals propagate. Maybe you can trigger this funny tsk tsk oscillation and investigate further that way ?
 
Lebowski said:
Very strange, what happens at around 8:43 to 8:47 in the video ?
I edited the video or 5 different videos into 1 then removed the slow stuff to shorten it up so I think the timing of the sound to the video is off a touch. Sorry.

One thing I can recommend, reset the current sensor calibration and don't calibrate them. I'm seriously thinking about taking the current sensor calibration out as I have the feeling it does more harm than good.
Please don't my controllers never run if I don't calibrate the sensors.

When you press setup and all 4 LEDs light up, the chip will save settings and reset. Since (in the hex you PM-ed me I can see) you have the check for throttle closed enabled, to prevent the chip from exiting drive 0 you can keep the throttle open until the motor has spun down.
That's a good tip thanks. but When its set up properly it usually recovers... This is the first time getting it running in a long time.

Have you ever compared the PWM output of the controller IC with the gate drive signals of the IGBT's ? You can run the PWM test function with very low and high dutycycles (like 5% and 95%) to see how the drive signals propagate. Maybe you can trigger this funny tsk tsk oscillation and investigate further that way ?
I will try this but I think its a setup thing. As once the settings are good it doesn't do that anymore.... I will try to remember what I did before to make it go away. I do know calibrating the current sensors helps a lot.
 
protecting the gate, using a bi-directional TVS is the Ol'sk00l way of protecting the gate from over voltage. two zeners backtoback, i dunno i never heard of that but sounds ilike it could work. the nice thing about your 2 zener solution is that it is better suited to a situation where you are constantly getting over voltages (the TVS is more for a once-in-a-blue-moon event).

for big power drives protecting the gate is good idea because you tend to have more inductances everywhere, higher energy, and more likely something can cause over voltage. in my EV design on ivan's forumn you can see i have a single diode to do this, component D5 for example.

here are some thoughts
i think you said before that testing with capacitive load showed good results on the gate drive. testing with the gate driver also showed good Vge waveform. never an over-voltage. so, is the over-voltage because you have oscillations? seems like the answer is no, else you would see it more often. you would see it with the IGBT installed, not necessarily with the capacitive load testing (two cap values are slightly different one causes resonance and other may not).

there is another path to generate over-voltage on the gate pin. if you have high voltage spikes on the DC bus or phase out cable, this can couple into the IGBT through Gate/Collector parasitic capacitance (easy to do with large module and fast switching). proper layout of power pass section and maybe snubber tuning is normal way to protect against this for NORMAL operation. but you can get high voltage spike which your layout & snubber can not protect against (lightning strike, or fast shut-off of IGBT due to short-circuit causes high voltage spike). could be other scenarios. this can also destroy an IGBT.. for this you need what was at one time known as an "active crowbar" protection scheme. you can see this in ivan's forumn schemetic components D4 & D6. what this does is turn the igbt ON for transient voltage spike condition, turning ON in linear region most likely which wastes the over voltage spike in form of heat within IGBT. turnin ON igbt sounds odd, but the IGBT can take a de-sat (which might happen if you turn IGBT on randomly like this) but IGBT is highly sensitive to failure for high voltage spike so is better to, potentially, suffer the desat and survive than to just crap out forever.

gate drivers... deceptively simple
 
HighHopes said:
protecting the gate, using a bi-directional TVS is the Ol'sk00l way of protecting the gate from over voltage. two zeners backtoback, i dunno i never heard of that but sounds ilike it could work. the nice thing about your 2 zener solution is that it is better suited to a situation where you are constantly getting over voltages (the TVS is more for a once-in-a-blue-moon event).
1 is a fast acting normal DIODE then the other is a Zener I put 2 zeners in parallel fearing they are low amperage and they are not the right part. But all I had in stock for a test.


This problems is only when the controller loose sink with the motor. Its not likely to really happen anymore now that I got the hall sensors calibrated.
I will try to tune the recovery settings so that's good too.

But it does SEeM this gate protector is working.
 
that's good. jif you solved your problem this next bit is no longer relevant but i will type it out anyway as it might be useful to u or others.

having motor position errors even for 1or2 microseconds can be very significant. especially if the error is such that for a few microsecond the controller suddenly beleives that the position is 180degress different than it really is. when was using a resolver i had to align it to the shaft of the motor plus also had to set the frequency of the communication. i was initially not trusting position information because i was getting what sounded like "click click click". so what i did was i piped out the position on a DAC and i put it on a scope. i could see a saw-tooth waveform which i was expecitng. motor spins around at steadystate speed then the slope of the sawtooth is linear and when it reaches max voltage it suddenly drops to 0volts (360 degrees is also 0 degress). but.. i could also see every once in a while s spike of voltage. i thought this was noise. i asked Sr.Eng opinion and he said its not noise, my controller thinks it is as a different position for a few microseconds. my current sensors were not high enough bandwidth to really catch the momentary spike of current that must have been happening but the digital probe on the position feedback was definitly fast enough to show something not right.
 
Have you tried adding some hysteresis between the RPMs where it switches drive modes? Watching the red and yellow LEDs in the video, they appear to be jumping between drive states and in sync with the stuttering noise.
 
zombiess said:
Have you tried adding some hysteresis between the RPMs where it switches drive modes? Watching the red and yellow LEDs in the video, they appear to be jumping between drive states and in sync with the stuttering noise.
I have not spent much time on it this time. I just played with in until I could get into drive 3 and calibrate the hall sensors. But I will try to experiment more soon. I want to at least get recovery working. I would also like to decipher why the drivers tend to latch up when its having sync problems.

I will spend some time on it when I'm back at the shop. Was sick all night and couch ridden all day. Watched some Star wars I did.
 
HighHopes said:
that's good. jif you solved your problem this next bit is no longer relevant but i will type it out anyway as it might be useful to u or others.

having motor position errors even for 1or2 microseconds can be very significant. especially if the error is such that for a few microsecond the controller suddenly beleives that the position is 180degress different than it really is. when was using a resolver i had to align it to the shaft of the motor plus also had to set the frequency of the communication. i was initially not trusting position information because i was getting what sounded like "click click click". so what i did was i piped out the position on a DAC and i put it on a scope. i could see a saw-tooth waveform which i was expecitng. motor spins around at steadystate speed then the slope of the sawtooth is linear and when it reaches max voltage it suddenly drops to 0volts (360 degrees is also 0 degress). but.. i could also see every once in a while s spike of voltage. i thought this was noise. i asked Sr.Eng opinion and he said its not noise, my controller thinks it is as a different position for a few microseconds. my current sensors were not high enough bandwidth to really catch the momentary spike of current that must have been happening but the digital probe on the position feedback was definitly fast enough to show something not right.

hmm, I think you're exagerating a bit with the few micro seconds.... based on the reported inductance (about 200uH) a few microseconds is not going to do anything, you need 200V just to get a 1A raise in current in 1 u-sec....

Based on Arlin's posts I have the feeling somehow the IGBT driver cannot deal with very short on off pulses....
 
Lebowski said:
HighHopes said:
that's good. jif you solved your problem this next bit is no longer relevant but i will type it out anyway as it might be useful to u or others.

having motor position errors even for 1or2 microseconds can be very significant. especially if the error is such that for a few microsecond the controller suddenly beleives that the position is 180degress different than it really is. when was using a resolver i had to align it to the shaft of the motor plus also had to set the frequency of the communication. i was initially not trusting position information because i was getting what sounded like "click click click". so what i did was i piped out the position on a DAC and i put it on a scope. i could see a saw-tooth waveform which i was expecitng. motor spins around at steadystate speed then the slope of the sawtooth is linear and when it reaches max voltage it suddenly drops to 0volts (360 degrees is also 0 degress). but.. i could also see every once in a while s spike of voltage. i thought this was noise. i asked Sr.Eng opinion and he said its not noise, my controller thinks it is as a different position for a few microseconds. my current sensors were not high enough bandwidth to really catch the momentary spike of current that must have been happening but the digital probe on the position feedback was definitly fast enough to show something not right.

hmm, I think you're exagerating a bit with the few micro seconds.... based on the reported inductance (about 200uH) a few microseconds is not going to do anything, you need 200V just to get a 1A raise in current in 1 u-sec....

Based on Arlin's posts I have the feeling somehow the IGBT driver cannot deal with very short on off pulses....
I found in testing the very short on pulses will not trigger the desat detection... But I think this doesn't matter because the short pulses are not turning on the igbt completely. I think I come to the conclusion I will try to use the settings you suggested and try to limit it to what I will need to calculate so the igbt will become fully on rather then just trunign it part way on then off again as that will reduce heat. But I don't think the partial turn on events were causing my issue. What HH is pointing out is if sync is lost once I'm at full voltage the amount of current through a igbt when the electrical timing is out by say 180 deg will be very high. At high rpm Potentially more then 2x the normal current rise in the same amount of time... This should still be caught by the desat detection and shut things down. The good news is at High rpm the controller never looses sync as well.
So at low rpm if it loses sync it will have a small negative back emf to fight and what ever the change is in inductance for having the rotor at the wrong position.
 
HighHopes said:
for big power drives protecting the gate is good idea because you tend to have more inductances everywhere, higher energy, and more likely something can cause over voltage. in my EV design on ivan's forumn you can see i have a single diode to do this, component D5 for example.
Ok I will ask this here so all can learn from it.
What is "VP12_UT" You show the diode D5 you mention going from the gate to VP12_UT
I searched your schematics and could not find it.
Next is what is the purpose of D4 and D6 connecting the gate to the Drain?

http://ivanbennett.com/forum/index.php?topic=112.0
 
ha, i think only the keenly interested like yourself are reading to that level of detail.

it's a type-O, now that you show it. at least in that version posted to ivan's forumn. it should read VP15_UT which is stands for voltage positive 15V phase-U top. anyway, with the diode going form gate to the positive rail what this does quite simly is any time the gate voltage is some reason higher than the positive rail that diode will conduct such that gate voltage stays just 1.2V above positive rail. 16.2V in this example +/- some ripple and/or tolerance.

D4 & D6 are the "crow bar" components. basically if there is a high votlage transient on the DC bus then D4 will conduct taking energy of the DC link cap and directing it towards the IGBT gate. this energy will turn the IGBT on, most likely in the linear region, and so that voltage transient that is about to destroy the cap and/or IGBT will no longer reach destructive energy becaues the energy willi be burnt off in heat in igbt.

sorry for sl9oppy text, i've been enjoying crown royal tongiht :)
 
HighHopes said:
ha, i think only the keenly interested like yourself are reading to that level of detail.

it's a type-O, now that you show it. at least in that version posted to ivan's forumn. it should read VP15_UT which is stands for voltage positive 15V phase-U top. anyway, with the diode going form gate to the positive rail what this does quite simly is any time the gate voltage is some reason higher than the positive rail that diode will conduct such that gate voltage stays just 1.2V above positive rail. 16.2V in this example +/- some ripple and/or tolerance.
I have not looked at the schematic, but have you checked that the rail's load is higher than whatever current it may get from the gate's overvoltage?
 
the current it gets from the gate trace being too high voltage would be minimal because it can only be for a transient case. if the gate voltage were too high "normally", like every pulse, that is a different problem not solved by this diode.

in arlo's case what he described what an always too high, or often enough too high, case. so i think this diode "trick" is not enough for him. probably his own solution is better because it is more adapted to the continuous use.
 
anyway, don't worry too much. these things are for the "advanced" system. when you are after true high performance. arlo has the gear and desire to get there so i am dropping some hints but for the most part these extra things are not really needed for the "basic" highly functional motor drive. last year i was pushing a lot for interested ES enthusiasts for introduction of desat protection because it is cost effective and easy to implement and also really helpful for novice designers cause it can save some costs. its the first thing you should add to your design on your path towards high performance. the safety thing. what arlo is doing in his leaf inverter and zombies with his massively parallel descrete design is not normal DIY. they r after a big prize way beyond the typical hobbiest. so i am mentioning some exxtra things here in hopes that it is helpful. truely though there is a lot to do, a lot to understand. i can walk through all the hardware design of the system, starting recently with the gate driver and power pass discussions. the software design, i can not help much with, but we each have our things to offer. hopefully there r enough peeps on ES with sufficient expertise that we can piece together something special in an open source way.
 
hmm, I think you're exagerating a bit with the few micro seconds
yes and no. its an exageration to think that a couple microseconds will produce enough amps to make a problem. it won't. but it can produce a very high gradient, with 200ns switching, that it produces noise. and noise can do strange things.

its like being slapped in the face. does it hurt really? no. but does it get your damned attention? yes.
 
Thanks for all the responses. D5 is very cool and I will add it to my design. :)
Today I got everything working on my list today other then Labview.... Does anyone want to walk me though that? :)
No worries. I Sorted out the controller konking out in d2 (hall sensor operation) I sorted out the recovery and then I spent time testing field weakening and it worked then I worked my way up to 458v and it all works.

Today is a day I have been waiting for for a LONG time! Its going in the car :)
I now have confidence in the system. When I first got the YSR running I did not have confidence I did not know how long it would last.... Now that HH 7C and a few other have guided me as well as the team effort from everyone else here I feel I will make this last!

[youtube]po3rmii0ffs[/youtube]
 
HighHopes said:
what arlo is doing in his leaf inverter and zombies with his massively parallel descrete design is not normal DIY.

I don't think Arlo1 and myself are exactly normal :mrgreen:

Arlo1, I just watched your video. That's so exciting! I can't wait for videos of it driving around!
 
Nice :mrgreen: did you keep an eye on battery current, was it a reasonable number ?

For field weakening current I recomment to use 70% of max phaae current. Since this will definately put it over the rated rpm, use the limits in the erpm menu to protect your motor.

Since you've use 75A for the FOC measurement it basically means it survives 75A :D

Good job !
 
As an interesting side note, from your hex i've seen you're using 5 kHz PWM and 9 kHz sample frequency. This means you're using less than 20% of the controller ICs speed, it is sitting idle most of the time (it can run at more than 45kHz sample frequency). And with this you achieve almost 40 k-erpm.

So by deduction you've proven the controller IC can handle 200k-erpm !!! :shock:
 
Lebowski said:
Nice :mrgreen: did you keep an eye on battery current, was it a reasonable number ?

For field weakening current I recomment to use 70% of max phaae current. Since this will definately put it over the rated rpm, use the limits in the erpm menu to protect your motor.

Since you've use 75A for the FOC measurement it basically means it survives 75A :D

Good job !
Thanks.
I did not measure current as I had nothing hooked up to measure it. But I will try maybe today. I'm tired. Didn't sleep well was to excited. Have had problems with labview... But I will try hooking a current sensor in series with the system to test current at max rpm and I will do that with 0 field weakening then with some added.
 
Back
Top