Oleksii
Member
- Joined
- Mar 18, 2020
- Messages
- 116
Hi all!
First of all I have a lot to share as for MCC, with photos of course, but currently I want to start from a topic to pay attention from developers ad possibly get a fix/improvement.
It's about charge and discharge current measurement precision an adjustments.
I've started from measuring current. First I've checked and my DMM measures current correctly by comparing it with lab power supply and YR1035+ measured 4.84R resistor and then measured voltage drop over it 1.687V - I got the same reading of ~348 mA current (Ohm's low 1.687/4.84=0.3485).Tried higher values - the same:
Then I made this simple "connector" from a small piece of material, used to produce 2 side PCB. It allowed me to "interrupt" cell circuit easily and quickly in any device and measure current in a stable way:
Then I started "per slot" measurement, which looked this way:
(yes, you have spotted those FANs of left , I know, I'll share info about them soon)
I noted current after 1 minute of started change/discharge, to get it stabilized as some resistor inside MCC getting more warm, possibly change resistance a little.
I've to note here what while on MMC current was INcreasing a little during the minute, on DMM it was opposite - DECreasing a little, but after 1 minute values were "in sync" and were slowly decreasing together with the same rate. So 1-2 minutes delay was a proper thing, I suppose.
I made 4 cycles (change/discharge and before/after correction of CcO/DcO).
CcO/DcO - are Charge correction factor (%) and Discharge correction factor (%) in MegaCellMonitor software
Here are results:
I spotted previously that MCC shows increased cells capacity measurement, so values of current was not surprising for me.
Also I know from other MCC users the same.
Summary: each slot has its own drift or precision for charge and discharge. Calculated average for all slots - probably an ideal way to find out what are the best correction factors for your own MCC.
What I dream of currently - that MCC have to provide a way to set CcO/DcO per slot basis. I'm sure its really possible and this way it's possible to adjust each slow and hopefully get were consist reading of capacity!
I saw that MegaCellMonitor sends some extended JSON when staring individual commands for slots (POST to /api/set_cell) where CcO/DcO were included together with CmD (command what to do). I was hoping that it can work this way, but unfortunately it's just extra data included to JSON, which probably is ignored by MCC. Used command like this:
but it does not set CcO/DcO in any way.
Also, default values in MegaCellMonitor for factors are 1. I've tried to set 0 (zero) using shell commands (see below) but looks like internally it's still set to 1.
And on reading an absolute step between 1% and -1% was ~20 mA (we work with ~1A current all the time) which confirms that it's 2% difference. Because between -1% and -2% the step is ~10 mA. The same for 1% and 2% - ~10mA step.
It means that correct default values for MegaCellMonitor and MCC should be 0 (zero) but not 1. But that's minor thing.
Btw, I changed CcO/DcO using this shell command, easily, event right during charge or discharge procedure on a slot, which caused updated/recalculated values reading immediately.
Commands for start charge and discharge on all slots and monitor values (on another window) are:
p.s. stay tuned, there are even more interesting parts of MCC I want to share
p.s.2 btw, that was me who discovered a bug on MCC that it always added an extra ~100mAh capacity to each slot on mCap command. Devs were really good to fix it very fast.
First of all I have a lot to share as for MCC, with photos of course, but currently I want to start from a topic to pay attention from developers ad possibly get a fix/improvement.
It's about charge and discharge current measurement precision an adjustments.
I've started from measuring current. First I've checked and my DMM measures current correctly by comparing it with lab power supply and YR1035+ measured 4.84R resistor and then measured voltage drop over it 1.687V - I got the same reading of ~348 mA current (Ohm's low 1.687/4.84=0.3485).Tried higher values - the same:
Then I made this simple "connector" from a small piece of material, used to produce 2 side PCB. It allowed me to "interrupt" cell circuit easily and quickly in any device and measure current in a stable way:
Then I started "per slot" measurement, which looked this way:
(yes, you have spotted those FANs of left , I know, I'll share info about them soon)
I noted current after 1 minute of started change/discharge, to get it stabilized as some resistor inside MCC getting more warm, possibly change resistance a little.
I've to note here what while on MMC current was INcreasing a little during the minute, on DMM it was opposite - DECreasing a little, but after 1 minute values were "in sync" and were slowly decreasing together with the same rate. So 1-2 minutes delay was a proper thing, I suppose.
I made 4 cycles (change/discharge and before/after correction of CcO/DcO).
CcO/DcO - are Charge correction factor (%) and Discharge correction factor (%) in MegaCellMonitor software
Here are results:
I spotted previously that MCC shows increased cells capacity measurement, so values of current was not surprising for me.
Also I know from other MCC users the same.
Summary: each slot has its own drift or precision for charge and discharge. Calculated average for all slots - probably an ideal way to find out what are the best correction factors for your own MCC.
What I dream of currently - that MCC have to provide a way to set CcO/DcO per slot basis. I'm sure its really possible and this way it's possible to adjust each slow and hopefully get were consist reading of capacity!
I saw that MegaCellMonitor sends some extended JSON when staring individual commands for slots (POST to /api/set_cell) where CcO/DcO were included together with CmD (command what to do). I was hoping that it can work this way, but unfortunately it's just extra data included to JSON, which probably is ignored by MCC. Used command like this:
Bash:
curl http://10.33.0.66/api/set_cell -d '{"cells": [{"ChC": false, "CiD": 0, "MaV": 4.25, "StV": 3.6, "MiV": 2.8, "DiC": 1, "CmD": "ach", "LmV": 0.3, "LcV": 3.6, "LmD": 1.1, "LmR": 90, "McH": 240, "LcR": 1000, "CcO": -50, "DcO": -50}]}'
Also, default values in MegaCellMonitor for factors are 1. I've tried to set 0 (zero) using shell commands (see below) but looks like internally it's still set to 1.
And on reading an absolute step between 1% and -1% was ~20 mA (we work with ~1A current all the time) which confirms that it's 2% difference. Because between -1% and -2% the step is ~10 mA. The same for 1% and 2% - ~10mA step.
It means that correct default values for MegaCellMonitor and MCC should be 0 (zero) but not 1. But that's minor thing.
Btw, I changed CcO/DcO using this shell command, easily, event right during charge or discharge procedure on a slot, which caused updated/recalculated values reading immediately.
Bash:
curl http://10.33.0.66/api/set_config_info -d '{"LmR": 90, "CcO": -7, "DcO": -5, "LmV": 0.3, "LcV": 3.6, "LmD": 1.1, "ChC": false, "MaV": 4.25, "StV": 3.6, "MiV": 2.8, "DiR": 1000, "MaT": 45, "DiC": 1}'
Commands for start charge and discharge on all slots and monitor values (on another window) are:
Bash:
curl http://10.33.0.66/api/set_cell -d '{"cells": [{"CiD": 0, "CmD": "ach"}, {"CiD": 1, "CmD": "ach"}, {"CiD": 2, "CmD": "ach"}, {"CiD": 3, "CmD"
: "ach"}, {"CiD": 4, "CmD": "ach"}, {"CiD": 5, "CmD": "ach"}, {"CiD": 6, "CmD": "ach"}, {"CiD": 7, "CmD": "ach"}, {"CiD": 8, "CmD": "ach"}, {"CiD": 9, "CmD":
"ach"}, {"CiD": 10, "CmD": "ach"}, {"CiD": 11, "CmD": "ach"}, {"CiD": 12, "CmD": "ach"}, {"CiD": 13, "CmD": "ach"}, {"CiD": 14, "CmD": "ach"}, {"CiD": 15, "Cm
D": "ach"}]}'
curl http://10.33.0.66/api/set_cell -d '{"cells": [{"CiD": 0, "CmD": "adc"}, {"CiD": 1, "CmD": "adc"}, {"CiD": 2, "CmD": "adc"}, {"CiD": 3, "CmD": "adc"}, {"CiD": 4, "CmD": "adc"}, {"CiD": 5, "CmD": "adc"}, {"CiD": 6, "CmD": "adc"}, {"CiD": 7, "CmD": "adc"}, {"CiD": 8, "CmD": "adc"}, {"CiD": 9, "CmD": "adc"}, {"CiD": 10, "CmD": "adc"}, {"CiD": 11, "CmD": "adc"}, {"CiD": 12, "CmD": "adc"}, {"CiD": 13, "CmD": "adc"}, {"CiD": 14, "CmD": "adc"}, {"CiD": 15, "CmD": "adc"}]}'
watch -n1 'curl http://10.33.0.66/api/get_cells_info 2>/dev/null | egrep "amps|capacity|voltage"'
p.s. stay tuned, there are even more interesting parts of MCC I want to share
p.s.2 btw, that was me who discovered a bug on MCC that it always added an extra ~100mAh capacity to each slot on mCap command. Devs were really good to fix it very fast.
Last edited: