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.

BQ27541 - RSENSE Resistor Purpose

Other Parts Discussed in Thread: BQ27541-G1, BQ27541, BQSTUDIO, EV2400, BQ34110, BQ34110EVM-796

Hi Sir/Madam,

Can  you please explain me the purpose of Rsense resistor which is connected between SRP & SRN pin of BQ27541-G1?.

The resistance range mentioned in data sheet is around 5mOhm to 20mOhm, what is the effect of this value determination? (if 5mOhm means what will be happen, 20mOhm means what will be happen?)

What will be happened if i am shorting SRP pin with SRN pin?

Whether this will have control over charging current of a battery?

Expecting your faster reply,

Ganesh.

  • The current-sense resistor (Rsense) is used for measurement of current and the charge that goes into or out of the battery.

    The value of the current-sense resistor is aimed to be high enough to get accurate measurements but have a maximum voltage difference of +/- 125 mV, but also low enough that minimum heat will be dissipated in the aforementioned resistor.


    Although the SRP and SRN pins don't carry high current signals, there is no point shorting SRP and SRN as it'll just disrupt the current measurement and gas gauging functions of the bq27541. Additionally, it wlll have zero effect on the charging current of a battery (unless the charging IC uses capacity or other information from the bq27541, which would require an external microcontroller anyway).


    Is your question meant for an upcoming/current design or for looking at an existing product?

  • I see that the post is old but i want to try to continue it because I have the same doubt regarding this resistor...
    For example the fuel gauge give directly the value of the current measured through this resistor in mA..but how can it does this calculation if it doesn't know the value of the resistor that you use for Rsense?

    Thanks for answer
  • The fuel gauge does know the value of Rsense as it is programmed into the data Flash memory as a part of the configuration and calibration process (the gauge is not a device that can be used without setting it up first).

  • Yeah, I agree with you...
    For a fuel gauge should be useful to know parameters like battery's internal resistance or how varies the capacity of the battery with the temperature etc... with a sophisticated fuel gauge like BQ27541 that tell you directly the value in mV, mA , mAh etc it must know more information about the battery and like in this case it must know the value of the Rsense between SRP and SRN, because what it does is to calculate the Voltage drop across Rsense(with ADC) and then calculating (with firmware) Vdrop/Rsense give you the current across the resistance, but it must know the value of Rsense to do this calculation!!
    So help me please with this issue:
    in which register of the fuel gauge I can modified the value of the Rsense? I don't understand this from the datasheet.
    Thanks for help and quick answer :)
  • The Rsense value is not a direct register value, but is rather a set of two data Flash parameters: CC (Coulomb Counter) Gain and Delta. These values are calculated during the calibration process, which is usually accomplished with TI’s hardware and software. The voltage across the sense resistor is filtered, sent into the fuel gauge’s integrating ADC, then that data is processed into an average current and passed charge value, and used by the fuel gauge algorithm.

    Are you attempting to use this gauge in a new or existing design? Development using these gauges require the use of a USB-to-I2C adapter (EV2300 or EV2400), and TI’s bqSTUDIO evaluation software.
  • Sorry but cannot I modified the parameter on flash via I2C like I do when I communicate with the fuel gauge for obtain the value wrote inside the registers?
    However seems from datasheet that the default value of Rsense is a resistor of 10 mΩ..right?
  • That is correct; you cannot directly edit the data Flash simply by writing to an I2C register. The protocol for using the data Flash commands is outlined in the device datasheet. Also, 10 mΩ is the default value for Rsense.

    I'm not quite following if you are trying to make a new design or are trying to modify an existing one. Either way, if you are planning to edit the Data Flash memory in the gauge, you'll want to use the TI hardware and software as it will handle all of the nuances of memory programming for you.
  • Thanks for answer.
    Also if I'm using a 10 mΩ sense resistor I don't see the real value of the current through it (Reading from th register average current 0x14 0x15),
    however I must investigate more..I'll keep you in touch if I'll found other issue.
    Thanks
  • Hi,

    I know this is a rather old thread, but my question is related to that. We are doing a design using the bq34110 and we are waiting on the eval board bq34110EVM-796 as well as the EV2400. We plan to use a 20 mOhms Rsense to have more resolution on the current. As I see it, the ADC has 14-15 bits according to the datasheet, so, in the worst case (14 bits), we have:

    Rsense = 20 mOhms
    Minimum readable current = (V+max - V-max) / Rsense / n_steps = (0.125 - (-0.125)) / 0.02 / (2^14 - 1) = 762.986 uA

    Rsense = 5 mOhms
    Minimum readable current = (V+max - V-max) / Rsense / n_steps = (0.125 - (-0.125)) / 0.005 / (2^14 - 1) = 3.052 mA

    However, you say that the internal registers for Rsense are the Flash data CC Gain and CC Delta, and that those are calculated during the calibration process. We are going to create our "golden image" using the eval board. The thing is that the Rsense on the eval board is 10 mOhms. How would the calibration work if we want to use a different Rsense? Do I need to unsolder the Rsense and replace it?

    Thank you,

    Frederic

  • Frederic,
    Have you figured this out yet? I have a similar question on another thread but am waiting for TI to respond. I removed the 0.01 Ohm sense resistor that comes on the EVM and replaced it with a different resistor, but I am trying to figure out how to tell the bq34110 the value of the new resistor. The user guide is not clear. I would really appreciate a response from TI on this matter.
  • Hi Mark,

    Yes, this part I have figured out. Basically, there is not a register in the device where you specifically put the value of Rsense. You need to calibrate the device for Board Offset and for Current (sections 5.6 and 5.10 of the Technical Reference Manual - sluubf7).

    After you've done this, you use the formulas to compute ccGain and ccDelta, and you need to write those back in the format read by the gauge (not IEEE standard float, it's Xemic's Floating Point, see www.ti.com/.../slva148a.pdf  and section 5.11 of the bq34110's TRM).

    Basically, at calibration, you force a known current on Rsense and you calibrate the device with this known current. At this step, you can also use scale up or scale down to use the full range of the gauge (gauge can measure up to 32767 mA, but we only plan to have 1A max on our board, so we scale up 32 times, i.e. force a know current on the PCB, but calibrate with a value that's 32 times higher).

    This is the I2C procedure that I've figure. I don't know how to do this step with bqStudio, as I'm still waiting for the EV2400 to arrive.

  • Hi Frederic,
    Oh wow, thanks. I think the process is much much simpler using bStudio because the TI software automatically handles the writes to data flash. It appears all one has to do is simply apply a known current, use bqStudio to calibrate the current, and then CC Gain and CC Delta will be automatically updated to reflect the value of the new resistor. This is what I have discovered by reading other threads, but I am waiting for confirmation from TI on this. Here is the thread: https://e2e.ti.com/support/power_management/battery_management/f/180/p/481057/1732906#1732906
    Thanks so much for your time Frederic: I really appreciate it.
    Mark

  • Hi Mark,
    That seems right! I don't think there's more to it than that, except that you need to do the Board Offset calibration before calibrating for Current (which will also calibrate the CC offset).
    No problem, have a good day!
  • One more question Fredeic: what were the CC Gain and CC Delta values after you scaled your current by 32? I believe you wanted to use a sense resister of 20 mOhm, if I am not mistaken, so what were the resulting values for CC Gain and CC Delta with this scale? Were they 1/32 the value of your sense resistor?
  • I don't have an answer that, sorry. I can't test with hardware right now and the EV2400 is backorder for two months, so I've just coded the firmware (which still involved reading a lot and posting many questions on this forum).

    I don't know what CC gain will be, but CC delta will always be ccGain * 1193046 (sluubf7 section 5.10).
  • OK no problem: just curious. Thanks so much. Have a great day!