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.

请问bq76PL455怎么测量总电压

我在0x30的寄存器里使能了MODULE_MON_EN,然后到0x03也令CMD_MODULESEL=1了,为什么读不到数据?

  • 请问“ 获取该值需执行两次转换 ”要怎么操作?

  • 两次转换是ADC自动完成的。 

    BAT采集是和电芯、NTC采集是一起的。

    发送write without response 给0x02寄存器, data00指令,启动ADC,转换,

    再等待5ms, write with response 给0x02寄存器,data 20, 等待返回数据。就可以,按照CHANNELS Selection,寄存器的转换顺序得到VMOD。

  • 你好,我试了下还是不行,我把我步骤跟你说下

    按以下顺序发送:(第1个字节是起始帧,第二个是器件地址,第三个是寄存器,最后两个是CRC,其他的是数据

    Tx[7]={0x92(起始帧),0x00(器件地址),0x30(寄存器),0x00(数据),0x01(数据),0x78(CRC),0x12(CRC)};     / /使能总电压采集

    Tx1[9]={0x94,0x00,0x03,0x03,0xFF,0x15,0x02,0x2E,0xEC};             //通道选择(我选了10节电池,3个温度的,还有总电压那个)

    Tx2[6]={0x91,0x00,0x02,0x00,0x2D,0x9C};          //采样命令不带返回值

    Tx3[6]={0x81,0x00,0x02,0x20,0x28,0x84};           //采样带返回值

    然后结果就是能采到10节电池的单体电压和3温度的值,但是总电压就是采不到,请问哪里出问题了?

  • 解决了,是我搞错了,把使能总电压采集的寄存器的十进制位置当成16进制写进去,改过来之后就可以了,正确应该是写

    Tx[7]={0x92,0x00,0x1E(这个搞错了),0x00,0x01,0x18,0x1B};