Hi all,
We have a design which uses the DAC161P997 to generate a 4-20 mA current loop output. It has been discovered that invalid output results under a specific set of conditions, and I'm wondering if this is to be expected or if it can be corrected.
The implementation is similar to the loop-powered transmitter application in the datasheet. The DAC circuit is optoisolated from the host processor. With loop supply present and the host MCU powered off, the DAC generates the expected error output (3.375 mA). When the MCU boots, it sets the output to 4 mA. With a bench power supply and a bench ammeter forming the loop, everything works perfectly anywhere within a a range of about 7 to 36 volts loop voltage, and over 4 to 20 mA.
It goes wrong when a 500 ohm resistor is inserted in the loop (to emulate the customer's sense resistor), and then only when the system tries to jump immediately to a reading near full scale (20 mA) from the initialization value of 4 mA. I have replicated this with my diagnostics for the driver board, where three keys set presets of 4, 12, and 20 mA respectively. If I power up the board and step from 4 to 12 to 20, everything is great. If I step from 4 directly to 20, it drops to a slightly varying output around 3.5 mA. If I then select 12, the output becomes 12 mA, and I can subsequently step to 20 mA with no problem.
So, the DAC is not locking up, as it can always be made to recover by lowering the current setpoint, and then raising it again, but not too abruptly. I can work around this in the driver firmware easily enough, by turning any change into a series of smaller changes. I was just wondering if this is expected behavior for this part.
Thanks,
---Karl