Help with mosfet choice - Page 1
Forum section: electronics / projects

author: OM222O
author_rank: Frequent Contributor
timestamp: August 01, 2018, 07:03:36 pm
content: I want to use a N channel mosfet as a high side switch in an application where it's powered from a 3S lipo pack (12.6 to 9.0v range).I will be bootstrapping it, so I think the gate voltage will be 25.2 to 18v if I'm correct. first I wanted to use the IRF640NSTRRPBF which can be found with datasheet here:https://www.mouser.co.uk/ProductDetail/942-IRF640NSTRRPBFI noticed it says not suitable for new designs and it's only rated for 20 Vgs. so I had another look and the best I could find was the NDDP010N25AZT4H which can be found with datasheet here:https://www.mouser.co.uk/ProductDetail/863-NDDP010N25AZT4HOther than being a bit cheaper and having 30 Vgs it's far worse in every other case. I wanted to ask if there's a reason the first product is not recommended for new designs? and if using a bootstrap circuit would damage it when powered from a 3S lipo? If yes, is there a way to limit it to 20v using another component, for example a zener diode perhaps? I really don't want to use the second one because it performs worse in every way.btw it will be driven with a PWM signal of 40-80KHz and duty cycle of 20-95% if it helps.

author: Siwastaja
author_rank: Super Contributor
timestamp: August 01, 2018, 08:14:40 pm
content: A few points."Not for new designs" simply means it's to be discontinued. For one-offs or hobby projects, this is irrelevant. Just don't expect to get it in the future.Second, you are creating a motor controller. This is very much different playfield from just a load switch. Two major reasons:1) The switching speeds are much faster, because you are PWMing with high frequencies, and slow switching would generate too much transitional losses. With fast switching, comes major issues:a) PCB layout and DC link bypassingb) gate drive needs to allow both fast charging and fast discharging of the MOSFET total gate charge. This means, high current, low resistance.2) Efficient/large motors, by nature, can be modeled as short circuits (or voltage sources with small resistance) and series inductance. This means, if you apply a voltage to them, the current rises quickly. It can rise very far. And once the motor core starts to saturate - within tens or hundreds of microseconds -, thespeedthe current increase accelerates. Now, the current being limited only by total system resistance - which is normally tried to be eliminated in high-efficiency systems -, this large current can blow almost any MOSFET. So, you need to design active current limiting circuitry, which stops the PWM period (or adjust the PWM setpoint) quickly enough.The bootstrap gate driver works by pumping charge to the capacitor between the Switch Node (aka., the upper FET source) and the bootstrap pin. This charge is used to drive the transistor gate. You are right that 25.2V would appear on that capacitor - but it's from the upper FET's gate to ground, and only when that transistor is driven on. So, the actual Vgs of that upper transistor is only the Vcc to the bootstrap circuit, minus diode drop. No issue here with Vin=12.6V and Vgsmax=20V. Actually your 12.6V to 9.0V is quite an optimal gate drive voltage range.Now, there is one catch in bootstrap circuits: negative spikes in the switch node can get easily damaging. You can find as much application notes on this as you want, but as a quick summary, you'd better limit the switching speed (by adding some gate series resistance) a bit to avoid excessive peaking - a very sane thing to do anyway - but also derate the maximum Vcc for the bootstrap device by a few volts.Now, for a motor driver, don't go to PWM frequencies of 40-80kHz, it's pure insanity with only downsides. We tend to run motors slightly over audible range to eliminate whine - for example, 25kHz would do that. This is the sanemaximum. If you don't need to eliminate the whine, go for even lower. 10kHz is great. The reason? The slower the PWM fundamental - meaning longer intervals between the switching edges - the slower you can make the edges while keeping the switching losses the same. And slower edges mean less EMI, smaller voltage spikes, less chances of blowing things up. ... up until you are switchingtooslowly.So you can see that first we suggest you need a fast gate driver, then we suggest you slow it down.I suggest you do some forum searches - motor controllers have been discussed number of times. Actually, you can even look at the BLDC controller threads, a few good ones lately, even if you are designing for a brushed motor. A BLDC controller is mostly just 1.5 times the brushed controller, with an extra bit of specific software, but all the component selection, power stage & layout design is the same.The specific MOSFET you post has quite large Qg(tot), rather massive Rds(on), and a hugely overspecified Vds(max) for your 12.6V system. These three parameters tend to balance in the MOSFETS, so that their product (Rdson * 1/Vdsmax * Qgtot) forms a "figure of merit", which is almost a constant on modern parts (as all manufacturers try to do everything to minimize it) - i.e., halve the voltage rating, double the current capability! Or double the current capability, halve the switching speed! (Generally speaking).So, you optimize it like this:1) Determine Vds(max) first. Add a safety margin due to your DC bus ringing, and use a part with no excess Vds(max) after the margin is added - you are compromising the other specs, and the extra voltage rating has no benefit whatsoever. Don't go overboard, however. Your FET needs to stand all the spiking that may happen. As a beginner, your layout may suck and ring inductively, so it could be a good idea to go for a Vds(max)=30V part for your 12.6V supply. When more experienced, you could use a 20V part.2) Then, try to optimize between Rds(on) and Qg(tot) so that the conduction loss and switching loss are in the same ballpark. Some say 50-50%. This means, one beginner mistake is to enthusiastically understand the Rds(on) and totally minimize it, getting amassive, expensive MOSFET. But then, it has a massive Qgtot, and it's slow, and requires a big, higher-current gatedriver, and still it's slowish; so it generates more switching losses, the total losses can be more than using a more balanced part.Switching loss is nontrivial toaccuratelycalculate.I know this is a lot to digest, but you've got to start somewhere. In this case, start by understanding the three main selling parameters of the MOSFETs to find a more suitable one by not investing into silicon feature you won't use (voltage).

author: OM222O
author_rank: Frequent Contributor
timestamp: August 01, 2018, 08:48:30 pm
content: I chose those mosfets because of their current rating and also being in my budget ballpark ... I can try using more than one mosfet in parallel to increase the current, but I need to have a look at available parts. (does using them in parallel halve the RDSon? what about the bootsrap capacitor? should it's value be doubled?) This method can actually end up increasing the cost rather than decreasing it.As for limiting the current, I haven't seen any H bridge designs use it to be honest, also simulating the circuit (there are flyback diodes and a suppression cap) I used a 2ohm resistor (motor runs at 4.5A stall current @9V) in series with a 1H inductance (I can't measure it so I chose a high value) I didn't see any huge current spikesI know most motors are commonly switched at 16KHz and as you suggested for suppressing the coil whine, we can use 25KHz, but our microcontroller is set to the stated frequency range ... maybe we can use a flip flop to halve the frequency to 20KHz, I should look into that.can you please link me to an article about minimizing switching losses and conduction losses?Edit: How important are these values anyway? if we can get more than say 80-85% efficiency without any additional value matching , I'm pretty happy with my first mosfet choice as it meets all the other requirements. I think the only thing would be the heat generated by the mosfet which can be dealt with using a heat sink