Hello,
I am trying to make a current calibration. I use your datasheet SLUA404–December 2006 page 279.
My program commands a dynamic load to provide -2 Amperes. Then I send 0x0040 to put the BQ20z95 in calibration mode, now I send the current value in milliAmperes (-2000) like your datasheet says:
'// GO TO CALIB MODE
IError = WriteSMBusInteger(&H0, &H40)
'// iCurrent is in milliamps (normally negative, such as -2000)
IError = WriteSMBusInteger(&H60, iCurrent)
IError = WriteSMBusInteger(&H51, &HC0D5)
'// POLL CALIBRATION STATUS - WAIT FOR LOWER 14 BITS TO ALL CLEAR
bDoingCal = True
While bDoingCal
IError = ReadSMBusUnsignedInteger(&H52, IValue)
bDoingCal = IValue And &H3FFF
DoDelay 0.2 '// check every 200 millisecond
Wend
'// TRANSFER RESULTS TO DATAFLASH
IError = WriteSMBusCommand(&H72)
DoDelay 0.1 '// Insure write process is finished
'// EXIT CALIB MODE
IError = WriteSMBusCommand(&H73)
After that, I write 0x73 to put the BQ20z95 in gas gauge mode.
The problem is that my current is really wrong. This code is not working really great. The better current calibration it's when iCurrent = -1 .
I am asking if iCurrent would not be a offset value, and not current value (?)
I try to voltage and temperature calibration and they work great. Also I try current calibration with your software “bq Evaluation Software” and it work ok
Thank for your help