E90Post
 


 
BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Powertrain and Drivetrain Discussions > NA Engine (non-turbo) / Drivetrain / Exhaust Modifications > Upgrading to Lithium iron phosphate Battery that new M3 is using?



Reply
 
Thread Tools Search this Thread
      06-15-2018, 04:34 AM   #1
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Upgrading to Lithium iron phosphate Battery that new M3 is using?

Hi all,

Recently I have come across the Lithium iron phosphate battery(LFP), which is really cool technology to upgrade, its discharge voltage is 12.8 to 13.2 flat, and the bad is cannot overcharge above 14.8V and strangely the new BMW M3 series is already having this options... which charing $1100+ for that battery...


Name:  Screen Shot 2018-06-15 at 4.11.49 PM.png
Views: 173
Size:  260.1 KB


Some chart shows even with heavy stress on the car, the car voltage is keep very stable around 13.8V to 14V, the blue line is the LFP battery alone, and red line is LFP use along with some small super capacitor, which i don't consider it as super capacitor will discharge slowly over time.
Name:  Screen Shot 2018-06-15 at 4.08.17 PM.png
Views: 170
Size:  117.2 KB
here is the normal lead acid voltage chart, same, red line is attaching some super capacitor:
Name:  Screen Shot 2018-06-15 at 4.36.40 PM.png
Views: 169
Size:  143.8 KB

i am assuming the above chart is not cheating and they are doing same stress test, as i don't have equipment to validate but the voltage stability is really different...


Somehow I found that the battery here in hong kong is around $500 with 60ah, so with this budget, I am considering to upgrade, however there is quite a few technical issue I faced. ppl here simply install and enjoy, but i would prefer to make my car ready to install first... so i dig deeper in charing method of our car, which basically it only have lead-acid charging profiles

Our current E-Series is actually having 2 types of charging profile allow to code in CAS, normal lead-acid or AGM type, that covers from around 50ah to 100ah.

However, the charging comparison as stated in F80 BMW technical doc is:
AGM/Lead will normally use 14.2V to charge, but up to 16V (according to charging profile stored in DME to control, i believe)...

http://f80.bimmerpost.com/forums/att...5&d=1406475520

and the latest charging Voltage with LFP in M3 is using flat 14.4V and +- base on temperature....
Name:  Screen Shot 2018-06-15 at 4.11.38 PM.png
Views: 171
Size:  203.1 KB

so, i think in order to properly equip our existing E90 N52 engine to safely use LFP, a 'hack' should do to our existing alternator to 'force' it output the 14.4V, but i have no idea how I can do that...?

I was initially thinking to decode the BMW charging map, say by manually modify the last battery registration km value, and check on the output voltage to see how many voltage will increase per 1000 km, and then do the reset every 1000 km... but i don't know if tool32 can handle that?

any idea/comments would be appreciate.

thanks all for your time

Last edited by yeukfung; 06-15-2018 at 04:40 AM. Reason: fixed attachment location
Appreciate 0
      06-15-2018, 09:13 AM   #2
hassmaschine
Brigadier General
United_States
1984
Rep
4,723
Posts

Drives: "NBO" 330i
Join Date: Jun 2014
Location: earth

iTrader: (0)

There are parameters for this under the function LBATTCAL:
Code:
DME	Name	        Description
MSV70	CW_BATTCOD	Enable hand coding
MSV70	K_APPTBATINI	Enable Application InitValue battery temperature
MSV70	K_BATT_ALFAH	Alpha Tau value battery back
MSV70	K_BATT_ALFAV	Alpha Tau value battery forward
MSV70	K_BATT_BETAV	Beta value battery forward
MSV70	K_BATTHTAUVG	Time constant battery back at VFZG>
MSV70	K_BATTHTAUVK	Time constant battery back at VFZG <
MSV70	K_BATTORT0	Battery mounting location No1
MSV70	K_BATTORT2	Battery mounting location No2
MSV70	K_BATTVTAUVG	Time constant battery front at VFZG>
MSV70	K_BATTVTAUVK	Time constant battery at VFZG <Time-constant battery at VFZG>
MSV70	K_BATVFZGTAU	VFZG switching threshold TAU battery
MSV70	K_DTANSKOR	Intake air model offset outside temperature
MSV70	K_ILMINUMG	integrated Air mass threshold outside temperature model
MSV70	K_LBATTMAXK	Maximum battery charging voltage trunk
MSV70	K_LBATTMAXM	Maximum battery charging voltage
MSV70	K_LBATTMIN	minimalistic battery charging voltage to light
MSV70	K_LBATTTUMG	
MSV70	K_LBATTTUMGBA	
MSV70	K_MCOBATTORT	Coding hand Battery mounting location
MSV70	K_NMINUMG	Speed threshold outside temperature model
MSV70	K_OFTUMGCAN	Offset ambient CAN
MSV70	K_OFULADE	Offset charging characteristic Battery Connection
MSV70	K_PLBATTUMG	Plausibility threshold battery ambient temperature
MSV70	K_RLEITUNGK	Resistance charging line battery trunk
MSV70	K_RLEITUNGM	Resistance charging cable Battery in engine compartment
MSV70	K_TBATINIMAN	Application INIT VALUE battery temperature
MSV70	K_TBATTFTAUV	Time constant 5 * Tau battery Front
MSV70	K_TBATTTAUFH	Time constant battery 5 * Tau behind
MSV70	K_TIMERDLY	Delay Time for starting value calculation
MSV70	K_TUMGINI	Initialization outside temperature model
MSV70	K_TUMGTAU	Time constant 5 * Tau outside temperature
MSV70	K_UBATTNORM	Battery Standard voltage
MSV70	K_UKOMPK	Application value compensation voltage Kaffer room
MSV70	K_UKOMPM	Application value compensation voltage engine compartment
MSV70	K_ULADE_TAU	Battery charging time constant voltage
MSV70	K_VMINUMG	Vehicle speed threshold outside temperature model
MSV70	KL_BATTLSTR	Speed factor battery ambient temperature
MSV70	KL_EXPALH	Function EXP (-ALPHA * tabst_w) back
MSV70	KL_EXPALV	Function EXP (-ALPHA * tabst_w) back
MSV70	KL_EXPBETAV	Function EXP (-BETA * tabst_w)
MSV70	KL_LADEKENNL	Battery charging voltage characteristic
MSV70	S_LBATT1	Application switch1 selection substitute temperature
MSV70	S_LBATT2	Application switch2 selection substitute temperature
MSV70	S_LBATTAPPL
It's definitely possible, but for $1000, I don't see much of a benefit. The vehicles electronics are designed to work with the noisy voltage levels of a standard battery. you could buy 5 normal batteries for that much, which would last you longer than the entire car.

Last edited by hassmaschine; 06-15-2018 at 09:51 AM.
Appreciate 3
      06-15-2018, 09:28 AM   #3
Biginboca
Captain
473
Rep
608
Posts

Drives: 2009 E92 328i 6MT
Join Date: Jun 2017
Location: Boynton Beach, FL... USA

iTrader: (2)

hassmaschine the advantage is the 12.5kg weight savings, almost 30lbs. But it’s pricey and will take work to make it uh... work
Appreciate 1
Noir217.00

      06-15-2018, 10:55 AM   #4
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Quote:
Originally Posted by hassmaschine View Post
There are parameters for this under the function LBATTCAL:
Code:
DME	Name	        Description
MSV70	CW_BATTCOD	Enable hand coding
MSV70	K_APPTBATINI	Enable Application InitValue battery temperature
MSV70	K_BATT_ALFAH	Alpha Tau value battery back
MSV70	K_BATT_ALFAV	Alpha Tau value battery forward
MSV70	K_BATT_BETAV	Beta value battery forward
MSV70	K_BATTHTAUVG	Time constant battery back at VFZG>
MSV70	K_BATTHTAUVK	Time constant battery back at VFZG <
MSV70	K_BATTORT0	Battery mounting location No1
MSV70	K_BATTORT2	Battery mounting location No2
MSV70	K_BATTVTAUVG	Time constant battery front at VFZG>
MSV70	K_BATTVTAUVK	Time constant battery at VFZG <Time-constant battery at VFZG>
MSV70	K_BATVFZGTAU	VFZG switching threshold TAU battery
MSV70	K_DTANSKOR	Intake air model offset outside temperature
MSV70	K_ILMINUMG	integrated Air mass threshold outside temperature model
MSV70	K_LBATTMAXK	Maximum battery charging voltage trunk
MSV70	K_LBATTMAXM	Maximum battery charging voltage
MSV70	K_LBATTMIN	minimalistic battery charging voltage to light
MSV70	K_LBATTTUMG	
MSV70	K_LBATTTUMGBA	
MSV70	K_MCOBATTORT	Coding hand Battery mounting location
MSV70	K_NMINUMG	Speed threshold outside temperature model
MSV70	K_OFTUMGCAN	Offset ambient CAN
MSV70	K_OFULADE	Offset charging characteristic Battery Connection
MSV70	K_PLBATTUMG	Plausibility threshold battery ambient temperature
MSV70	K_RLEITUNGK	Resistance charging line battery trunk
MSV70	K_RLEITUNGM	Resistance charging cable Battery in engine compartment
MSV70	K_TBATINIMAN	Application INIT VALUE battery temperature
MSV70	K_TBATTFTAUV	Time constant 5 * Tau battery Front
MSV70	K_TBATTTAUFH	Time constant battery 5 * Tau behind
MSV70	K_TIMERDLY	Delay Time for starting value calculation
MSV70	K_TUMGINI	Initialization outside temperature model
MSV70	K_TUMGTAU	Time constant 5 * Tau outside temperature
MSV70	K_UBATTNORM	Battery Standard voltage
MSV70	K_UKOMPK	Application value compensation voltage Kaffer room
MSV70	K_UKOMPM	Application value compensation voltage engine compartment
MSV70	K_ULADE_TAU	Battery charging time constant voltage
MSV70	K_VMINUMG	Vehicle speed threshold outside temperature model
MSV70	KL_BATTLSTR	Speed factor battery ambient temperature
MSV70	KL_EXPALH	Function EXP (-ALPHA * tabst_w) back
MSV70	KL_EXPALV	Function EXP (-ALPHA * tabst_w) back
MSV70	KL_EXPBETAV	Function EXP (-BETA * tabst_w)
MSV70	KL_LADEKENNL	Battery charging voltage characteristic
MSV70	S_LBATT1	Application switch1 selection substitute temperature
MSV70	S_LBATT2	Application switch2 selection substitute temperature
MSV70	S_LBATTAPPL
It's definitely possible, but for $1000, I don't see much of a benefit. The vehicles electronics are designed to work with the noisy voltage levels of a standard battery. you could buy 5 normal batteries for that much, which would last you longer than the entire car.
Millions thanks for your info, i will dig deeper on the MSV70 command mode

For the LFP battery...... after this post, i do a little bit search, in china taobao with an unknown brand, the design seems originate from taiwan (with overcharge/underchange protection and balancing circuit inside, that's what they told me...) and manufacture in china, with the 60AH LFP battery is just RMB1400... what a unbeatable price and i have ordered one a do some test.

I will post some result later on this thread to compare any difference, probably it arrives next week
Appreciate 0
      06-15-2018, 11:12 AM   #5
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Regarding to the parameter, i have tried to locate any job having name "LBATTCAL" in MSV70, but cannot find...


wondering is that I should use the FLASH_PARAMETER_SETZEN command to overwrite it? like puting the arg with K_LBATTMAXK;14.4

Name:  Screenshot_2018-06-15-23-03-36-397_de.holeschak.bmw_deep_obd.png
Views: 131
Size:  159.9 KB

and i can use FLASH_PARAMETER_LESEN to read out the value first?

another thought is that, if we can even decode the IPO file and retrieve the default parameter from the M3 DME file, then it's even easier to "migrate" the settings from that... but i have no knowledge in reading ipo files...

Last edited by yeukfung; 06-15-2018 at 11:18 AM.
Appreciate 0
      06-15-2018, 12:28 PM   #6
hassmaschine
Brigadier General
United_States
1984
Rep
4,723
Posts

Drives: "NBO" 330i
Join Date: Jun 2014
Location: earth

iTrader: (0)

You cant do that with coding, no such jobs exist. Its in the flash of the DME - it has to be tuned for it.

Also, you can only flash whole blocks of memory, you cant just change one or two bytes. Even if you could the checksum and RSA signature would need to be dealt with. Tool32 has no idea where any of the maps are anyway, it can only do things that are pre-programmed.

The IPO from the M3 will not help, its a completely different DME. There's nothing in there that will let you change these parameters anyway.

I can probably help with tools to do it, but as far as the actual calibrating its all up to you. I'd be cautious with a lithium battery though, you could start a fire especially with bargain chinese cells.

Last edited by hassmaschine; 06-15-2018 at 12:35 PM.
Appreciate 1
Biginboca472.50

      06-15-2018, 01:08 PM   #7
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Quote:
Originally Posted by hassmaschine View Post
You cant do that with coding, no such jobs exist. Its in the flash of the DME - it has to be tuned for it.

Also, you can only flash whole blocks of memory, you cant just change one or two bytes. Even if you could the checksum and RSA signature would need to be dealt with. Tool32 has no idea where any of the maps are anyway, it can only do things that are pre-programmed.

The IPO from the M3 will not help, its a completely different DME. There's nothing in there that will let you change these parameters anyway.

I can probably help with tools to do it, but as far as the actual calibrating its all up to you. I'd be cautious with a lithium battery though, you could start a fire especially with bargain chinese cells.

Thanks for your info and will carefully monitor it in first few weeks once installed. The battery isn't Lithium ion, but lithium iron phosphate (LiFePO
4) battery that seems to be quite safe, as least it won't explore like lithium ion battery, but sure everything may goes wrong.
https://en.wikipedia.org/wiki/Lithiu...sphate_battery

I have followed your another post in cloning MSV70 DME and i learnt BDM cloning MSV70 from that, wondering how could I provide you my existing DME file and do the modification, say limiting the charging voltage to 14.4V, the temp different in hong kong isn't really high, from 5 degree to 35 degree throughout a year, so maybe variant 0.1V?

Another strange request is about the ZB file, currently i am using

ZB#7581300

however, when the time i bought this car, it was actually using this ZB
ZB#7568990

not sure if you have some backup or able to tune the DME to same as ZB#7568990?


the story is back to a year ago, when I bought this car and discovered that this car DME has internal flash error, it goes to indy show and replaced a new DME to me with wrong DME ZB, the car runs like a crap, and then I flash with winkfp but unable locate my old ZB, the only way is to upgrade the ZB to latest version on my variant, which is ZB#7581300, but the car just does not seems to run as good as the old ZB number...

this is my full story about a year ago..
http://www.bimmerfest.com/forums/sho...d.php?t=984639
Appreciate 0
      06-15-2018, 01:11 PM   #8
hassmaschine
Brigadier General
United_States
1984
Rep
4,723
Posts

Drives: "NBO" 330i
Join Date: Jun 2014
Location: earth

iTrader: (0)

Yeah, I have that file. But it's an old version - I only support the newest version of the DME, but I should have the updated/correct ZB# that matches.

Most likely, the tune you have doesn't have the correct power class for your car. I'd just need your serial # to find it.

edit: actually, 7581300 is the correct new version for your DME. I don't think it's an issue with your calibration, but maybe the power class in the used DME doesn't match your car.

Last edited by hassmaschine; 06-15-2018 at 01:37 PM.
Appreciate 0
      06-15-2018, 06:47 PM   #9
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Quote:
Originally Posted by hassmaschine View Post
Yeah, I have that file. But it's an old version - I only support the newest version of the DME, but I should have the updated/correct ZB# that matches.

Most likely, the tune you have doesn't have the correct power class for your car. I'd just need your serial # to find it.

edit: actually, 7581300 is the correct new version for your DME. I don't think it's an issue with your calibration, but maybe the power class in the used DME doesn't match your car.
my VIN is AW49710, with engine variant VB32
Name:  Screen Shot 2018-06-16 at 6.45.48 AM.png
Views: 91
Size:  49.4 KB
Appreciate 0
      06-15-2018, 06:55 PM   #10
hassmaschine
Brigadier General
United_States
1984
Rep
4,723
Posts

Drives: "NBO" 330i
Join Date: Jun 2014
Location: earth

iTrader: (0)

was your replacement DME new or used?
Appreciate 0
      06-15-2018, 08:50 PM   #11
yeukfung
New Member
2
Rep
14
Posts

Drives: BMW 330i E90 2005 N52
Join Date: May 2017
Location: Hong Kong

iTrader: (0)

Quote:
Originally Posted by hassmaschine View Post
was your replacement DME new or used?
my replacement DME is new from local part store, in virgin state.

at that moment, i have no idea on ECU coding and programming stuff, so I give my car to local indy which he said he could do it

he loaded the ZB#7581278 to the replacement DME as what he told me it's the number provided by BMW HK service center, and the car runs like crap, I asked the indy to switch back to my previous ZB#, he refused to and that leads me to learn winkfp myself.

and I diy flashed ZB#7581300 and the car runs good, so far has been running over 20000km, but just a bit different to what I feel with the ZB#7568990 at the time i bought this car, it pulled much better... maybe it's not related.
Appreciate 0
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -4. The time now is 11:56 AM.




e90post
Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST