Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Best Mosfet for PIC PWM Motor Control?

  1. Jul 14, 2011 #1
    Hi guys,

    I need to use the PWM output of a PIC microcontroller to switch a mosfet to drive a 9v brushed DC motor @ 115 mA.

    From what I've gathered, the mosfet should be logic level (fully on @ 3.33v since my Pic uses a 3.33v source). It needs to be able to handle the 115 mA of current at 9v without a heatsink. And I'm not really sure of the best frequency to run the pwm at, so I'm not sure of the required switching speed for the mosfet.

    My Circuit is as follows:
    PIC PWM output pin to R1, R1 splits off to the gate of Q1(the mosfet in question) and R2. R2 goes to ground, as does the source lead on Q1. The drain lead on Q1 goes to the (-) side of the motor, and the (+) side of the motor goes to a 9v source, there is a flyback diode between both motor terminals on the motor.

    I currently have a RFP30N06LE I got from Sparkfun.com that I've been trying to use for the mosfet, but with no success (if I apply load to the motor, it just pulses at around 12 times per second from fully on to fully off. But with no load, the RPMs go up and down just fine.)

    Does anyone have a sollution to this mosfet problem?

  2. jcsd
  3. Jul 14, 2011 #2
    Pretty much any "N-Channel enhancement-mode" power MOSFET should do your job -- the "enhancement-mode" bit basically means that they act like a "regular" NPN switching transistor. I got a bunch of FP3055LE's in a TO220 package from one of the online surplus places (goldmine, all-electronics, etc) and use them for running motors and solenoids from a 5v PIC, but they should work fine on 3.3v input too. It looks like your 30N06 fet should do the same, but the specsheet doesn't say "enhancement-mode", and I'm not smart enough to know the difference....

    I would do PWM at around 1KHz. I don't know how you get 12Hz pulsing but it sounds like you may be running too slow.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook