PWM driving MOSFET MTP75N03HDL-D

Hello,

I'm trying to use PWM to drive a power MOFET and I'm not getting the MOSFET into full duty. I'm not great at harware so maybe I'm not using the right FET?

The FET I'm using is a MTP75N03HDL-D... I'm using a POT on analog in to drive the PWM duty. I know this part is working correct as I see the full 5V on the PWM out pin... I have this driving the gate on the MOSFET. I'm supplying 12V to the drain on the FET and the source is going to a car brake light bulb that will draw 2Amps...

When I connect the 12V power supply directly to the bulb it draws 2.1 Amps. When I place the FET in the loop and apply full PWM duty (5V) to the FETs gate, the current to the bulb is only ~ .75 amps... If I disconnect the PWM from the gate and hit the gate with 12V the FET turns on fully and the amps go close to 2?

What am I doing wrong? I thought the FET would be full on when it sees ~ 3V at the gate? What am I missing?
:roll_eyes:
I'm not a whiz at hardware so if you can help please try and dumb it down as best you can for me.

Thanks

Tim


MTP75N03HDL TMOS POWER FET LOGIC LEVEL 75 AMPERES RDS(on) = 9.0 mOHM 25 VOLTS

Hmmm.

You insert switch in the power line, and bulb from one side sitting on the ground.
If it's correct,
Have you connected source of the transistor and ground of arduino?
With this approach arduino board should not touch anything else.
Better solution is to drive FET by optocouple or put one more transistor to flip a level.

What am I doing wrong? I thought the FET would be full on when it sees ~ 3V at the gate? What am I missing?

You have wired the FET incorrectly. It's not the absolute gate voltage that counts, it's the voltage potential measured between the gate and source terminals that count. N-channel mosfets need their source terminals at ground so that the gate/source voltage will see the +5vdc from the arduino output pin and turn on. The drain lead of the mosfet will wire to your load (lamp in your case) and the other end of the load will wire to the positive voltage used to power the load.

Page 34 shows a typical load being controlled by a N-channel MOSFET:

Thanks for the response guys...

retrolefty, The document was a big help. I see what I did wrong (I think). I thought the gate with it's high impedance simply needed a certian level of pressure to open the FET. Did not realize it was in realation to the pressure on the source... Let me place the load before the FET and see what happens. It makes sense actually... I'll post back the results...

--

You can actually make it both way, I find a link:

Automotive
Power Semiconductor Applications
Philips Semiconductors
CHAPTER 5
Automotive Power Electronics
5.1 Automotive Motor Control
(including selection guides)
5.2 Automotive Lamp Control
(including selection guides)
5.3 The TOPFET
5.4 Automotive Ignition

Well... Good news and bad news...

Good news is it was working great. The Brake light came on full and I could cycle my POT and it would dim and brighten perfectly...

Bad news is I disconnected the power to the bulb and put in a 3.9 Ohm 10W sand resistor (up streem of the load). Then everything stopped working... I tested the MOSFET circuit and it was ok... The Arduino however was no longer working properly?

I hooked it up to the computer and I can see it is no longer responding. So I tried to load a simple program to make sure it's ok and it will not take a upload... Crap... :frowning:

All I get is this error...

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


Glad it was working for awhile, but sorry about your new problem.

Can't see what you did per description for causing any kind of problem for the Arduino board. Only thing I can think of is by accident you somehow touched +12vdc to an arduino pin, even for a microsecond? That would certainly toast the board in short order.

Lefty

I do not think I did anything... But with a breadboard and wires and stuff... Who knows... I did a search on this error and found a ton of posts about this. Everyone, had a different story on what they did to fix it. Nothing has worked for me... I know the COM port is working. When I open the serial monitor and type in some text and hit enter I can see the RX light flash. Also, the RX light flashes when I try and up load.

Then I read some place that the LED tied to pin 13 should flash after the reset button is depressed. Mine does not. So maybe my bootloader program got wiped?

I don't know... I'm almost afraid to order a new board now after seeing all those messages about this problem...

Not sure what to do now... :frowning:

--

trs300:
I do not think I did anything... But with a breadboard and wires and stuff... Who knows... I did a search on this error and found a ton of posts about this. Everyone, had a different story on what they did to fix it. Nothing has worked for me...

That's because it's a very general error message, just means AVRDUDE can't seem to talk to the board, could be anything hardware like bad usb cable, bad board, etc. Because it can be so many different reasons, there are a ton of I fixed it posting that don't apply to anyone else.

However it sounds like the USB converter chip may be working from your description. A full test requires a loop back test. Jump a wire from reset pin to ground pin, then plug board into PC, open arduino IDE, select proper comm port number, open serial monitor. Whatever you type in the send window should be echoed back to the receive window.
If that works ok, then you may only have a bad avr processor chip. A replacement 328 chip with bootloader installed can be had for $6 from several sources. I like SparkFun.

I know the COM port is working. When I open the serial monitor and type in some text and hit enter I can see the RX light flash. Also, the RX light flashes when I try and up load.

Then I read some place that the LED tied to pin 13 should flash after the reset button is depressed. Mine does not. So maybe my bootloader program got wiped?

Just get a new $6 328 chip if the echo test works ok.
I don't know... I'm almost afraid to order a new board now after seeing all those messages about this problem...

Not sure what to do now... :frowning:

Just do it, buy a replacement chip, even if it doesn't solve your problem is useful as a spare or can be wired up as a standalone project.

No luck... (but thanks for the advice). The RX led shows it receives the send but nothing comes back... I may order the extra chip just to see... Thanks for the help.

trs300:
No luck... (but thanks for the advice). The RX led shows it receives the send but nothing comes back... I may order the extra chip just to see... Thanks for the help.

I'm sorry, I forgot a step needed for the loop back test to work. As well as a jumper from reset to ground, you need a jumper from pin 0 to pin 1, that is what wires the receive data back to send back to the PC. Try that and see if the test works.

Lefty

Hi Lefty,

No luck on the second test either... I ordered a new board tonight. For $20 what the heck. I'm not sure what I did but I fugure I'll give it another go. Besides, i ordered a Motor control shield a few days ago so I may as well get another board.

Let me ask you something... When I get this new board do you think I would be risking the chip if I oulled it and placed it on this board not working now? If it worked I could then order a replacement chip. If it did not work then I'm good t go with the new board...

Tim

--

trs300:
Hi Lefty,

No luck on the second test either... I ordered a new board tonight. For $20 what the heck. I'm not sure what I did but I fugure I'll give it another go. Besides, i ordered a Motor control shield a few days ago so I may as well get another board.

Let me ask you something... When I get this new board do you think I would be risking the chip if I oulled it and placed it on this board not working now? If it worked I could then order a replacement chip. If it did not work then I'm good t go with the new board...

Tim

--

Sure, as long as you remove all external power and wiring and use the USB connect to power your existing board, I don't think you are risking anything by trying the chip from the new board in your existing board. However if the loop back test doesn't work I don't think you will have full function on the existing board even with a functioning processor chip as that is how you download sketches to it. However if you don't mind programming the chip in your new board and then moving the chip to the old board, then it still retains some usefulness for the old board.

Lefty

<< However if you don't mind programming the chip in your new board and then moving the chip to the old board, then it still retains some usefulness for the old board. >>

I'm not sure I understand this? Are you saying that I would upload a sketch onto the new board, pull the processor from it and plug it into the old board, and that the old board may still be able to carry out the program through it's I/O pins?

OK... I screwed up. I put the jumper on 0 & 1 on the analog pins (duhh...) When I placed the jumper on the TX & RX pins and open the serial monitor it relays the sent message back to the monitor. Is that a good sign?

--

trs300:
OK... I screwed up. I put the jumper on 0 & 1 on the analog pins (duhh...) When I placed the jumper on the TX & RX pins and open the serial monitor it relays the sent message back to the monitor. Is that a good sign?

--

Yes, it's a very good sign. It means you have only either lost the bootloader code in your 328 chip, or the 328 chip is toast. The $6 replacement should get the board going good as new. ATmega328 with Arduino Optiboot (Uno) - DEV-10524 - SparkFun Electronics

Now if you had another board on hand there is a sketch to allow one board to be used to reburn the bootloader onto another board.

Lefty

Thanks Lefty, I ended up ordering a new board and a new chip from sparkfun... I wish I knew exactly what happened so I do not repeat this... It is possible I sent 12V backward on the PWM pin maybe while I was fiddling around with wires... Maybe that toasted the controller... Are there protections that should be in place on a PWM circuit? Like a resistor or a diode between the PWM pin and the MOSFET gate? If I added a diode I suppose I could add a high resistance pulldown resistor on the gate and it should still work...

--

Final update. Lefty was right on target. Got my new chip from sparkfun, plugged it in and my board is back in business... Thanks again Lefty :slight_smile:

trs300:
Final update. Lefty was right on target. Got my new chip from sparkfun, plugged it in and my board is back in business... Thanks again Lefty :slight_smile:

Your most welcome and it's always nice when a story has a happy ending. Plus now you own two arduino boards, how cool is that. :wink:

Lefty