Author Topic: 20A/12VDC PWM Drive  (Read 1682 times)

0 Members and 1 Guest are viewing this topic.

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
20A/12VDC PWM Drive
« on: May 08, 2023, 04:08:49 am »
Hello!  First post here for me, really appreciate the wealth of experience I found on this site recently.  I'm a long-time tinkerer, mostly a software and mechanical design engineer, but ready to stop using jumper-wire spaghetti and start designing PCBs that are built to do what I need.

I'm working on a product for the automotive aftermarket that can drive various types of loads (LED lights, fuel pumps, fans, etc.).  I've been working for a few weeks on getting the first board designed, and the circuit here is (I think) the hardest part: the power driver circuit.  There will be 4 of these drive circuits on a single board, all rated to drive up to 20A continuous (no direction control for now).  I have selected a heat sink and will be mechanically attaching that over the MOSFETs to try to keep thermal issues in check.  I have other (board, connector) thermal issues I need to work out, but I can't move on to that until I at least have a workable drive circuit.

I'm hoping to get some feedback on the single drive channel I've laid out here.  My impression is that what I've drawn should work, but there are probably a number of ways I can pull some cost out of it (and probably will have to later).  Some of my choices have been driven by which CAD packages are readily available, I'm using EAGLE within Fusion 360.  Here's what I think I've done:

  • Selected MOSFETs that, in parallel, will support up to 20A continuous at 12-15V
  • Included appropriate gate and pull-down resistors to connect (GATE_A) to the output of an ATTiny48 that will be the controller for this - running PWM output between 1kHz and 5kHz
  • Added a current-sense resistor (RS_A) that will, when amplified through a 50 V/V amplifier give me a 0-3V analog output for current (with some headroom if it goes over 20A)
  • I'm okay with my current-sensing being roughly right, it's primarily in place to watch for over/under current and report back to the controller - accuracy of +/- 10% is probably fine
  • Added a snubber diode across the load in case it's Inductive to keep any voltage spike away from my FETs
  • Connected all that to a 30A-rated screw terminal block (OUT_A) to which I can connect a load

It's early in the game, so I'm open to all feedback.  Circuit diagram attached and I will list P/N below in case they're hard to read.  Thanks in advance for any pointers!!

Parts in the schematic:
- Q1/2: IRF540ZSPBF
- RS_A: CRE2512-FZ-R00E3-3
- D1: STTH2002G-TR
- OUT_A: 0389690002
- Current Sense Amp (not shown, but connects to SNS+/-A): INA4180A2IPWR

EDIT: Added datasheet hyperlinks to parts list
« Last Edit: May 08, 2023, 05:18:51 pm by meshtron »
 

Offline Miha

  • Contributor
  • Posts: 36
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #1 on: May 10, 2023, 05:18:38 am »
Hello.
Your schematic is good.
But for better power performance you should control gates from 10V, thus you can get minimum MOSFET Rds_on (see DS) . So, some gate driver is best practise. It can be integral (chip) or not.
If you apply good gates control, heat sinc may be little.
 
The following users thanked this post: meshtron

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #2 on: May 10, 2023, 07:53:10 am »
Shunt resistor is in worst possible place, between the switches. It combines downsides of low-side sensing (having to synchronize sampling) with downsides of load-side sensing (noise, CMRR). Supply capacitors are missing. Minimize the loop area from supply capacitor +, through diode, through MOSFET, through sense resistor, back to supply capacitor -. In other words, MOSFET and diode need to be right next to each other.

Low side current sensing (i.e., between MOSFET S and GND) is best, although INAx180 has quite decent CMRR and works in other configurations, too.

Route the current sense signal not only to ADC, but also to analog comparator. This way you can trigger an interrupt very quickly and actually do pulse-by-pulse current limiting, preventing destruction of the MOSFETs. (I have done exactly that in a 48V/1000W DC motor controller using a cheap AVR.) You have to synchronize ADC so that you convert during MOSFET on time. When it's off, motor current is flowing in the diode and not in your measured path, so current reads as 0.

