Go Down

Topic: Need help with high frequency switching solution (Read 337 times) previous topic - next topic

mbferguson

Nov 15, 2018, 01:07 pm Last Edit: Nov 15, 2018, 01:11 pm by mbferguson
I am creating a pulse generator. The requirement calls for a switch to be closed for 100ns, and open for for the remainder of a 500us cycle. The sampling rate of the transducer being driven by the pulse generator is 2kHz. hence 500us. The capacitor should discharge within 4 tau, which gives a 25ns time constant.

The requirements call for a microcontroller to interface with the switch, in order to control exactly when the pulses are sent. I've planned on using the Arduino as it has analog input pins which will simplify the design. These pins will only be receiving a very low mV range signal.

In order to explain better I've posted a picture of the circuit. When the switch is closed, there should be a very low current flowing through the 560kohm, so the 100ns window the switch is closed shouldn't damage the transducer. The transducer is a dual element probe, so the side connected to the HV pulse is isolated from the side interfaced with the arduino.



Perhaps this part would work as the switch?

IPC302N25N3

It is rated for Vds = 250V, within requirements.
It's Vgs is 2 to 4V, so the Arduino output pins could handle activating the gate of the mosfet.

If it is activated for 100ns, that would require at least 2 instructions to turn the pin high and back to low. (Probably much more if using digitalWrite() ). Unfortunately, if the Arduino only process it's instructions in increments of 62.5ns, I would only be able to get 125ns minimum, which would be optimistic and still not be within requirements. However the clock rate of 1/16MHz should allow up to 8,000 instructions per 500us cycle for processing purposes of the reflected signal and display of information on an output display.

Are there other microcontrollers that have analog input pins, with potentially higher resolution clock rates?

Any advice is appreciated. Thank you.

https://www.infineon.com/cms/en/pro...fet/30v-250v-n-channel-power-mosfet-bare-die/

mbferguson

I currently have a Raspberry Pi 3. Would it be a good idea to use the high clock rate of 700MHz of the Pi to operate the mosfet, while utilizing the analog input pins of the arduino to read the reflected wave?

MarkT

I am creating a pulse generator. The requirement calls for a switch to be closed for 100ns, and open for for the remainder of a 500us cycle. The sampling rate of the transducer being driven by the pulse generator is 2kHz. hence 500us. The capacitor should discharge within 4 tau, which gives a 25ns time constant.

Stray capacitance and inductance will dominate this design given those speeds.  Layout is all-important,
as it choice of capacitor (I suspect only MLCC ceramic can be fast enough).
Quote
The requirements call for a microcontroller to interface with the switch, in order to control exactly when the pulses are sent. I've planned on using the Arduino as it has analog input pins which will simplify the design. These pins will only be receiving a very low mV range signal.
So you'll need a very fast opamp too
Quote
In order to explain better I've posted a picture of the circuit. When the switch is closed, there should be a very low current flowing through the 560kohm, so the 100ns window the switch is closed shouldn't damage the transducer. The transducer is a dual element probe, so the side connected to the HV pulse is isolated from the side interfaced with the arduino.
The 560k resistor is not part of the switched circuit at all, thats just the capacitor and load, so the currents
could be several amps easily - just do the math from the stored charge and discharge timescale...
Quote
Perhaps this part would work as the switch?

IPC302N25N3

It is rated for Vds = 250V, within requirements.
It's Vgs is 2 to 4V, so the Arduino output pins could handle activating the gate of the mosfet.
No, that means it definitely cannot work at logic level.  Vthr is the definitely-off voltage.  That MOSFET
requires 10V or more gate drive as the Rds(on) specification indicates

You must at these voltages use a gate driver IC anyway, so it doesn't matter at gate drivers use 12V.

If you don't use a gate driver the capacitive feedback from drain to gate will probably destroy all your
low voltage circuitry immediately.  220V swing in a few tens of ns is 10 GV/s, and may well be beyond
the capability of a MOSFET anyway - in particular your 470pF capacitor will have to drive the significant
gate-drain capacitance of the MOSFET itself which will be of the same order of capacitance.

Quote
If it is activated for 100ns, that would require at least 2 instructions to turn the pin high and back to low. (Probably much more if using digitalWrite() ). Unfortunately, if the Arduino only process it's instructions in increments of 62.5ns, I would only be able to get 125ns minimum, which would be optimistic and still not be within requirements. However the clock rate of 1/16MHz should allow up to 8,000 instructions per 500us cycle for processing purposes of the reflected signal and display of information on an output display.

Are there other microcontrollers that have analog input pins, with potentially higher resolution clock rates?
You can certainly interface a high speed SPI ADC to the Arduino, microsecond or so sample times aren't
too difficult/expensive.

Quote
Any advice is appreciated. Thank you.

https://www.infineon.com/cms/en/pro...fet/30v-250v-n-channel-power-mosfet-bare-die/
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

mbferguson

#3
Nov 15, 2018, 03:12 pm Last Edit: Nov 15, 2018, 03:23 pm by mbferguson
(I suspect only MLCC ceramic can be fast enough).
I will be using one of those tiny blue caps like the small tiny one shown here.
https://img.dxcdn.com/productimages/sku_154263_1.jpg


So you'll need a very fast opamp too
Why do I need an op amp to interface with a mosfet gate?

The 560k resistor is not part of the switched circuit at all, thats just the capacitor and load, so the currents
could be several amps easily - just do the math from the stored charge and discharge timescale...No, that means it definitely cannot work at logic level.
The transducer can handle a short pulse of high current/voltage.

Vthr is the definitely-off voltage.  That MOSFET
requires 10V or more gate drive as the Rds(on) specification indicates
Thank you for pointing that out, I will look into a different component.


You must at these voltages use a gate driver IC anyway, so it doesn't matter at gate drivers use 12V.
Would you mind recommending one or two potential drivers that would work? I've explored suggestions from other professionals, but it tends to end up being a lot of work on my end to understand brand new components/circuit topologies I've never worked with before.

You can certainly interface a high speed SPI ADC to the Arduino, microsecond or so sample times aren't too difficult/expensive.
I'm a bit confused at the moment. The sample rate is 2kHz, 500us. However, the pulse width can be no greater than 100ns.

I should also mention that I am a student in university. I am not a professional, so I appreciate your advice a lot. I am grateful for the warning you gave with regards to the capacitance bleed back of the mosfet. I had not considered such things. If I had damaged my board I would need to reorder another wasting time and money of my project budget.

Do you have any input on the idea of using a Raspberry Pi to control the switching device (yet to be determined) as well as the Arduino itself to detect the reflected wave? Do you believe there could be capacitance issues with the probe interfacing with the analog input pin? It should be a very low votlage signal, only mV. The dual element probe is completely isolated between eachother, but I can entertain the idea of capacitance easily being transfered between the cables.

ard_newbie


I am unsure to understand your schematic, but an arduino DUE clocked at 84 MHz would give 8 clock cycles for 100 ns (and 10 if clocked at 96 MHz), enough to toggle (set/clear) a digital pin (~ 4 clock cycles) inside a 100 ns window. And the 12-bit ADC conversions can be done up to 1 MHz for 1 channel.

MarkT

My main concern is your desired narrow pulse width - 25ns or so with dV/dt of around 10GV/s and
dI/dt around 100MA/s

Your capacitor has a lot of stray inductance in the leads, you should estimate this and see what effect
its likely to have.

Find to lowest capacitance switch you can find that can handle the peak current (you need to know the
resistance and inductance in circuit, hopefully this is mainly from the transducer.

The way things are wired you require a high-side switch so a floating gate driver is actually needed, and
the capacitance from that to ground is an issue too, as well as finding some driver that can do the
level shifting of that voltage range and do charge-pumping as well (the pulses are too narrow
for bootstrapping to work).

The normal device used for high speed high voltage switching is a triggered spark-gap of some sort,
BTW, as these are much faster and more robust than anything else.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

mbferguson

My main concern is your desired narrow pulse width - 25ns or so with dV/dt of around 10GV/s and
dI/dt around 100MA/s
I had arbitrarily used 4 time constants as the amount of time the capacitor would be fully discharged. Each time constant the cap should lose 37% of the previous voltage. Are you still saying that the capacitor will create an enormous voltage? This does not coincide with some of the other advice I've gotten from allaboutcircuits.com which helped me formulate the schematic shown.

mbferguson

If the gate driver will act as a buffer between the microcontroller sending a pulse, what would be the parameters necessary to ensure it doesn't fail? The mosfet would have the 220V across its S/D.

MarkT

I had arbitrarily used 4 time constants as the amount of time the capacitor would be fully discharged. Each time constant the cap should lose 37% of the previous voltage. Are you still saying that the capacitor will create an enormous voltage? This does not coincide with some of the other advice I've gotten from allaboutcircuits.com which helped me formulate the schematic shown.
I said nothing about enormous voltages, I said everything about enormous rates of change, both in
voltage and current.  These sizes of rates of change mean that stray reactances are likely to completely
dominate the circuit behaviour.  Or put another way its really hard to sustain 10GV/s, and (although
most datasheets don't give this value) MOSFETs have a maximum safe dV/dt.

And you have the problem of finding a MOSFET that can switch that fast (ie very low Crss figure), and
then switching it high-side.

The capacitors you link to don't look the part to me.  I would suggest parallelling several SMT MLCC's across a
wide PCB trace (wide = low inductance), which will allow faster discharge - or put another way your
switching speed is equivalent to frequencies around 10MHz, you want to ensure any capacitor self
resonance is well above this frequency, and that their ESL is very low and not dominating the impedance
of the circuit.

Quote
If the gate driver will act as a buffer between the microcontroller sending a pulse, what would be the parameters necessary to ensure it doesn't fail? The mosfet would have the 220V across its S/D.
No, the Vgs must be kept within spec, preferrably just in the range 0V to 12V.  This is why your high side
switching is problematic.

So why not switch low-side?
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

mbferguson

#9
Nov 16, 2018, 02:13 pm Last Edit: Nov 16, 2018, 02:17 pm by mbferguson
And you have the problem of finding a MOSFET that can switch that fast (ie very low Crss figure), and
then switching it high-side.
I'll do some research on what Crss means.

I would suggest parallelling several SMT MLCC's across a wide PCB trace (wide = low inductance), which will allow faster discharge
Interesting suggestion

No, the Vgs must be kept within spec, preferrably just in the range 0V to 12V.  This is why your high side
switching is problematic.

So why not switch low-side?
I am confused by the terms high-side and low-side switching. If I control the on/off state of the mosfet with the gate, wouldn't it just be "middle switching"?

Also I found a pretty useful source discussing this exact topic. It has mentioned that a problem for MOSFETs is the high dV/dT during the switching of the gate. If the dV/dT is high after the gate has been switched, is the problem still there?

https://toshiba.semicon-storage.com/info/docget.jsp?did=59464 (This link autodownload a pdf for some reason)

MarkT

#10
Nov 16, 2018, 02:32 pm Last Edit: Nov 16, 2018, 02:35 pm by MarkT
I am confused by the terms high-side and low-side switching. If I control the on/off state of the mosfet with the gate, wouldn't it just be "middle switching"?

Rather than be confused, you can lookup what it means, its not difficult and its nothing to do with MOSFETs, its to do with switching in general, you can either switch on the high side or the low side.
(or both, even)
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

mbferguson

Rather than be confused, you can lookup what it means, its not difficult and its nothing to do with MOSFETs, its to do with switching in general, you can either switch on the high side or the low side.
(or both, even)
Difficult, no. Time consuming, potentially. :^) I'll add it to my list of things I'm working on

mbferguson

My main concern is your desired narrow pulse width - 25ns or so with dV/dt of around 10GV/s and
dI/dt around 100MA/s
How did you get the 100MA/s calculation?

I used the i = C x dV/dT equation.

(470pF) x ((100% - 98.2%)(220V))/100ns = 0.018612A

Where 98.2% is the value of charge lost after 4 time constants. What am I missing here?

MarkT

The time constant is 25ns, not 100ns, so the initial slope is 220V/25ns = 8.8Gv/s

There is about 100nC in the capacitor which has to drain on timescale of 25ns, ie about 4A,
and it has to rise to that sort of value in that timescale roughly, 4A / 25ns ~ several 100MA/s
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

mbferguson

#14
Nov 16, 2018, 03:50 pm Last Edit: Nov 16, 2018, 04:16 pm by mbferguson
The time constant is 25ns, not 100ns, so the initial slope is 220V/25ns = 8.8Gv/s

There is about 100nC in the capacitor which has to drain on timescale of 25ns, ie about 4A,
and it has to rise to that sort of value in that timescale roughly, 4A / 25ns ~ several 100MA/s
I used the voltage as a function of time equation for a capacitor.
Tau will be equal to RC, where R is simply the mosfet Ron and the impedance of the transducer, 50ohm, in series.
I found a typical 250V mosfet that had an Ron of 0.32ohms, so I used R = 50.32ohm.

Vc(t) = Vo * e^(-t/tau)

Vc(25ns) = 76.44V
Vc(50ns) = 26.56V
Vc(75ns) = 9.22V
Vc(100ns) = 3.2V (98.5% not 98.2%)

And then using the 25ns voltage to get dV/dT

25ns --> dV/dT = (220V - 76.44V)/25ns = 5.7424E9 V/s
50ns --> dV/dT = (220V - 26.56V)/50ns = 3.8688E9 V/s
75ns --> dV/dT = (220V - 9.22V)/75ns = 2.8104E9 V/s
100ns --> dV/dT = (220V - 3.2V)/100ns = 2.168E9 V/s

ic(25ns) = 470pF x 5.7424E9 = 2.69A

I think you are right that at the instant the capacitor starts discharging, dV/dT will be large simply because no time has yet passed and dividing by zero gives big numbers.

But after just 1ns we'd get

Vc(1ns) = 220V x e^-(1ns/(470pF x 50.32ohm)) = 210.89V

dV/dT = (220V - 210.89V)/1ns = 9.11E9

ic(1ns) = 470pF x 9.11E9 = 4.28A

After you had warned me of the issues with high dV/dT affecting mosfets, I read that article I posted a few comments above. I can't remember exactly where, but they mentioned that the dV/dT is a problem for mosfets if this occurs after (not during) the switch has been triggered. I guess that is beside the point though because the dV/dT will still start off high once the gate is done switching and begins discharging the capacitor to the transducer.

Also, it was mentioned in the article that if the dV/dT is extremely large for even as little as 1 or 2ns, the mosfet could have a false trigger or damage the component permanently. If this is the case, how are these devices supposed to be used at all in an AC configuration with an frequency above a few kHz? (My intended use is not with AC, though)

I seem to be at the point where I'm on the edge of damaging the component which isn't good. If I do end up having to research another way to go about creating a "pulse width switch" that can interface with a microcontroller that would be a huge setback. It might be possible to avoid interfacing with a controller, and instead using a crystal timer that could control the switching, with the microcontroller telling the crystal when to begin sending pulses.

Anyways, I think you are misunderstanding that ic(t) equation. If the time constant is 25ns, the dV/dT wouldn't simply be 220/25ns, it would need to incorporate the voltage lost during that time.

Go Up