I have 3 Daly smart BMS with Bluetooth a couple of 100A and one 150A. I am experimenting with various 1P4S or 2P4S 100AH lifepo4 batteries of assorted quality. So I am stuck with the Daly.
Apologies for the convoluted lengthy post, but I thought maybe some DALY expert can provide a clearer picture. Also, since different Dalys have slightly different factory settings – including the sign of charge current, your mileage may vary.
After my 'mis-calibration' hack - the end result: my daly is balancing my battery at zero current (and overvoltage disconnect):
The batteries are always top balanced and charged/discharged with typical settings on the daly (charge cutoff 3.65V, discharge cutoff 2.6V). Settings changed and monitored in BMS bluetooth app.
Overall the daly works quite well for normal charge/discharge, but when some cells are out of balance, the daly almost never turns on balancing, and when it does it will do almost nothing.
Balance open start voltage: 3.35V
Balance open voltage: 0.01V
Example balance: When charging at 5A, out of balance may hit .2V when the one cell hits 3.65V For example: 3.45, 3.55, 3.52 and 3.65V for 4S. This pack is not really much out of balance (< 0.1AH), but at the top end it becomes very visible.
What is worse, on my 3 daly BMS, each BMS appears to behave slightly different. One will balance only if current > 2A, one if > 1.2A and one if > 3A.
In any case, the time for balancing is only about 5-20minutes while a 5A charge current flows near the end of the cycle. At the 30ma balance current for this short time nothing ever seems to happen to the balance – it is just too short.
So I asked the question: Is there any way to get the balancer turned on when it is needed, not just when large current is flowing?
Warning: The setting changes suggested below can potentially change a setting that will damage your battery. It can also brick your BMS. The sinowealth software is less than stellar in terms of reliability on some windows system (as I found out….). Furthermore changing undocumented settings using best guess interpretation of their meaning can lead to disaster. Beware.
But here it goes….
The BalanceVolDiff in the Bluetooth app can only be changed to 10mv. In sinowealth I changed it to 5mV (0.005V). That helps a bit since it will start balance a bit sooner.
The DfilterCur setting on my 3 daly BMS was: 2000mA, 1200mA and 3000mA. I changed those to 0. Suddenly the BMS app showed current down to 0.1A! Furthermore the balancing suddenly worked down to 0.1A.
Next I changed ‘BalCurrent’ to zero. WARNING: not exactly sure what this does, but it seems to be a threshold for balancing of some sort….
Then I was wondering: Is there a way to activate the balance close to 0A. In Sinowealth there is a manual calibration for current: CadcGain and CadcOffset. Those are the settings that are changed when you ‘calibrate’ but you can do it manually. On the ‘info’ screen click ‘CADC Current’ to ‘scan’.
WARNING: write down your “CadcOffset “ and “CadcGain” in case you need to restore it. That will show the real time current. With 0 current applied, you can modify CadcOffset until ‘CADC Current’ is always positive (say 50). On one daly that number was 3, on another 1 and on the third -2! You are tweaking the offset to force a small positive reading. The calibration seems to be of linear y=ax+b (slope a /offset b, CadcGain/ CadcOffset).
Warning: this will make your SOC somewhat unreliable, over time, but it is kind of useless anyhow on my Daly.
You can also calibrate the current accuracy using ‘CadcGain’: apply 5A charging current and tweak it up or down to make the ‘CADC Current’ 5000mA.
Now what happens? When the balance voltage is exceeded **AND THE CURRENT IS 0ma or greater** the balancer will activate. Meaning if your charge until the first cell hits 3.65V and stop, the balance will activate, the balancer will run until the pack goes into balance or until the balance threshold is reached. (3.35V on my settings). This may take several hours. Note: it will even balance after over voltage charge disconnect!
Note: I know the passive balance will effectively bleed over-voltage cells. Meaning I am discharging my cells. But at 30mA, not a big deal and it shuts down at 3.35V anyhow (when the battery is still 99% + full….)
A single cycle may not be enough. You may have to charge back up the next day and let it balance overnight. Eventually it will get closer to the goal of a balanced pack. Not perfect, but close.
Having looked at this issue I am extremely disappointed that Daly does not provide this feature out of the box- without this weird mis-calibration hack. The BMS firmware could be re-written with minor code change to provide this feature and maybe even end up with accurate current readings. If I had the source code it would take about 3 minutes to make this simple code change....
Note also, near the end of the cycle, if you change the charge current to 50mA for a long time, the battery will balance without much supervision with this hack.
Now don’t get me started complaining about the less than stellar SOC accuracy….
Apologies for the convoluted lengthy post, but I thought maybe some DALY expert can provide a clearer picture. Also, since different Dalys have slightly different factory settings – including the sign of charge current, your mileage may vary.
After my 'mis-calibration' hack - the end result: my daly is balancing my battery at zero current (and overvoltage disconnect):
The batteries are always top balanced and charged/discharged with typical settings on the daly (charge cutoff 3.65V, discharge cutoff 2.6V). Settings changed and monitored in BMS bluetooth app.
Overall the daly works quite well for normal charge/discharge, but when some cells are out of balance, the daly almost never turns on balancing, and when it does it will do almost nothing.
Balance open start voltage: 3.35V
Balance open voltage: 0.01V
Example balance: When charging at 5A, out of balance may hit .2V when the one cell hits 3.65V For example: 3.45, 3.55, 3.52 and 3.65V for 4S. This pack is not really much out of balance (< 0.1AH), but at the top end it becomes very visible.
What is worse, on my 3 daly BMS, each BMS appears to behave slightly different. One will balance only if current > 2A, one if > 1.2A and one if > 3A.
In any case, the time for balancing is only about 5-20minutes while a 5A charge current flows near the end of the cycle. At the 30ma balance current for this short time nothing ever seems to happen to the balance – it is just too short.
So I asked the question: Is there any way to get the balancer turned on when it is needed, not just when large current is flowing?
Warning: The setting changes suggested below can potentially change a setting that will damage your battery. It can also brick your BMS. The sinowealth software is less than stellar in terms of reliability on some windows system (as I found out….). Furthermore changing undocumented settings using best guess interpretation of their meaning can lead to disaster. Beware.
But here it goes….
The BalanceVolDiff in the Bluetooth app can only be changed to 10mv. In sinowealth I changed it to 5mV (0.005V). That helps a bit since it will start balance a bit sooner.
The DfilterCur setting on my 3 daly BMS was: 2000mA, 1200mA and 3000mA. I changed those to 0. Suddenly the BMS app showed current down to 0.1A! Furthermore the balancing suddenly worked down to 0.1A.
Next I changed ‘BalCurrent’ to zero. WARNING: not exactly sure what this does, but it seems to be a threshold for balancing of some sort….
Then I was wondering: Is there a way to activate the balance close to 0A. In Sinowealth there is a manual calibration for current: CadcGain and CadcOffset. Those are the settings that are changed when you ‘calibrate’ but you can do it manually. On the ‘info’ screen click ‘CADC Current’ to ‘scan’.
WARNING: write down your “CadcOffset “ and “CadcGain” in case you need to restore it. That will show the real time current. With 0 current applied, you can modify CadcOffset until ‘CADC Current’ is always positive (say 50). On one daly that number was 3, on another 1 and on the third -2! You are tweaking the offset to force a small positive reading. The calibration seems to be of linear y=ax+b (slope a /offset b, CadcGain/ CadcOffset).
Warning: this will make your SOC somewhat unreliable, over time, but it is kind of useless anyhow on my Daly.
You can also calibrate the current accuracy using ‘CadcGain’: apply 5A charging current and tweak it up or down to make the ‘CADC Current’ 5000mA.
Now what happens? When the balance voltage is exceeded **AND THE CURRENT IS 0ma or greater** the balancer will activate. Meaning if your charge until the first cell hits 3.65V and stop, the balance will activate, the balancer will run until the pack goes into balance or until the balance threshold is reached. (3.35V on my settings). This may take several hours. Note: it will even balance after over voltage charge disconnect!
Note: I know the passive balance will effectively bleed over-voltage cells. Meaning I am discharging my cells. But at 30mA, not a big deal and it shuts down at 3.35V anyhow (when the battery is still 99% + full….)
A single cycle may not be enough. You may have to charge back up the next day and let it balance overnight. Eventually it will get closer to the goal of a balanced pack. Not perfect, but close.
Having looked at this issue I am extremely disappointed that Daly does not provide this feature out of the box- without this weird mis-calibration hack. The BMS firmware could be re-written with minor code change to provide this feature and maybe even end up with accurate current readings. If I had the source code it would take about 3 minutes to make this simple code change....
Note also, near the end of the cycle, if you change the charge current to 50mA for a long time, the battery will balance without much supervision with this hack.
Now don’t get me started complaining about the less than stellar SOC accuracy….