Powering a motor with two mosfets

I have a small dc motor that I need to power with 1.2v then switch to 12v and back. The 1.2v comes from the same 12v source via a step down device.

The mosfets will be on the high side with one lead of the motor connected to ground.

The source of both mosfets will be connected to the positive lead of the motor. The drain of one will go to the 1.2v souce and the other to 12v.

My question is do I need to place a diode on the 1.2v mosfet between its source and the motor to protect it from the 12v source?

The mosfet is RFG50N06. The gates will be switched with arduino.

Please post a schematic diagram (not Fritzing). N channel MOSFETS are not normally used as high side switches.

Here’s the schematic. I’m open to other ways of switching between 1.2v and 12v.
I tried PWM but did not work well. Loud hum at high frequencies and knocking at low frequencies.

a_schematic.JPG

No, that will not work well or at all. The MOSFETs you have are not logic level, cannot be efficiently switched with an Arduino and won't work as high side switches.

Below is the usual way to switch a motor, using a logic level MOSFET. Note the required two gate resistors and the flyback diode. Or use the Pololu power switch on the high side.

With this circuit, control motor speed anywhere from full on to full off using an Arduino PWM output.

I'm familiar with the above schematic but how do I switch from 1.2v to 12v to the motor? The motor draws ~ 1.5 amps under load with 12v.

I am able to power the motor with arduino and the mosfet described on the low side.

I looked ayt Pololu switches but don’t they need someone to press a button manually?
I need automatic operation.

Do post a link to the datasheet of this unusual motor.

For high side switching you need p-channel MOSFETs, but the 1.2V will pose a serious problem. Maybe that one is done easiest by switching on/off the step-down device.

don’t they need someone to press a button manually?

No. They have a digital input as well.

Please explain if and why you need exactly 12 and 1.2V.

Better yet, tell us what you really want to do, rather than go around forever discussing the problems associated with your proposed solution(s) to the real problem.

1.2v to control the descent of a weight, 12v to raise it.

I think a hybrid solution is what I'll go for. A PNP mosfet on the high side for the 12v and a NPN mosfet on the low side switching power on and off to the step down device.

Thank you for your input.

By the way

https://www.youtube.com/watch?v=Lzxuro0Z2Ew

shows a large stepper being controlled with a RFP50N06 mosfet and arduino.

Have you ever heard of PWM? Because that's the normal solution for providing just a little bit of power to a motor. Then all you need is a single logic level N-channel MOSFET.

By the way, a DC motor (as you said you use) and a stepper motor (as in that video) are two very different animals. A single MOSFET to control a stepper doesn't make much sense.

shows a large stepper being controlled with a RFP50N06 mosfet and arduino.

Nope. Brushed DC motor. Lots of bad advice in that video. Do carry on, though!

What wvmarle said. You normally control power to the motor with PWM, which has the same effect as lowering voltage to the motor. The circuit in post#3 (with logic level mosfet) is fine for that, although with PWM I would probably use a 1N5819 schottky diode instead of a 1N4007. Leo..

1.2v to control the descent of a weight, 12v to raise it. You want to reverse the direction of a “small DC motor” ? Also look at H-bridges.

duinoMike: I have a small dc motor that I need to power with 1.2v then switch to 12v and back

duinoMike: 1.2v to control the descent of a weight, 12v to raise it.

[...]

shows a large stepper being controlled with a RFP50N06 mosfet and arduino.

Weird requirement. Vague description. Link to video full of errors (implying thorough lack of understanding of what's going on).

Looks like a typical case again.

We asked it a few times already, but you're very good at ignoring it as you're obviously totally focussed on your very likely flawed solution: WHAT is it that you're actually try to do? You only gave a vague suggestion on the HOW, which is very likely a wrong HOW, but even to implement the HOW properly we need to know the WHAT and preferably also the WHY of the story.

jremington:
No, that will not work well or at all. The MOSFETs you have are not logic level, cannot be efficiently switched with an Arduino and won't work as high side switches.

Below is the usual way to switch a motor, using a logic level MOSFET. Note the required two gate resistors and the flyback diode. Or use the Pololu power switch on the high side.

With this circuit, control motor speed anywhere from full on to full off using an Arduino PWM output.

Why R2? (oh no the gate resistor monster stirs once again!). :slight_smile:

jremington: Nope. Brushed DC motor. Lots of bad advice in that video. Do carry on, though!

What "bad advice" did you find in that video?

Aside from the guy futzing with the open gate at the beginning (and amazingly not burning his fingers on a half turned on mosfet), what did he say that was wrong??

krupski:
Why R2? (oh no the gate resistor monster stirs once again!). :slight_smile:

Current limiting to protect the Arduino output gate.