VCCS (Modified Howland Current Pump)


I am working on a Impedance Meter for frequencies below 1 KHz and i already have all the circuits working for the voltage generation, voltage sense, reference potentials, data acquisition, USB interface, etc.  However, i need a bidirectional VCCS (Voltage Controlled Current Source) with an output ranging from -20mA to +20mA ,and i tought the best approach would be the Modified Howland Current Pump as i read in one of your Applications Bulletin (IMPLEMENTATION AND APPLICATIONS OF CURRENT SOURCES AND CURRENT RECEIVERS, pg 20-22).

But here's the thing... the circuit is pretty simple and the main problem would be the mismatch on the Resistors of the unity gain differential amplifier, so im using the INA105 or the INA106.  The circuit should work (theoretically) and it also works perfectly in simulation (Orcad 9.0)  BUT i cant get the circuit to work... i really cant understand what is going on.    I have tried with the ICs, with the OPA4228, with one TLC to make a discrete implementation but nothing, i really dont know what to do. 

Whenever the load resistance is over 10K the circuit stops working (even for DC!!! so its not a stability problem), so i really dont know what to do. 

Thank you very much in advance and best regards

  • I have tried a lot of Resistances (from 1K  to 1 M) and nothing, it still doesnt work, i really dont know what to do, can anybody help me out here?

    Thank you very much and best regards

    P.S  I wrote to support and they already told me they are too busy and that i should post in here in order to get an answer to my problem

  • In reply to JACR:


    You said you are implementing a Howland with the INA105/INA106.  Can you please post your exact circuit (with everything connected)?  Please describe what you mean by "does not work..."  Under what condtions does it work? 



  • In reply to Matt Hann:


    In lieu of receiving your actual schematic, I can tell you up front that using the INA105/INA106 to source and sink +/-20mA is not going to work as the short circuit current of the device is +20mA and -5mA, respectively.  If you have bipolar supplies (example +/-15V), you could use the following OPA277 Howland Pump to source/sink +/-20mA.  For this circuit you have to have the 2nd OPA277 driving the other side of the set resistor so that the load impedance does not affect your programmed voltage.  I would recommend using the DFN-8 package which is better at dissipating power than the other packages:


    If you want a single supply solution, here is an option that you can use that will give you -20mA to +20mA for Vin = .5 to 4.5V.  Notice that you will need a fixed 2.5V reference voltage to make this work.  Also, in this case the load needs to be hooked up differentially in order to source current:


    I hope this helps as a start.


  • In reply to Matt Hann:

    hi matt.

    I make a same circuit by using OP548 but in the output it is showing level shift and also the out put current is not constant for 1ohm to 20 k load range. Can you please suggest me any idea.