I've been trying to design an Arduino Nano-controlled PCB where the primary goal is to control the speed of a fan motor (for a small cart-sized hovercraft) via PWM on the gate of a MOSFET.
The motor I'm using is a Mabuchi RS-775WC-A08 that I pulled out of an old electric push mower. I can't find exact specs for that model online, but it was running off a 12V lead acid battery and at that voltage has an estimated no-load RPM between 15k-18k, which puts it in a similar spec range of Mabuchi's other RS-775WC motors, which are 6-18V 250-300W motors that draw ~3A with no load, ~20A at max efficiency, and have a stall current of ~150A.
In my first prototype I ran into a great deal of trouble with power management, and components breaking down (managed to fry an Arduino, possibly due to a buck regulator failure, possibly when my flyback diode failed short circuit, though I didn't notice the diode smoking until after I replaced my power regulator. Replaced the flyback diode with a beefier one, only to have my MOSFET work for awhile then stop conducting current in response to a signal on the gate.), so I'm going back to the drawing board with higher spec'd components, and I'm considering isolating the motor power supply completely from the Arduino power supply to better protect the more delicate 5V components attached to it.
The circuit when the MOSFET failed was as such:
The battery is a Spektrum 11.1V 50C 5000mAh LiPo.
U1 is a 5V DC-DC converter: https://www.digikey.ca/en/products/detail/würth-elektronik/173950578/5725367.
The MOSFET is a Nexperia BUK966R5-60E.
I don't actually know much about the Schottky I was using at the time, as it was a local emergency buy when I didn't have time to order new components (that time-limit has since passed), and it's, well... Old:
When I tested the motor on straight DC from the battery it ran fine, but when I tried running it with the PWM, it exhibited a behavior where it would start spinning then jolt to a halt and stop moving. The behavior repeated every time I cycled the Arduino off and on. Nothing in the system got warm to the touch. I tried it at a variety of PWM frequencies down to the lowest the "phase-correct" Arduino PWM can manage and the response didn't change. The next day when I tried to view the system on an oscilloscope the motor didn't respond at all. I confirmed the signal at the MOSFET's gate, but the drain-to-source resistance remained solidly constant and large. I'm honestly not sure what the mode of failure was there.
Without getting into additional isolation, my proposed changes to the circuit are:
Swap to this MOSFET and this flyback diode, as well as adding a bulk capacitor across the motor power.
As mentioned above, I'm also considering optically isolating the power supplies (I'd probably keep the DC-DC regulator for the 5V net, but feed it with the output of 6 to 9 rechargeable AA batteries rather than the 11.1V LiPo). The wall I'm running up against here is understanding how to select and utilize an opto-coupler for my application. From what I understand so far, the circuit should be something like this:
I'd actually like to move the PWM up to 31kHZ to put it out of the audible range, so I'd want a fast opto-coupler that can take 5V logic on the input end and handle 12V on the output end. After that is where things get a bit fuzzy for me. Would I need to switch from a 5V logic-level MOSFET to one that works on 0-12V? Are there other considerations I need to take into account?
I'm happy to take any other suggestions about the design and selected components.