I am currently working on a project, where I need to calculate the current in a circuit. The setup is as follows:

  • Allegro ACS758 Hall effect current sensor (ACS758LCB-050B-PFF-T), primary sampled current -50 to 50 A, sensitivity 40 mV/A
  • Analog Devices LTC1968 true RMS-to-DC convertor
  • Analog Devices LTC2420 20-bit ADC convertor

The current sensor outputs 0V for -50A, 1/2Vcc for 0A and Vcc for +50A. The measured current is the phase current of a BLDC motor and that is why a RMS-to-DC convertor was used before outputing the data to the ADC.

I now need to calculate the current value from the ADC output and I am unsure whether I am doing it correctly. So if you could please review my thinking and tell me if I am right or not, I will be very grateful.

The output of the current sensor is 0 - 5V, the output of the RMS-to-DC convertor is also 0 - 5V. But the datasheet of the ADC states:

extract from datasheet of ADC regarding Vin (pin 3)

I am using Vref = 5 V, so in my case the input voltage range is limited to -0.3V to 5.3V, thus the range is 5.6V and the calculation for voltage per point (vpp) is:

$$vpp = \frac{5.6}{2^{20}-1}$$

Taking it the other way around, I have calculated points per volt (ppv) as:

$$ppv = \frac{2^{20}-1}{5.6}$$

Therefore -0.3V would be then represented by 0 points and 5.3 V would be represented by ppv*5.3 = 992401.34 points. Assuming linearity over the whole range, I could now calculate all the points in between and the current from that.

Am I correct?

Thank you for your time.

EDIT: old schematic: enter image description here

EDIT2 (new schematic) enter image description here

If I understood everything correctly, then this should now be a working example. The Hall sensor will output 0.5 - 4.5V, I will run this through a circuit, that would limit this to 1.5 - 3.5 V and this would be the input to IN1 of the RMS convertor. IN2 would be at a potential of 2.5V and thus the condition of max. peak input swing of the RMS convertor is satisfied. But I am not sure of the output of the LTC1968. Is it possible to do as I did in this schematic? Connecting the output return pin to a voltage of 1.5V, so that the output pin will output a voltage of 0.5V with respect to ground (-1V with respect to the return pin) for -50A through the circuit and 2.5V for +50A through the circuit. And a 2.5V reference voltage for the ADC. I hope I understood it right now. Thanks.


1 Answer 1


Firstly the workings of the current sensor; -50 amps corresponds with a voltage output level from the ACS758LCB-050B of 0.5 volts, 0 amps is 2.5 volts and +50 amps is 4.5 volts. This ties in with the 40 mV/A sensitivity stated. It's output cannot fall to 0 volts nor rise to 5 volts.

Next the RMS to DC converter. This picture from the data sheet shows how it interfaces to signals: -

enter image description here

Text below slightly edited to fix error

The supply would be 5 volts and 0 volts and half the supply voltage (2.5 volts) is applied to the IN2 input. This makes it relatively easy to interface with the ACS758LCB-050B because it naturally produces a quiescent DC level of 2.5 volts. But you have to limit the input voltage range to a peak voltage of 1 volt: -

VIMAX Maximum Peak Input Swing (Accuracy = 1%) 1 volt minimum

So you need to reduce the output swing of 0.5 volts to 4.5 volts from the ACS758LCB-050B to 1.5 volts to 3.5 volts for the LTC1968.

the output of the RMS-to-DC convertor is also 0 - 5V.

No it isn't: -

VOMAX Maximum Differential Output Swing 1 volt guaranteed

That swing can be manipulated to higher or lower absolute levels by the RTN pin but the swing is +1 volts. So, for best accuracy with your ADC choose a voltage reference that gives close to full scale with an output swing from the LTC1968 of +1 volt.

  • \$\begingroup\$ Thank you for the quick reply and the corrections - clearly I do not understand it as I thought I do. I already have the circuit made though, and in my design, I have not limited the output of the Hall sensor in any way. I added the schematic to the question at the top. One input is grounded and so the swing is 2.5V when the primary current through the meassured circuit is 0 A and if I understand this correctly, already this is wrong and I have to make a change to the circuit, right? \$\endgroup\$
    – jan019
    Commented Jul 19, 2018 at 4:52
  • \$\begingroup\$ In the datasheet of the LTC1968, it is stated that: "For single-ended DC-coupled applications, simply connect one of the two inputs (they are interchangeable) to the signal, and the other to ground. This will work well for dual supply configurations, but for single supply configurations it will only work well for unipolar input signals. The LTC1968 input voltage range is from rail-to-rail"... The input signal to the RMS is unipolar and since the range is rail-to-rail, then an input voltage from 0.5 to 4.5 on one input and ground on the other, should be okay. Once again, thank you. \$\endgroup\$
    – jan019
    Commented Jul 19, 2018 at 5:10
  • \$\begingroup\$ Page 1 of the LTC1968 data sheet: "Rail-to-Rail Common Mode Voltage Range" AND "Up to 1VPEAK Differential Voltage". Do you understand this? \$\endgroup\$
    – Andy aka
    Commented Jul 19, 2018 at 7:24
  • \$\begingroup\$ Yes, I do already. The absolute voltage can be in the rail-to-rail range, but the differential voltage between the two input pins must not exceed 2V. Could you please have a look at the EDIT2 in the original post, thanks a lot! \$\endgroup\$
    – jan019
    Commented Jul 19, 2018 at 7:41
  • \$\begingroup\$ I believe pin 6 of the LTC1968 can directly connect to the junction of R30/R31 and not to +1.5 volts. I can't be 100% because I've never used any of these parts but that's what the data sheets imply to me. Maybe there are some google images you can find that give some more insight. \$\endgroup\$
    – Andy aka
    Commented Jul 19, 2018 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.