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.

bq27510 RUP_DIS problem

Other Parts Discussed in Thread: BQ27510-G2, BQ27510

Hi,

I've generated a golden image for my bq27510-g2 with the use of EV2300. What I did later was to take this DFI file and write it to IC - I used the bqEASY wizard and when there's a possibility to initialize the IC with a default DFI file, I used the golden image.

Then I issued a RESET and IT_ENABLE commands. Everything seemed to be OK, i.e. RUP_DIS = 0, VOK = 1 and QFN = 1.

But when I disconnect the battery and then connect it again the status is set as follows: RUP_DIS = 1, VOK = 0, QFN = 1. I noticed that if I send IT_ENABLE again flags are set to RUP_DIS = 0, VOK = 1, QFN = 1.

I'm attaching

[Header]
bq EVSW Version = 0.9.71	
DeviceName = bq27510 v1.23
Time = 2011-02-01 12:06:54	


[Safety(Configuration)]
OT Chg = 55.0
OT Chg Time = 2
OT Chg Recovery = 50.0
OT Dsg = 60.0
OT Dsg Time = 2
OT Dsg Recovery = 55.0
[Charge Inhibit Cfg(Configuration)]
Chg Inhibit Temp Low = 0.0
Chg Inhibit Temp High = 45.0
Temp Hys = 10.0
[Charge(Configuration)]
Charging Voltage = 4200
Delta Temp = 5.0
Suspend Low Temp = -5.0
Suspend High Temp = 55.0
[Charge Termination(Configuration)]
Taper Current = 300
Min Taper Capacity = 25
Taper Voltage = 100
Current Taper Window = 40
TCA Set % = 99
TCA Clear % = 95
FC Set % = 100
FC Clear % = 98
[Data(Configuration)]
Initial Standby = -5
Initial MaxLoad = -200
CC Threshold = 6120
Design Capacity = 6800
Device Name = bq27510
[Discharge(Configuration)]
SOC1 Set Threshold = 250
SOC1 Clear Threshold = 255
SOCF Set Threshold = 90
SOCF Clear Threshold = 120
[Registers(Configuration)]
Op Config = 817C
OpConfig B = C0
Batt Insert Delay = 0
Sleep Insert Delay = 0
[Power(Configuration)]
Flash Update OK Voltage = 2800
Sleep Current = 10
Hibernate I = 8
Hibernate V = 2550

[Manufacturer Info(System Data)]
Block A 0 = 00
Block A 1 = 00
Block A 2 = 00
Block A 3 = 00
Block A 4 = 00
Block A 5 = 00
Block A 6 = 00
Block A 7 = 00
Block A 8 = 00
Block A 9 = 00
Block A 10 = 00
Block A 11 = 00
Block A 12 = 00
Block A 13 = 00
Block A 14 = 00
Block A 15 = 00
Block A 16 = 00
Block A 17 = 00
Block A 18 = 00
Block A 19 = 00
Block A 20 = 00
Block A 21 = 00
Block A 22 = 00
Block A 23 = 00
Block A 24 = 00
Block A 25 = 00
Block A 26 = 00
Block A 27 = 00
Block A 28 = 00
Block A 29 = 00
Block A 30 = 00
Block A 31 = 00
Block B 0 = 00
Block B 1 = 00
Block B 2 = 00
Block B 3 = 00
Block B 4 = 00
Block B 5 = 00
Block B 6 = 00
Block B 7 = 00
Block B 8 = 00
Block B 9 = 00
Block B 10 = 00
Block B 11 = 00
Block B 12 = 00
Block B 13 = 00
Block B 14 = 00
Block B 15 = 00
Block B 16 = 00
Block B 17 = 00
Block B 18 = 00
Block B 19 = 00
Block B 20 = 00
Block B 21 = 00
Block B 22 = 00
Block B 23 = 00
Block B 24 = 00
Block B 25 = 00
Block B 26 = 00
Block B 27 = 00
Block B 28 = 00
Block B 29 = 00
Block B 30 = 00
Block B 31 = 00

[IT Cfg(Gas Gauging)]
Load Select = 1
Load Mode = 1
Ra Filter = 500
Terminate Voltage = 2500
ResRelax Time = 200
User Rate-mA = 0
User Rate-mW = 0
Reserve Cap-mAh = 0
Reserve Cap-mWh = 0
Ra Max Delta = 44
[Current Thresholds(Gas Gauging)]
Dsg Current Threshold = 25
Chg Current Threshold = 75
Quit Current = 15
Dsg Relax Time = 60
Chg Relax Time = 60
Quit Relax Time = 1
Transient Factor Charge = 128
Transient Factor Discharge = 128
Max IR Correct = 400
[State(Gas Gauging)]
IT Enable = 01
App Status = 00
Qmax Cell 0 = 6981
Cycle Count 0 = 0
Update Status 0 = 02
Qmax Cell 1 = 6981
Cycle Count 1 = 0
Update Status 1 = 02
Cell 0 Chg dod at EoC = 304
Cell 1 Chg dod at EoC = 304
Avg I Last Run = -299
Avg P Last Run = -1131
T Rise = 100
T Time Constant = 1000

[OCVa0 Table(OCV Tables)]
Chem ID = 0162
Qmax Cell 0 = 6981
Update Status = 02
[OCVa1 Table(OCV Tables)]
Chem ID = 0162
Qmax Cell 1 = 6981
Update Status = 02

[Def0 Ra(Default Ra Tables)]
Def0 Ra status = 00
Def0 Ra flag = 55
Def0 Ra Base R = 19
Def0 Ra Gain = 00
Def0 Ra 1 = 0
Def0 Ra 2 = 2
Def0 Ra 3 = 2
Def0 Ra 4 = -1
Def0 Ra 5 = -1
Def0 Ra 6 = 0
Def0 Ra 7 = -2
Def0 Ra 8 = 0
Def0 Ra 9 = 0
Def0 Ra 10 = -3
Def0 Ra 11 = -3
Def0 Ra 12 = -5
Def0 Ra 13 = 1
Def0 Ra 14 = 12
[Def1 Ra(Default Ra Tables)]
Def1 Ra status = 00
Def1 Ra flag = 55
Def1 Ra Base R = 19
Def1 Ra Gain = 00
Def1 Ra 1 = 0
Def1 Ra 2 = 2
Def1 Ra 3 = 2
Def1 Ra 4 = -1
Def1 Ra 5 = -1
Def1 Ra 6 = 0
Def1 Ra 7 = -2
Def1 Ra 8 = 0
Def1 Ra 9 = 0
Def1 Ra 10 = -3
Def1 Ra 11 = -3
Def1 Ra 12 = -5
Def1 Ra 13 = 1
Def1 Ra 14 = 12

[Pack0 Ra(Ra Tables)]
Pack0 Ra status = 00
Pack0 Ra flag = 55
Pack0 Ra Base R = 19
Pack0 Ra Gain = 00
Pack0 Ra 1 = 0
Pack0 Ra 2 = 2
Pack0 Ra 3 = 2
Pack0 Ra 4 = -1
Pack0 Ra 5 = -1
Pack0 Ra 6 = 0
Pack0 Ra 7 = -2
Pack0 Ra 8 = 0
Pack0 Ra 9 = 0
Pack0 Ra 10 = -3
Pack0 Ra 11 = -3
Pack0 Ra 12 = -5
Pack0 Ra 13 = 1
Pack0 Ra 14 = 12
[Pack1 Ra(Ra Tables)]
Pack1 Ra status = 00
Pack1 Ra flag = 55
Pack1 Ra Base R = 19
Pack1 Ra Gain = 00
Pack1 Ra 1 = 0
Pack1 Ra 2 = 2
Pack1 Ra 3 = 2
Pack1 Ra 4 = -1
Pack1 Ra 5 = -1
Pack1 Ra 6 = 0
Pack1 Ra 7 = -2
Pack1 Ra 8 = 0
Pack1 Ra 9 = 0
Pack1 Ra 10 = -3
Pack1 Ra 11 = -3
Pack1 Ra 12 = -5
Pack1 Ra 13 = 1
Pack1 Ra 14 = 12
[Pack0 Rax(Ra Tables)]
Pack0 Rax status = FF
Pack0 Rax flag = FF
Pack0 Rax Base R = 19
Pack0 Rax Gain = 00
Pack0 Rax 1 = 0
Pack0 Rax 2 = 2
Pack0 Rax 3 = 2
Pack0 Rax 4 = -1
Pack0 Rax 5 = -1
Pack0 Rax 6 = 0
Pack0 Rax 7 = -2
Pack0 Rax 8 = 0
Pack0 Rax 9 = 0
Pack0 Rax 10 = -3
Pack0 Rax 11 = -3
Pack0 Rax 12 = -5
Pack0 Rax 13 = 1
Pack0 Rax 14 = 12
[Pack1 Rax(Ra Tables)]
Pack1 Rax status = FF
Pack1 Rax flag = FF
Pack1 Rax Base R = 19
Pack1 Rax Gain = 00
Pack1 Rax 1 = 0
Pack1 Rax 2 = 2
Pack1 Rax 3 = 2
Pack1 Rax 4 = -1
Pack1 Rax 5 = -1
Pack1 Rax 6 = 0
Pack1 Rax 7 = -2
Pack1 Rax 8 = 0
Pack1 Rax 9 = 0
Pack1 Rax 10 = -3
Pack1 Rax 11 = -3
Pack1 Rax 12 = -5
Pack1 Rax 13 = 1
Pack1 Rax 14 = 12

[Data(Calibration)]
CC Gain = 10.181
CC Delta = 10.139
CC Offset = -0.103
Board Offset = 0.6
Int Temp Offset = 0.0
Ext Temp Offset = 0.0
Pack V Offset = 0
[Temp Model(Calibration)]
Ext a Coef 1 = -11130
Ext a Coef 2 = 19142
Ext a Coef 3 = -19262
Ext a Coef 4 = 2820.3
Ext a Coef 5 = 89.2
Ext b Coef 1 = 328
Ext b Coef 2 = -605
Ext b Coef 3 = -2443
Ext b Coef 4 = 469.6
[Current(Calibration)]
Deadband = 3

[Codes****Make Private******(Security)]
Sealed to Unsealed = 00000000
Unsealed to Full = 00000000
my gg file.

  • Piotr,

    This is normal operation.  When you connect a battery, the gauge takes an OCV measurement, but it doesn't know that this measurement is perfect, as it has no knowledge of the prior state of the battery (if it is truly relaxed or not).  Therefore, when you connect a battery, the gauge will set RUP_DIS to prevent the gauge from trying to learn resistance values based on a potentially bad OCV measurement. 

    If you let the gauge relax and take an OCV measurement at a later time (usually 30-60 minutes), then RUP_DIS will be cleared automatically. 

    By sending IT_ENABLE, you are telling the gauge: "The battery is relaxed, so you can take an OCV measurement now", so RUP_DIS gets cleared.  However, we don't recommend doing this in general, as IT_ENABLE does some other things, like restarting the IT algorithm.

    Let me know if this helps,
    Charles

     

  • Thanks for this clarification.

    I have a question concerning the relaxation, though. Suppose my device is run 24h/day and most of the time consumes < 100mA, the battery is 6800mAh and sleep current (5-10mA) can be observed really rarely, e.g. once a day, for an hour or two.

    Now, does it make sense to tell bqEASY that my sleep current is 10mA and minimum active mode current is 25mA (which - the minimum - is true even though it's higher most of the time)? This will make it set Quit Current/Dsg Current Threshold to a low values (ca. 15mA and ca. 20 mA, as far as I remember) which, as far as I understand, will make IC see the relaxation mode extremely rarely - that is only when the devices goes to sleep which happens just once a day for an hour.

    I thought that maybe I should set these threshold to something higher and just let bq27510 think that the battery is relaxed when even though the current is < 100mA and I would consider the device to be discharging the battery.

    Could you please suggest an optimal solution?

     

  • I would highly recommend setting the current thresholds to allow the 510 to enter 'relax' mode with currents <100mA.  With your battery, 100mA is <C/50, so the battery will be in a relaxed state, and the gauge will be able to get accurate OCV measurements.   Therefore, your gauge can continually base its SOC on OCV measurements, which is more accurate than counting coulombs for a week.

    Thanks,

    Charles

  • Thank you, that is what I was thinking of doing.

    But would the relaxation mode being set most of the time render AverageCurrent() or TimeToEmpty() unusable? Would this mean that the coulomb meter is not used at all (or at least when current < 100mA)?