Go Down

Topic: Transistor Issue Plagues Me (Read 3614 times) previous topic - next topic

boingaon

Hello,

I have spent about 2 weeks trying to figure out what should be a very simple problem. I'm trying to control a solenoid with my Arduino Mega 2560 using a transistor. I'm desperate for assistance.

When I connect the solenoid and Arduino to the transistor, the solenoid does not turn on at all. When connected directly to my DC power source, the solenoid opens & closes just fine. Here's what I discovered:

My DC power supply sits at 16.6V / 1.8Amps. When I read the voltage across the transistor, the voltage is a correct 16.6 volts. However, the amperage is a measly 20mA. As a test, I tried connecting a 7.2V battery to the system and got the same results- 7.2V reading with the multimeter but only 20mA for the amperage. When I use the Arduino's 3.3V power supply as the source voltage, I can control an LED flawessly (but this is because the LED can noticeably illuminate at 20mA). Just so you know, I have tried switching around wires connected to Drain/Source pins just to see if anything would happen but.......nothing.

Quick question about the circuit diagram I included below: Why is there a "ground" and a "solenoid supply ground"? Aren't they the same thing? There's only two power sources- the arduino digital pin on/off and the solenoid's power supply, both of which connect to common ground.

I want to provide some data:

MOSFET Transistor Data Sheet
http://www.onsemi.com/pub_link/Collateral/NDF05N50Z-D.PDF

Circuit Diagram
http://arduino.cc/playground/uploads/Learning/solenoid_driver.pdf

Blurry Picture of my Circuit (Ask if Unclear)
http://i1176.photobucket.com/albums/x334/raccoonking1/Random%20Uploads/DSC_0309.jpg


Power supply: 16.6V, 18A
Arduino control pin: 13

-PRESTON

shelleycat

The circuit diagram is for a NPN Junction Transistor, that is not the same as a MOSFET.  They do not work in the same way.

A NPN transistor will turn on with a current flowing from the base to emitter.  This will allow a bigger current to flow from the collector to emitter.  The base-emitter voltage will not get much bigger than 0.7V, so an Arduino output pin through a resistor will drive it.

A MOSFET will turn on when the voltage Gate to Source gets above the threshold voltage.  From your datasheet, it gives a figure for the threshold voltage of between 3 and 4.5 volts - depending on each device.  You may just not have enough voltage from a 3.3 V Arduino output pin to turn your device on.  The datasheet shows the device needs 10V to turn full on.

You need an intermediate transistor (NPN or a MOSFET that can be driven by a logic voltage) between the arduino and the power transistor; or change to a power NPN transistor as per the circuit diagram.

Runaway Pancake

#2
May 06, 2012, 02:30 am Last Edit: May 06, 2012, 02:36 am by Runaway Pancake Reason: 1
It's a "logic level" MOSFET, Vgs(th) is about 4V, which may be marginal.
But, Onward.

Quote
Why is there a "ground" and a "solenoid supply ground"? Aren't they the same thing?

If the arduino and the solenoid have separate power supplies, their ground/return should be connected together.

So, what happens if you touch/connect the 1K resistor to arduino's +5 (instead of a digital output)?

Quote
Just so you know, I have tried switching around wires connected to Drain/Source pins just to see if anything would happen but.......nothing.

In this case you probably just forward biased that "internal diode".  But, don't do stuff like that.
"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

boingaon

Runaway Pancake,

The Arduino digital pin should be connected to the Base of the transistor. Does the Arduino's ground need to be connected to anything then?

Runaway Pancake


The Arduino digital pin should be connected to the Base of the transistor. Does the Arduino's ground need to be connected to anything then?

The arduino ground and the solenoid power supply ground should be connected together.

When I suggested:
Quote
So, what happens if you touch/connect the 1K resistor to arduino's +5 (instead of a digital output)?

I was trying to get you to check the MOSFET circuit by applying the arduino 5V to the Gate.
Can you try that?
"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

boingaon

Ah. Yes, I tried that with no response.

It appears that the transistors I have will not open up completely with the Arduino's voltage. I wanted to use Darlington arrays for simplicity, but the current I'm driving is too high for most of those.

Runaway Pancake

#6
May 06, 2012, 04:19 am Last Edit: May 06, 2012, 04:23 am by Runaway Pancake Reason: 1
Fair enough.



* * *  Note that with this circuit the solenoid is "on" with a digitalWrite LOW, and "off" with a digitalWrite HIGH.
If that's not a constant duty solenoid get that digitalWrite HIGH done straight away.  OK?
"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

boingaon

I'd use that circuit if it weren't for the fact that I need to power 37 solenoids. I'm thinking that I will just buy a set of new transistors and sell the old ones. I really need to get a second opinion on this next purchase.

http://skory.z-net.hu/alkatresz/irfz44.pdf

Think these will work with the Arduino pins?

wiz

I have used IRL640PBF mosfets to drive fair size motors with an arduino.
These are logic level drive devices. Take a look at the gate threshold voltage in the datasheet, this gives a good clue to their suitability for low voltage use.

boingaon

According to the datasheet for those mosfets, the maximum threshold voltage is 2V. You didn't experience any problems with the 3.3V from the Arduino pins?

Grumpy_Mike

#10
May 06, 2012, 10:03 am Last Edit: May 06, 2012, 06:38 pm by Grumpy_Mike Reason: 1
Quote
Take a look at the gate threshold voltage in the datasheet, this gives a good clue to their suitability for low voltage use.

NO!!!

The gate threshold voltage is NOT the voltage to turn on the FET, it is the voltage when the FET JUST STARTS to turn on. The IRFZ44 needs 10V on the gate to fully turn it on.
It is the gate voltage quoted with the Ron figure that tells you if it is a logic level FET.

dc42

Can you tell us the current requirement of each solenoid? Without knowing that, it's difficult to make a recommendation for a logic level mosfet to use.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

boingaon


dc42

Assuming you want a through-hole component, something like this http://uk.farnell.com/stmicroelectronics/std17nf03l-1/mosfet-n-ch-30v-17a-ipak/dp/1752020 would be adequate and economical. If you are making a PCB and can use SMD devices, then there are lots of smaller and cheaper alternatives.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

boingaon

Hello. I see that the gate threshold is 1-2.2 volts, but the gate to source voltage is 16V.

Go Up