Is there a way to scale the current value that is read from the maxell smart battery? I use my own battery with this chip which seems to match maxell. The current registry is only 16 bits meaning i cant go over 32 amps. I used my own external board before to measure the current similar to the one sold on sparkfun.
I can circumvent the problem by scaling the TI boards current calculation (i set a resistor value in the firmware such that current is scaled down by half) and then i can scale back up on my own gcs but that is not really the concern of a gcs and MP would show wrong data.
If it is something that currently is not possible could it be considered to be added as a feature or is it such a small niche problem that adding another parameter would be a waste? I mean this would be only needed if you need high current AND you use a smart battery controller that you can hack xD.
Another idea i had was to use two battery monitors. One for the high current and voltage and another one for smart battery. I tried to set one battery monitor to my board and the other one to maxell but somehow i only saw maxell and that was displayed as current not current2. I may have configured something wrong so any tips are welcome.
Is the latter idea a possibility (high current battery monitor + smart battery monitor in parallel)?
Well, That’s very interesting that you’ve made your own smart battery. Really great stuff. 32amps is really low. I guess the chip and interface really weren’t made for anything but laptops. If there isn’t another register that can make higher currents available then a multiplier might be the way we get around this. TBH, I’m not super keen on this solution because the point of smart batteries is they really shouldn’t need much setup… but if we can’t find another solution…
Some more digging and i found smb spec here from 1998. On page 33 there are values of VScale and IPScale that signify the scaling of the value read from the registers. It can go from 1 to 1000. So it seems there is plenty of room. I dont know what is read from the SMB controller currently but if this spec is to be trusted, the ardu code could handle a pretty wide variety of smart batteries.
Ill elaborate a little. By reading the SpecificationInfo() you can determine the version of the spec in use and adjust accordingly. Also spec info contains fields VScale and IPScale which both signify scaling factors. Rangeing from 0-3 which stands for 10^0 to 10^3.
Ask for specinfo, scale by those scalars and done. That is if this spec is implemented, which seems to be the case both for Maxcell and the TI chip.