Seriously consider using a gate driver IC. Maybe 20A/12V driver is remotely possible with 5V AVR IO pin acting as gate driver, especially if you keep PWM frequency low. But in this case, IRFZ540 is not suitable. It is not properly turned on at Vgs=4.5V, requiring at least 5.5V (see Fig.1). Vds_max=100V is excessive, anyway, you are wasting your figure-of-merit budget; too much voltage handling capability means higher Rds_on, and/or higher Qg_tot, than otherwise needed.

Rg=470 ohms is waaaay too much, it will switch so slowly you have massive switching loss. For example, IRFZ540 has delay times characterized at Rg=12ohms, which gives you a good idea of how it's supposed to be used. Driving it from an IO pin with equivalent resistance of at least 20-30 ohms will slow it down more, especially when trying to drive two in parallel from one IO pin.

But if you find a MOSFET which turns fully on at Vgs=4.5 (look from Vds_max=30V category), you could find something with much smaller Qg_tot, allowing you to drive it from the IO pin directly. But this is borderline, just consider a gate driver IC, then you can drive the gate at 12V and higher current (smaller Rg).

This power size should be totally doable without any other heatsinking than the board itself, i.e. with SMD parts, but it requires a bit of search for an optimum MOSFET.
 
The following users thanked this post: karpouzi9

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #3 on: May 10, 2023, 02:50:35 pm »
Thank you @Miha and @Siwastaja for the thoughts, very much appreciated.

I will add a gate driver.  I originally had this with a single MOSFET but doing more research led me to believe that parallel would be more appropriate.  I selected the 470 resistors to try to keep MCU pin current low.  I appreciate both your insights - now I see that I've ended up in an inefficient place with voltage and current to switch the gate.

Shunt resistor is in worst possible place, between the switches

I am confused by this.  I thought I had placed the shunt for high-side switching by placing it between the load (which attaches across OUT_A) and the FETs.  I can't remember what I read that said high-side was preferable to low-side sensing, but I will do more research on this - it would actually probably be easier from a layout perspective for me to shift to low-side sensing, so not at all opposed to that.

Route the current sense signal not only to ADC, but also to analog comparator. This way you can trigger an interrupt very quickly

Interesting.  I'm using an ATTiny48 MCU for this and my plan has been to use logic to decide when to sample current.  I can read - quickly - the state of the driving pin.  Plan was to do some signal testing, figure out how much time after "ON" I need to wait, then sample the current.  Between that and knowing the duty cycle, I can generate an effective throughput current.  I will look into your suggestion though as well.  I'd considered simply routing the output MCU pin to another input to set up an interrupt, but seems like I can cycle fast enough to probably not need it (at least at 1kHz).

...but it requires a bit of search for an optimum MOSFET.

This has been the hardest part for me so far.  I ended up paying a lot (likely too much it sounds like) attention to the Safe Operating Area graphs and deciding I MUST find a MOSFET where my projected load (12V, 20A, 1ms) is within the "safe" range.  That made me realize how far disconnected absolute max ratings (like IDS) are from normal use.  I will look for lower max voltage, lower on resistance and see what I can find.

Thanks again for the responses, this is hugely helpful!
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #4 on: May 10, 2023, 04:53:04 pm »
I will add a gate driver.  I originally had this with a single MOSFET but doing more research led me to believe that parallel would be more appropriate.

MOSFETs tend to parallel quite fine, but a single part is still better if you can find a suitable one, and you definitely will at this power level no problem.

Quote
I selected the 470 resistors to try to keep MCU pin current low.

