I've been assembling and testing this PCB over the past few days:
It's a linear +/-2 A voltage-to-current amplifier meant for driving a constant current through a Thermoelectric Cooler (TEC). The circuit is (loosely) based on a 2001 Burr-Brown/TI application note "SBEA001 - Optoelectronics Circuit Collection".
Description: U1 drives one half of the H-bridge (Q1 and Q3) based on a feedback signal which is the amplified (U3) voltage drop across a current-sensing resistor (R4). The other H-bridge half (Q2 and Q4) is driven by an inverting amplifier (U2) which forces the other end of the TEC symmetrically, inverted, to follow the output from U1.
Here's how these things look on the PCB:
After some assembly, bugfixing, and tweaking I measured a DC transfer function like this:
I am happy with the small offset of <0.2 mA and the linearity seems good. There is a rather large gain-error since the design-goal was 200 mA/V and the measured sensitivity is 179 mA/V. The AC frequency response is quite ugly with a high peak at a few kHz. In the time-domain this shows up as severe ringing when driven by a square-wave input. (aside: the SBEA001 application note shows a SPICE-simulated frequency response up to MHz frequencies - theory/simulation and practice differ a lot in this case!).
Things learned so far:
- The original design used OPA353 op-amps. I had assumed these will work with bipolar +/-12 V supplies and the output swing would be close to +/-10 V. Not so! (the OPA353 is a single-supply op-amp). I used TL071 op-amps instead and they seem to work.
- Bypass capacitors close to the collectors of Q1-Q4 are essential (but not shown in the circuit-diagram!). The feedback loop would go mad with oscillations without 1 uF caps placed close to Q1-Q4.
- Q1-Q4 (and the linear regulators) will require heatsinking for >1 A currents.
- The current-sensing instrumentation amplifier U3 (I used an AD8221 instead of the INA155 in the application note) is probably the most sensitive part of this circuit. I added 200 Ohm series resistors on the inputs, as well as low-pass filter capacitors (100 nF) to ground on both + and - inputs. This seems to have a calming effect on noise/oscillation of the feedback loop.
- This kind of push-pull power stage shows significant cross-over distortion when the input signal crosses zero. Here the op-amp that drives the bases of the transistors needs to slew quickly either up or down in order to turn off one transistor and turn on the other one.
If all goes well this TEC-drive will be part of a temperature control system consisting of about five different PCBs or circuits:
- Digital controller. Talks over SPI to DAC and ADC cards. Runs PID and/or feed-forward algorithm on real-time OS to keep temperature steady.
- ADC-Card. Reads +/-10 V input voltage at 24-bit resolution and 1-100 samples/s speed.
- DAC-Card. Outputs +/-10 V voltages as input to TEC-drive. 1 sample/s speed is sufficient.
- Temperature-sensor frontend. Converts pt100 (or alternatively 10k NTC) resistance change into +/-10 V output for ADC. Previous blog posts here and here.
- TEC-Drive (this PCB). Converts +/-10 V input from DAC into a +/-2 A constant current through the TEC.