My homebuilt VFD progress

AC, DC, amps, volts and kilowatt. It's all discussed in here
User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 27 Sep 2012, 19:27

The DC bus is "mirrored" in the PCB. That's how the capacitors link to it. There are (will be) bus-bars mounted on top of the IGBT's which protrude through hall effect sensors mounted on the underside of the board (not visible). Here's a 3D model that shows them:

Image

For testing with the small motor, I'm just using the PCB as the bus, yeah. I have the bus bar, I just haven't installed it yet. Will do so before I hook it up to the big motor.

The IGBT's on there are rated to 600v 400a. There is room for 600v 600a IGBTs under the board as well. With the 600a IGBTs and additional capacitors, it should support 180kW, in which case I'll be battery limited for sure.

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 02:32

Hows it all going mate?
Rgds,
Stiive

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 15:18

Troubles with the controller. I'm quite confused by the symptoms actually.

I've hooked it up to my big motor, which is rated at 48vac (delta connected). Without the motor hooked up, I connected a LP filter across two phases to check the L-L output and it's a perfect sinusoid of the correct amplitude (about 12v at 2Hz due to boost voltage). As soon as I connect the motor to the phases of the controller, the output voltage goes to zero. This IS NOT due to voltage drop across the IGBT (which would result in massive heating) nor is it voltage drop from the batteries. No current flows. The scope connected to the output shows a 50% duty cycle (in phase across all three phases). I've verified that the gates are being driven with the correct varying PWM signal (45-55% or so). The gates are getting a good +15-5v clean drive pulse with fast and complete turn-on and turn-off (Rg is 2.2ohm). So I'm very confused as to why the output seemingly does not match the input. I'm getting no IGBT heating, and no current flowing.

The problem seems to be load-dependent, or at least induction dependent. My little 240vac 370w motor seems to run fine, though I have verified that the voltage at the output drops from the nominal voltage when the motor is connected. Also, the filtered phase-phase voltage is no longer sinusoidal with the load connected, the slope of the sinusoid decreases suddenly at about 60 (+ve swing, rising) and 150 (-ve swing falling) degrees, resulting in a lower peak voltage value. I've connected my 240vac 11kw motor as well, which obviously has lower inductance than the tiny motor, and while the voltage doesn't go to zero as it does with the custom-wound motor, it has a very low voltage and a very ugly sinewave. It turns slowly at 2Hz, but vibrates quite a bit. I can stop the shaft with my hand and it pulses quite badly at a rate of about 4Hz (once per half-cycle of input frequency).

I've tried different IGBTs with no change in behavior. According to my scope readings of the gate voltages while this is happening, the gate drive appears to be working perfectly and within specification. I've gone through the code many times and verified that the waveform generation is correct. I've commented out any part of the code which would cut back the voltage in the event of over-current on either the battery or the phases with no change in behavior. I've tried different values and configurations for Rg (separate on and off Rg's, and a single on-off configuration).

The only things I can think might be causing it is somehow incomplete or impromer gate drive, even though it looks fine on the scope (maybe it's something happening fast enough that I can't see it on my DSO, need an analog one to try). The fact the output of all phases is in-phase 50% PWM when connected to the big motor makes me suspect that there is something common to all 6 gates. I've tried playing with how the FAULT pins on the HCPL-316s (which are all parallel) are pulled high, but it didn't seem to make any difference. I'll play with that a bit more today.

Really though, I'm running out of ideas. Any thoughts?

User avatar
Johny
Senior Member
Posts: 3729
Joined: Mon, 23 Jun 2008, 16:26
Real Name: John Wright
Location: Melbourne
Contact:

My homebuilt VFD progress

Post by Johny » Thu, 08 Nov 2012, 15:31

When you say 45%-55% PWM on the gates, I gather that this is a high frequency PWM signal where the on/off ratio varies to emulate a sine wave for a given phase?

Did you say that the gate drive is 120 degrees phase difference but the IGBT output has no phase difference? What is the waveform on the output - is it the same as one of the gate inputs?

Is there integral current sensing involved in the software driving the whole shebang? Could it be incorrect phase monitoring (current sensor measuring wrong phase).

Is this a full vector algorithm or a simple V/Hz to start with?

Sorry - no answers, just questions.

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 15:35

BigMouse wrote: Troubles with the controller. I'm quite confused by the symptoms actually.

I've hooked it up to my big motor, which is rated at 48vac (delta connected). Without the motor hooked up, I connected a LP filter across two phases to check the L-L output and it's a perfect sinusoid of the correct amplitude (about 12v at 2Hz due to boost voltage). As soon as I connect the motor to the phases of the controller, the output voltage goes to zero. This IS NOT due to voltage drop across the IGBT (which would result in massive heating) nor is it voltage drop from the batteries. No current flows. The scope connected to the output shows a 50% duty cycle (in phase across all three phases). I've verified that the gates are being driven with the correct varying PWM signal (45-55% or so). The gates are getting a good +15-5v clean drive pulse with fast and complete turn-on and turn-off (Rg is 2.2ohm). So I'm very confused as to why the output seemingly does not match the input. I'm getting no IGBT heating, and no current flowing.

The problem seems to be load-dependent, or at least induction dependent. My little 240vac 370w motor seems to run fine, though I have verified that the voltage at the output drops from the nominal voltage when the motor is connected. Also, the filtered phase-phase voltage is no longer sinusoidal with the load connected, the slope of the sinusoid decreases suddenly at about 60 (+ve swing, rising) and 150 (-ve swing falling) degrees, resulting in a lower peak voltage value. I've connected my 240vac 11kw motor as well, which obviously has lower inductance than the tiny motor, and while the voltage doesn't go to zero as it does with the custom-wound motor, it has a very low voltage and a very ugly sinewave. It turns slowly at 2Hz, but vibrates quite a bit. I can stop the shaft with my hand and it pulses quite badly at a rate of about 4Hz (once per half-cycle of input frequency).

I've tried different IGBTs with no change in behavior. According to my scope readings of the gate voltages while this is happening, the gate drive appears to be working perfectly and within specification. I've gone through the code many times and verified that the waveform generation is correct. I've commented out any part of the code which would cut back the voltage in the event of over-current on either the battery or the phases with no change in behavior. I've tried different values and configurations for Rg (separate on and off Rg's, and a single on-off configuration).

The only things I can think might be causing it is somehow incomplete or impromer gate drive, even though it looks fine on the scope (maybe it's something happening fast enough that I can't see it on my DSO, need an analog one to try). The fact the output of all phases is in-phase 50% PWM when connected to the big motor makes me suspect that there is something common to all 6 gates. I've tried playing with how the FAULT pins on the HCPL-316s (which are all parallel) are pulled high, but it didn't seem to make any difference. I'll play with that a bit more today.

Really though, I'm running out of ideas. Any thoughts?


Could be the power source cutting out, what are you using? The large motor probably has next to no resistance which draws a lot of current on the first pulse and cuts out the power if your using a bench supply or something. Is 45-55% PWM excessive for locked rotor? Or does 50% PWM represent 0V in this case?

When you have the scope on the "output", is that the gate driver output, or the IGBT phase?

Could also be your gate drivers arn't powerful enough? With only a small current on the IGBT it may switch, but with larger current you need larger Vce which therefore draws more current. Check the gate driver supply power and driver max current.
Could also be a referencing problem between the base and emitter when current is flowing. Make sure you have no ground loops

Rgds,
Stiive

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 15:56

Yeah, 45-55% PWM on the gates at the 16Khz PWM frequency. Varies between 45%-55% on a particualar gate at a rate of 2Hz, sinusoidally. The %50 duty cycle at the output is also at 16Khz, though very solid 50%. Close watching shows a small transient at the top of the square waves moving +/- 5% at about 2Hz, so it's there, but it's just not being "asserted". This is done by removing the filter and measuring one phase output with the scope GND connected to the middle of a voltage divider connected across the DC bus. Amplitude is +/- 150v square wave for my 330vdc supply (I expect the drop there is a result of the centre of the divider not being a solid Vdc/2).

Yes, the phase gate drive is 120degrees out of phase across the 3 dual IGBTs (with the top and bottom gates inverted from eachother with appropriate deadtime). The waveform at the output is sinusoidal when no load is connected, and flat line at 0v when the big motor is connected with low (<20vac) output voltage demanded. When a lighter load (smaller motor) is connected, the waveform at the output becomes a distorted sine-wave of an amplitude much less than the controller is modulating. The level of distortion increases as load increases. As mentioned before, removing all loads, the output waveform is perfect sine and correct amplitude).

Another note, I changed the code in my controller to increase the frequency in response to the throttle input (rather than the slip based on the encoder which kept the frequency constant at 2Hz since the motor doesn't turn). Increasing the frequency (and as a result of the V/Hz slope, the voltage as well) did allow an output of sufficient amplitude to drive the motor, though it was not pretty, smooth, or quiet by any means. The same output applied to the small motor results in a smooth, silent sweep from stop to 50Hz (I didn't test higher). So it's definitely load related.

There is desaturation protection built in to the HCPL-316 optocouplers, but they should latch their FAULT pin low if desaturation is detected. I can simulate a desaturation event by disconnecting the gate for and IGBT from the drive circuit. This works as expected, with an indicator LED tied to the FAULT pins illuminating and latching on. The FAULT pin can, however, be driven low from the control-side to disable gate drive output on all gates at once. There is moderate switching noise on these pins from the gate drive power supply. Also, these pins are pulled high to 3.3vdc to match the microcontroller voltage, even though the supply to the gate-drivers themselves is 5v. According to the data sheet, the gate drive input pin logic high voltage is 2.0v. Logic low comes in at 0.8v. The noise on these pins doesn't appear to extend below 0.8v, so I doubt that's causing the problem, though it probably does have transients below 2v. I've disconnected these pins from the microcontroller and installed a pull-up resistor to 5v for troubleshooting with no change at all. If the gate-drive signals ARE the problem, I can't see it on the scope. Like I said, the gate drive looks as expected, but the output doesn't seem to match.

Just using simple V/Hz for now.

User avatar
Johny
Senior Member
Posts: 3729
Joined: Mon, 23 Jun 2008, 16:26
Real Name: John Wright
Location: Melbourne
Contact:

My homebuilt VFD progress

Post by Johny » Thu, 08 Nov 2012, 16:09

In the 16kHz PWM generation, do you switch all 3 phases at the same time?
Put another way....
You don't rotate around the phases on each 16kHz interrupt such that any particular IGBT is on when the other two are off.

If you hobble your code or arrange to have a 0 PWM output, does the 50% fixed PWM still exist on the O/Ps (assuming large load)?

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:10

Stiive wrote: Could be the power source cutting out, what are you using? The large motor probably has next to no resistance which draws a lot of current on the first pulse and cuts out the power if your using a bench supply or something. Is 45-55% PWM excessive for locked rotor? Or does 50% PWM represent 0V in this case?

When you have the scope on the "output", is that the gate driver output, or the IGBT phase?

Could also be your gate drivers arn't powerful enough? With only a small current on the IGBT it may switch, but with larger current you need larger Vce which therefore draws more current. Check the gate driver supply power and driver max current.
Could also be a referencing problem between the base and emitter when current is flowing. Make sure you have no ground loops
I'm using a bench-top power supply with a parallel SLA battery for the 12v side of things. I'm using 98s4p A123 18650 batteries for the high voltage/high current supply. No current supply problems with them ;-)

45-55% is an estimate of the PWM modulation at 2Hz. It's probably less than that. I just used it it illustrate that I can see a varying duty cycle on the gate drive inputs, but at the IGBT phase output, it's stuck at 50% for low output voltage demands. As I mentioned in my reply to Woody, increasing the PWM modulation amplitude (the sweep of the duty cycle, not the amplitude of the pulses) results in -some- output at the phases even with high load, but it's not pretty or clean by any means, nor is it of the desired amplitude. In short, it departs from the 50% output, but still doesn't match the input.

My gate drive is way more than is required. The voltage output from the rectifiers is 24v and doesn't drop measurably when switching is occurring. As I said, the scope shows perfect +15-5v gate pulses with fast and complete turn on/off in all cases (loaded or unloaded). If there's a problem in the gate drive, I can't see it on the scope. Either because there's no problem, or my DSO doesn't refresh fast enough to see it. I should be able to see -something- though, even if it is random or intermittent, it should should up at least occasionally. I've tried changing the PWM frequency as high as 30khz and as low as 8Khz with no change in behavior.

"Could also be a referencing problem between the base and emitter when current is flowing. Make sure you have no ground loops"

This is intriguing. Can you clarify what you mean? Ground loops in which circuit?

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:16

Johny wrote: In the 16kHz PWM generation, do you switch all 3 phases at the same time?
Put another way....
You don't rotate around the phases on each 16kHz interrupt such that any particular IGBT is on when the other two are off.

If you hobble your code or arrange to have a 0 PWM output, does the 50% fixed PWM still exist on the O/Ps (assuming large load)?


The PWM happens in centre-aligned mode, so they're not all turning on at the same time. I did consider that might cause noise problems if they were edge-aligned.

Note mine, but illustrates the PWM mode I'm using:
Image

There should be no point where only 1 IGBT is on, there will always be a current path. This is difficult to verify with a 2ch scope though ;-)

I think I answered your last question in my post above: " increasing the PWM modulation amplitude (the sweep of the duty cycle, not the amplitude of the pulses) results in -some- output at the phases even with high load, but it's not pretty or clean by any means, nor is it of the desired amplitude. In short, it departs from the 50% output, but still doesn't match the input."

User avatar
Johny
Senior Member
Posts: 3729
Joined: Mon, 23 Jun 2008, 16:26
Real Name: John Wright
Location: Melbourne
Contact:

My homebuilt VFD progress

Post by Johny » Thu, 08 Nov 2012, 16:18

Good points from Stiive. What IGBTs are you driving - gate capacitance?
The HCPL316 is not a high current device. Your 2.2Ohm is a bit optimistic.
I have a feeling that it can't ramp a high capacitance gate up and down for 16kHz to work very well. What does the gate drive look like on the CRO with your high load?

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:25

Johny wrote: Good points from Stiive. What IGBTs are you driving - gate capacitance?
The HCPL316 is not a high current device. Your 2.2Ohm is a bit optimistic.
I have a feeling that it can't ramp a high capacitance gate up and down for 16kHz to work very well. What does the gate drive look like on the CRO with your high load?
It's on CM400dy-12nf at the moment, though I've also tried CM600DU-12nf with no change at all.

I'm using the discrete high-current output configuration shown on page 29 of the datasheet (with external resistors and seperate turn-on and turn-off Rg). I was originally using 4.7ohm for the turn-on and 2.7ohm for the turn-off (closest values I could find to those recommended in the datasheet), but swapped to the 2.2ohm turn-on as part of a troubleshooting exercise. There was no change in the behavior as a result of the different resistors, though the turn-on is now much faster as viewed on the scope. The gate drive look perfect on the scope with high load. With my probe on the gate terminals on the IGBT itself, the rise time is very fast, reaching its maximum well before the end of the pulse. It passes the turn-on threshold voltage in a nearly vertical part of the trace. I'll get a photo of the gate drive signal and post it here.

EDIT: as mentioned above as well, I've tried as low as 8Khz with no change in behavior.
Last edited by BigMouse on Thu, 08 Nov 2012, 05:25, edited 1 time in total.

User avatar
weber
Site Admin
Posts: 2624
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

My homebuilt VFD progress

Post by weber » Thu, 08 Nov 2012, 16:25

That sounds like desat protection is working and the fault is being reset immediately every time. You haven't mentioned what you have the 316J's /RESET connected to.
Last edited by weber on Thu, 08 Nov 2012, 05:30, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 16:26

BigMouse wrote: The PWM happens in centre-aligned mode, so they're not all turning on at the same time. I did consider that might cause noise problems if they were edge-aligned.


What does this do to the dead-time?

BigMouse wrote: This is intriguing. Can you clarify what you mean? Ground loops in which circuit?


Ground loops in all circuits. Is your control circuit referenced to DC ground, or all your lower gate drives referenced to each other? If so, IMO you should only run connections to the base of the IGBTs and not individually reference each emitter as they are all at the same potential - this may cause ground loops in your circuit.
BigMouse wrote: Another note, I changed the code in my controller to increase the frequency in response to the throttle input (rather than the slip based on the encoder which kept the frequency constant at 2Hz since the motor doesn't turn). Increasing the frequency (and as a result of the V/Hz slope, the voltage as well) did allow an output of sufficient amplitude to drive the motor, though it was not pretty, smooth, or quiet by any means. The same output applied to the small motor results in a smooth, silent sweep from stop to 50Hz (I didn't test higher). So it's definitely load related.


TBH it sounds like your code needs revising. Its not easy to spin a motor, one wrong pulse on a big motor and the rotor stalls. Perhaps the smaller motor spins correctly as a wrong pulse cant draw much current due to the large stator resistance, therefore barely creating any stalling torque - this however could be a factor on a bigger motor.

But its still odd your not getting any voltage or current flowing... hmmm
Rgds,
Stiive

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:31

weber wrote: That sounds like desat protection is working and the fault is being reset immediately every time. You haven't mentioned what you have /RESET connected to.


I thought that as well early in my troubleshooting. the RESET pins are pulled "high" to 3.3v same as the FAULT pins. They can be brought low by the microcontroller to reset after a fault condition, but I have that pin set as a high-impedance input so if it's resetting, it's not doing it on purpose. Similar to what I tried with the FAULT pins, I disconnected the RESET pin and tied it high to 5v with a 3.3k resistor for troubleshooting. No change.

The thing that's really got me confused the most about this issue is that the gate drive signal at the IGBT pins appears perfect. If there was a problem with desat or fault pin noise, I'd expect to see it at the gates, not only at the IGBT outputs. I'll try hooking my scope up to G1 on a module as well. I've mostly been hooking up to G2 on phase W as it's the most convenient to connect to where the modules are mounted. Maybe I'll see something on a top gate that's not showing up on a bottom one. I'm pretty sure I've already done this, but the last two days have been nothing but solid troubleshooting and my brain is getting a bit fried by it at this point ;-)

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 16:36

BigMouse wrote:
weber wrote: That sounds like desat protection is working and the fault is being reset immediately every time. You haven't mentioned what you have /RESET connected to.


I thought that as well early in my troubleshooting. the RESET pins are pulled "high" to 3.3v same as the FAULT pins. They can be brought low by the microcontroller to reset after a fault condition, but I have that pin set as a high-impedance input so if it's resetting, it's not doing it on purpose. Similar to what I tried with the FAULT pins, I disconnected the RESET pin and tied it high to 5v with a 3.3k resistor for troubleshooting. No change.

The thing that's really got me confused the most about this issue is that the gate drive signal at the IGBT pins appears perfect. If there was a problem with desat or fault pin noise, I'd expect to see it at the gates, not only at the IGBT outputs. I'll try hooking my scope up to G1 on a module as well. I've mostly been hooking up to G2 on phase W as it's the most convenient to connect to where the modules are mounted. Maybe I'll see something on a top gate that's not showing up on a bottom one. I'm pretty sure I've already done this, but the last two days have been nothing but solid troubleshooting and my brain is getting a bit fried by it at this point ;-)


Buy one of these, it really helped me
http://www.squarebit.com.au/product/112/

Its got 8 channels, I used it to check the order of pulses of the gate drive signals from my MCU. Its also great for debugging comms such as USART, CAN, I2C etc - well worth the money.
I also applied 5V to my DC bus, and checked the pulses on the output of the IGBTs. But I don't have a scope :(
Rgds,
Stiive

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:47

Stiive wrote:
What does this do to the dead-time?

Ground loops in all circuits. Is your control circuit referenced to DC ground, or all your lower gate drives referenced to each other? If so, IMO you should only run connections to the base of the IGBTs and not individually reference each emitter as they are all at the same potential - this may cause ground loops in your circuit.

TBH it sounds like your code needs revising. Its not easy to spin a motor, one wrong pulse on a big motor and the rotor stalls. Perhaps the smaller motor spins correctly as a wrong pulse cant draw much current due to the large stator resistance, therefore barely creating any stalling torque - this however could be a factor on a bigger motor.

But its still odd your not getting any voltage or current flowing... hmmm


Dead-time is always constant. This is a feature of the AWEX in the Atmel XMEGA controllers. There's a dead-time value set in a register and this is inserted between complimentary pulses regardless of the PWM mode being used. I verified this was working correctly on my scope when the circuit was still on a breadboard, and have verified it's still correct now.

I currently have each discrete IGBT (6 total) treated in isolation. There are 6 isolated gate-drive power supplies, and each gate is referenced/supplied only relative to its corresponding emitter. None of the emitters are connected together except the bottom 3 only by the DC negative rail bus-bar. Are you suggesting that I tie the emitter potential for each bottom gate power supply together?

The control circuit is completely isolated from the battery, as required for EVs.

My code uses a common method of V/Hz modulation similar to that used in an application note for a previous Atmel device. The pulses are centre-aligned, same as that app-note, and the registers are locked out, modified, then updated simultaneously for each new value. The sine wave is from a look-up table and scaled based on frequency and measured DC bus voltage. I've gone through it a few times now and am pretty confident the code is not at fault. Of course, I've gone through the hardware a few times now and can't find a fault there either, so I must be doing something wrong -somewhere-. I think I'll do some more experimenting with the FAULT and RESET pins, despite the gate drive signal seeming healthy.

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 16:49

Here's a picture of my gate drive output during testing. I'm sure yours looks similar.
+-15V drive and 4.5ohm. 1.33uS deadtime

Image
Rgds,
Stiive

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 16:49

Stiive wrote: Buy one of these, it really helped me
http://www.squarebit.com.au/product/112/

Its got 8 channels, I used it to check the order of pulses of the gate drive signals from my MCU. Its also great for debugging comms such as USART, CAN, I2C etc - well worth the money.
I also applied 5V to my DC bus, and checked the pulses on the output of the IGBTs. But I don't have a scope :(


Thanks, I have a clone of that already and have used it to read some UART the other day for debugging something else. I'll hook it up to the gate drives and have a look at whats actually going on.

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 17:08

Here's a capture from the top gate of phase W while running my 11kw motor (very roughly) at 2Hz.

Image

You can see the rise and turn-off time is not even notable. There is a bit of noise visible from another phase but it is all contained well above the threshold voltage.

I didn't capture the bottom channel for comparison as the two emitters are at different potential and I don't want to fry anything. Deadtime is 2uS. I'll hook my logic analyzer up in a bit and get a picture of all 6 gate signals from the controller for you. I can't easily hook it up while connected to the batteries and power stage, and I'm confident the signals are the same when connected as when running loose (I've verified this by forcing variables to constants in code so no current or encoder readings could effect it), so it'll be the raw output from the microcontroller outputting at 2hz for a 240vac motor.

User avatar
weber
Site Admin
Posts: 2624
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

My homebuilt VFD progress

Post by weber » Thu, 08 Nov 2012, 17:16

It would be a lot easier to help you if you pointed us to a schematic. You pointed us to one in the datasheet for how the IGBT side of the driver is wired, perhaps you could do the same for the controller side of the driver, if you don't have a schematic you can post. Ensure you tell us about any differences between high and low side drivers.
BigMouse wrote:Similar to what I tried with the FAULT pins, I disconnected the RESET pin and tied it high to 5v with a 3.3k resistor for troubleshooting. No change.
If you did that on all 6 drivers, I agree its hard to see how desat faults could be resetting?
The thing that's really got me confused the most about this issue is that the gate drive signal at the IGBT pins appears perfect.
I figure this has to be where you're being fooled somehow. The signal at the IGBT gates can't be perfect.
The FAULT pin can, however, be driven low from the control-side to disable gate drive output on all gates at once.
That makes no sense to me. The /FAULT pin can't be used as an input. It's purely an open-drain output. Of course if you have /FAULT connected to VIN+, as in Fig 72 of the datasheet, then driving /FAULT low will disable output, but it's really because you're driving VIN+ low.

[Edit: Corrected "VIN-" to "VIN+"]
Last edited by weber on Thu, 08 Nov 2012, 06:19, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 18:15

weber wrote: It would be a lot easier to help you if you pointed us to a schematic. You pointed us to one in the datasheet for how the IGBT side of the driver is wired, perhaps you could do the same for the controller side of the driver, if you don't have a schematic you can post. Ensure you tell us about any differences between high and low side drivers.
BigMouse wrote:Similar to what I tried with the FAULT pins, I disconnected the RESET pin and tied it high to 5v with a 3.3k resistor for troubleshooting. No change.
If you did that on all 6 drivers, I agree its hard to see how desat faults could be resetting?
The thing that's really got me confused the most about this issue is that the gate drive signal at the IGBT pins appears perfect.
I figure this has to be where you're being fooled somehow. The signal at the IGBT gates can't be perfect.
The FAULT pin can, however, be driven low from the control-side to disable gate drive output on all gates at once.
That makes no sense to me. The /FAULT pin can't be used as an input. It's purely an open-drain output. Of course if you have /FAULT connected to VIN+, as in Fig 72 of the datasheet, then driving /FAULT low will disable output, but it's really because you're driving VIN+ low.