Average gate drive current is still the same - just peak current is lower. The tradeoff of this is slow switching. And A LOT of power will be dissipated in the MOSFETs when they are in partially conducting state. This is the problem, you don't want that. You want as fast switching as possible. Although slow switching helps reduce parasitic voltage ringing and emissions, but the compromise in power dissipation is dire. But if you do even half-decent job, layout parasitics ring in range of tens of MHz; switching times longer than 1µs (~1MHz) have absolutely no benefit. Therefore start with low values of R.

Quote
I am confused by this.  I thought I had placed the shunt for high-side switching by placing it between the load (which attaches across OUT_A) and the FETs.

You are confused because you miss the fundamental fact that the diode is one of the two switches; surely self-controlled yes being a diode, but still a switch. The key point in motor controller (or buck converter, basically the same thing) is to offer path for the current all the time; either one of the two switches is always conducting (in continuous conduction mode, that is). If you want to sense the high side, then you need to move the shunt resistor between Vsupply and diode. I don't think there is ever a reason to measure between the diode and MOSFET; the three options are ground side, power side and load side (in series with output). Power side sensing would come with two variations, before the supply bypass capacitors and after the capacitors.

Measuring at the load (i.e., connect shunt between the switch node and the output terminal) has the benefit you measure load current correctly all the time, when either of the two switches (MOSFET or diode) is in conduction. If you measure at high side (after capacitors) or low side, you only measure when power is flowing from input, i.e., that is during MOSFET on-time, so you have to synchronize the ADC to sample during on-time, and if you want average motor current, you need to make some assumptions (e.g., motor always runs in CCM, and you get overestimated value at very slow speeds / light loads when it runs in DCM.)

Measuring before the input caps gives you average current, but slow reaction to overcurrent events, I would not recommend doing this. You sometimes see this, but then this is coupled with some secondary integrated protective current sensing stuff which is more quick.

I'd say, go for low-side sensing.

Quote
it would actually probably be easier from a layout perspective for me to shift to low-side sensing, so not at all opposed to that.

Additionally to layout benefits, you can use current sense amplifiers with crappy common mode rejection ratings. Load side sensing is most challenging as the common mode voltage (voltage seen by both input pins) vary at huge edge rates between 0V and 12V, and this will couple into the output more or less. Supply side sensing is easier since both input pins are close to 12V all the time. But being close to GND all the time is even easier for the IC.

Quote
Route the current sense signal not only to ADC, but also to analog comparator. This way you can trigger an interrupt very quickly

Interesting.  I'm using an ATTiny48 MCU for this

Even this rudimentary thing has an ADC which can be triggered using the internal PWM timer (see ADCSRB.ADTS). Usually the best bet is to configure the PWM in up/down-counting mode, don't remember what it was called in AVR terminology but I think it's there, so that the ADC triggering can be center-aligned to the on-time. Being centered to on-time, you avoid short transients during switching, and assuming the motor runs in continuous conduction, the current at exactly half of the on-time happens to be same as average motor current, no math needed.

This synchronized ADC thing is just maybe barely enough to protect the MOSFETs and provide pulse-by-pulse current limiting, but IIRC there was no problem routing the same current sense signal to the analog comparator input, and it can act faster. You need to generate a reference (comparison) level for it but that's only two resistors.

Quote
...but it requires a bit of search for an optimum MOSFET.

This has been the hardest part for me so far.  I ended up paying a lot (likely too much it sounds like) attention to the Safe Operating Area graphs and deciding I MUST find a MOSFET where my projected load (12V, 20A, 1ms) is within the "safe" range.

You are looking at wrong spec (or going to do the wrong thing). The idea in PWM controller is to minimize the partially conducting state to as short as possible, so that it stops mattering. Most MOSFETs on the market are designed for switching applications, anyway.

For example, if you do f_sw=1kHz*, and decide to spend 0.5% of the time switching on and 0.5% switching off, then the rise/fall times are 5µs. Now look at the SOA again and you see what I mean. And 5µs is still trivial from layout parasitics perspective, good EMI won't be a problem. At short enough times, SOA curves just reduce to those same numbers elsewhere in the datasheet.

*) I'd recommend a bit more than that, though, say 5-10kHz for less vibration and less current ripple

What you want is: Vds_max at least 1.5x to 2.5x of your supply voltage, depending on how confident you are from your layout, snubbing, unexpected transients etc. 30V works here. Then given low enough f_sw and fast enough switching, you can start by ignoring switching losses and only look at conduction loss:

Choose Rds_on low enough so that power dissipation is not a problem; calculate die temperature:
Tj = Tambient + P_dissipation * RthJ-A, where,
P_dissipation = Rds_on * Imotor^2 (at 100% duty cycle)
RthjJ-A, for an SMD part, a direct datasheet value for a given heatsinking layout, say 40 K/W with a square inch of copper fill and a modest sized SMD part, or maybe 20K/W with rows of vias going into bottom layer as well.

Choose such that Tj is well below maximum rating, like 100 degC, in worst case ambient temperature. Then, you need to divide this calculated Rds_on by approx. 1.6 because the fact that front-page rating for Rds_on is at Tj=25degC, but you would be operating it at said 100degC - see Fig.10 on your IRF540 datasheet for example. And NOW you have parameters to search for: Vds_max and max Rds_on.

Lower Rds_on is better of course, but no point in going excessively low - being excessively good on one parameter is going to sacrifice others, i.e. increase Qg_tot and price. Speaking of which, we are not going to use Qg_tot here in any calculation, but being the only remaining main parameter, you can sort the search results and pick something in the lower half of the Qg_tot range available at your distributor. If excessive, the gate driver will have to spend more current to drive the gate, you have to pick bigger gate driver. Not a real problem at your power level though, just ignore the few biggest and you'll be fine. On the other hand, if you plan to drive from the IO pin, limiting your gate drive to some 5V 50mA or so, then Qg_tot becomes a key parameter. A 12V 1A gate driver - not a problem!

We ignored switching loss here but if you choose say f_sw=5kHz and t_rise = t_fall = 0.5% switching period = 1µs, that's not going to be too big. While calculating Rds_on related loss (conduction loss) is trivial like shown above, exact calculations of switching loss are more complex and hand-wavy simpler calculations are... more hand-wavy. The really simple first-order approximation, assuming motor current is constant and switching voltage waveform is a straight line between 0V and supply voltage, is that if you spend 1% of time switching, you would be dissipating 1% * 6V * 20A = 1.2W. Which is actually quite a lot. 1% is too long!
« Last Edit: May 10, 2023, 05:09:44 pm by Siwastaja »
 
The following users thanked this post: meshtron

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #5 on: May 10, 2023, 05:11:01 pm »
BTW, you should really do the same dissipation calculation thing for the diode, too. It's going to dissipate quite a lot of power if you run the motor at low RPM but high torque: diode current is the same as MOSFET current (= motor current), just the duty cycle is opposite. For example, when MOSFET duty is 10%, diode duty is 90%, and if you run at this low speed at full 20A current, your STTH2002 is going to dissipate
90% * 0.95V * 20A = whopping 17.1W,
which requires quite some heatsinking. Not possible on PCB alone.

Being low-voltage converter, looking at schottky diodes would bring Vf down but you would still struggle getting below some 8-9W. Maybe you don't plan running at high current at low speeds; or maybe using a large diode with an actual heatsink is OK for you. Diodes can also run quite hot OK so no need to design for Tj=100 degC, 140-150 is fine. But if you want to solve this dissipation problem, the obvious solution is synchronous design; i.e., get a bootstrap half-bridge gate driver IC and drive two MOSFETs with it. Not more complex IMHO, because,
1) you need a gate driver anyway,
2) now you can use the same MOSFET twice, and the same math works out for both, so one diode less to think about.

As a bonus, you get regenerative braking if you so wish. With a diode, you only get the motor freewheeling.

If you go this way, easiest for a simple AVR-based design is a bootstrap gate driver which comes with ENABLE and IN pins, and generate the two gate drive signals automagically. Then you can drive the EN pin with any general purpose output pin, and only generate one PWM signal to the IN pin.
« Last Edit: May 10, 2023, 05:13:24 pm by Siwastaja »
 
The following users thanked this post: meshtron

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #6 on: May 10, 2023, 06:03:56 pm »
Massive thanks @Siwastaja for the epic response.  I need to go through it in more detail, but on a quick phone-read it all makes sense.
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: de
Re: 20A/12VDC PWM Drive
« Reply #7 on: May 10, 2023, 09:08:07 pm »
I don't understand the application. Automotive electrics are pretty standard these days, using a common negative ground (= body, chassis and drive train). The negative connections of lamps, fuel pump, fan etc. are simply bolted to the car ground.

So what's the point of a low-side switch?
All the automotive switches (eg, ProFET) I've seen are high-side switches.
« Last Edit: May 10, 2023, 09:12:53 pm by Benta »
 

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #8 on: May 10, 2023, 11:36:12 pm »
I didn't even know high-side driver ICs were a thing.  Can something like this VNQ9025AJ really just do all this that I'm looking for (switching plus current sensing) in one tiny package?
« Last Edit: May 10, 2023, 11:40:50 pm by meshtron »
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #9 on: May 11, 2023, 07:29:41 am »
Good point, automotive aftermarket indeed sounds like you need high-side switching because of existing ground referenced loads. Which is actually not a problem if you do a synchronous design like I suggested above, then you can connect the load between GND and switch node.

Most generic high-side "load switches" like VNQ9025AJ or ProFET series mentioned by Benta, are unsuitable for PWMing inductive loads like motors - they switch orders of magnitude too slowly. They are designed to replace mechanical relays in on/off operation, PWM is possible to some tens, maybe hundreds of Hz as they dissipate quite a lot of energy per each switching event.

I would maybe reconsider the idea of a catch-all thing which can be a motor speed controller and headlight driver. On the other hand, if you need to PWM control motors, then this is the worst case load and when designed to work, it will of course drive headlights OK as well.

Automotive environment will be quite challenging.
 
The following users thanked this post: meshtron

Offline Miha

  • Contributor
  • Posts: 36
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #10 on: May 11, 2023, 08:08:42 am »
For example, when MOSFET duty is 10%, diode duty is 90%, and if you run at this low speed at full 20A current, your STTH2002 is going to dissipate
90% * 0.95V * 20A = whopping 17.1W

Is this a correct calculation?
The motor will give energy to the diode 9 times more than it will receive from the power source?
« Last Edit: May 11, 2023, 08:12:32 am by Miha »
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 10206
  • Country: nz
Re: 20A/12VDC PWM Drive
« Reply #11 on: May 11, 2023, 09:09:46 am »
You could replace the entire thing with something like this, if you wanted to.

https://www.digikey.co.nz/en/products/detail/stmicroelectronics/VN7003AHTR/6194540

Not that cheap, but a nice solution that is pretty much indestructable.
Shouldn't get very hot with 3.5mOhm RdsOn.  Only 1.4W at 20A
Isense amp built in.
High side drive, which is nice.
Short circuit protection
Over temp protection
Reverse battery protection
Might need to check the max demagnetization energy to see if you need a extra back emf diode or not.

etc..


But if your product needs a lot of them it might be better to put the time into a discrete solution with lower costs.
My automotive product uses 1 of these. Never had a single one fail.
« Last Edit: May 11, 2023, 09:18:11 am by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 
The following users thanked this post: meshtron

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #12 on: May 11, 2023, 09:52:44 am »
For example, when MOSFET duty is 10%, diode duty is 90%, and if you run at this low speed at full 20A current, your STTH2002 is going to dissipate
90% * 0.95V * 20A = whopping 17.1W

Is this a correct calculation?

Yes, assuming CCM and zero motor current ripple, but those are fair simplifications. And of course at maximum current specified by the OP.

Quote
The motor will give energy to the diode 9 times more than it will receive from the power source?

20A*12V is 240W, so I don't know where this 9 times more came from. Eventually, all energy originates from the power supply. Motor simply has enough inductance so that it can be assumed to (1) run in CCM, (2) have low enough current ripple to be approximated as constant value, simplifying the analysis: on-time motor current equals off-time motor current. During MOSFET on-time, more and more energy is getting stored in the motor inductance. During off-time, this stored energy is being used by the motor, and flows in the diode. Note the only reason why the power is dissipated in the diode is the high Vf of that diode. All this energy would otherwise do useful mechanical work in the motor.

Basically, what happens at low speeds is that because the diode is losing 1V most of the time, feedback loop will end up using higher duty cycle to compensate; that's how the energy comes from the supply.
« Last Edit: May 11, 2023, 10:06:15 am by Siwastaja »
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #13 on: May 11, 2023, 09:57:03 am »
You could replace the entire thing with something like this, if you wanted to.

https://www.digikey.co.nz/en/products/detail/stmicroelectronics/VN7003AHTR/6194540

Again, not suitable for motor PWM speed control; specifically see Won, Woff on page 10. These types of switches are great but they are designed for on/off control or very slow PWM, each switching event is lossy (on purpose).

The reason I'm concentrating on the motor control is because it's the worst case load specified by the OP. Another reason is I see OP themselves started designing it as a motor controller and did pretty good initial job, understanding the basic concepts that go into motor controller such as current sense and freewheeling diode; so I assume there really is a reason to build a motor controller, not just on/off headlamp driver.
« Last Edit: May 11, 2023, 10:11:37 am by Siwastaja »
 

Offline Miha

  • Contributor
  • Posts: 36
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #14 on: May 11, 2023, 02:07:58 pm »
For example, when MOSFET duty is 10%, diode duty is 90%, and if you run at this low speed at full 20A current, your STTH2002 is going to dissipate
90% * 0.95V * 20A = whopping 17.1W

Is this a correct calculation?
Yes, assuming CCM and zero motor current ripple, but those are fair simplifications. And of course at maximum current specified by the OP.

Ok, I understood, but is it really that 90% of the duty cycle will flow through the diode all 20 A (when MOSFET duty is 10%)?
 

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #15 on: May 11, 2023, 02:28:35 pm »
...I assume there really is a reason to build a motor controller, not just on/off headlamp driver.

Yes, there really is a reason to be capable of driving motors - up to 20A.  My intent all along has been if I can build something robust enough to handle that, the other things it is likely to get asked to do (driving and dimming LEDs will probably be most common) will be relatively easy.

I need to think through the move to high-side.  It does make sense electrically, but I'm not certain that - for who will be my customer base - it's a huge difference.  They're very much going to want to "plug it in" and be done.  That said, some will be savvy enough to take advantage of running less wire (switched hot only, COM closer to the load) and that's probably a good feature to point out to the more sophisticated among them.

So, here's my to-do list for the weekend which is unfortunately the next time I'll have hours to put into this:

- Move RS_A to be upstream of both the load and the snubber (and thanks again @Siwastaja for pointing out the snubber really does act as a switch!)
- Select a FET gate driver and get it integrated to minimize switching time
- Switch to high-side FETs, do some more searching to find something that's more efficient and hopefully land with one per channel rather than two
- Do some searching for a snubber diode better rated to handle big power dissipation for low duty-cycle, high-torque use
   - This is expected to be an uncommon requirement, and I can probably software-protect against it to a degree but still a good failure mode to protect against

I will do the above and report back.  Thanks again to everyone for the helpful discussion and various points.  What an amazing community here!
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #16 on: May 11, 2023, 04:01:50 pm »
Ok, I understood, but is it really that 90% of the duty cycle will flow through the diode all 20 A (when MOSFET duty is 10%)?

If the motor is heavily enough loaded (for example, EV or e-bike driving steep uphill), so that user requests full torque and thus full 20A current, yes, definitely. For a fuel pump, that case would be if the motor gets stuck and becomes stalled for some reason.

10% of time is plenty to drive current to high values for a stalled (or nearly stalled) high-efficiency motor. With lower efficiency motors, motor resistance limits current as well, though, so then you would need more duty cycle to achieve maximum current, say 20-30% instead of 10%, but that does not make a big difference in our diode loss calculation.

- Switch to high-side FETs, do some more searching to find something that's more efficient and hopefully land with one per channel rather than two
- Do some searching for a snubber diode better rated to handle big power dissipation for low duty-cycle, high-torque use

Bootstrap half-bridge gate driver IC (random part for example: https://ww1.microchip.com/downloads/en/DeviceDoc/20005852A.pdf ) solves both of your problems in one go:
1) it acts as high-side MOSFET driver (and more specifically, by generating the higher-than-supply bias voltage, allows you to use N-channel MOSFET which are better and cheaper)
2) it replaces the freewheeling diode by a MOSFET, reducing the mentioned loss by allowing much smaller voltage drop I^2*Rds_on instead of I*Vf

The only, and quite big no-no in your application is that bootstrap driver cannot go to 100% duty cycle (although pretty close to it, say 98%) and thus is great for PWM speed control, but not very suitable for driving those headlights and other DC loads.

Designing a product which is good at everything is not trivial!
 

Offline max_torque

  • Super Contributor
  • ***
  • Posts: 1322
  • Country: gb
    • bitdynamics
Re: 20A/12VDC PWM Drive
« Reply #17 on: May 11, 2023, 10:03:57 pm »
Sorry, but in 2023 for a product that will be sold into an automotive sector you'd have to be mad to not use one of the COTS automotive high side drivers eg

https://www.infineon.com/cms/en/product/power/motor-control-ics/brushed-dc-motor-control-ics/single-half-bridge-ics/btn8962ta/


Small footprint, easyily integrated, lots of protection, full automotive rating and quality assurance!  Ive used them in my automotive products for years and whilst they look expensive, when you remove the development and testing costs asscociated with rolling your own, and add up the costs for gate drive, current sensing and protection, they actually are at least as cost effective but provide massively more reliability.

You can literally jam a screwdriver across the output and they just turn off without going bang which is incredibly useful when selling a product into a hobby / aftermarket sector where the end users mostly have absolutely no idea what they are doing.....     :-DD


 
The following users thanked this post: Siwastaja

Offline max_torque

  • Super Contributor
  • ***
  • Posts: 1322
  • Country: gb
    • bitdynamics
Re: 20A/12VDC PWM Drive
« Reply #18 on: May 11, 2023, 10:05:05 pm »
 
The following users thanked this post: meshtron

Offline meshtronTopic starter

  • Regular Contributor
  • *
  • Posts: 142
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #19 on: May 11, 2023, 11:39:49 pm »
...You can literally jam a screwdriver across the output and they just turn off without going bang which is incredibly useful when selling a product into a hobby / aftermarket sector where the end users mostly have absolutely no idea what they are doing.....     :-DD

I see you have experience with my target audience!  :-DD

Thank you for the suggestion.  On first quick pass, this seems like a nicely integrated way to execute the path Siwastaja suggested (half-bridge).  Unfortunately, it appears nobody has any in stock at all, but I will keep digging!

EDIT: Huh, seems like several folks make similar products.  But looking up (for example) the DRV8144 from TI, it's also out of stock everywhere.  Is this me bumping up against the automotive chip shortage stuff, or are these just specific enough that not many folks are fiddling with them outside corporate purchasing agreements?
« Last Edit: May 12, 2023, 02:27:49 am by meshtron »
 

Offline max_torque

  • Super Contributor
  • ***
  • Posts: 1322
  • Country: gb
    • bitdynamics
Re: 20A/12VDC PWM Drive
« Reply #20 on: May 12, 2023, 09:21:34 am »
Yup, at the moment stock of these smart drievrs is very constrained although it is slowly getting better!  You can find low volumes of these parts (at an increased cost) if you look around the more shady suppliers.  Im in talks with Infineon at the moment on lead times on some of their products and they tell me that volumes are coming on line in the next 3 months or so, so it's worth contacting your local rep to see what the situation is locally.

I used to do everything in descretes, but now pretty much only use these smart drivers (when i can get them.... ) as they provide such a shorter and easier dev effort and also allow me to pack a lot more functionality into a control unit because they are so integrated
 
The following users thanked this post: meshtron

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8724
  • Country: fi
Re: 20A/12VDC PWM Drive
« Reply #21 on: May 12, 2023, 01:15:18 pm »
You can literally jam a screwdriver across the output and they just turn off without going bang which is incredibly useful when selling a product into a hobby / aftermarket sector where the end users mostly have absolutely no idea what they are doing.....     :-DD

This is an excellent feature which is just barely reproducable in a full custom design; an integrated IC has the benefit of extremely fast feedback, combined with direct die temperature sensing.

If you design from scratch with shunt resistor, current sense amp, microcontroller analog comparator, interrupt service routine, you can easily still easily handle overcurrents with rise time limited by motor inductance, which is sloooow. But throw a screwdriver at the output, and you have nearly zero R and L only in tens-hundreds of nH. Current rise will be FAST. With somewhat overdimensioned MOSFETs and current sense amp with bandwidth into 2MHz and super fast comparator (say something like in STM32F334, allowing asynchronous path directly to the HRTIM PWM module), it's just maybe doable.

But if you want hard short circuit protection and more, these expensive parts are just great. (And finally we got a right example of PWM / motor control capable part :-+ after all those on/off load switches).

Also you can't mess up the layout between the two switches as they are integrated on the same die! The most common beginner mistake is to place one of the switches (diode) far away. All you have to do layout wise is add capacitance close to the power/GND pins, here.
« Last Edit: May 12, 2023, 01:20:15 pm by Siwastaja »
 
The following users thanked this post: meshtron

Online jwet

  • Frequent Contributor
  • **
  • Posts: 517
  • Country: us
Re: 20A/12VDC PWM Drive
« Reply #22 on: May 12, 2023, 03:34:00 pm »
+1 for Infineon, ST, etc Smart Automotive Power Switches- bullet proof.  Find one that is a classic old part that won't disappear on you.  Take to their FAE and compromise (over spec trading off cost).  There is still a bit of design work, sizing traces, layout, terminations, wires and copper PCB weight.  These smart power devices are worth what they cost.
 
The following users thanked this post: meshtron

Offline YqHFXa01

  • Newbie
  • Posts: 6
  • Country: de
Re: 20A/12VDC PWM Drive
« Reply #23 on: May 14, 2023, 05:38:05 am »
Here's a quality alternative
https://www.rmcybernetics.com/shop/cyber-circuits/pulse-generators/pulse-modulator-ocxi
https://www.rmcybernetics.com/files/pdf/PWM-OCXiv2.pdf
Features and Specifications

    Wide supply voltage range(12V – 30V)
    Secondary voltage range from 0V to 340V(from external supply)
    Max output current 9A * continuous, 120A peak
    Frequency range 0.01 Hz to 1.5MHz **
    Pulse width adjustable between 0% and 100% or set to a specific pulse time
    Active voltage protection and adjustable current limit.
    Thermal Protection
    I/O for microcontroller interfacing
    Compact design
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf