Author Topic: How to drive a low Rdson mosfet for PWM  (Read 5541 times)

0 Members and 1 Guest are viewing this topic.

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #25 on: May 19, 2022, 10:20:56 am »
Here's a bootstrap circuit which will work from 24V and drive the MOSFET gate with between 12V and 8V. The on time is 49.95ms with an off time of 50µs.

The voltage across C1 starts near 24V, so the voltage on C1's positive swings from 24V to 48V.

R1 & R2 form a potential divider, to cut the voltage delivered to M1's gate by half. Q2 acts as an emitter follower to reduce the output impedance, so the gate charges very quickly.

If the MOSFET is kept on too ling C1 will discharge, causing the gate voltage to drop too low to keep it hard on, resulting in excessive power dissipation.

Assuming you're using a microcontroller, set the maximum on time so the voltage on C1 is still high enough to keep the MOSFET on, followed by an off which is long enough to charge C1.

Note that this circuit is inverting. The the input is high, the MOSFET is off. Add another transistor to make it non-inverting if necessary.

Warning don't rely on this circuit, or any other to protect against fire. If there's a risk it can get dangerously hot, if the controller fails on, add a bimetal strip and/or thermal fuse to cut the power if it overheats.



R2 can be exchanged for a 12 volt zener with advantage, since the voltage of Vgs remains stable longer.
That will help a bit, or or replace R1 with a 1.2mA current source.

Neither the current source, nor the zener will make any difference because the gate voltage falling from 12V to 8V will make very little difference to MOSFET's on resistance.

EDIT: I see what you mean, regulating the voltage will allow longer on times. Increasing the resistor values would have more effect though. Adding 100pF bypass capacitor would prevent the higher resistance from slowing it down.
« Last Edit: May 19, 2022, 10:27:07 am by Zero999 »
 
The following users thanked this post: boB

Offline DavidAlfa

  • Super Contributor
  • ***
  • Posts: 5896
  • Country: es
Re: How to drive a low Rdson mosfet for PWM
« Reply #26 on: May 19, 2022, 11:25:24 am »
Correct me if I'm wrong, but higher VGS, while not providing a significative RDS reduction, does enhance quite a lot the switching time, as the RC constant is the same, so the optimum VGS is reached faster.
Ex. if for 8Vcc it takes 1us for 7VGS, with 12V it lowers to 400ns, about 60% faster.
Although using a transistor driver doesn't make a RC circuit, it should improve the switching anyways.
« Last Edit: May 19, 2022, 11:29:28 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #27 on: May 19, 2022, 01:41:16 pm »
Correct me if I'm wrong, but higher VGS, while not providing a significative RDS reduction, does enhance quite a lot the switching time, as the RC constant is the same, so the optimum VGS is reached faster.
Ex. if for 8Vcc it takes 1us for 7VGS, with 12V it lowers to 400ns, about 60% faster.
Although using a transistor driver doesn't make a RC circuit, it should improve the switching anyways.
What goes up, must come down. In other words, a higher voltage will improve the turn-on time, at expense of the turn-off time.
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #28 on: May 20, 2022, 07:50:29 pm »
R2 can be exchanged for a 12 volt zener with advantage, since the voltage of Vgs remains stable longer.
Here's an example of using the zener to get a 99.999% duty cycle.
« Last Edit: May 20, 2022, 07:54:22 pm by Zero999 »
 

Offline sahko123Topic starter

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: ie
Re: How to drive a low Rdson mosfet for PWM
« Reply #29 on: May 22, 2022, 10:47:03 pm »
So i prototyped a direct drive pwm circuit with the arduino (and low side switch) and I realised my main issue will be trying to get the thermocouple reading with any sort of repeatability. The pwm turns off occasionally to take a TC reading but if I use a low side switch I end up with a 24V common mode voltage (which is also lifting the circuit away from mains earth but this wont be an issue since the circuit is isolated).

I'm using an OPA189 as a diff amp to read the tc which can handle the common mode voltage across the inputs but I'm not sure I'll be able to extract the actual reading properly. So a high side switch will bring the common mode to ground when sampling the tc instead of 24V with the low side switch. With the differential being the tc reading (though its the same in the other case just I seem to be struggling to read the tc properly).
Asking for a friend
 

Offline CMTan

  • Contributor
  • Posts: 34
  • Country: sg
Re: How to drive a low Rdson mosfet for PWM
« Reply #30 on: May 23, 2022, 05:55:42 am »
Hi,
I am wondering why are you using NMOS as a high side switch?
Typically you should be using the NMOS as a low side switch.  You circuit will work with some simple modification. 

1.  Move the load to the drain side (high side) of the MOSFET
2.  Reduce the VGS to 12V instead of 24V since VGS max = 20V
3.  Add a diode (any high switching diode will work even IN4148) at the gate to quicken the off discharge for the NMOS.
4.  With that, the PWM duty cycle will control the power to the soldering iron.

Please refer to attached modified circuit.
« Last Edit: May 23, 2022, 05:57:29 am by CMTan »
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #31 on: May 23, 2022, 06:29:53 am »
So i prototyped a direct drive pwm circuit with the arduino (and low side switch) and I realised my main issue will be trying to get the thermocouple reading with any sort of repeatability. The pwm turns off occasionally to take a TC reading but if I use a low side switch I end up with a 24V common mode voltage (which is also lifting the circuit away from mains earth but this wont be an issue since the circuit is isolated).

I'm using an OPA189 as a diff amp to read the tc which can handle the common mode voltage across the inputs but I'm not sure I'll be able to extract the actual reading properly. So a high side switch will bring the common mode to ground when sampling the tc instead of 24V with the low side switch. With the differential being the tc reading (though its the same in the other case just I seem to be struggling to read the tc properly).
The thermocouple shouldn't share its 0V with the heater. It must be completely isolated to work properly.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: How to drive a low Rdson mosfet for PWM
« Reply #32 on: May 23, 2022, 07:00:01 am »
So i prototyped a direct drive pwm circuit with the arduino (and low side switch) and I realised my main issue will be trying to get the thermocouple reading with any sort of repeatability. The pwm turns off occasionally to take a TC reading but if I use a low side switch I end up with a 24V common mode voltage (which is also lifting the circuit away from mains earth but this wont be an issue since the circuit is isolated).

I'm using an OPA189 as a diff amp to read the tc which can handle the common mode voltage across the inputs but I'm not sure I'll be able to extract the actual reading properly. So a high side switch will bring the common mode to ground when sampling the tc instead of 24V with the low side switch. With the differential being the tc reading (though its the same in the other case just I seem to be struggling to read the tc properly).
The thermocouple shouldn't share its 0V with the heater. It must be completely isolated to work properly.


with somerihng like a T12 soldering iron where the thermocouple is in series with the heater and you only have two wires, that's kinda hard  ;)

 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #33 on: May 23, 2022, 08:00:01 am »
So i prototyped a direct drive pwm circuit with the arduino (and low side switch) and I realised my main issue will be trying to get the thermocouple reading with any sort of repeatability. The pwm turns off occasionally to take a TC reading but if I use a low side switch I end up with a 24V common mode voltage (which is also lifting the circuit away from mains earth but this wont be an issue since the circuit is isolated).

I'm using an OPA189 as a diff amp to read the tc which can handle the common mode voltage across the inputs but I'm not sure I'll be able to extract the actual reading properly. So a high side switch will bring the common mode to ground when sampling the tc instead of 24V with the low side switch. With the differential being the tc reading (though its the same in the other case just I seem to be struggling to read the tc properly).
The thermocouple shouldn't share its 0V with the heater. It must be completely isolated to work properly.


with somerihng like a T12 soldering iron where the thermocouple is in series with the heater and you only have two wires, that's kinda hard  ;)
That sounds like a bad, cheap and nasty design to me. Adding extra wires wouldn't cost that much. :palm:

High side drive is the only way then.

A bootstrap could work. The heater would need to be turned off often enough to take a temperature reading anyway.  It will need to be off for long enough for the capacitor to charge, before a temperature reading is taken. The time RC constant with a 10µF capacitor and a 2R4  heater would be 24µs so 0.5ms or so would be long enough.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: How to drive a low Rdson mosfet for PWM
« Reply #34 on: May 23, 2022, 09:42:20 am »
So i prototyped a direct drive pwm circuit with the arduino (and low side switch) and I realised my main issue will be trying to get the thermocouple reading with any sort of repeatability. The pwm turns off occasionally to take a TC reading but if I use a low side switch I end up with a 24V common mode voltage (which is also lifting the circuit away from mains earth but this wont be an issue since the circuit is isolated).

I'm using an OPA189 as a diff amp to read the tc which can handle the common mode voltage across the inputs but I'm not sure I'll be able to extract the actual reading properly. So a high side switch will bring the common mode to ground when sampling the tc instead of 24V with the low side switch. With the differential being the tc reading (though its the same in the other case just I seem to be struggling to read the tc properly).
The thermocouple shouldn't share its 0V with the heater. It must be completely isolated to work properly.


with somerihng like a T12 soldering iron where the thermocouple is in series with the heater and you only have two wires, that's kinda hard  ;)
That sounds like a bad, cheap and nasty design to me. Adding extra wires wouldn't cost that much. :palm:

High side drive is the only way then.

A bootstrap could work. The heater would need to be turned off often enough to take a temperature reading anyway.  It will need to be off for long enough for the capacitor to charge, before a temperature reading is taken. The time RC constant with a 10µF capacitor and a 2R4  heater would be 24µs so 0.5ms or so would be long enough.

simple, efficient, failsafe

high side can be simpler, but lowside is possible with a diff amp that can handle the common mode of the heater supply


 

Offline sahko123Topic starter

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: ie
Re: How to drive a low Rdson mosfet for PWM
« Reply #35 on: May 23, 2022, 10:14:09 am »
I'm going to try and divide the input by 1.5 or so to step it below the rail slightly and then it should be good
Asking for a friend
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #36 on: May 23, 2022, 10:26:18 am »
I'm going to try and divide the input by 1.5 or so to step it below the rail slightly and then it should be good
A differential amplifier run off 24V would do.

Why not use a relay to switch the heater? That way the high side can be switched, without having to mess around with a bootstrap.
 

Offline DavidAlfa

  • Super Contributor
  • ***
  • Posts: 5896
  • Country: es
Re: How to drive a low Rdson mosfet for PWM
« Reply #37 on: May 23, 2022, 10:35:56 am »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
« Last Edit: May 23, 2022, 10:38:32 am by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #38 on: May 23, 2022, 10:48:10 am »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
I agree. A P-MOSFET is easier.

Here's an example circuit. It will work with a 24V supply and 5V MCU signal, but the AO6407 must be replaced with a MOSFET with a drain-source voltage rating of at least 30V. The AOD403 is a decent suggestion.
 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: How to drive a low Rdson mosfet for PWM
« Reply #39 on: May 23, 2022, 07:48:42 pm »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
I agree. A P-MOSFET is easier.

Here's an example circuit. It will work with a 24V supply and 5V MCU signal, but the AO6407 must be replaced with a MOSFET with a drain-source voltage rating of at least 30V. The AOD403 is a decent suggestion.


~2.5mA * 2.2K = ~5.5V

stick a zener across R1 you you want to be sure
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #40 on: May 23, 2022, 08:26:11 pm »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
I agree. A P-MOSFET is easier.

Here's an example circuit. It will work with a 24V supply and 5V MCU signal, but the AO6407 must be replaced with a MOSFET with a drain-source voltage rating of at least 30V. The AOD403 is a decent suggestion.


~2.5mA * 2.2K = ~5.5V

stick a zener across R1 you you want to be sure
If you go for the zener, why bother with the resistor?

The OP is running the MCU at 5V, so the gate-source voltage will be about -9.5V. Another possibility is adding an LED in series with Q1's collector, to act as an indicator.

 

Offline langwadt

  • Super Contributor
  • ***
  • Posts: 4414
  • Country: dk
Re: How to drive a low Rdson mosfet for PWM
« Reply #41 on: May 23, 2022, 09:36:13 pm »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
I agree. A P-MOSFET is easier.

Here's an example circuit. It will work with a 24V supply and 5V MCU signal, but the AO6407 must be replaced with a MOSFET with a drain-source voltage rating of at least 30V. The AOD403 is a decent suggestion.


~2.5mA * 2.2K = ~5.5V

stick a zener across R1 you you want to be sure
If you go for the zener, why bother with the resistor?

you need something to turn off M1
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #42 on: May 23, 2022, 09:39:47 pm »
Assuming the temperature need to be read several times per second, does a relay switch make any sense to you?
It'll die in no time.
The series TC is pretty common even for big brands like JBC.

Just get a cheap P-ch mosfet like the AOD403, make your life easier!
I agree. A P-MOSFET is easier.

Here's an example circuit. It will work with a 24V supply and 5V MCU signal, but the AO6407 must be replaced with a MOSFET with a drain-source voltage rating of at least 30V. The AOD403 is a decent suggestion.


~2.5mA * 2.2K = ~5.5V

stick a zener across R1 you you want to be sure
If you go for the zener, why bother with the resistor?

you need something to turn off M1
You're right.  :palm:

I wouldn't bother with the zener, then.
 

Offline DavidAlfa

  • Super Contributor
  • ***
  • Posts: 5896
  • Country: es
Re: How to drive a low Rdson mosfet for PWM
« Reply #43 on: May 23, 2022, 11:32:27 pm »
Why keep going with this and the silly overcomplicated thing?
Switching a heater at 36KHz is plain stupid, a normal implementation will be 10-100Hz, so the turn-off resistor will do the job fine, neither a zener is required, just a resistor divider.
« Last Edit: May 23, 2022, 11:34:14 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline CMTan

  • Contributor
  • Posts: 34
  • Country: sg
Re: How to drive a low Rdson mosfet for PWM
« Reply #44 on: May 24, 2022, 03:48:35 am »
Why keep going with this and the silly overcomplicated thing?
Switching a heater at 36KHz is plain stupid, a normal implementation will be 10-100Hz, so the turn-off resistor will do the job fine, neither a zener is required, just a resistor divider.
Agree totally.
 

Offline sahko123Topic starter

  • Frequent Contributor
  • **
  • Posts: 318
  • Country: ie
Re: How to drive a low Rdson mosfet for PWM
« Reply #45 on: May 24, 2022, 09:20:23 am »
I can always lower the frequency I just want to keep it as high as possible so that I dont need as large a capacitor bank for decoupling.

On a seperate note I've read that thermocouples have a low source impedance which akes sense so shouldnt it be easy to extract a reasonably precise differential mode signal from a large common mode voltage? It seems that I can amplify the signal when no common mode voltage is present but once applied the output gets tied to close to 0V (with Vos). The op-amp is driven off of 24V  ad the common mode voltage is also ~24V with a max of 24.5V. Would this common mode maximum be before damage occurs or should the cmmr also work at this voltage?
Asking for a friend
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19494
  • Country: gb
  • 0999
Re: How to drive a low Rdson mosfet for PWM
« Reply #46 on: May 24, 2022, 12:01:21 pm »
Why keep going with this and the silly overcomplicated thing?
Switching a heater at 36KHz is plain stupid, a normal implementation will be 10-100Hz, so the turn-off resistor will do the job fine, neither a zener is required, just a resistor divider.
Agreed. Note the schematic I posted doesn't contain a potential divider. Attached is it with a supply voltage of 24V and the base at 5V. VGS = 16.5-24 = -9.5V. The voltage across R2 is 0.7V below the base voltage, giving 4.3V. The collector current is roughly equal to the emitter current and R2 = 1k, giving 4.3mA, which drops 9.5V across R1, a 2k2 resistor.


I can always lower the frequency I just want to keep it as high as possible so that I dont need as large a capacitor bank for decoupling.
The frequency makes no difference to the decoupling capacitance requirement. If anything too higher frequencies pose a risk of interference. It's not so much the frequency, but the switching speed, which can be slow if it's operated at a low frequency.

Quote
On a seperate note I've read that thermocouples have a low source impedance which akes sense so shouldnt it be easy to extract a reasonably precise differential mode signal from a large common mode voltage? It seems that I can amplify the signal when no common mode voltage is present but once applied the output gets tied to close to 0V (with Vos). The op-amp is driven off of 24V  ad the common mode voltage is also ~24V with a max of 24.5V. Would this common mode maximum be before damage occurs or should the cmmr also work at this voltage?
A thermocouple has a low impedance, but the voltage is tiny, which makes it more difficult to read it, when there's a large common mode voltage.

The absolute maximum input voltage rating of an op-amp which is safe limit, before damage can occur, is often different to the common mode voltage range, which is the operational range.  For example the LM358's maximum input voltage rating is 32V, but its input voltage range is V+−1.5. This means, when run off 24V, its inputs can tolerate 32V, without being damaged, but it will only work properly with its inputs biased up to 22.5V.
https://www.ti.com/lit/ds/snosbt3j/snosbt3j.pdf?ts=1653328133496&ref_url=https%253A%252F%252Fwww.google.com%252F

No one but you knows how the op-amp is configured. Post a schematic.

By the way, go for the P-MOSFET, high side drive. It's much easier. Refer to the schematic at the start of this post.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf