TI中文支持网
TI专业的中文技术问题搜集分享网站

INA238: 电流测量在满量程时会跳动,超过量程后读取的数据变为0

Part Number:INA238

比如电流满量程为500A。以此进行寄存器设置,当测试时,给定500A(接近500A),结果频繁出现跳动,结果会出现半量程,四分之三量程,当测试大于500A的电流时,结果就变为0 了。

John:

有技术支持吗?

,

Kailyn Chen:

 您好,测试电流实际是测试的Vshunt电压,您的寄存器是怎么配置的?shunt电压的欠压和过压阈值为多少?

另外,您的应用是要测试多大范围的电流?超过满量程,我没太明白这里的意思,是否意味着超出总线电压范围?

,

John:

寄存器配置:

CONFIG:0     ;ADC_CONFIG:F001h;  SHUNT_CAL:0753h;没设置欠压和过压的阈值,

Maximum Expected Current 是500A,据此计算出的配置参数,但是在测500A的时候反馈结果会跳动,超过500A会读到的结果为0,

,

Kailyn Chen:

您好,Maximum Expected Current 为500A的话 ,

Current _LSB=Imax/2^15 =500A/2^15=15.3mA

而ADCRANGE = 0时,1 LSB step size Rshunt=5uV;

ADCRANGE = 1时,1 LSB step size Rshunt=1.25uV

因此Rshunt=5uV/15.3mA=0.327mohm.(ADCRANGE = 0)

Rshunt=1.25uV/15.3mA=0.082mohm   (ADCRANGE =1)

ADCRANGE = 0时,最大Vshunt电压为+-164.84mV,所以最大电流满量程范围+-164.84mV/0.327mohm=+-502.6A 

同样ADCRANGE = 1时,最大Vshunt电压为+-40.96mV,所以最大电流满量程范围+-40.96mV/0.082mohm=+-499.5A

所以计算下来,能测量的电流满量程在500A左右,不确定是否因为靠近临界值的原因,您有尝试降低电流,比如400A左右,是否正常? 

,

John:

Kailyn Chen 说:

而ADCRANGE = 0时,1 LSB step size Rshunt=5uV;

ADCRANGE = 1时,1 LSB step size Rshunt=1.25uV

因此Rshunt=5uV/15.3mA=0.327mohm.(ADCRANGE = 0)

Rshunt=1.25uV/15.3mA=0.082mohm   (ADCRANGE =1)

工程中设置的ADCRANGE = 1,但是这个Rshunt不是按这个计算的,而是选定0.015mohm,那么500A*0.015 = 75mv 是远小于164.84mv的。只在500A时跳动,主要是超过500A结果就变成0了

,

Kailyn Chen:

您好,,超过500A时结果变0 ,您可以读取下寄存器Bh的MATHOF bit,如果为1则表明因为计算导致溢出。

您的意思应该是,按照我们通常的理解,溢出或者超过最大值时应该显示最大 ,而不是0对吗?这里溢出显示为0可能是因为内部计算在某种情况下可能由于内部溢出却不显示最大,反过来说,不是所有超过最大期望电流的情况都会显示为0. 所以在使用这款芯片时,我们可以监控Alert系统,读取MATHOF bit,或者设置过压标志,以便在电流过高时发出警报。 

所以如果想要在超过500A时不发生这种情况,只能将Maximum Expected current调大,而不是设置500A。

另外,按照您给的Rshunt的阻值,以及SHUNT_CAL的计算公式,我看您SHUNT_CAL:0753h;。 我计算下来10进制的值为753,而SHUNT_CAL需要改成16进制为2F1.

赞(0)
未经允许不得转载:TI中文支持网 » INA238: 电流测量在满量程时会跳动,超过量程后读取的数据变为0
分享到: 更多 (0)