GSM Shop GSM Shop
GSM-Forum  

Welcome to the GSM-Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features.
Only registered members may post questions, contact other members or search our database of over 8 million posts.

Registration is fast, simple and absolutely free so please - Click to REGISTER!

If you have any problems with the registration process or your account login, please contact contact us .

Go Back   GSM-Forum > GSM & CDMA Phones / Tablets Software & Hardware Area > Various > Siemens-Benq > All Siemens and Benq Manufactured Phones > x1x to x45/x50


x1x to x45/x50 All Siemens mobile starting from S6, S10, ... up to C45, S45, ME45, SL42, SL45(i), A50, CL50, M50, MT50.

Reply
 
LinkBack Thread Tools Display Modes
Old 11-05-2003, 18:31   #1 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
My experience using SiemensTool1.3 & M35i


I recently received a M35i from a friend for free as it was considered rubbish, having only a day or so battery life. The phone is one of the first M35i’s and was still using FW V05. I simply put it down to the tiny 500mAh NiMH battery being at dead. I subsequently bought (what is labelled as) a 1200mAh Li-Ion battery off of eBay. Now this worked fine, but I got curious as I saw that the discharge ramp of the Li-Ion must be a little different to the NiMH as it looses the first few bars life very quickly and then will run for close to a week on 40-0%.

I quickly found my way here and started reading the archives. After a night (literally) of reading and following links and hits through German, Russian, Polish & Croatian (I think) I managed to put enough pieces together to figure out what this mystical Battery Calibration tool does.

I am aware that there are a good number of posts that give satisfactory ‘solutions’ to how to use SiemensTool1.3, but I’m the kind of guy that just can’t sleep without knowing why!

This post is really only aimed at the people who want to why, not just how and I have tried to explain it from the basics. Sorry if it's obvious

First a quick description of how battery monitoring hardware functions. The current voltage of the battery is fed to an A/D converter. From the analogue voltage you get a digital output. For a 10bit converter, 0-1023. The important point to note is that the digital output is relative, but not equal to the analogue input – for example in the ideal case a 2.5V input would equal a digital 511 output for a 10bit converter with a 0-5V reference.

When we want to do things at a given voltage (say change a bar graph) it's easier to consider the voltage as its actual value than in the digitally converted state. For example, if we want to set a bar to 50% when the voltage is 2.5V it is much tidier to reference 2.5V than 511. To do this we need to scale the digital output so that it's directly readable as a voltage. Often people choose to convert to mV as it's a far more useful range, especially when your considering a integer based system such as a microcontroller.

For the 10-bit converter example, saying that 1023 * m = 5000mV, m = 5000/1023, m = 4.8876. After the analogue value has been converted to digital and multiplied by ‘m’, it can directly be read as and compared to millivolts.

The same thing happens in the C/M/S3x but from what I've seen it happens backwards (ie ~5V = 0, ~2.5V = 10000). I can only guess it's been done like this to address isolation issues as the electronics runs on a DC/DC converted supply. If anyone would like to fill me in I’d love to hear.

The battery monitor set points in the phone are specified in mV and it uses the values seen in SiemensTool to calculate the number 'm' to multiply the raw digital value by in order to know the battery voltage in mV.

The reason that these numbers are in the EEPROM and adjustable is because every phone is different. Using someone else’s .BLK file could work on your phone but the fact is that you’re counting on your hardware being identical to the hardware that the .BLK came from. It’s the specific components in your phone, such as the A/D converter, that vary in their function and need to be calibrated and these four variables do exactly that. SpgY03V, SpgX0, SpgY04V, SpgDelta.

It’s a German phone so it make some sense that some German got mixed in with it all, probably makes more sense when you know Spannung (Spg) = Voltage and therefore:

VBatt = The actual battery voltage (mV)
SpgY03V = The voltage data (units) @ y = ~3V
SpgX0 = The Voltage (mV) @ x = 0
SpgY04V = The voltage data (units) @ y = ~4V
SpgDelta = The voltage difference(mV) between SpgY03V & SpgY04V measuring points

We need to use a linear function to scale the digital value.
The function is simply y = mx + c like we've all used back at school.

In order to formulate y = mx + c, first we need to calculate m.
m = (y1 – y2)/(x1 – x2)
= (SpgDelta)/(SpgY04V – SpgY03V)

'c' is the voltage (mV) offset @ x = 0. There a couple of ways to calculate this, either by extrapolating the gradient ‘m’ back to x = 0, or to displace the graph so that in fact now SpgY04V will appear as the zero point and the corresponding SpgX0 can simply be used as the offset, ‘c’. In order to use SpgX0 as the voltage @ x = 0, we must say that the input value ‘x’ equals 0 when the digital value ‘VBattDSP’ equals SpgY04V.
Or more simply:
x = (VBattDSP – SpgY04V)

so that now when VBattDSP = SpgY04V, x will = 0, and the output will = SpgX0. This has essentially shifted the graph left by the amount ‘SpgY04V’.
Now:
c = SpgX0

Together:
VBatt = (SpgDelta)/(SpgY04V – SpgY03V)*(VBattDSP – SpgY04V) + SpgX0

After connecting a volt meter between my battery and the phones connectors (outside pins) I was able to run the phone & SiemensTools while monitoring the battery voltage. The original Siemens calibration was very good, ±0.01v accuracy. The only method I can suggest to recalibrate a phone is as follows:

Have a battery that is charged to 4.2V (I’ll clarify why later). I think the case is the same for all C/M/S35’s and that you can't see the ‘VBattDSP’ value so we'll need to calculate it by rearranging the above formula: (ed: VBattDSP should be displayed with firmware v18 & v24 and can be used directly)
VBattDSP = (SpgY04V – SpgY03V)/(SpgDelta)*(VBatt – SpgX0) + SpgY04V

Using the existing calibration data, where VBatt is the value displayed in SiemensTool (VBattMiddle) in mV, you need to calculate VBattDSP. Enter this value into SpgY04V and the actual battery voltage on the voltmeter (mV) into SpgX0. You now need to adjust the ramp, ‘m’. You need a battery that is flat, down around 3.2V. The further apart the two measuring voltages are, the more accurate the calibration is. Siemens typically use ~1000mV separation. Again, using the above formula, calculate the VBattDSP value at this point. Enter this value into SpgY03V and the separation (mV) in SpgDelta. Once you’ve got the right numbers do a final restart and charge the battery to a few points and see that VBattMiddle in fact still equals the actual battery voltage. A better way still is to enable the phones monitor in the service menu by following the instructions on this site:
http://www.gasbag.wz.cz/eindex.html
and you can then plug the charger in and watch the voltage in the battery monitor.

As for my phone, it was already calibrated but I wanted a way to make it read more appropriately and more importantly fully use the battery. The typical discharge graph for a Li-Ion battery looks something like is seen on the bottom of this page:
http://www.buchmann.ca/chap2-page6.asp

Notice that a lot of the life of the battery is between 3.5 - 3.6V. By looking at the data in the battery monitor, the field AS reports the voltage (mV) at which the phone will shut itself down. This number varies and depends on current battery voltage and load. I have seen this value on my phone typically between 3500 and 3630mV . . . yup, it wants to shut down right when the going gets good! I’d like to hear what values other people have seen but I’ve never seen mine below 3.5V. I assume that this algorithm is programmed in the firmware and I haven’t looked into what it would take to adjust that. If anyone has some ideas I'd be keen to hear. I did try updating to FW V25 in the hope that Siemens had made this adjustment for the Li-Ion battery, but it seems they haven't.

Instead, I chose to say that I want an actual 3300mV to be read by the phone as 3500mV. By using the previously rearranged formula we can find out what value in digital units translates to 3300mV by using VBatt = 3300 and solving for VBattDSP

Rearrange again, substitute in the VBattDSP value and the VBatt you wish the phone to read (eg 3500) to find a new SpgY03V value:
SpgY03V = SpgY04V – (SpgDelta)/(VBatt – SpgX0)*(VBattDSP – SpgY04V)

By using the new SpgY03V value for the example of 3300mV and 3500mV, the phone will now shut down in the 3.3 – 3.4V range. The phone will however read exact at the SpgY04V calibration point and LOW above that point!! This is important to note. Li-Ion batteries are sensitive to ±1% maximum charge voltage and have a protective circuit inside them to avoid disastrous situations, this doesn’t mean you should rely on that circuit to account for modified calibration. The reason I mentioned before that the top calibration point (SpgY04V) should be done at 4.2V (and therefore SpgX0 will equal ~4200), is because this is the maximum voltage to which a Li-ion battery should be charged and the C/S/M35 accounts for this and limits to 4200mV maximum. It is therefore important that the voltage at this point is still accurately known and I would think this is the exact reason why Seimens choose to use this as a calibration point. While this method is not an ideal solution to the problem, it certainly seems to work.

It should also be noted that if you use the discharge function on your phone, it will discharge well below the original set-point of 3.3V. But if you’re phone is now only switching off at 3.3V, this function is redundant.

To give some example numbers, my original factory calibration was:
SpgY03V: 6653
SpgX0: 4210
SpgY04V: 2491
SpgDelta: 1010

Using the above method I now have:
SpgY03V: 7825

NB: This is using a Li-Ion battery and meaning that voltage calibration above 4.2V isn’t important. With a NiMH battery you will however over charge it a little. You should then recalibrate your top point to the maximum charge voltage for the NiMH battery as seen in the Battery monitor (typically 4375mV)

I think this is enough information to clear up some questions and would like to thank DarkBear, Greenstone and GasBag for the tools and information I’ve used here.

Last edited by JimmyC; 11-19-2003 at 09:07.
  Reply With Quote
Old 11-06-2003, 18:44   #2 (permalink)
No Life Poster
 
PYCON's Avatar
 
Join Date: Apr 2003
Location: Italy
Posts: 509
Member: 26267
Status: Offline
Thanks Meter: 1
Ye good work...
  Reply With Quote
Old 11-15-2003, 10:08   #3 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
hey, this seems to be a quite good article
but I still have one problem: although I tried hard I didn't manage to find a playe where I can download a cracked version of Sensors Tool
can you help me?
  Reply With Quote
Old 11-15-2003, 17:36   #4 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
Hi BigBen,

I don't recall it ever needing a crack - or not the version that has been linked in previous posts.

Give this a shot:
http://download.siemens-club.ru/files/sensortool13.zip

J. :-P
  Reply With Quote
Old 11-16-2003, 02:01   #5 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
hey, thanks for your help!
but although I finally managed to check my phone with Sensors Tool, I'm not able to fix the battery bug...
the problem is:
the program doesn't how me any VBattDSP value!



so what should I do now? with I can't work any further...

THANKS FOR YOUR HELP
  Reply With Quote
Old 11-16-2003, 11:26   #6 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
Hi BigBen,

If you have a peek in the .ini file it only has the memory locations for the VBattDSP value in software versions v18 & v24. I'm also running v25, and although you could downgrade SW to get it to display that field, I just used the method I posted above.

By using the existing values you can calculate what the VBattDSP value is:
VBattDSP = (SpgY04V – SpgY03V)/(SpgDelta)*(VBatt – SpgX0) + SpgY04V

For the example in the screenshot you sent:
VBattDSP = (3715 - 7638)/(1010)*(4296 - 4199) + 3715
VBattDSP = 3338

What is your actual problem with the phone BTW?

Hope this helps,
J. :-P
  Reply With Quote
Old 11-16-2003, 12:18   #7 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
I have a NiMH battery with 500mAh.
when I charge the battery to full, and measure with my voltmeter, I get 4380 mV. But the phone always says after 12 hours or so: Battery low, must recharge1

