Timer to control motor - MOSFET too hot

Discussion in 'The Projects Forum' started by J.Green, Jul 7, 2009.

  1. J.Green

    Thread Starter Member

    Jul 15, 2008
    26
    0
    Hi,

    I am building the attached circuit to turn on a motor for 60 seconds, then turn off for between 2 minutes and 5 minutes, and then repeat. A PIC12F675 is used and the variable delay is achieved by adjusting the 10K pot and the A/D conversion of the PIC.

    I am testing the attached circuit on my bench using a 12VDC electric drill as the motor. The drill is drawing ~4amps. When the design is finalized, I would like the circuit to power a motor up to 10amps.

    The PIC and its software, along with components associated with the PIC work fine. I have build a few circuits using a PIC to drive a relay and haven't had any problem.

    This is my first attempt using a MOSFET. I am using a IRF540 and have attached an aluminum heatsink (removed from my old stereo).

    I tried turning on the MOSFET using the 5V from the PIC but didn't have any luck. I used an OPTO I had laying around and got the motor to turn on, but after a short time (20 seconds) the MOSFET/heat sink got very hot. Too hot to touch. I ran the PIC program for one or two cycles and decided to shut it down before something melted.

    I need some advice/help on using this MOSFET to turn on the motor but configuring it in such a fashion as not to over heat it. Any suggestions would be appreciated on how to keep avoid this over heating down or other circuit suggestions.


    Thank you.
    JG
     
  2. k7elp60

    Senior Member

    Nov 4, 2008
    478
    69
    I think the reason the mosfet is getting hot is that you have the source connected to +12V and the drain to the motor. The internal diode is conducting when it shouldn't. The diode is normally connected in reverse polarity. That is to say the drain of the mosfet should be the most positive side, and the source to the least positive point of the circuit.

    To use a n-channel mosfet for a high side driver you need to drive the gate with a voltage about 10 volts more postive than the source.

    If you use a P channel mosfet as a high side driver, you connect the source to Vcc the drain to the load and bringing the gate to ground turns on the mosfet as a switch.
    I recently built a circuit to do exactly that and used an IRF4905.
     
  3. eblc1388

    Senior Member

    Nov 28, 2008
    1,542
    102
    If you go for the P-Ch MOSFET route, then you don't need to use an optocoupler. A simple NPN driven by the PIC is fine.

    Just pull down the MOSFET gate to 0V using the NPN will make the MOSFET fully conduct at 12V to drive your load.

    Or you can switch the motor -Ve terminal to 0V using a n-Ch logic level MOSFET, gate driven directly by the PIC.
     
  4. J.Green

    Thread Starter Member

    Jul 15, 2008
    26
    0
    Hi,

    Thanks for the help. I went the P-Channel route using a NPN. Setting the PIC pin high turn on the motor. I have updated the schematic for those who follow. The MOSFET runs cool now.

    Jason
     
  5. eblc1388

    Senior Member

    Nov 28, 2008
    1,542
    102
    Thanks for your feedback to the forum.

    I noticed you have used 10KΩ as the MOSFET GATE to SOURCE resistor. This is normally consider too high a value to effectively discharge the gate charge quickly should you wish to turn off the MOSFET. The MOSFET will then work in linear mode during switching off, generating more heat unnecessarily. Decreasing its value to 1KΩ ~ 560Ω would largely emilinate this problem.

    Also you can increase the NPN base resistor value from 220Ω to 1KΩ or more and the transistor will saturate fine. This will let the PIC runs cooler too.
     
Loading...