[Edit: Corrected "VIN-" to "VIN+"]


I have the input side configured like figure 69 in the datasheet except: the pull-up resistor on the fault pin is pulled up to 3.3v instead of 5v (VCC1-GND1 is supplied with 5v though). There is only one pull-up resistor (2.2k due to the lower pull-up voltage) and it is located near the microcontroller. When I did the testing, I connected a single 3.3k resistor from the FAULT "bus" to 5v (so it was exactly like figure 69) and disconnected the circuit from the microcontroller to avoid damaging it do to the higher voltage. The datasheet was unclear whether a single resistor is sufficient or if a pull-up is required for each driver's FAULT pin.

I do suspect I'm being fooled, yes. I was careful to say that the gate drive signal "appears" perfect ;-)

You're correct about the FAULT pin not working as an input. My mistake. Still, that eliminates noise on the FAULT pin as a potential source for my problem. Noise on the RESET pin shouldn't be able to affect it either as it would still only cause a problem if a fault is detected. Perhaps I should tie the reset bus high with a jumper rather than a resistor to make sure it's held high (and disconnect it from the microcontroller all together). That would ensure faults aren't being immediately reset by noise, allowing them to latch. If desat faults ARE being detected, and reset immediately, at 16khz, I'd expect the modules to heat up at least a little bit. The next question would be whether there actually is an overcurrent/desat condition (caused by my code perhaps), or if it's being false triggered by noise. I'm afraid to connect a scope to the desat pin to watch the voltage as I worry that coupling in the scope probe will cause issues and possibly cost me an IGBT.

Thanks for all the advice guys. Keep it coming :-)

User avatar
weber
Site Admin
Posts: 2624
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

My homebuilt VFD progress

Post by weber » Thu, 08 Nov 2012, 19:05

Are you using one of the recommended fast-recovery diodes for DESAT detection and do you have the 100 pF blanking capacitor?

The datasheet does say that control-side inputs should be actively driven, not relying on pullup or pulldown resistors, as capacitive coupling from the high voltage side may be strong. (last paragraph page 25) That would go for /RESET as well as VIN+ and VIN-.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 19:47

weber wrote: Are you using one of the recommended fast-recovery diodes for DESAT detection and do you have the 100 pF blanking capacitor?

The datasheet does say that control-side inputs should be actively driven, not relying on pullup or pulldown resistors, as capacitive coupling from the high voltage side may be strong. (last paragraph page 25) That would go for /RESET as well as VIN+ and VIN-.


Yes to all. I used the recommended part numbers where provided (MURS160T3 diode, MJD44/45 transistors, etc). I also have the 100ohm resistor in series with the desat diode as described in "DEAST Pin Protection" on page 25 (Figure 66). I am driving the inputs with the microcontroller outputs in totem-pole mode, though they are 3.3v signals.

Avago Application Note 5324 also describes an additional protection against false faults in the form of two diodes between pins 14 and 16 (Figure 3, described on page 4). I have installed 10v zeners (and the recommended schottky) as shown on the diagram, but the description says 7.5-8v, so there is some contradiction there. I may have to order some different value zeners to install to test this if I find that faults are being triggered (and reset by noise/coupling). Will go test some of this now.

User avatar
BigMouse
Senior Member
Posts: 600
Joined: Thu, 28 Oct 2010, 02:39
Real Name: Vincent Tannahill
Location: Silicon Valley
Contact:

My homebuilt VFD progress

Post by BigMouse » Thu, 08 Nov 2012, 20:38

Logic analyzer data from the gate drives. These are the signals from the microcontroller.

Zoomed out:
Image

Zoomed in:
Image

Stiive
Groupie
Posts: 295
Joined: Wed, 31 Dec 2008, 08:26
Location: Melbourne

My homebuilt VFD progress

Post by Stiive » Thu, 08 Nov 2012, 20:52

Haha funny it still uses the Saleae software.

Is Vb meant to turn off halfway through Ut and Wt on time? The current has no path in that 1uS... I would have thought it should switch at the same time as the others?
Not that I think it would cause the problems your seeing, just seems strange to me.

The overall switching seems okay for 3-ph sine wave. Cant see the modulation index getting smaller at the edges though, but that's probably cus its zoomed out a lil too far.

Rgds,
Stiive

Post Reply