So what would you recommend to do?


THANKS FOR HELP


/e: I now calculated the new SpgY03V, using your formule, and I got 15590

can this be right?
or have I done a mistake?


/e2: achja kannst deine antwort auf deutsch schreiben hab grad in deinem icq-profil gesehn daß du aus stuttgart kommst


Last edited by BigBen; 11-16-2003 at 17:25.
  Reply With Quote
Old 11-17-2003, 11:27   #8 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
I'll try German but I think your English is better than my German
(Ich kann immer versuchen, aber glaube ich dein English ist besser als mein Deutsch ;-))

If your calibration is already correct then you can try the following
(I have simply used the numbers in your photo for this example):
(Wenn deine Einstellung schon richtig ist, kannst du wie so ausprobieren
(Ich habe einfach die Nummern von deinem Bild benutzt)):


VBattDSP = (SpgY04V – SpgY03V)/(SpgDelta)*(VBatt – SpgX0) + SpgY04V
VBattDSP = (3715 - 7638)/(1010)*(3200 - 4199) + 3715
VBattDSP = 7595

@ 3.2v, VBattDSP = 7595.

Now we want to say that 7595 is really calculated as 3.5v -
not the 3.2v that it really is:
(Jetzt wollen wir zu sagen, dass 7595 wirklich 3.5v gibt)

SpgY03V = SpgY04V – (SpgDelta)/(VBatt – SpgX0)*(VBattDSP – SpgY04V)
SpgY03V = 3715 – (1010)/(3500 – 4199)*(7595 – 3715)
SpgY03V = 9322

This is quite large, but you can give it a go any way!
(Dass ist ziemlich groß, aber du kannst noch versuchen!)

Your battery could also be dead! Is it the original?
However, this method is best used for a Li-ion battery as the discharge curve is different
(Dein Akku. könnte auch tot sein. Ist er das Original?
Diese Methode ist besser nur für einen Li-ion akku, weil die Entladungkurve unterschiedlich ist.)


My Li-ion battery gives 8-10 days standby, it is however 1200mAh and cost 3€ + p&p from eBay (but they are now cheaper). My original 500mAh NiMH battery lasted only 1-2 days and it was dead!
(Mein Li-ion Akku. gibt jetzt ungefähr 8-10 Beistandtage. Er ist 1200mAh und kostet 3€ + Versandkosten von eBay und jetzt sind sie billiger. (Mein alte NiMH 500mAh Akku. gab nur 1-2 Beistandtage - war tot!))

J.

Last edited by JimmyC; 11-18-2003 at 13:53.
  Reply With Quote
Old 11-18-2003, 12:55   #9 (permalink)
Insane Poster
 
Join Date: Jun 2003
Location: somewhere inside my phone
Age: 45
Posts: 76
Member: 32545
Status: Offline
Thanks Meter: 2
Hey guys,

that is unfair.

Replying in German is like giving us a candy and then taking it out from our *****s.

Finally, i found someone talking about an issue that i need to understand and in the end i can't . English is accessible for many, but German isn't.

Please be so kind as to translate the last post.

Thanks

edited bellow:
Thanks for the quick reply m8

And may i add what an excellent job you're doing here

Too bad my calcs don't match yours

Last edited by mestrini; 11-18-2003 at 13:52.
  Reply With Quote
Old 11-18-2003, 13:49   #10 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
Sorry Mestrini you're quite right, I'll make an English version as the main thread with German in brackets for BigBen or something (someone will be bound to point out that my English and German don't agree, but I'm just learning German :-)

Regards,
J.
  Reply With Quote
Old 11-18-2003, 14:26   #11 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
okay so lets continue in english

I just wanted to say the following:
after I calculated a new SpgY03V, i got as I said 15590.
But in the next post from JimmyC he wrote he got 9322

well, I'm not interested what the right result is, you know why?
I wrote 15590 as SpgY03V into the phone and now it's on since 2 days. Before, it always shut itself down after 12hours or so...
So the battery doesn't seem to be dead (BTW it's an original Siemens battery)

I'll see how long the battery will work and then post it here...
  Reply With Quote
Old 11-18-2003, 15:15   #12 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 17
Member: 43227
Status: Offline
Thanks Meter: 0
Hi BigBen,

Glad it's working
On thing to be careful of is that it will charge quite high with such a big SpgY03V:
Fully charged should be 4.38v, and with your new calibration data that will be when VBattDSP =:
VBattDSP = (SpgY04V – SpgY03V)/(SpgDelta)*(VBatt – SpgX0) + SpgY04V
VBattDSP = (3715 - 15590)/(1010)*(4380 - 4199) + 3715
VBattDSP = 1587

However, if we put that back into the correct calibration you can see what the actual voltage that it is getting charged to is:

VBatt = (SpgDelta)/(SpgY04V – SpgY03V)*(VBattDSP – SpgY04V) + SpgX0
VBatt = (1010)/(3715 – 7638)*(1587 – 3715) + 4199
VBatt = 4.75v !!

Just keep an eye on how hot it gets and best bet is to put a multimeter on it to see how high it is actually charging and if the numbers agree. If it's turning off before the monitor gets to 0% left you can afford to use a lower SpgY03V number. The other alternative is to try the following:

SpgX0 = 4380
SpgY03V = 3012

This means that it will stop charging at the right point as it knows 4.38v is 3012 rather than just 4.2v is 3715 and falsely interpolating 4.38v to be 1587.

Then your SpgY03V really will be big and I wouldn't expect to see the monitor change much unless you change the SpgDelta accordingly to ~ 1191.

Have a play, just try and be friendly to your battery

J.

ps. I'm a bit worried that two people have got different answers to me - anyone else done the math or spotted a mistake??

Last edited by JimmyC; 11-18-2003 at 15:43.
  Reply With Quote
Old 11-18-2003, 15:22   #13 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
okay thanks for your answer

I think I will just look if the phone shuts off before the status is 0% I will adjust the SpgY03V a little...
  Reply With Quote
Old 11-18-2003, 18:14   #14 (permalink)
Junior Member
 
Join Date: Nov 2003
Posts: 8
Member: 44140
Status: Offline
Thanks Meter: 0
I just wanted to say that I measured the voltage now after 2 days non-stop on with my voltemter and I got 3,5V.

What do you think how long the phone will work? Until about 2,5V???
  Reply With Quote
Old 11-18-2003, 18:34   #15 (permalink)
Insane Poster
 
Join Date: Jun 2003
Location: somewhere inside my phone
Age: 45
Posts: 76
Member: 32545
Status: Offline
Thanks Meter: 2
@ JimmyC

please be rested m8 because my calcs are matching yours now

I was multpliying (SpgDelta)*(VBatt – SpgX0) before diving it (SpgY04V – SpgY03V)/(SpgDelta)


now i can calc from my M35 and see what values i have to adjust

will post results

Thanks
  Reply With Quote
Reply

Bookmarks


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
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
+ Experience the Next Episode in Entertainment with Spider-Man 3 & the Nokia N95 8GB apocalypso Nokia Multimedia 0 10-15-2007 11:52
For my customers using Nsdongle 3.10.8 pig Data1 Team Products 0 01-18-2006 13:06
Z200 R6C -just my experiance!! hallo Sony Ericsson 2 09-24-2004 08:16
Sim cloning & my experience. fofodaman Sim Cloning and Scaning 0 10-08-2002 01:12
Experience using Bluetooth with 6310? ed2k_7 Nokia Digital Core Technology 4 ( DCT-4 ) 4 03-24-2002 21:35

 



All times are GMT +1. The time now is 22:18.



Powered by Searchlight © 2024 Axivo Inc.
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
- GSM Hosting Ltd. - 1999-2023 -
Page generated in 0.29855 seconds with 10 queries

SEO by vBSEO