V controlled I src

Thread Starter

EmbRes14

Joined Jun 10, 2014
3
Hello,

I am looking for some advice regarding a project: I need to design a voltage controlled current source. The voltage is supplied by an 8-bit DAC from a PIC μC (then low pass filtered) and the output of the VCCS drives the primary of an LVDT sensor. The voltage and corresponding current waveform should be triangular with amplitude of 0-15mA peak to peak with a frequency of 10kHz. The power supply is 5V and it should be able to function at high temperatures (125°C). I would like to design it with as few components (cheap) as possible.

I simulated the OP configuration in the attached image (R=330Ω). I am seeing a lot of ringing on the rising and falling slopes and the voltage slopes off at the peaks (it is no longer linear after 70% of the rise/fall) which is not desired for my application. I don't know if this is a result of the compliance voltage or if the bandwidth of the OP (I was using one with 2MHz in the simulation).

I would appreciate it if anyone could give me any advice with regard to implementing this correctly, advice in picking picking an appropriate OP or a suggestion for a better OP configuration/implementation. All help is greatly appreciated!
 

Attachments

AnalogKid

Joined Aug 1, 2013
10,987
With a single 5V supply you are way out of battery. Even a quote rail to rail unquote opamp will not make this output at 15 mA. Most of the R-R specs are for a 2K or 10K load. If it is not a R-R opamp, then the output will peak around 3 to 3.5V.

And you don't have the typical external output transistor, so the opamp is doing all the work. All the work at 10 KHz plus the harmonics it takes to maintain the triangle shape means you're probably out of bandwidth, also. The ringing could be a simulation artifact based on the opamp model.

ak
 

wayneh

Joined Sep 9, 2010
17,496
With a single 5V supply you are way out of battery.
+1
15mA across 330Ω requires 4.95V, which your op-amp likely cannot do. (You should tell us which op-amp you're using.)

You can get close to what you want (specifications?) with the right op-amp, but it might be easier to add a transistor as AK has noted, to take the load off the op-amp. This will expand the range of op-amps that can do the job.
 

Thread Starter

EmbRes14

Joined Jun 10, 2014
3
Thanks for the helpful insights! I realize that the 5V is a real killer. The OP that I am seeing the best results with in my simulations is the AD8646 but I was hoping I could accomplish it with the MCP6271.

Regarding placing a transistor on the output- I shied away from that because of the BJT's β sensitivity to temperature. Should this be a concern of mine? Is there a way to simply compensate for this?

Regarding specifications - all that I am working with is the 5V, high temperature, 0-15mApp, and 10kHz triangle. And like I mentioned, the linearity at the peaks is the most important to me. The load is inductive (10mH, 14Ω).

Thanks.
 

AnalogKid

Joined Aug 1, 2013
10,987
The only way to assure linearity at the peaks is with headroom. For a 5V peak add at least 2V for a normal opamp output stage, maybe another 1V for the input common mode range, and 1V for margin. Plus, to assure the negative peaks you'll need at least an input common mode range that extends below the negative rail, or bipolar supplies. So, +9V min for Vcc.

Do not worry at all about the external transistor beta; it is inside the opamp feedback loop for a reason, so the amp can compensate for it. This is true for multi-amp outputs, and true-er (?) for 15 mA.

But the transistor costs you some headroom, know as its Vbe potential and Vce saturation voltage, and ... hey, wait a minute.

Calculations put the voltage across the resistor at 4.95 V for 15 mA. But the resistor is in series with the load. What is the impedance of the load at 10 KHz? That figures directly into the headroom calculations.

The nice thing about the external transistor version of this circuit is that it makes the required voltage for the amp independent of the required voltage for the load. You easily can have a little R-R opamp running on 5V controlling amperes of current from a 24V source into some huge load. You might be headed toward a variation of that.

ak
 

AnalogKid

Joined Aug 1, 2013
10,987
The impedance of the load at 10 KHz is a critical piece of information. If it has any inductive component, this will cause the output of the opamp to go higher than the calculated DC value for the waveform peaks to cover the higher impedance at the higher harmonic frequencies.

There is a way around this. Let's assume the load impedance is 100 ohms, and a pure resistance. If you reduce the current sense resistor and scale down the input voltage range, you will have the same output current range but with more voltage headroom (compliance). For example, if the input triangle wave is 0 to 1.5 V and the sense resistor is 100 ohms, the output current range still is 0 to 15 mA but the voltage swing is only 1.5 V across the sense resistor and 1.5 V across the load. This gives the output another 1.x volts of compliance in case the load is inductive. Note that any non-resistive load will cause what appears to be waveform distortion at the opamp output. This is normal.

ak
 

crutschow

Joined Mar 14, 2008
34,285
For your stated load of 10mH and 14Ω, the inductive impedance at the high frequency harmonics of a triangle wave will make it difficult to achieve good waveform fidelity at 10kHz using an op amp.

If all you need is a triangle wave current at 10kHz then drive the load with a ±3Vpk square-wave. This will generate a triangle-wave current in the inductor of 15mApp (di/dt = V/L). For ±7.5mApp current you can couple a 6Vpp square-wave through a 200μF capacitor (critical damped value). See simulation below.

Sawtooth.gif
 
Top