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.

TI电量计BQ27541我自己做的校准电流就差最后一步了!请ti大发慈悲帮我解释下!

Other Parts Discussed in Thread: BQEVSW

目前校准电压,校准温度都已经ok!附件是我自己用上位机做的校准,但是现在就是校准电流没有做成功,不过我已经研究的差不多了,就是把dataflash的CCGAIN和CCDELTA重新写一个新的校准值。

不过里面有很多浮点运算和非IEEE1714标准,弄得我头大,不过大致上已经思路清晰了,但是现在就差东风了,请TI大发慈悲帮小弟一把,我一个星期都没合眼了!

新建文件夹.rar
  •  在我看来这种技术最多叫做破解,算不上真正的技术,真正的技术还在TI如何利用CCGAIN和CCDELTA的模型进行电流参数和阻抗追踪 进行SOC的算法,当然我觉得目前国内还没达到这种技术水平,所以我们只能吧别人的东西“拿来主义”。

    再次也分享 我自己最近的一些研究成果,主要是校准电流“如何利用上位机发命令和下位机进行电流参数校准”

    附近是我自己下位机和上位机的主要代码,当然我不会全部贴出,我觉得要珍惜我的劳动成果,!

    新建文件夹 (2).rar
  • CC GAIN 和 OFFSET

    Raw data (0x7F71205C) ‐> first two byte is for exp gain. The exp is 0x7F ‐> 127, so gain is: (127‐128‐24) = ‐25 ‐>
    2^(‐25)

    0x71205C OR with 0x80 = 0xF1205C ‐> convert into DEC and times 2^(‐25) = 15802460*2^(‐25) = 0.47095
    New encr file: CC Gain = 4.768/x = 4.768/0.47095 = 10.124 (matches!)

    谢谢您对TI社区的贡献。

  • 谢谢wang 工,不过我还是有疑问,关于0X60寄存器的写入,就是当我吧ccgain和ccdelta的值重新写入之后,怎么才能计算出0x60新的值呢?

    看了ti规格书,吧所有的数据读取出来,然后累加得到x,再用25-x。再取最低8位。

    但是这个方法同样适用cc gain和ccdelta吗?

    怎么我试了不行,是不是我的代码有问题,我待会附上我的效验代码!

  • 您说的是CRC校验的算法,对所有dataflash的值都是适用的。在同一个subclass下32byte相加,255-x

  • 王工:你好! 还是想请教一下你,目前CRC效验我已经解决了,校准写入2次的问题我吧延迟调了之后也解决了,最后一个就是你贴的那个算法,我不太懂的就是说浮点数转换4个字节之后,经过你上面的算法得到写入dataflash的真实值,这里我实在是看不懂算法,也写不出来,我有一个想法,不知道对不对,就是说假设现在读到的电流是1000ma,我想校准成700ma的话,是不是吧(700/1000)=0.7发给上位机,然后上位机吧原先的dataflash的值乘以这个值得到一个新的值,再经过上述算法转换成4个字节发给下位机,不知道我说的对不对,还请指教?

  • 我自己用示波器看了波形,发现还是有规律的,比如原先的值是10.124,对应的4个字节是0x7f,0x71,0x21,0xae, 我写成7之后,4个字节就是0x7f, 0x 2E, 0x 5F, 0x 61。我看规格书里面是需要与一个常数进行运算的,比如这里(规格书的常数)4.768/10.124=0x3E,0x F1,0x 21,0x AE,规律就是最高位如果是奇数,就要把第二位最高位置位。当然我测试过很多数据,才得到上述关系的,但是我不知道怎么用程序去实现他,还望王工能够透露一下!

  • bqEVSW 软件将芯片内的4byte dataflash 值读取以后,会做一些运算处理,

    算法参照上面的回复。

    如果需要计算出这个校准值,参考,http://www.ti.com/lit/pdf/slua640

  • 说真的那个算法我真的没看懂,

  • 哥们 我最近也用到BQ27541 也有些问题,不知道能否指导下

  • BQ27541

    电池电量电流都可以读

    但是读CCDELTA 怎么运算

  • 这个算法我都会

    现在问题是上位机怎么通讯

    BQ80XRW.DLL 里面的函数都不公开 文档也没有智能摸索呀

  • 可以联系我,774606398