Guidance needed on charge controller project

Hello Forum,

I am setting out to make a means to control
one of these
DLS 240 27V 25A Converter and Charger - 25 Amp AC\DC Power Converter and Battery Charger for 24V battery charging in 240VAC applications
using one of these
IoT Relay – Digital Loggers Direct
In order to charge a battery

I'm doing this because I cant seem to find a voltage sensitive relay that meets my requirements.

I plan to query the batteries voltage ~once per second
The function will look something like this
voltage = voltage_get();

Based on the value of $voltage I will call
relay_open() or relay_close()
to control the charge source

I have not yet purchased an arduino.
I guess that its faily straight forward to control the relay linked above.

I could get the battery voltage in at least 2 ways.

  1. Query the bms using this library GitHub - FurTrader/Overkill-Solar-BMS-Arduino-Library: Just the Arduino Library for Overkill Solar BMSs
  2. Use a voltage divider
  3. Some method that I haven't thought of

Option #2 is my preference for now.
I prefer it because it allows me to continue monitoring/administering the bms via the android smartphone app
Project would not have be dependant on a specific bms.

I would like this method to work for 12, 24 and 48 volt nominal batteries.
Mine is 24 volts lifepo4.

The topology would be something like this

ac {
dc {

Please suggest a voltage divider or similar that is accurate to better than ~10 millivolts and ranges up to 58.4 volts.
Ideally not too expensive and not too hard to implement.
Please also suggest an arduino to use for this my first arudino project.

My eyes and hands are not very good so the less fabrication the better.
Also my coding skills are from the last millenium.

If you have an alternative solution I will be glad to hear it.

I will be glad to answer any follow up questions.

Thanks in advance for your guidance.

You need to do some studying regarding voltage dividers. They are as accurate as the resistors You use. Using trim pots could improve the accuracy but do You have measuring instruments in that class? 58.4 volt with a resolution of 10 mV calls for a 16 bit ADC. For an accuracy of 10 mV You likely need and 18 bit ADC. Working with such precision calls for knowledge.

1 Like

Thanks for guidance.
My dvom and the bms are within 3mv of each other from 3.0 volts to 28.8 volts.
Is the ADC part of the voltage divider?

No. You present an analog voltage to an analog input of a controller, or You use an external ADC for higher accuracy.

1 Like

I found this.

Goes up to 40 volts.
Will probably give up on the 48 volt nominal setup.
Was a stretch goal anyways.

You cannot charge a lithium battery with that charger - lithium batteries need a specific constant current /voltage charger and cannot be left on float .
For large lithium batteries you also ideally need to balance the cells .
Getting this wrong can be very dangerous

Read me

That device is a fully automatic charger , most suited to lead acid and you don’t need to then switch it off or measure any voltages . It is designed to maintain the lead acid battery fully charged by being left on .
If you want to disconnect when fully charged you may also need to remove the battery leads ??

You can safely* leave it running and disconnect manually at some point .

  • taking usual precautions when charging batteries and assuming that device is of good quality .

It is a cc/cv charger and it can be used to charge lifepo4 batteries just fine.
The problem is it doesn't have any charge termination logic.
That is what I am adding with the relay.
I didn't mention it in the original post but my charging strategy is constant current without constant voltage.
That means that I will set the charger voltage high enough that I won't reach constant voltage phase before I terminate the charge.

The cells are top balanced and the battery is bms protected.
Also they are lifepo4 cells.

Just turning off the ac supply to the converter/charger will terminate the charge just fine.

I would not design a LiPo charger that did not monitor cell temperature again, you want to know cell temp as a safety measure.

Note the use of again, been there done that.


1 Like

The are lifepo4 cells.
I hear you though.
I can get that information along with many other stats from the bms.
I'm exploring that branch now.

I ended up using one of these Smart BatteryProtect - Victron Energy for voltage sense and to trigger the relay.
A no code solution and it works as expected.