I am trying to design a voltage-controlled current source circuit. After some research, I decided to use an op-amp.

In the circuit shown below, when V1 is 0.3 V, then Vr is 0.3 V and the current is 0.3 A. These values are OK but when I use V1 is 2 V, Vr is 0.5 V.

What is wrong in this circuit? I also noticed that if I use a 12 V supply for the op-amp then there is no problem.

First: enter image description here

Second: enter image description here


2 Answers 2


Your input voltage is 2 volts and your current sense resistor (R3) is 1 Ω. This means you are trying to control the MOSFET at 2 amps. Then, if you look at the MOSFET's I-V characteristic from the data sheet you will see this (red-line by me at 2 amps): -

enter image description here

You should be able to see that you need a gate-source drive voltage of about 4.8 volts typically. Given that the source would need to be at 2 volts to make the circuit regulate, the gate voltage would need to be about 6.8 volts to barely satisfy regulation.

But, you have a 5 volt power rail and the op-amp cannot drive 6.8 volts. You need a higher voltage power supply or a MOSFET with a significantly lower \$V_{GS(THRESHOLD)}\$.

  • 1
    \$\begingroup\$ Does OP expect to deliver 2A from the MOSfet's drain? If so, then there's another problem...a 10-ohm load requires V3 to be 2V +4.5V + 20V, if drain current is 2A. For V3, a +12V DC supply is insufficient. \$\endgroup\$
    – glen_geek
    Commented Sep 11, 2022 at 16:08
  • \$\begingroup\$ Good extra spot @glen_geek \$\endgroup\$
    – Andy aka
    Commented Sep 11, 2022 at 16:15

Look at the output of the opamp, better yet, look at the gate-source voltage. The IRF530 has a gate turn-on voltage around 5 volts. With the opamp power supply voltage set to 5 V, there isn't enough voltage to turn on the FET. There are modern MOSFETs with lower turn-on voltage.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.