Author Topic: LTSpice: MOSFET triggering help  (Read 5194 times)

0 Members and 1 Guest are viewing this topic.

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
LTSpice: MOSFET triggering help
« on: October 15, 2017, 05:23:22 pm »
Hello!

I am beginner in LTSpice, so please don't be too hard on me.  ;D

I would like to simulate 3-phase MOSFET rectifier. Now, I've created the rectifier with MOSFETs and source/load, but I don't understand how to create "drivers" for MOSFETs. What is the simplest way to add logic so I can adjust firing angle? Thanks!
 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #1 on: October 15, 2017, 06:17:10 pm »
Hi,

I don't follow what you trying to model. If you build a three phase rectifier bridge, like you have drawn, the current will flow through the body-diodes in the MOSFETs. In fact, the circuit will behave as if the circuit was built with 6 diodes.

Traditionally, controlled rectifiers were built with SCRs. The SCR can block in the reverse direction.



Picture came from here: https://www.allaboutcircuits.com/textbook/semiconductors/chpt-7/silicon-controlled-rectifier-scr/

Regards,

Jay_Diddy_B



 

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #2 on: October 15, 2017, 06:39:15 pm »
Hi,

I don't follow what you trying to model. If you build a three phase rectifier bridge, like you have drawn, the current will flow through the body-diodes in the MOSFETs. In fact, the circuit will behave as if the circuit was built with 6 diodes.

Yes, that's exactly what I am trying to build. Without MOSFET triggering, the circuit will behave like normal diode rectifier. Increasing firing angle from 0º to 120º will increase efficiency, since MOSFETs will have lower voltage drop. However, I would like to inspect what happens when we increase firing angle beyond 120º.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19517
  • Country: gb
  • 0999
Re: LTSpice: MOSFET triggering help
« Reply #3 on: October 16, 2017, 08:21:57 am »
MOSFETs typically don't have lower conduction losses, than SCRs at higher voltages. Two MOSFETs would have to be connected back-to back to enable them to turn off and that would result in an even higher on voltage.
 

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #4 on: October 16, 2017, 09:37:00 am »
MOSFETs typically don't have lower conduction losses, than SCRs at higher voltages. Two MOSFETs would have to be connected back-to back to enable them to turn off and that would result in an even higher on voltage.

Yeah, at higher voltages. When voltage is 12V, that's a whole other thing. I don't need MOSFETs to turn off.

Could we please focus on simulation itself, and not different IFS? I have implemented this in hardware and it is working, I just need to see what is happening at different conduction angles, without frying MOSFETs. Thank you.  ;)
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12856
Re: LTSpice: MOSFET triggering help
« Reply #5 on: October 16, 2017, 11:19:00 am »
Its fugly, but you can model the gate drive using behavioural sources. e.g make the gate drive conditional on the voltage drop across the MOSFET.  Its possible to parametrise the gate drive function and write it as a .func statement so you can apply it to all the phases without having to manually copy it.   There are a couple of 'gotya's that make it difficult to simulate.  e.g. the if() function produces an instantaneous step change in its output, and if you don't add series resistance so the gate isn't trying to charge in zero time + a reasonable delay to avoid instantaneous feedback, the sim will stall the first time the condition is met.   Sim attached

A better approach might be to use hierarchical schematics and design a gate drive block that connects to the MOSFET gate and source + whatever sensing nodes you need (or goes in series to sense current), then within the block use more realistic circuits and components.  The block can have its own internal floating supplies etc. separate from other instances of it.
 
The following users thanked this post: omglol

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #6 on: October 16, 2017, 11:58:22 am »
Hi,

Here is my version:



It also uses the BV source and the delay function. You set one master pulse generator and the BV sources replicate this pulse, suitably delayed for the other MOSFETs.

You play with the width and delay on the source V1. All the other sources will track.

I have attached my model.

This set for 400Hz operation, like the OPs circuit.

This is the result:



You see the voltage across the MOSFET go from diode conduction, to channel conduction and then back to diode.

What happens at more than 120 degrees?

Well you essential cause shorts between the lines LINE1 and LINEx for part of the cycle. This cause the current in the 150uH inductors to ramp up. When the short is remove the energy in the inductors is transferred to the output. This is like a boost regulator.

If there is a light load or load no load, the output voltage will climb until something breaks.

In general, this is not good.

Linear Technology Demo Board

Linear has a demo board for a three-phase synchronous rectifier, using the LT4320. The LT4320 operates the MOSFETs as ideal diodes and takes care of all the timing issues.

Link: http://www.linear.com/product/LT4320

Link: http://www.linear.com/solutions/7232

There is a LTspice model for the LT4320 circuit on that page, but I will attach it here.

Regards,

Jay_Diddy_B

« Last Edit: October 16, 2017, 12:25:12 pm by Jay_Diddy_B »
 
The following users thanked this post: Zero999, omglol

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #7 on: October 21, 2017, 06:24:47 pm »
Hi!

Thank you very much for your help with the simulation. I have a few questions, could you explain me some details?

1) At the three-phase sources, you set delay to create phase shift between them. What does {1/1200} and {2/1200} mean? I also tried to modify the sources by removing delays and setting phase #2 to have 120° phase  shift and phase #3 to have 240° phase shift, but this did not work, I am getting some strange voltage spikes on phases ... why?

2) V1 ... What does 1530u delay do? I don't understand. I understand that Ton (830u) represents approximately 1/3 of the period at 400Hz, which corresponds to 120°, am I right? Is is possible for all other pulse generators to set phase dependencies between them rather than delays? I don't understand {6/2400}, for instance ... could you explain this also?

3) Where exactly can I see how the voltage across the MOSFET switches between diode and the channel? Which parameters do you suggest to especially pay attention to when MOSFETs conduct more than 120°?

4) Is there a way (like a meter) to measure power on both AC and DC side, so I could calculate efficiency?

Thank you very much!
 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #8 on: October 21, 2017, 07:06:49 pm »
Hi,

Let me see if I can answer the questions in order.

1) At the three-phase sources, you set delay to create phase shift between them. What does {1/1200} and {2/1200} mean? I also tried to modify the sources by removing delays and setting phase #2 to have 120° phase  shift and phase #3 to have 240° phase shift, but this did not work, I am getting some strange voltage spikes on phases ... why?

The contents of the curly brackets are calculated before the simulation starts.

The expression 1/1200 is a fraction indicating 833.33333333 us.

it comes from calculating a 120 degree delay at 400Hz into time:

120 degrees = 1/3 of cycle

1/3 * 1/400 = 1/1200

If you want degrees you could write the expression

{degrees / 360 x frequency} that {120/360*400}

The delays are from the start of the simulation, t=0

.2) V1 ... What does 1530u delay do? I don't understand. I understand that Ton (830u) represents approximately 1/3 of the period at 400Hz, which corresponds to 120°, am I right? Is it possible for all other pulse generators to set phase dependencies between them rather than delays? I don't understand {6/2400}, for instance ... could you explain this also?




1530us corresponds to 220 degrees at 400Hz. It is used to align the output of the main pulse generator with the ac source. 210 degrees is the start of the conduction, the extra 10 degrees is a time before the MOSFET channel is turned on
3) Where exactly can I see how the voltage across the MOSFET switches between diode and the channel? Which parameters do you suggest to especially pay attention to when MOSFETs conduct more than 120°?

By looking at the steps in the voltage across the MOSFETs. When the voltage is around 0.7V the body diode is conducting. When the voltage is lower the body diode is conducting.

4) Is there a way (like a meter) to measure power on both AC and DC side, so I could calculate efficiency?

You can add .meas statements to the model like this:



I have changed the simulation directive to .tran 0 120m 20m This means ignore the first 20ms of data. This allows the system to settle before making measurements.

To see the results from the measurements, View and then SPICE Error Log. You will something like this:





This is the model with the changes:



I have attached the model.

Regards,
Jay_Diddy_B

« Last Edit: October 21, 2017, 07:12:47 pm by Jay_Diddy_B »
 
The following users thanked this post: omglol

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #9 on: October 22, 2017, 09:21:03 pm »
Hi,

Let me see if I can answer the questions in order.

Thank you so much! I am very grateful for your help!

I just need one more explanation. :) You said that we can see MOSFET body diode/channel conduction by looking at the voltage across MOSFET. I attached your picture ...if I understand correctly, the bumps I encircled represent time when the body diode is conducting. I tried to measure this on my hardware with the oscilloscope and I get very very similar picture. Now, here is my answer - theoretically, if MOSFET conducts for 120°, shouldn't there be a flat line (at around 0V), because all the current would go through MOSFET channel and not body diode? Is the conduction angle actually wider because of commutation process? Because I tested this with your simulation and also on my hardware, and I can move conduction angle to approximately 150°, so I can get the flat line (100% channel conduction). If I move it even further, "disaster" happens, the alternator goes into short circuit, and I need to shut down the motor running it, to prevent damage to MOSFETs ... and I need to do this really quickly (there are some serious currents running through the rectifier at this moment). :D
 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #10 on: October 23, 2017, 12:22:33 am »
Hi,

Try the attached model. I have made a few tweaks.

After running the model in the normal way. Click View -> SPICE Error Log.

Right click in the window.

Select Plot .step'ed .meas data

Right click in the window.

Select add Traces

Select the parameter you wish to plot.

The parameter will be plotted with phase angle on the X-axis.

Let us know what you see.

Regards,

Jay_Diddy_B



 
The following users thanked this post: omglol

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #11 on: October 23, 2017, 06:27:59 am »
Hi!

Thanks! If I understand correctly, this plot is showing that efficiency is best at around 150-155° degrees of conduction angle, then it starts dropping?



 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #12 on: October 23, 2017, 02:37:42 pm »
Hi,

You might want to look at the light load performance.

I have attached a model for you.

Jay_Diddy_B
 
The following users thanked this post: omglol

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #13 on: October 23, 2017, 03:51:24 pm »
Hi,

You might want to look at the light load performance.

I have attached a model for you.

Jay_Diddy_B

Hi!

Thank you very much. Yes, I see the efficiency now drops after about 80°. However, the load is very low. Is this happening because of commutation?

By the way, did I read the results correctly in my previous post? Thanks.
 

Offline Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: ca
Re: LTSpice: MOSFET triggering help
« Reply #14 on: October 23, 2017, 08:08:01 pm »
Hi,
You have to look at all the results at different load conditions.

Here are some key measurements at light load:




You can see that losses and input current become huge at light load if the phase angle is too big.

During normal operation, loaded, the MOSFET waveform looks like this:





You can see the body diode conduction and the channel conduction changing with phase angle.

The LT4320, mentioned earlier, takes care of adjusting the phase angle.

Jay_Diddy_B
 
The following users thanked this post: omglol

Offline omglolTopic starter

  • Regular Contributor
  • *
  • Posts: 70
Re: LTSpice: MOSFET triggering help
« Reply #15 on: October 23, 2017, 08:26:30 pm »
Thank you very much! Could you explain me why is it necessary to adjust phase angle in order to achieve maximum efficiency at given load? What is the theory behind this?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf