Quantcast
Channel: Power management forum - Recent Threads
Viewing all 35901 articles
Browse latest View live

Odd behavior discharge FET in design with bq20z45

$
0
0

Hello,

We have a battery pack design around the bq20z45.  The same PCB is used with multiple cell types and configurations.  Works perfectly on the bench with lab supplies and loads.   Our customer designed the chargers, and are trying to make the battery pack worth with multiple revisions new and old of chargers.
 There is a microprocessor integrated on the battery board that controls some battery functions.  And the smart charger handles precharge by pulse-charging the battery until it recovers from undervoltage.  What we observe, however, is that the discharge FET is turning on with the pulse charger even when the CUV fault persists.  In addition, sometimes the offset calibration drifts.  It is not stable, and affects the ability of the customer to force the packs into shutdown.   

I would prefer to take detailed discussion offline by email.  We can provide schematics and additional information on the chargers and any other information necessary to help us figure out what might be happening in the packs.

Thanks,

joe p.


Can't change SHA-1 authentication key

$
0
0

I am using BQ34Z100 with a MCU controlling it. But I can't change the SHA-1 authentication key via I2C. Here are the steps. First I write 0x00 to 0x61 to enable the authentication data commands. Next I write 0x70 to 0x3E and 0x00 to 0x3F to specify subclass ID and offset. Then I write 16-byte new key to 0x4C. Finally, I read 32-byte data from 0x40 to 0x5F, calculate the checksum for the entire data block and write it to 0x60. Is there any misunderstanding for changing the key?

I tried to use bq Evaluation Software to do that. I can change the key in "security" tab but can't do so in "I2C Pro" using the same method above.

bq40z60 - Current measured is over 65% too high

$
0
0

Hi,

I have a board with a bq40z60 circuit copied from the evaluation module.  When I look at the discharge current value on bqStudio, I see values that are consistently about 65% higher than what I measure with an ammeter. However, it does return the correct pack voltage.

The board has the 0.005 ohm sense resistor (R43) between SRP and SRN.  And two 100 ohm filtering resistors (R38 and R44 in the EVM).

 What should I be checking (hardware and data flash) to isolate the problem?

Thanks,

Charley

Writing to data flash with BQ27531

$
0
0

I am trying to write to Data Flash as described in section 5.5.1, Modify WRTEMP of OpConfigB Register, of SLUUA96. The Data Flash does not change after I follow the given procedure.

I am communicating to the fuel gauge from Ubuntu Linux through i2c-dev. I send the following i2c transfers with a 100us delay after each transfer:

Write 0, 0x14, 0x04
Write 0, 0x72, 0x36
Write 0x61, 0
Write 0x3e, 0x40
Write 0x3f, 0
(Wait at least 100 microseconds *)

Write 0x4b, 0xef
Write 0x60, 0x32

Write 0, 0x41, 0
(Wait at least 100 milliseconds)

Write 0, 0x20, 0


* At this point the values are:
0x40: 0x61
0x41: 0x67
0x42: 0x4
0x43: 0x2e
0x44: 0x0
0x45: 0x6e
0x46: 0x14
0x47: 0x1
0x48: 0x4
0x49: 0x0
0x4a: 0x0
0x4b: 0x6f
0x4c: 0x3c
0x4d: 0x9
0x4e: 0x0
0x4f: 0x14
0x50: 0x4
0x51: 0x0
0x52: 0x0
0x53: 0x0
0x54: 0x0
0x55: 0x0
0x56: 0x0
0x57: 0x0
0x58: 0x0
0x59: 0x0
0x5a: 0x0
0x5b: 0x0
0x5c: 0x0
0x5d: 0x0
0x5e: 0x0
0x5f: 0x0
0x60: 0xb2


The value in 0x4b changes after writing 0xef to that location. The value in 0x60 does not change.

Am I missing anything necessary to set the Data Flash values?

Thank you for your help,

Lyle

BQ40z50 opens charge FET on charge termination even though CHGIN bit is zero.

$
0
0
I'm working with the BQ40z50 guage, and I want the charge FETS to remain on even when the pack is at 100% charge. According to the technical reference manual, setting CHGIN in Fet Options to zero will keep the FETs on after Valid Charge Termination, but my pack already has the CHGIN bit set to zero and the pack still turns off when charge terminates.

BQ40Z60 Gauging Issue

$
0
0

I am using the BQ40Z60EVM to charge 2 series Li-ion NCR18650B. I have completed the learning cycle; max error updated to 1%, update status changed to 6, and qmax updated.  Even still the gauging is not working. SOC shows 100% regardless of actual charge. I have attached a .log file of a brief charge. Please let me know if there are any settings that are incorrect.

(Please visit the site to view this file)

bq27530 learning cycle qen always set to 1

$
0
0

Hi

I am using bq27530-g1 and trying to finish the learning cycle.

in the last discharge the battery get to 0% as it should after few hours the VOK is set to 0 as it should. the "update_status_0" is set to 2 as it should. but the "qen" doesnt set to 0 and always show 1.

remark - I am doing the learning cycle manually. because bqeasy doesnt appearing in the "bq evaluation sw"... and no one answer to my post on how to add it.

now I just want to solve the qen to end this learning cycle and to have a good golden file.

thanks in advanced,

BQ40z50 SREC Programming

$
0
0

I'm writing a program for our battery production which, among other things, will load an SREC file into a BQ40z50 device.

I have logged the transactions from BQStudio when programming an SREC but there is no datasheet for the ROM mode commands so apart from entering ROM mode, checking ROM mode and loading the SREC, I don't know what it's doing (and therefore whether I need to do that in my program).

What are the essential commands I need to load and run an SREC file?

Thanks

PS: these are the commands I have found:

Write TransactionSet ROM Mode44 02 00 0F 41
Write TransactionCheck ROM Mode0D
Read Transactionx9002 = ROM02 90 E0*
Write TransactionCheck ROM MOde0D
Read Transactionx9002 = ROM02 90 E0*
Write Transaction09 00 00 29
Write Transaction0A 00 00 94
Write Transaction09 02 00 03
Write Transaction0A 00 00 94
Write Transaction00 00 00 13
Write Transaction1A DE 83 DA
Write Transaction06 00 00 6E
Write Transaction00 80 00 A5
Write Transaction1A DE 83 DA
Write Transaction06 80 00 D8
Write Transaction09 00 00 29
Write Transaction0A 08 00 3C
Write Transaction09 02 00 03
Write Transaction0A B8 00 73
Write Transaction00 80 01 A2
Write Transaction1A DE 83 DA
Write Transaction06 80 01 DF
Write Transaction09 00 00 29
Write Transaction0A 00 00 94
Write Transaction09 02 00 03
Write Transaction0A 00 00 94
Write Transaction11 DE 83 36
Write Transaction07 DE 83 E9
Write TransactionWrite data (x0F), size (x22), addr (x0040)0F 22 00 40 7F 2F FF C0 AE BE 25 90 3F 40 CB F4 59 49 00 00 40 00 00 00 09 E2 D9 00 00 FF FF FF FF FF FF FF 44

... + more starting with 0F (from the srec file - are these the DF values?)

Write Transaction14
Read Transaction53 69 D9*
Write Transaction05 22 00 00 19 00 0D 00 10 00 13 00 16 00 9B 45 9F 9B 56 9E 9B BF 9E 9B 6B 9E 9B 09 9F FC 60 20 00 0A F6 08 C1

... + more starting with 05 (from the srec file - are these lines the actual firmware and therefore not required?)

Write Transaction12
Read Transaction95 D5 03*
Write Transaction00 20 00 BD
Write Transaction1A DE 83 DA
Write Transaction05 22 20 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 20 00 BD
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction00 40 00 48
Write Transaction1A DE 83 DA
Write Transaction05 22 40 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 40 00 48
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction00 60 00 E6
Write Transaction1A DE 83 DA
Write Transaction05 22 60 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 60 00 E6
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction00 00 00 13
Write Transaction1A DE 83 DA
Write Transaction05 22 00 00 FF FF 95 D5 FF FF 19 10 00 45 00 01 06 00 24 00 03 85 02 0A 00 00 FF FF 00 00 90 00 03 10 00 40
Write Transaction1A DE 83 DA
Write Transaction00 00 00 13
Write Transaction00 00 00 13
Write Transaction1A DE 83 DA
Write Transaction13
Read TransactionD9 2D 54*
Write Transaction00 80 00 A5
Write Transaction1A DE 83 DA
Write Transaction05 22 80 00 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10 14 04 72 36 FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 80 00 A5
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction77 BB 71*
Write Transaction00 A0 00 0B
Write Transaction1A DE 83 DA
Write Transaction05 22 A0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 A0 00 0B
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction00 C0 00 FE
Write Transaction1A DE 83 DA
Write Transaction05 22 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 C0 00 FE
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction00 E0 00 50
Write Transaction1A DE 83 DA
Write Transaction05 22 E0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Write Transaction00 E0 00 50
Write Transaction1A DE 83 DA
Write Transaction13
Read Transaction26 EB DF*
Write Transaction14
Read Transaction53 69 D9*
Write Transaction00 00 00 13
Write Transaction1A DE 83 DA
Write Transaction05 04 00 00 54 54
Write Transaction00 00 00 13
Write Transaction1A DE 83 DA
Write Transaction3
Read Transaction20 54 54 95 D5 FF FF 19 10 00 45 00 01 06 00 24 00 03 85 02 0A 00 00 FF FF 00 00 90 00 03 10 00 40 7C*
Write Transaction09 00 00 29
Write Transaction0A 00 00 94
Write Transaction09 02 00 03
Write Transaction0A 00 00 94
Write Transaction08 11

No idea what these last sections are doing?


bq34z100-G1 : no chemestry id

$
0
0

I want to start develop a Gas Gauge with the bq34z100-G1

there is no chemestry id for the lead acid batteries

1. Fiamm FG21202 : 12V 12 A/h

2. Fiamm 12FGH23: 12V 5Ah

3. Fiamm FG21803: 12V 18Ah

If there is no chemestry match, the batterys will need to be characterized at TI.

How much does it cost or is its  free?

And how long does it  need to create the new chemestry id's?

thangs and best regards

Dirk

BQ27441 Default values not matching datasheet

$
0
0

I'm trying to use the BQ27441 gauge. All commands (Voltage(), Temperature()...) seem to work. I can write to data memory and read back the values and the fuel gauge also seems to react correctly to the written values (e.g. design capacity; there's currently no battery attached, so testing is a bit tricky). My problem is with the default values of the data memory. For example: according to the TRM the register 'Over Temp' should default to 550 (2-Byte Integer). But if I read that value, it is 0, which seems wrong. This also goes for most of the other registers (OpConfig...). Some are 0, and some have just wrong values.

Should the data memory contain the default values from the TRM at startup, or are these values just guidelines for my own values? The BQ27441 is a ROM based gauge, so I expected to read the default values. Did I miss something or should I go back to searching bugs in my code?

BQ20Z45-R1 CUV Not turning back ON properly

$
0
0

I am using the BQ20Z45-R1 with a Li-Ion pack setup as a 4S3P.  I currently have the CUV threshold set to 2500mV and recovery set to 3375mV.  I am experiencing the following:

-CUV threshold is reached at 2500mV and the pack shuts OFF and remains OFF

-The pack is placed on a charger which pulse charges until it detects a battery present

-The pack turns ON for a few seconds and then back OFF with each charge pulse.  The pack will not turn ON and remain ON.  It will sit in this condition for up to 30 minutes before it may turn ON and stay ON.  When measuring the cells during this condition they are around 2900mV.

Any explanation as to why the pack is turning ON and not staying ON?

bq40z60 Power Ground (PGND) and Analog Ground (GND)

$
0
0

The document SLUSAW3C section 12.1.1 #8 tells us we should connect power ground to device ground (analog ground) with a zero-ohm resistor or thermal pad at one point. However, for the bq40z60EVM board it seems like the PGND and GND are only connected through the sense resistor R43. Is this what I should do on my own design? If I connect PGND to GND then wouldn't R43 stop having current flow through it?

BQ34Z100 Register question

$
0
0

Customer has this question:

I have another question on the BQ34Z100-G1 part.  I am writing a test application to read the current sense value from the part in order to verify my charging circuitry.  Right now I am only able to successfully read the AverageCurrent() (register 0x0A/0x0B).  While this is good, the averaging takes a long time to reach steady state and is too slow for a factory test.  The part datasheet shows a non-average Current() register at 0x10/0x11 but every time I read this I get back all 0000’s.  I have used the TI BQ Evaluation Software (v0.9.90) and it correctly reads out the Current() value but I can’t tell how or where it is getting the data.  When I use the I2C Pro function and read 0x10/0x11 I again get all zeros.  Using the BQEval Studio also shows all zero’s for the Current() registers.


Any idea how I can get this information using an external I2C device?

bq40z60 wake command with no charger present

$
0
0

Everything I can find for this question seems to require we apply power to VAC first.  I desire for the circuit to be automatically powered from the moment the battery itself is connected, even if the charger is not there.  I feel this should be possible, since BAT is the primary power input and the circuit can stay on after the wake-up button is pushed without a charger being present, but I can't seem to get it to work. 

Any date for BQ78350 FW update?

$
0
0

I have been told in another post that a firmware update for BQ78350 is planned in August.

I'd like to know if everything is on track.  That update is critical for us.

Regards,


Frederic


bq40z50 Current Offset Error

$
0
0

Hello,

I have a design using bq40z50 and a 1mOhm sense resistor. After current calibration, I notice a large current offset of about -20mA in both charge and discharge direction. However, at rest, there is no current reported even with Deadband set to 0.

When I start from 0mA and slowly ramp the load up 1mA at a time, current is accurate until I reach 25mA. Then the -20mA offset is "applied" so the fuel gauge reports -45mA. Then I can slowly ramp down the current and when I reach 15mA, the offset goes away and the fuel gauge reports 15mA. 

What is going on?

What can I do to make this fuel gauge more accurate above 25mA?

Regards,

Jason

State of health (SOH) calculation for BQ27411-G1

$
0
0

We've been working on the design of a brand new flow transmitter that uses energy harvesting to charge a Li ion battery, there is a bq27411-G1 for battery gauging purposes, the question is: How is the SOH calculation performed? In our application battery advanced diagnostics is critical, and we need to be sure about why, how and when we can use SOH for asset management and determine the product lifecycle.

EV2400 recognized as unknown device

$
0
0

Hi,

I just bought a EV2400 and when I plug it into any USB available in my computer (W7-64 bit), the device is not recognized.

It's shown as unknown device in device manager with the following status: "Windows has stopped this device because it has reported problems. (Code 43)"

I had another module that stopped working all of a sudden with all lights off, so I bought this one.

What do you think is wrong with this module?

Thanks,

RI

 

Board offset calibration with bq20z95

$
0
0

Hello,

I am trying to make a board offset calibration. I use your datasheet SLUA379B–May 2006–Revised January 2010.

'// WRITE BOARD OFFSET TO DATA FLASH. FROM DATA MANUAL, SUBCLASS=104, OFSET=16
1Error = WriteSMBusInteger(&H77, 104) '//Set subclass to 104
1Error = ReadSMBusByteArray(&H78, yData(), iLen) '// Read the page
yData(16) = (iBoardOffset And &HFF00) \ 256 '// Modify MS byte
yData(17) = iBoardOffset And &HFF '// Modify LS byte
1Error = WriteSMBusByteArray(&H78, yData(), iLen) '//Write page back to flash
DoDelay 0.1 '// Insure flash write is finished
End Function

Please can I have more explication about this part of algorithme ? (my iboardoffset=-250 µV)

 

Best regards,

 

BQ3060- SMBus pull up resistors, I2C interface compatibility

$
0
0

Hello everyone.

I wanted to know what value of pull up resistors should I use for SMBus?

I am planning to use BQ3060 as slave and ATSAMA5D36( http://www.atmel.com/Images/Atmel-11121-32-bit-Cortex-A5-Microcontroller_SAMA5D3_Datasheet.pdfas master in SMBus. ATSAMA5D36 uses Three Two-wire Interface up to 400 Kbit/s supporting I2C Protocol and SMBUS.

I am really new to SMBus and wasn't sure if i made right calculations using this http://www.ti.com/lit/an/slva689/slva689.pdf  .

I calculated that pull up resistor value should be between 0,96kΩ and 118 kΩ. (In ATSAMA5D36 it seems like I/O pin capacitance is 10pF).

Can anyone confirm my calculations or give some kind of advice?

Viewing all 35901 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>