0
\$\begingroup\$

I am attempting to build a simple controller for a cordless angle grinder motor. I have constructed a very simple motor controller, but when running it under load the MOSFET keeps dying.

The schematic is: schematic (Irrelevant details such as potentiometer and LED's removed)

And a scope trace is (yellow across motor, blue across gate): scope trace

I've got the scopes reference hooked to VCC, so the motor is on when the yellow trace is low (see the schematic to see where the probes are attached).

The thing that leaps out at me from the scope trace is that the MOSFET seems to be doing something weird: it is partially switching on before the FET is driven. The higher the load, the bigger this "step" is, and thus the more time the FET spends in a (potentially?) partially-on state.

It's worth noting that I have hooked the blue scope on the other side of 330R resistor, and it doesn't change the trace much (though it is little more rounded because the 330 ohm resistor is probably a touch on the high side). AKA the step is only present in the output of the FET.


I suspect that this step is what is causing the FET's to pop, but I have no idea what could be causing it - particularly because it precedes the drive. So my question is:

  • What could cause a step like this in this driver? I've not seen mention of a trace like this anywhere else. If nothing else, I'm just curious.

  • And the big one: How can I keep my FET functioning? I think the amount of flyback is OK, and they are rated for twice the predicted maximum current, so I guess it must be to do with how I'm driving it.


Additional Details:

  • Ryobi Cordless Brushed Angle Grinder motor. Coil resistance ~0.5ohm. At 18V this works out to a stall current of 18A. It's a pretty chunky motor, windings look to be >0.5mm diameter wire, huge carbon brushes.
  • Ryobi one+ 5AH 18V battery as the power source.
  • IRLZ44N as the MOSFET. Rated at a nominal 55V and 47A. It is attached to a small heatsink (2cm x 4cm) with thermal compound.
  • MBR20100 as the flyback diode. It's a dual package and I wired both in. It probably needs per-diode balancing (though each side is 20A burst), but that doesn't seem to be a problem yet.
  • The trace is roughly the same regardless of if the motor is spinning or if it is stalled.
\$\endgroup\$
6
  • \$\begingroup\$ remember the motor works as a generator when it is not powered - i dare say that is the cause of your step. You can confirm this by measuring the current. My guess the mosfet is dying because you're exceeding the SOA (safe operating area). The solution is to drive more volts into the gate. \$\endgroup\$
    – Kartman
    Commented Jan 2, 2022 at 1:27
  • 1
    \$\begingroup\$ It appears you do not have enough gate drive. Try using something in the 10K range as a pull down on the arduino output. Change the 330 ohm resistor to something in the 25 ohm range. This may help but I suggest you consider driving the gate at about 8V and have at least 1A available from the driver circuit. \$\endgroup\$
    – Gil
    Commented Jan 2, 2022 at 6:34
  • \$\begingroup\$ It would be pretty easy to add a gate driver to the circuit and see how it changes. \$\endgroup\$
    – Drew
    Commented Jan 2, 2022 at 6:39
  • 1
    \$\begingroup\$ As @Gil suggested, 330 Ohm is too high ... Much lower generally as ... 5 or 10 Ohm ! \$\endgroup\$
    – Antonio51
    Commented Jan 2, 2022 at 10:30
  • \$\begingroup\$ Be aware also that "driving" a motor must be done with a duty cycle starting low first ... and increasing it progressively ... because of the inrush current at starting. \$\endgroup\$
    – Antonio51
    Commented Jan 2, 2022 at 10:34

1 Answer 1

1
\$\begingroup\$

What happens when the gate resistor is too high ...

One can see that Vds is falling slowly. 3.3 V drive.

enter image description here

And power vs R2 ... ( ~ 3x more power dissipated)

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.