This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

INA240: Improve current sample accuracy with INA240A1 for motor control

Part Number: INA240
Other Parts Discussed in Thread: ADS7853, , ADS8353, OPA320, THS4551

Hi,

Now I'm using INA240A1 to sense inline current.The sense resistor is 3 mΩ.After sample,ADS7853 converter sampling values to digital signals.

And the sapling error is 4 bits.Are there any measures and ways to improve?Thanks.

  • Hi Eric,

    what is your input signal?

    Have you seen that the ADS7853 has an offset error of up to 1mV (=26LSB)?

    Kai

  • Thank you for reply.

    Under certain working conditions,the offset error will not fluctuate at all times.

    My focus is, what problems will affect sampling fluctuations,for example to reducing power noise.

    Thanks.

  • And my sampling signal is the motor output phase current.

  • Hi Eric,

    input low pass filtering can help. See section 9.1.1 of datasheet. By the way, if your input signal shows massive high frequency common mode noise, I would not only use a differential input signal filter as shown in figure 32, but also a common mode input signal filter. But design it carefully, otherwise you might ruin the awesomely high low-frequency common mode rejection of INA240.

    Another point: Figure 24 shows that the INA240 becomes increasingly nonlinear at frequencies above 1kHz. This can make the INA240 behave a bit strange in some situations. It's not so much the distortion itself which becomes problematic, but the fact the intermodulation products can be produced at nonlinearities which are fold back into the signal range. Consider an input signal which contains frequencies f and f' (wanted or unwanted !) which are separated by delta_f, then intermodulation products with the frequencies delta_f (and others) can unwantedly appear in the output signal which cannot be removed again by whatsoever filtering. Then, only rigorous input low pass filtering can help. 

    Can you show some scope plots (input signals and output signals of INA240, supply voltages, ...)?

    Kai

  • Hey Eric,

    Very sorry about the delayed response. I have some general questions that I feel would assist in understanding the error analysis for this circuit.

    1. What clock mode is the ADC running in?
    2. What is the acquisition time?
    3. What is the conversion time
    4. I assume 4 bit error is 1.22mV output error on INA240. 4*5V/(2^14) = 1.221mV. Correct?
    5. What is the tolerance of the 3mΩ shunt resistor?
    6. What are the motor current levels when error is 4 bits?
    7. What is the motor current duty cycle and frequency?
    8. How is motor current being measured to determine 4 bit error?

    On rather important source of error can be the charge bucket filter for ADC (R28, R427, C237). These components need to be chosen carefully so they supply enough charge to ADC when sampling, but don’t interact negatively with INA240’s ZOUT (closed-loop output impedance) to create instability. Here is some data I have about what the INA240 ZOUT looks like:

     

    We also cannot exclude basic DC sources of error. The ADS7853 shows input offset error of +/-1mV and nonlinearity errors of+/1mV to 2.5mV depending on the clock-mode. Additionally, shunt resistor tolerance and INA240 offset could impact accuracy depending on the motor current.

    Hope this helps

    Peter Iliya

  • Thanks Peter.

    1、ADC runs in 32 clock mode;

    2、The acquisition time is 50us;

    3、The communication frequency of ADC's SCLK is 15MHz;

    4、4 bit error is 0.8mV output error on INA240.Because the reference voltage is 3.3V;

    5、The tolerance of the 3mΩ shunt resistor is ±1%;

    6、When the control PWM's signal is closed,which means output current is 0,the tolerance error is 4 bits.

    7、The PWM frequency is 10KHz;

    8、The error is measured when the PWM signal is turned off;

    Now my goal is to control the system error to the 0.3mv when the motor control interference is closed.

    I wonder if INA240A1 and ADS7853 can meet this requirement. Or what is the biggest obstacle with high precision detection.

    Could you provide some devieces? 

    Thanks.

  • And I have tried to use ADS8353 (16 bits).The fluctuation of signal error has not improved.

    The level of noise  is approximately the same as ADS7853.

    Which is obvious,the offset error of INA240 and ADS7853 is over 1mV.

    But the offset is not same as noise.Is my understanding correct?

    Another question is that INA240 cannot drive large capacitive loads,and ADC is hoping for a larger drive capacitor.

    Is there any good way to solve these contradictions?

    Thank you.

  • ey Eric,

    0.8mV output error is not much especially if the charge bucket filter is not properly adjusted for this application. This is a deeper subject, but here are links explaining it including an article and a link to TI’s free training videos and labs.

    https://www.planetanalog.com/optimizing-sar-adc-driver-amplifier-and-rc-filter-circuit-settling-using-spice/

    https://training.ti.com/ti-precision-labs-adcs-final-sar-adc-drive-simulations-lab

    First let us consider the DC error sources. What is your motor voltage when current is 0A? So what is INA240s input common-mode voltage when load is 0A? If I consider the max initial offset (25uV), the max RVRR offset (20uV/V) and the max gain error (0.2%), I calculate that the VOUT = 1.650841V. This equates to a 4.178 LSB error. See my attached spreadsheet showing my calculations. You can learn about these error calculations here: 3617.INA240 error.xlsx

    https://training.ti.com/getting-started-current-sense-amplifiers

    http://www.ti.com/lit/an/sboa336/sboa336.pdf

    This error does not include offset due to temperature drift, any input filter errors (not shown in datasheet), or DC CMRR. I cannot include CMRR offset error since I don't know what VCM is.

    Some options to decrease DC error are:

    • Use the A2 or A4 INA240 variants, these have the lowest specified RVRR values.
    • Calibrate out DC error at 0A load.

    My other recommendations are:

    • Insert a buffer in between the INA240 and the RC charge bucket input filter of ADC. Use an op amp with sufficient BW and low offset. This will at least prove that there is error coming from a non-optimal RC filter because a good op amp won’t need very specific RC values. The OPA320 or THS4551 are good options.
    • If the RC filter is the issue and you cannot afford to insert a buffer, then resort to using SPICE simulation and the analysis shown in links above to determine the best RC values for INA240 and ADC. Please let me know if you need help with this.

    I hope this helps.

    Best,

    Peter

  • Hi Eric,

    has your thread to do with this thread?

    Kai

  • Yeah, I was looking for support from the local FAE of TI.

    And about that,I made some test mistakes.

    When the motor moves, whether the sampling accuracy becomes worse or not,

    I don't have a very precise instrument to calibrate it now.

    Now i'm trying to verify that.My main goal now is to

    improve the sampling accuracy of my system, whether static or dynamic.

    Thanks,Kai.

  • Thanks Peter.

    I will consider your proposal carefully.And I also have some questions about OP Amp.

    At a specific temperature, will the offset voltage of INA240 and ADS7853  change at all times?

    If not, I can compensate for offset voltage errors by calibrating.So does bias voltage have much to do with sampling noise?

    And the common-mode voltage is floating when PWM signal is closed.

    In this case, the actual measured common - mode voltage does not exceed 10 V.

  • Hey Eric,

    The offset of the INA240 will drift with temperature (max ± 250 nV/°C), but once temperature is constant, the INA240 offset should become constant as well. The INA240 gain will also drift with temperature (max ±2.5 ppm/°C), but once again the gain should become constant once the temperature settles to a stead-state value.

    You can certainly calibrate the system shortly after power up at room temperature and then understand that the temperature drift errors will occur and temperature rises, but overall temperature drift is rather small for these devices due to continuous internal offset correction.

    May I ask how VCM never exceeds 10V when your battery rail is 48V?

    Sincerely,

    Peter

  • Hello Eric,

    It's been a week since your last response, so I hope you were able to resolve your issue. If you need more help, please reply and we can continue to assist.

    Best regards,

    Ian Williams
    Applications Manager
    Current Sensing