MOSFET low-side/high-side drivers ... have I got this right?

I'm trying to get further down the path of making something Really Useful. I want to check with you circuit experts whether I am on the right track with MOSFET drivers. After doing some research this appears to be a reasonable circuit for an N-channel MOSFET driver. But is it?

And for a P-channel MOSFET, this one?

Do the circuits look reasonable? The resistor values? The whole concept?

N-channel, yes. 10K between arduino and Gate/Base may be too high.
P-channel, think you still want diode across the motor.
So, N-channel, High input turns it on.
P-channel High input is inverted and subsequent Low turns it on. With the Open collector transistor, you don't need Logic Level P-channel - its gate will swing ~0.7V to 12.

OK thanks. With the P-channel do I need the other diode then? Or just move it?

Just move it.

Hello,

I have maybe stupid question about high side driver. I want to use UDN2981.
Here is link to datasheet: mirrorbow - mirrorbow

I am not really electro engineer, but if I understood well that transistor array is protected against induction and can be used with inductive load same way as ULN2003.

But one think I need to make clear, there is 8 input pins , 8 output pins , common ground and common supply pin (Vs).
I am not sure if common ground has to be connected with Arduino ground??
I have tested that circuit ( ground of high side power supply was not connected to Arduino gound ) and it works, but maybe there is some risk?

Thank you in advance for any feedback. Miro

Connect to Gnd if connecting to inductive loads (relay coils, small motors, for example).
If not, the output transistors may not fail immediately, but will eventually. Sooner rather than later if the inductor is larger or running from a higher voltage.
Power supply gnd should also be connected to Arduino gnd to provide a common reference point for all signal levels.

CrossRoads:
Connect to Gnd if connecting to inductive loads (relay coils, small motors, for example).
If not, the output transistors may not fail immediately, but will eventually. Sooner rather than later if the inductor is larger or running from a higher voltage.
Power supply gnd should also be connected to Arduino gnd to provide a common reference point for all signal levels.

sorry but this I do not understand, what should be conneted to ground?

CrossRoads:
Power supply gnd should also be connected to Arduino gnd to provide a common reference point for all signal levels.

ok this is clear, I will test circuit with shared ground.

I am just testing, and I figure out very strange behavior:

I have 10k resistor in parallel between input pin of UDN2981 and ground.
Purpose is pull down arduino floating voltage when reset or not defined pin mode.

But now I am testing without arduino, as control signal I use 3,3V and when the cround with pull down resistors is not connected to ground of 3,3V power supply all output pins goes high....so ok I was thinking UDN2981 needs pulldown as well.
I am testing maximum load of UDN2981, so I had activated 6 output, each has 100mA load.
But then wierd thing happend, 7th output went high ( but 7th input was not connected to 3,3V ).

So I thought 1 of pulldown resistors has wrong value, I measured by multimeter and really, one resistor had only 3,5K and slowly growing up.
I use chinese resistors from eBay, I thing reason that value of these resistors are very unstable when temperature of package changing?
How to avoid this, should I use higher value as pulldown, for example 20k, will this help? and will be higher value ok for arduino?

EDIT:
ahhh, sorry I had short circuit betwen two input pins :slight_smile:
However chinese resistors are very unstable in the influence of changing temperature :slight_smile:

Thanks a lot for your help. Miro