I am using a MQ135 gas sensor in my project. It takes a max of 200ma and I have connected the Arduino to a battery so I can disable it when needed to save battery. I am using a transistor for that but noticed I get a voltage drop of around 0.7V so I only have 4V left at the sensor, which is not enough. Is there any transistor / FET available with a very low voltage drop so I can power and control my sensor without any problems?
2 Answers
A PNP BJT will always have a voltage drop due to how the junctions in it work. So you don't want to use a BJT. A P-Channel MOSFET would be a better choice, but you need to select carefully. You also need to drive it right.
The answer Oka points to in the comments above gives you a good option for the circuit to use (https://electronics.stackexchange.com/a/75680/4245), but you need to know how a MOSFET works to know how to select the right one.
Instead of acting like a simple switch, the MOSFET acts kind of like a variable resistor. As you vary the gate voltage (with relation to the source voltage - +5V in your case) around the threshold voltage it varies the resistance of the channel between the source and the drain. As you rise above the threshold voltage it enters the saturation region where the resistance is pretty much at its lowest and no increase in the gate voltage difference has much effect on the resistance.
This resistance is called the on resistance, and often referred to as \$R_{DSON}\$.
So there are two important factors you need to look for:
- The threshold voltage \$V_{GS}\$ is considerably lower than the maximum voltage difference you can achieve between gate and source. In the circuit shown in the link above, and with a 5V supply, that would be \$-5V + 0.7 = -4.3V\$ (the 0.7 is the voltage drop of the NPN driving transistor). So you need a threshold voltage considerably below -4.3V (P-Channel voltages, as the are measured with respect to the positive supply (where the source is connected) are all negative values).
- The on resistance at a gate voltage in the saturation region must be small enough that you won't drop too much voltage at your peak current. Most datasheets and websites quote the on resistance at a specific gate voltage, so you need to make sure that "test" voltage is below your maximum voltage.
So for your system you have a peak current of 200mA (0.2A), and you don't want to drop much voltage - say 0.1V, so your minimum (worst case) voltage for the sensor would be 4.9V. We can calculate the maximum on resistance that you can tolerate:
$$ R = \frac{V}{I} = \frac{0.1}{0.2} = 0.5\Omega $$
So the maximum on resistance you could tolerate would be 500mΩ - preferably less.
-
\$\begingroup\$ Thank you very much for this really detailed answer. I kinda know after what I need to look and how these things work. The only problem is finding low Rds P-Channel MOSFETs. The only ones I found with low voltage are AO44XX but they are SMD. Are there any other brands I should be looking at on ebay preferably? \$\endgroup\$– qwertzCommented Aug 23, 2015 at 13:55
-
\$\begingroup\$ Your best bet is to use a reputable electronics supplier's parametric search to identify the components you want, then use the part numbers provided to search for places you can get them (like eBay). Farnell gives me 20 suitable MOSFETs in TO-220 cases from Vishay, Fairchild, ST, Infineon, etc. \$\endgroup\$– MajenkoCommented Aug 23, 2015 at 14:02
-
\$\begingroup\$ Would this MOSFET work? uk.farnell.com/fairchild-semiconductor/fqp27p06/… \$\endgroup\$– qwertzCommented Aug 23, 2015 at 14:18
-
\$\begingroup\$ I would go for a lower threshold voltage. 4v is a bit close to your maximum. Preferably find one where the test voltage is -4.5V and the threshold is nearer the -2V mark. \$\endgroup\$– MajenkoCommented Aug 23, 2015 at 14:20
-
\$\begingroup\$ So that would be something like this? Even though it is SMD style that shouldn't be that big of a problem to solder some wires to it? uk.farnell.com/fairchild-semiconductor/fdd6637/… \$\endgroup\$– qwertzCommented Aug 23, 2015 at 14:39
You can use a PNP transistor if the gas sensor and the Arduino are both 5V and you put enough current through the base to put it well into saturation. For example:
simulate this circuit – Schematic created using CircuitLab
Your base resistor was probably too high to properly saturate the transistor. Typical performance is as below from the datasheet.
Only 200mV drop with 0.2A and 20mA base current. Worst-case is guaranteed to be 400mV at 150mA with 15mA base current.
There are better BJTs than this one, such as Zetex, but if you need < 150mV you should probably use a P-channel MOSFET.