Other Parts Discussed in Thread: INA139, TLE2144, LM4041C, TPS543B20, TPS543C20, OPA4313, TPS544C20
TI,
We are working on a solution which employs a TPS40400 based DC/DC, INA139 (Current Sense), TLE2144 (Quad Op-Amp), and LM4041C (Voltage Reference).
The desired behavior is to control the current output of the DC/DC using the FB pin on the TPS40400.
We have produced a bench prototype for evaluating the setup, and have verified the setup is wired as expected. **More details are below.**
When we turn on the setup, the PGOOD is high, and the FB is measured to be 0.612 V. We have an IADJ pin that we feed into the op-amp to adjust the current, and this is set to 0V. The measured output voltage is 0V. All is good.
When we begin to increase the voltage at the IADJ pin, the FB voltage begins to decrease. Once FB hits about 0.600V or slightly below, the PGOOD goes low, and the FB voltage suddenly jumps to 1.235V and the measured output voltage jumps to 0.750 V. This is unexpected behavior.
**DETAIL ON THE DESIGN**
The INA139 is a High Side Current Shunt Monitor. It is used to measure the current through a 0.010 Ω Current Sense Resistor (Rs).
The current to be measured ranges from 0 to 12A.
The transfer function of the INA139 is VO = (Is) (Rs) (RL) / (1kΩ) .
For ease of math, we have set the gain (RL) = 1kΩ . This gives VO = (Is) (Rs) = 0.010 * (Is)
(which produces a 0 to 120mV full scale sense input voltage, valid for the INA139)
--
This is passed to a unity gain TLE2144 buffer stage (non-inverting).
The IADJ input is similarly passed to a unity gain TLE2144 buffer stage (non-inverting).
The IADJ voltage is passed into the Inverting (-) input of another TLE2144 stage, and the 1.225V LM4041C reference voltage is passed into the Non-Inverting (+) input. This op amp stage has a gain of 0.1
Thus, VA = 0.1 * (1.225 - IADJ).
Both VA and VO are connected to FB through the last TLE2144 stage to a voltage divider (with equal R values) connected to the Non-Inverting (+) input. The Inverting (-) input is connected to GND. This opamp stage has a gain of 10.
FB = 10 * (Vdiv - 0) = 10 * Vdiv
Vdiv = (VA + VO) / 2
FB = 10 * (VA + VO) / 2 = 5*(VA) + 5*(VO) = 0.5*(1.225 - IADJ) + 0.050 * (Is)
The TLE2144 is powered from +12 V and -12 V rails. (to ensure a full swing to ground)
============================
Our transfer function is repeated here for clarity:
FB = 0.5*(1.225 - IADJ) + 0.050 * (Is)
============================
The intended behavior is as follows:
0.6 = 0.5*(1.225 - IADJ) + 0.050 * (Is)
[[ MAX CURRENT: (12A) ]]
IADJ = 1.225 - ((0.6 - 0.050 *12)) / (0.5)
IADJ = 1.225 V
[[ MIN CURRENT: (0A) ]]
IADJ = 1.225 - ((0.6 - 0.050 * 0)) / (0.5)
IADJ = 0.025 V
================================
Worth noting is what happens if IADJ is 0V.
Is = (0.6 - 0.5*(1.225 - 0)) / 0.050 = -0.25 A
================================
The issue is that the unit will successfully start up with IADJ = 0 V, and will have a current of 0A (because the TPS40400 will not allow the negative voltage, and this is especially true if the load is a diode/LED.) However, as soon as it hits the "turn on" current threshold, IADJ = 0.025 V or so, the unit will immediately "jump" to a FB value of 1.235 V (not 0.600) and the output voltage will sit at 0.750V (may not be relevant if a diode load).
Given the above detail, we would expect that (1.235 - 0.5*(1.225 - 0.025)) / 0.050 = 12.7 A which would imply that the output is not being properly regulated. Indeed, the measured output of the INA139 is 0.127 V or 0.010 * 12.7A.
Why would the TPS40400 FB pin not hold at 0.600V? Any ideas why it might be higher than anticipated?
The correct behavior for this scenario should be 0A, (0.6 - 0.5*(1.225 - 0.025)) / 0.050 = 0A .
It is also worth noting that increasing the IADJ value does not change the FB value, (which is expected, but not at 1.235), and does change the (Is) value.
Any insight or suggestions on what else to check are appreciated.
Thanks,