I am driving a peltier (thermoelectric heater/cooler) using a DAC (MCP4725), Arduino mega, quad-opamps to shift/invert the DAC voltage (LT1885) and 4xOPA549 (2 per peltier). I use PI control and thermistor to feed the current temperature back to the controller. The intended use of this system is to head up a liquid that will flow through silicon channels. Currently, I use 2 peltiers, so 4 of OPA549. I have some issues when the circuit is powered on (not happening everytime), they may be from the circuit or the control scheme itself. I wanted to be sure if the circuit part is okay.
I have (0-30V, 0-30A) voltage source. All opamps are powered by this, I don't have negative rails. Peltiers are specified at Imax: 3.9A, Vmax:14.4V, 3.9ohm module resistance, so my maximum allowable current & voltage that will not break them down are 3.9A & 14.4V.
I designed the circuit such that the maximum voltage swing between peltier terminals is +15V/-15V. To change the current direction, I basically change the voltage around peltiers. DAC is 12-bit, communicating with atmega through I2C. Quad opamps are used to shift and invert the DAC voltage (for 2 terminals of each peltier). These voltages are then fed to 2 of OPA549 buffers. Peltier is hooked to the outputs of power-opamp buffer.
The DC characteristics were verified with the real circuit (For VDAC=5V, I can get maximum 20V to 5V output for heating (ie +15V around peltier), and for VDAC=0V, I get 5V to 20V output for cooling (ie -15V around peltier). When VDAC=0, no voltage/negligible voltage around peltiers, so current flow is very close to zero. This is the point where I start my PI control. It increases or decreases the DAC voltage from 2.5, depending on the error term calculated inside the loop.
Below are the TINA diagram of the circuit, and simulation results for varying input voltage. ie. U1 delivers 3VDAC+5 voltage to one terminal of peltier, U2 delivers 25-(3VDAC+5) voltage to the other terminal of the peltier. The DC swing values were verified with the circuit itself, I am in a linear range for the operating voltages. 0 ohms after OPA549 do not exist in the real circuit, I put there for the simulation to run. Power supply capacitors 0.1uF and 100nF are added as the datasheet suggested.
My questions:
1.When I power up the circuit (open-load, no peltiers connected, VDAC=2.5V), it sometimes draws 1.6A current and/or quad-opamp gets hot. It does not do the everytime, but it keeps doing this most of the time. Do you have a suggestion/explanation for this?
2.I suspect that the peltier resistance is not constant. When the PI runs, the current around peltier bounces up and down. I use a single thermistor on a peltier as temperature feedback, other thermistor is on other peltier to monitor its temperature. I expect the same amount of current to be delivered to both of the peltiers, for a VDAC voltage. However, it seems like it is not the case. I can see this from both the current drawn with 1 vs. 2 peltiers. Additionally sometimes one peltier is cooling down, other one doesn't change. Assuming their resistance is close to each other, what can be a solution for this?
3.What are your general comments/suggestions about the operation/circuit?
Thank you in advance.