diy solar

diy solar

Getting a Sol-Ark to charge batteries at configured current

tve

New Member
Joined
Mar 3, 2023
Messages
27
Location
California
I've been troubleshooting an issue with my Sol-Ark & Discover batteries, which is that I couldn't get the Sol-Ark to charge the batteries from grid at full current (275A).

Goal: ensure batteries are charged 100% just before the peak rate period starts at 4pm (California)

In the summer this hasn't been a problem thanks to solar charging the batteries all morning, but now I'd like the Sol-Ark to top off the batteries as late as possible just before 4pm, so it gives the solar a max chance to do what it can. Hence I'd like to charge at 275A from ~2:30pm-4pm. The batteries can take 367A of charge current, I have 2x 2/0 wires wired to both lugs on the Sol-Ark.

What I observe is that the batteries charge around 80A, give or take 10A, regardless of me tweaking settings. After a lot of ? I discovered that the problem lies in the battery to Sol-Ark communication (set-up using a Discover Lynk II, as approved and documented by both Discover and Sol-Ark). I don't know what exactly the Lynk tells the Sol-Ark but I see the "absorption-voltage" (modbus register 202) changing over time, presumably set by the Lynk over CAN. That voltage is not very high, e.g. <54V when the battery is ~20% SOC. It seems to always be 0.5V above "real time battery voltage" (modbus 317). Sooo, what seems to happen is that the Lynk tells the Sol-Ark this charging voltage, the Sol-Ark outputs that voltage, and the current results, and it's too little.

To test my hypothesis, I turned the CAN communication off and set the absorption voltage manually to something a bit higher and lo and behold I can push >270A into the battery! Is this how it works? The BMS tells the Sol-Ark the voltage to output and supposedly tunes that to adjust the current it would like to see??? I would have thought the BMS would communicate a max charge current and let the Sol-Ark figure out what voltage it takes to push the current. Odd.

I have a ticket open with Sol-Ark and one with Discover, let's see... I wonder how well this works with other BMS brands...
 
I've been troubleshooting an issue with my Sol-Ark & Discover batteries, which is that I couldn't get the Sol-Ark to charge the batteries from grid at full current (275A).

Goal: ensure batteries are charged 100% just before the peak rate period starts at 4pm (California)

In the summer this hasn't been a problem thanks to solar charging the batteries all morning, but now I'd like the Sol-Ark to top off the batteries as late as possible just before 4pm, so it gives the solar a max chance to do what it can. Hence I'd like to charge at 275A from ~2:30pm-4pm. The batteries can take 367A of charge current, I have 2x 2/0 wires wired to both lugs on the Sol-Ark.

What I observe is that the batteries charge around 80A, give or take 10A, regardless of me tweaking settings. After a lot of ? I discovered that the problem lies in the battery to Sol-Ark communication (set-up using a Discover Lynk II, as approved and documented by both Discover and Sol-Ark). I don't know what exactly the Lynk tells the Sol-Ark but I see the "absorption-voltage" (modbus register 202) changing over time, presumably set by the Lynk over CAN. That voltage is not very high, e.g. <54V when the battery is ~20% SOC. It seems to always be 0.5V above "real time battery voltage" (modbus 317). Sooo, what seems to happen is that the Lynk tells the Sol-Ark this charging voltage, the Sol-Ark outputs that voltage, and the current results, and it's too little.

To test my hypothesis, I turned the CAN communication off and set the absorption voltage manually to something a bit higher and lo and behold I can push >270A into the battery! Is this how it works? The BMS tells the Sol-Ark the voltage to output and supposedly tunes that to adjust the current it would like to see??? I would have thought the BMS would communicate a max charge current and let the Sol-Ark figure out what voltage it takes to push the current. Odd.

I have a ticket open with Sol-Ark and one with Discover, let's see... I wonder how well this works with other BMS brands...
I’ve been running almost two years without comms or problems with two 12K’s and a ton of diy LFP.
 
On your Sol-Ark screen hit the gear on the top right, "Li Batt Info" then check out the Charge Current limit. That field is set by the BMS (or in this case the Lynk II on behalf of the battery array) and (for the most part) the Sol-Ark just follows the BMS direction. I'm going to guess that field's value is going to be requesting a lot lower current than 275A. For multi-battery closed-loop battery systems the BMS that's talking to the inverter on behalf of the array needs to be configured to reflect the entire array's size/capabilities. With that are you certain that you've configured the Lynk II properly (?Lynk Access software?) for the number of batteries in the system and that the array is spec'd to accept 275A at the current SOC & temperature? Don't be surprised if the manufacturer's spec'd "Max Continuous Charging Current" only applies in the middle of the SOC range with <20% / 20°C and >60% / 35°C throttled back. Of course, they don't tell you that until you purchase the product and put in a ticket. :rolleyes:
 
I've been troubleshooting an issue with my Sol-Ark & Discover batteries, which is that I couldn't get the Sol-Ark to charge the batteries from grid at full current (275A).

Goal: ensure batteries are charged 100% just before the peak rate period starts at 4pm (California)

In the summer this hasn't been a problem thanks to solar charging the batteries all morning, but now I'd like the Sol-Ark to top off the batteries as late as possible just before 4pm, so it gives the solar a max chance to do what it can. Hence I'd like to charge at 275A from ~2:30pm-4pm. The batteries can take 367A of charge current, I have 2x 2/0 wires wired to both lugs on the Sol-Ark.

What I observe is that the batteries charge around 80A, give or take 10A, regardless of me tweaking settings. After a lot of ? I discovered that the problem lies in the battery to Sol-Ark communication (set-up using a Discover Lynk II, as approved and documented by both Discover and Sol-Ark). I don't know what exactly the Lynk tells the Sol-Ark but I see the "absorption-voltage" (modbus register 202) changing over time, presumably set by the Lynk over CAN. That voltage is not very high, e.g. <54V when the battery is ~20% SOC. It seems to always be 0.5V above "real time battery voltage" (modbus 317). Sooo, what seems to happen is that the Lynk tells the Sol-Ark this charging voltage, the Sol-Ark outputs that voltage, and the current results, and it's too little.

To test my hypothesis, I turned the CAN communication off and set the absorption voltage manually to something a bit higher and lo and behold I can push >270A into the battery! Is this how it works? The BMS tells the Sol-Ark the voltage to output and supposedly tunes that to adjust the current it would like to see??? I would have thought the BMS would communicate a max charge current and let the Sol-Ark figure out what voltage it takes to push the current. Odd.

I have a ticket open with Sol-Ark and one with Discover, let's see... I wonder how well this works with other BMS brands...
Just run open comms with Voltage control and make the settings you want.
Works fine.
 
> On your Sol-Ark screen hit the gear on the top right, "Li Batt Info" then check out the Charge Current limit. That field is set by the BMS (or in this case the Lynk II on behalf of the battery array) and (for the most part) the Sol-Ark just follows the BMS direction. I'm going to guess that field's value is going to be requesting a lot lower current than 275A.

Nope, the Lynk says "gimme 366A":

2023-12-01-15-49-03-368.jpg

> Don't be surprised if the manufacturer's spec'd "Max Continuous Charging Current" only applies in the middle of the SOC range with <20% / 20°C and >60% / 35°C throttled back.

Not true for the Discover batteries. You do get what you pay for. (Now whether that's worth it is a different question.)

> Just run open comms with Voltage control and make the settings you want. Works fine.

My experience is that it works, but not fine. The Sol-Ark's tracking of battery SOC ends up way off as far as I could tell. I could try again and have my little box query the Lynk so I can compare what SOC the SOl-Ark calculates vs what the BMS says. But really, the two vendors need to hash out how to make their equipment work together since both advertise that it works together.
 
My experience is that it works, but not fine. The Sol-Ark's tracking of battery SOC ends up way off as far as I could tell. I could try again and have my little box query the Lynk so I can compare what SOC the SOl-Ark calculates vs what the BMS says. But really, the two vendors need to hash out how to make their equipment work together since both advertise that it works together.
No doubt Sol-Arks SOC calculations are crap but if you use a Victron smart shunt it’s irrelevant.
 
yup, you can ignore the SOC from Sol-Ark and add a smart shunt to monitor that if you’re running open comms.
 
yup, you can ignore the SOC from Sol-Ark and add a smart shunt to monitor that if you’re running open comms.
I'm not interested in adding yet more equipment from yet more vendors... but how would I connect the smart shunt to the sol-ark?
 
I'm not interested in adding yet more equipment from yet more vendors... but how would I connect the smart shunt to the sol-ark?
You don’t need to connect the smart shunt to Sol-Ark, that’s purely for your own monitoring purpose. Sol-Ark would work based off of voltage readings and will very reliably charge/ discharge your batteries at programmed max current. As you said, Sol-Ark reported soc can be inaccurate and that’s where a shunt would be helpful.
That being said, if you want all your data/ monitoring at once place, you can always add a solar-assistant module.
 
Nope, the Lynk says "gimme 366A":
OK. And I'm going to assume under battery setup you have "Max A Charge" at 275A, grid charge checked and at 275A, and (If using Time-of-Use) that set at 14000W and charge checked?

If all that's good (and I bet it is), then I think you might be right...that the Sol-Ark can't induce the target current because the Lynk's requested charge voltage is too low at the current SOC (whatever that happens to be). Of course, that voltage lookup table is likely preprogrammed by the manufacturer, so it'll take a Lynk firmware update to solve the problem.
I wonder how well this works with other BMS brands...
It works fine on my setup in closed loop. I'm able to grid charge at upwards of 509A / 26.6 kW. Granted it isn't the full 550A but it's already a bit insane. o_O
 
Last edited:
No doubt Sol-Arks SOC calculations are crap but if you use a Victron smart shunt it’s irrelevant.
Hey.... finally I see someone else saying what i have been trying to tell sol-Ark!! And the problem that comes with the crap SOC monitoring is that you lose the ability to use time-of-use! If you set the Sol-Ark to 50% SOC in TOU and it ends up actually at 0%...... thta doesn't really work. Especially when trying to auto start a gen as well....

We often use Victron BMV-712 as an auto start, for lack of an actual AGS menu in Sol-Ark (which they told me flat out that they won't put into the menu......), but when using TOU at 50% you end up triggering the gen off low voltage while grid is on...... :rolleyes:

An exceptionally frustrating issue, to say the least!

Everyone says closed loop comms is the fix..... but what about our customers with existing battery banks...????
 
I would put money on it that the reason the absorb voltage setpoint is only 54V is due to potential cell imbalance issues! 54V will cause charge amps to slow down, because the Sol-Ark doesn't push a higher voltage (say 56V for instance) which would cause a higher charge rate to happen. The closer the battery gets to the output charge voltage of the inverter, the slower the charge rate! Also, keeping that low charge voltage results in longer absorb charge times, which gives their passive balancer in the BMS more time to "catch up" on imbalances. Active balancing is the answer to cell imbalance issues, and we have discovered that with a good active balancer (and decent quality cells of course), you can charge all the way up to 57 volts without issues!

Take a look at charge rate when there is a wider spread in battery volts vs absorb setpoint, and you will see that the closer the battery volts gets to that absorb setpoint, the slower the charging current that is happening!
 
Hey.... finally I see someone else saying what i have been trying to tell sol-Ark!! And the problem that comes with the crap SOC monitoring is that you lose the ability to use time-of-use! If you set the Sol-Ark to 50% SOC in TOU and it ends up actually at 0%...... thta doesn't really work. Especially when trying to auto start a gen as well....

We often use Victron BMV-712 as an auto start, for lack of an actual AGS menu in Sol-Ark (which they told me flat out that they won't put into the menu......), but when using TOU at 50% you end up triggering the gen off low voltage while grid is on...... :rolleyes:

An exceptionally frustrating issue, to say the least!

Everyone says closed loop comms is the fix..... but what about our customers with existing battery banks...????
I use open comms and voltage regulation.
TOU voltage can be used instead of SOC..
 
I use open comms and voltage regulation.
TOU voltage can be used instead of SOC..
I have tried that, but the issue we ran into is when you have TOU set to, lets say 52V, and grid is down and you hit your gen start volts. How long will the gen run from 50.7 volts to 52 volts? The specific scenario where we tried using this was with a 14kw Kohler standby gen for backup. If you start charging a 25kw LFP battery bank at ~8kw of charging from that Kohler, it won't take long to hit 52 volts!

TOU setpoint limits both grid AC charge as well as gen AC charge! So that just kind of makes it not possible to use a backup gen with TOU and voltage based.

I personally actually prefer sticking to voltage based setpoints as much as possible so that it doesn't matter if SOC tracking runs off. But ultimately, the best way to do TOU specifically, is using SOC%. (If you have an inverter that tracks it accurately, or closed loop comms that stay accurate.)
 
Back
Top