Skip to content

Characterize current output and current feedback circuits #10

Description

@cjsha

The following analysis concerns the current output and current feedback circuits as described in the schematic contained in 24a3d20:

Image

Note

When using designators to refer to particular passives, I use the schematic above, not the designators in the LTSPICE schematics presented below.

R2, R13, R12 value selection

R2, R13, and R12 were chosen such that the ADC has 1uA/lsb resolution.

The howland current source output has the following output range:
$$I_{out} = \frac{V_{in,max}}{3000 \ \Omega} = \frac{\pm 10 \ \text{V}}{3000 \ \Omega} = \pm 3.333 \ \text{mA}$$

The current feedback transimpedance is:
$$R_{sense} \times \left(1 + \frac{9.9k}{R_g}\right) = 100\Omega \times \left(1 + \frac{9.9k}{0.36k}\right) = 2.85 \ \text{mV/}\mu\text{A}$$

so the maximum range for at the output of the current feedback circuit (at the I_sense node) is:
$$\pm 3333 \ \mu\text{A} \times 0.00285 \ \text{V/}\mu\text{A} = \pm 9.5 \ \text{V}$$
This safely fits within the +/-10V ADC range.

while the ADC resolution is
$$\frac{10000 \ \text{mV}}{2^{12} lsb} \div 2.85 \ \frac{\text{mV}}{\mu\text{A}} = 0.86 \ \frac{\mu\text{A}}{\text{lsb}}$$

We could consider decreasing R2 from 3k to 1k Ohms, for example, to increase the total maximum possible current through the output from 3.33mA to 10mA. This would require decreasing the current feedback transimpedance to scale the range of the howland current source into an acceptable range for the ADC from 2.85 mV/uA to ~0.95 mV/uA. Then our ADC resolution would go from 0.86 uA/lsb to 2.58 uA/lsb, and we no longer have <=1uA resolution capability.

The question of how to balance R12 and R13 in order to achieve that 2.85 mV/uA remains. I maintained R_sense=100 Ohms from the previous stimjim circuit. Increasing this resistance decreases the effective compliance voltage. I think the primary trade-off is that increasing decreasing R_sense (and subsequently decreasing R_gain to maintain the same overall gain), is that this increases gain and offset errors.

Simulations

op-amp offset

This high gain at the transimpedance amplifier (28.5) results in a non-significant offset voltage:

Image

For a 1k load, -0.8mV at the output of the Howland current source results in 0V V_(i_sense).

differential noise across R_sense (R12)

In the original simulations that jon did:

Image

he simulated the differential noise that would occur at the inputs of the current feedback amplifier using a 1k resistor at the output of the Howland pump. I made a similar schematic and simulation that looks like this:

Image

I just compared when Howland output resistor changes from 1k to 3k and the integrated v(onoise) goes from about 0.00043 to 0.00041.

Note

Not sure where the 0.02 comes from in the enob calculation. Not sure enob is relevant here either? since this is going into the input of the instrumentation amp not the ADC. not sure I understand this.

THD across R_sense (R12)

In the original simulations that jon did:

Image

he simulated the THD that would occur at the inputs of the current feedback amplifier using a 1k resistor at the output of the Howland pump. I made a similar schematic and simulation that looks like this:

Image

The third step and the fourth step (the fourth is not shown) are saturating w/ 1k resistor, the only relevant steps for comparison are 1st and 2nd.

Image

R9 (OPA197 feedback resistor) selection

As far as I understand it, the OPA197 in the howland feedback loop is supposed to be a voltage follower. Since the input impedance of the op-amp is so much larger than 1k (which was the value of R9 in the simulations that Jon made), it still pretty much operates as a voltage follower. I'd be concerned that adding a resistor causes an instability, but this doesn't happen with a 1k resistor. I can demonstrate it with a 50k resistor though:

Image

I'm not really sure about the purpose of having a non-zero resistor there (I can't find a reason anyway). I left a 0ohm resistor just in case there was some reason that it is important to be able to add some resistance there.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions