Arduino and N-Channel/P-Channel MOSFET control

I am trying to reverse engineer a motor controller without documentation. There are two wires going to the motor and I have scoped them. When the controller is powered on, both wires receive +15vDc. When the controller wants to rotate the motor clockwise, it will provide a short term ground path to the left circuit wire. When the controller wants to rotate the motor counter clockwise, it will provide a short term ground path to the right circuit wire.

Finding a suitable P-channel MOSFET has been challenging, however I believe the IPP120P04P4L03AKSA2 would suffice, although it's not as easily available and I would prefer a lot more buffer for the Vgs. I have extra IRLZ44N's, would the circuit "Replacement 1" work with a Mega2560? If not would the circuit "Replacement 2" work? And for my own knowledge, is there any advantage to the way the manufacturer did this, with 15vDc positive all of the time the controller is on, rather than the more traditional way of no voltage until rotation is required?

IRLZ44N Datasheet

IPP120P04P4L03AKSA2 Datasheet

I think that option 1 will not work, with the N-Channel mosfet in the high side. You can set the gate voltage to GND, but you can't set it higher than 15V.
And with option 2, you should tie the gate of the P mosfets to VCC, 15V (off), or to GND (or 5V) (on). And source up.

For P-Channel mosfet you could check also this one: NDP6020P <- EDIT: is not a good option, Vgs would be too high. Should be a power mosfet, I think.

It's both a motor brake and EMP killer circuit.

1 Like

I checked out your suggestion, my only question is ... I thought the specification of
Vgs - Gate-Source Voltage: - 8 V, + 8 V
Make it so that I could not use it?

My understanding is that having 15vDc at the Source and the Arduino sourced ground at the Gate would cause damage to the P-channel FET? Am I wrong?

You are rigth, it's not a good choice.
I was thinking in a low voltage mosfet, but it should be a power mosfet. Actually it doesn't need to be logic level because you need a transistor to drive it anyway, I think. The arduino pins can't handle 15V.

You can search for h-bridge motor driver. For example:
image
from: H-Bridge Motor Control with Power MOSFETS | demonstrandumerat
EDIT: I changed the circuit based in @Wawa comments below.

Thank you, that's exactly what I need. I've ordered components to try and build that, however it would be convenient if there was a breakout board already built that I could use.

What do you think about this product? It has enough amperage and voltage and can be connected and controlled directly by an Arduino. I really like that there are break out boards like this, I hope this is sufficient.

Do you mean the diagram from post#6 ?
That diagram has no shoot-through protection, and could be a mosfet killer.
There is only one diagram in that link that is ok (figure#6, with 4 inputs).
But special code is needed to drive the four mosfets.
Leo..

Hi Leo, isn't the strength in the design from #6 that each input controls both the P channel and N channel for its side of the circuit?

When you say "special code", do you mean code that mandates if Q1 is turned on, Q2 is never (and would be turned off prior to turning Q1 on) turned on?

What is your opinion on the Adafruit breakout board?

It takes time for the joined gates (collector point) to switch between 12volt and ground.
During that switching time, when gate voltages are transitioning between ~3 and ~9volt, both fets are conducting. So for a few microseconds the fets are shorting the power supply.
Google "mosfet shoot-through".

Better designs switch the four fets individually, leaving a small gap between switching one off and the other one on. That makes code more complex, so it's usually done in hardware (the mosfet H-bridge driver chip).
Leo..

1 Like

For the Adafruit board you have to check the datasheet. It think that it is for small motors, max current 3.6A. But if it fits with the requirements it will be simpler.

1 Like

If you know of any breakout boards that have higher current ratings, I'd be appreciative if you posted them here.