# Mosfet constant current

I am looking at a schematic that has a very similar form to a emitter follower but in the mosfet world. It's intended to keep the brightness relatively constant as the battery battery voltage depletes

I am trying to figure out what the current in this device would be and if the components are rated appropriately. Unfortunately, my mosfet knowledge beyond a switch is not sufficient.

How can I go about figuring out the current through the resistor?

simulate this circuit – Schematic created using CircuitLab

• If the MOSFET were perfectly conductive, and the LED has a forward voltage of 2 volts, the current would be 40 mils which is higher than the continuous current of 30. Looks like the on resistance of the IRF530 is .16 ohms, so I think you need a bigger resistor. Feb 26, 2019 at 18:51
• @zeta: You're on an international site so it's 'mA' for current measurement. Feb 26, 2019 at 19:06
• @Transistor Yeah, you are right, I'll use the correct nomenclature in the future. Feb 26, 2019 at 19:09

Here is an alternative method that is almost as simple and is more repeatable (and, probably at least as important, has a lot of compliance):

simulate this circuit – Schematic created using CircuitLab

Use a MOSFET rated to work on 2.5V drive if your logic input is 3.3V. It needs to turn on fully with about 2.7V to get the full compliance range. You can also use a BJT in place of M1.

It works by Q1 reducing the gate voltage to M1 (or base current if a BJT) as the voltage across R2 approaches 0.6V or so and Q1 starts to turn on.

It will drop out around 0.6-0.7V or so if the parts are well chosen, so a 3V LED can be maintained at fully brightness/current to about 3.7V input.

MOSFETs have a very wide spread of Vgs, unlike the (relatively) tight spread of practical Vbe of 0.7(ish) volts found in bipolars. It's essentially impossible to build a repeatable FET-based current source as you have drawn. While the FET will hold the current roughly constant at (3.3v-Vgs)/R1, Vgs can vary widely from FET to FET.

What you would do is sense the voltage across R1 with an op-amp, and use that to control the gate voltage. The current in the resistor is then exactly the sense voltage divided by R1 resistance.

• But Vgs will depend on the current through R1, and the current through R1 depends on Vgs. Years after, I still don't understand mosfets as much as I do BJTs. For a circuit like this, how can determine what power rating I would need for the resistor ? Is adding an opamp the only way ? If I had a BJT R1 and size R1 to be my max current - would that give me a more consistent brightness over a larger battery range ? Feb 26, 2019 at 18:57
• @Frankie is opamp the only way? No, Sphero's BJT is very neat, not quite as accurate as an opamp, but way better than a simple FET. Feb 27, 2019 at 18:02

If you want a single FET CC source then you really need to change to a Depletion mode FET instead of an Enhancement mode.

Using a single FET however presents the problem that VGS(th) is likely in 1-3V range so the series resistor has to drop this voltage. This means you eventually simply run out of voltage to drive the LED.

In this particular application it may well be best to use a simple transistor based current mirror:

simulate this circuit – Schematic created using CircuitLab

To get a good current mirror you need a well matched (thermally and V(BE)) pair like the BCM847. The advantage here is that that Q1 will work until it reaches VCE(sat) of about 200mV, so the LED supply can drop to the LED Vf plus about 200mV and still regulate the current to the LED.

To read up on current mirrors you could start here.

It is also possible to use a pair of FETs to create a current mirror, and providing the VGS(th) is well below the 3.3V drive voltage this would work. There is good coverage of this here. I've seen FET current mirrors used to drive Blue LEDs with Vf only a few 10's mV below the supply voltage. Matched FETs tend to be about 10x the price of matched transistors which is a major disincentive to use them.

As an assumption:

1. Your 6V supply is 4x Alkaline AA for example with new voltage of 6V and EOL voltage about 3.5V.
2. The 3.3V supply is via a linear regulator such as the MC78LC33 with about 100mV dropout voltage.
3. You are driving a Blue/Green LED such as this at 20mA with Vf about 3.2v.

The regulator can keep the 3.3V supply accurate down to a Vin of about 3.4V so easily copes with the EOL Vin of 3.5V.

The Blue/Green LED drive configuration cannot drop any more than 300mV from the EOL Vin so sensing current flow using a transistor Vbe is out of the question. The CC drive I suggested will work down to approximately Vf + 200mV or about 3.4V, so again easily within the EOL battery voltage of 3.5V.

The only viable alternative would be to use an Op-amp with a voltage divider from the 3.3V supply to sense current with less than 300mV across the sense resistor. The cost for this option is much more than the simple current mirror.

An easy way to look at the circuit is to compare it with a simpler circuit and estimate the current. The diode will contribute a voltage drop and the mosfet some slight resistance.

If we look at them removed we know that only the resistor will have more current than a circuit with the other components. We can then find an estimate of the current V=I*R tells us that 6V/100Ω=60mA. The mosfet will be neglected becasue it is mostly 'on' and not in a constant current mode (constant current requires feedback)

simulate this circuit – Schematic created using CircuitLab

However, that's a bad estimate, because the LED also changes the current so we analyze the circuit with the mosfet removed and look at the IV curve from the datasheet of the LED

If we use Analysis of Forward Conducting Diodes we draw a load line on the graph and find that we get roughly 46mA of current. Another alternative would be to fit the diode model in the graph and use the iterative method of finding current, or using a spice package with the model.

• Your analysis only works if the gate voltage (Vgs) is high enough to turn the MOSFET on. This will generally not be the case in the circuit shown, because at the gate you have just 3.3V minus the voltage drop at the resistor. Feb 26, 2019 at 19:20
• Your right, the mosfet won't be fully on however the Id will still be ~500mA which will be plenty to turn the LED on and only contribute ohms of resistance in the circuit Feb 26, 2019 at 19:42
• I removed the values from my circuit. If we assume that the mosfet will fully turn on at 1.5V, would this change anything from the answer ? Feb 26, 2019 at 20:07
• If your mosfet is turning fully on, then no. By fully on, look at the datasheet and look at the Rdson and the rated voltage, the Vgs (gate voltage) needs to be high enough to turn the mosfet on. Most mosfets have Rdson in the 10's of mΩ's or less, so the contribution to the resistance of the circuit can be neglected Feb 26, 2019 at 20:12
• I am running through this example and verifying with an LTSPICE sim, but what happens if the the Vs > Vg ? When I run the sim, I am getting a fixed current, but my estimates for Vs goes out the door. I would think the mosfet shuts down but the sim doesn't seem to reflect that. The sim could be wrong too but I am not sure. Feb 26, 2019 at 20:20