I need to make a board to control the speed of a DC motor, but i must use PMOS because one wire of the motor is connected to the body of the motor itself and must stay at GND level, otherwise if something touches the body of the motor it will get zapped, so NMOS is out of the question.
Now... in this link i found a partial solution:
and I say partial because this system is at 12V and VGS max is bigger than the supply... mine isn't... so linking the gate to GND will blow the FET in my case.
my approach on this issue was to replace the diode with a zener of 30V to keep VGS at 48-30 = 18V under the source voltage... and the board kinda works, it's just that at minimum pwm duty cycle i get 28V output already and at about 60% i am at 47.5V...
even after all this the FET doesn't overheat not even a tiny bit.
On the left is where the pwm comes from, and on the right is the output for the gate of the FET.
I'm using an ATMega48PA at 8MHz, Timer0, PWM prescaler 1 (pwm frequency about 31.25KHz).
The Mega is on a breadboard and the wires to the board with the FET + circuit above is 10cm long.
the PMOS is a F5210S, instead of the 2x BC337 i used BC817.
another take on this issue i saw is the TMOS high side driver from NXP, the MC33198... but as i can see it is out of stock and out of production... if this is the right IC... is there a similar alternative?
But, if you want to change the rotation of the motor, you must reverse the + and - power. Do you have that figured out so the motor rotates in the direction you want?
yeah but 1kohm, if we keep VGS at 18V, will dissipate 0.9W because it will see 48V - zener 18V, so 30V (30/1000 = 30mA, 1000 * 30 * 30 = 0.9W)
isn't this a problem on it's own?
also i dont think it is healthy fo the zener to reverse 30mA (18V * 0.03 = 0.54W)
The BE diode, at least of older transistors, acts as a Z-diode of about 7V. I'd insert a diode in front of the base or emitter of the top transistor to prevent reverse current flowing through the BE diode.
Is the Z-diode fast enough? A scope were nice to check the circuit behavior.
EDIT: This one obviously is wrong with a P channel MOSFET:
The FET is ON by default, i.e. during boot or code upload or Arduino disconnected!
I'd add an inverter (another transistor) in the input line to keep the FET OFF by default.
believe it or not, the FET is OFF if no signal is present on the pwm input (or even if i disconnect the wire)
i did have doubts about the zener... is there a particular one that is fast acting?
or better... is there another way to limit VGS to -10/-15/-18V without zener?