I have a very interesting discovery to share...
...Yes, I am being purposfully long winded here haha....
...But as mentioned the current is summed.
But you've still kept us in suspense... did you wire the shunts in serial or parallel
I have a very interesting discovery to share...
...Yes, I am being purposfully long winded here haha....
...But as mentioned the current is summed.
Parallel.But you've still kept us in suspense... did you wire the shunts in serial or parallel
I’m not running the UI version but have it defined in code at 90% SOC it ‘divided’ to only charge with 20amps. At 95% SOC it sets charging at 5amps. Gives me a good amount of balance time.How do you use slow charging parameters? What are yours?
It seems anything I enter stops charging completely.
What does "divider" mean in this context?View attachment 214555
It must not be working. In the GUI versionI’m not running the UI version but have it defined in code at 90% SOC it ‘divided’ to only charge with 20amps. At 95% SOC it sets charging at 5amps. Gives me a good amount of balance time.
My battery is 200ah and defined in code that way. I need the look at the code in my config but here is the source from git. If I understand this, > 90% SOC 200ah/10=charge at 20a. If > 95% SOC 200ah/20=charge at 10a.It must not be working. In the GUI version
Im charging at 50 amps currently.
if I put in 20 it stops charging
If I put in 2 it stops
if i put in 80 it stops.
If I populate both setpoints with corresponding values, it stops charging
I have tried decimals but it wont save.
No clue over here :!:~
Hmm, Ill try negative numbers
That didnt work either.
Yeah, that makes sense, but it doesnt work in the gui.My battery is 200ah and defined in code that way. I need the look at the code in my config but here is the source from git. If I understand this, > 90% SOC 200ah/10=charge at 20a. If > 95% SOC 200ah/20=charge at 10a.
if (_battCapacity > 0 && _initialBattData){
if(_battSOC > 95)
_chargeCurrentmA = (_battCapacity / 20);
else if(_battSOC > 90)
_chargeCurrentmA = (_battCapacity / 10);
else
_chargeCurrentmA = _maxChargeCurrentmA;
}
Any feature that you think would suit the software, drop it in here and i'll see.
Added to the feature list is: Multiple probe temp monitors with control of fans forced cooling the inverter and heaters for the batteries.
// otherwise, adjust charge rate depending on batt min temp and SOC
else if (_battTemp < 1)
{
// no charge if temp < 1 degree
chkCatChange(1);
CAN_SetChargeCurrent(0, "Battery temp < 1 degree");
//writeCriticalErrorLogStr("Warning: Charging stopped as battery temp < 1 degree");
}
else if (_battTemp <= 10)
{
if (_battSOC > 90)
{
// no charge over 90% if < 10 degrees
chkCatChange(2);
CAN_SetChargeCurrent(0, "Battery temp <= 10 degree AND battery SOC > 90%");
}
else if (_battSOC >= 70)
{
// if SOC between 70 and 90%; charge at range of 3.5A to 35A = 0.0125C to 0.125C from 1 degree to 10 degrees
// which is less than recommended allowance up to 0.2C at 10 degrees
chkCatChange(3);
CAN_SetChargeCurrent((_maxChargeCurrentmA / 20) * _battTemp, "Battery temp <= 10 degree AND battery SOC between 70% and 90%");
}
else
{
// if SOC < 70%; charge at range of 7A to 70A = 0.025C to 0.25C from 1 degree to 10 degrees
// which is less than recommended allowance up to 0.4C at 10 degrees
chkCatChange(4);
CAN_SetChargeCurrent((_maxChargeCurrentmA / 10) * _battTemp, "Battery temp < 10 degree AND battery SOC < 70%");
}
}
else
{
// battery temp within normal range (i.e. > 10 degrees)
This is a reason for the adding of the Temp probes, but the battery temp would only be a feed for the MaxCurrent, the actual current would vary and reduce as battery voltage rises or falls.
I also allow the Solis to "trickle charge" the battery pack up to a pre-defined but configurable max individual cell voltage (3.45V in my case) once the SOC is reported (from the BMS in my case, but from the Smartshunt in yours) as being 100%. This, I found, avoids any drift of the reported SOC the the actual SOC, makes sure a full charge is achieve and gives more balancing time. So what my code does is when it see 100% SOC reported, but cell voltage is below 3.4V, it sends the Solis a 99% SOC CANBus value and a charge rate of just 4A (=batt capacity with a slow charge divider of 70).
yes, I use SOC, temp and voltage as inputs to the charge current.This is a reason for the adding of the Temp probes, but the battery temp would only be a feed for the MaxCurrent, the actual current would vary and reduce as battery voltage rises or falls.
LOL... yes... been there, done that... 2A doesn't work!Just to note the Solis has a minimum cut off, so if you go under i think 4a it just stops.
Interesting... maybe that is firmware-related though . Our Solis has been switching between 99% and 100% SOC every 30 mins or so, all afternoon.Also, Solis seems to have a restart of charging min of 96%, so if you hit 100 and then change to 99 it may ignore to charge again.
I think it's following the Pylontech spec, with Pylontech protocol, it says the inverter shouldn't restart charging until under 97%.Interesting... maybe that is firmware-related though . Our Solis has been switching between 99% and 100% SOC every 30 mins or so, all afternoon.
Its something! Thank you!Well, first try of LCD display isn't quite what I had planned. Few tweaks required!
View attachment 215616