Jump to content

Cheap LiFePO4 BMS?


jetzi

Featured Posts

1 hour ago, Markblox said:

Trying to find a NC relay greater than 30A for this element and Durite don't do one and I can't find one anywhere.  Can anyone point me in the right direction please.  The reason I need a NC is that it will be from relay one of a Cerbo generator control so I need reverse logic.

 

Relays above about 30A capacity tend to be called "contactors" for some reason. Albright is the go-to manufacturer and have a complete range.

 

Starting at https://www.albrightinternational.com/product_family/low-voltage-stud/ should get you somewhere.

 

MP.

  • Greenie 1
Link to comment
Share on other sites

1 hour ago, MoominPapa said:

Relays above about 30A capacity tend to be called "contactors" for some reason. Albright is the go-to manufacturer and have a complete range.

 

Starting at https://www.albrightinternational.com/product_family/low-voltage-stud/ should get you somewhere.

 

MP.

I have a couple on my electric drive system expensive but built to order and excellent quality and service 

Link to comment
Share on other sites

On 11/05/2021 at 21:33, Markblox said:

Just been reading part of this thread having stumbled upon it, very interesting.  Only yesterday I ordered a combined 230V/ 12V immersion element from the same makers of my Calorifier (Surejust) and that has a second safety cutoff for the higher temperatures gained from a second engine coil.

 

 

As the maximum temperature of any number of calorifier engine coils is determined by the engine thermostat, how can a second coil produce a higher temperature? It MAY get up to its maximum temperature faster but it won't be any higher. If the engine running temperature is too high for your system then it ma be simpler to fit a 60 degree engine thermostat. In theory this will make the engine less efficient but in practice I doubt its even measurable. Many direct raw water cooled engines, including those derived from automotive lumps ran for years with a 62 degree stat.

Link to comment
Share on other sites

4 hours ago, Markblox said:

Trying to find a NC relay greater than 30A for this element and Durite don't do one and I can't find one anywhere.  Can anyone point me in the right direction please.  The reason I need a NC is that it will be from relay one of a Cerbo generator control so I need reverse logic.

 

I can’t see why you would need an NC relay, the Cerbo relays are changeover types so it is just a matter of choosing either the NC or NO contacts (along with the com) to select normal or inverted logic to operate the big relay. Having an NC high current relay means it will be taking a significant current all the time the immersion is off, and it will “fail on” in the event of eg a wiring disconnection, which I suggest is not the best idea.

Edited by nicknorman
Link to comment
Share on other sites

1 minute ago, nicknorman said:

I can’t see why you would need an NC relay, the Cerbo relays are changeover types so it is just a matter of choosing either the NC or NO contacts (along with the com) to select normal or inverted logic to operate the big relay. Having an NC high current relay means it will be taking a significant current all the time the immersion is off, which I suggest is not the best idea.

Oh, got it.  Thanks for that, makes sense now and explains why I can't find any high current versions.

Link to comment
Share on other sites

3 hours ago, Tony Brooks said:

 

As the maximum temperature of any number of calorifier engine coils is determined by the engine thermostat, how can a second coil produce a higher temperature? It MAY get up to its maximum temperature faster but it won't be any higher. If the engine running temperature is too high for your system then it ma be simpler to fit a 60 degree engine thermostat. In theory this will make the engine less efficient but in practice I doubt its even measurable. Many direct raw water cooled engines, including those derived from automotive lumps ran for years with a 62 degree stat.

I think my wording has caused confusion.   The immersion element is dual voltage and has two stats, one for each element.  The temperature from the engine coil is circa 85C.  The dual immersion element, as I said has two rod thermostats and are both set to 65C from the factory but can be adjusted.  Just had a look at it and it can only be adjusted lower, not higher than 65C

Link to comment
Share on other sites

  • 2 months later...
On 14/07/2020 at 14:55, nicknorman said:

Hardware Version 3 of my alternator controller now installed “properly”. It has an OLED display (why not, they are under £4!).

 

3 screens showing:

Charge rate, mode (ie charge or float), target and actual SoC

Actual field (rotor) current and current limit, set and actual voltage

Alternator Rpm, battery current, alternator temperature and SoC (again)

 

Also added a galvanically isolated interface for VE-Direct ie to a BMV 700 series monitor (not tested because I don’t have a BMV battery monitor yet!). I ditched the emergency field isolation relay as not needed due to several layers of other protections.

 

Unfortunately in a rush to cut the aperture for the display in the lid of the box - hand held dremmel - so that looks pretty bad! 

 

On top are the two switches, one for charge rate (slow or fast) which limits the field current to about 1/2, or not. The other switch to select the SoC at which it goes to float voltage (50%, 80% or 100%).

 

The actual SoC of course is coming from the Mastershunt over CANbus, ditto the battery current (I_Bat on the display). The latter has a lot of smoothing (long time constant) done within the Mastershunt, so when you see the I_bat parameter winding up or down fairly slowly it is “lying”. Unfortunately nothing I can do about that.

 

In order for me to be allowed to fit it, Jeff says it must have personality hence the startup message...

 

First video is me starting the engine with the rate switch set to slow. Gives around 85A. Then I flick the switch to fast and you can see the field current ramping up to 4A (nearly maximum) fairly slowly, under the influence of the LRC (Load Response Control). If it snapped straight up to 4A there would be a big mechanical shock load. Battery charge current goes up to 175A and more, with the field current pegged at max even though the actual voltage is only 0.3v below target. It fair rams the current in - with the conventional regulator I would have been getting 120A and falling rapidly.

 

Second video taken shortly afterwards shows the actual SoC reaching the target SoC and it switching to float mode (13.3v for the time being). I’d set it to 80% just to prove it works, obviously this switch is only useful for Li batteries, for the time being with our lead acid batteries I’ll always want it on 100%.

 

 

 

 

 

 



Following on from the justly deserved ribbing for the quality of my metalwork, I finally got around to getting a 3D printer and made up bezels for the OLED displays for both the alternator controller (0.96”) and the BMS (1.3”). Here is the 1.3” one. Down to the boat tomorrow to install them.

 

E00B6205-F221-42B7-A880-9B23A97A709F.jpeg.2279bf5752a5a3660f81951d0525bed6.jpeg

 

6141CED7-348B-4CB9-A505-0F6268F944D9.jpeg.7467c51f56d7494352e8c9509112e7ee.jpeg

 

414D72D3-E223-4D55-A732-13333841CBAB.jpeg.ff2258097d36c47fee580326071aab57.jpeg

Edited by nicknorman
  • Greenie 3
Link to comment
Share on other sites

38 minutes ago, nicknorman said:



Following on from the justly deserved ribbing for the quality of my metalwork, I finally got around to getting a 3D printer and made up bezels for the OLED displays for both the alternator controller (0.96”) and the BMS (1.3”). Here is the 1.3” one. Down to the boat tomorrow to install them.

 

E00B6205-F221-42B7-A880-9B23A97A709F.jpeg.2279bf5752a5a3660f81951d0525bed6.jpeg

 

6141CED7-348B-4CB9-A505-0F6268F944D9.jpeg.7467c51f56d7494352e8c9509112e7ee.jpeg

 

414D72D3-E223-4D55-A732-13333841CBAB.jpeg.ff2258097d36c47fee580326071aab57.jpeg

Very nice Nick

Link to comment
Share on other sites

6 hours ago, nicknorman said:



Following on from the justly deserved ribbing for the quality of my metalwork, I finally got around to getting a 3D printer and made up bezels for the OLED displays for both the alternator controller (0.96”) and the BMS (1.3”). Here is the 1.3” one. Down to the boat tomorrow to install them.

 

 

 

There appears to be no end to your skills these days, electronic design, pcb layout, embedded software, and now 3d printing.

 

Last time I looked for OLED bezels there was not much available, and what there was was really quite expensive. You could have a little sideline selling these. I will have a couple of each size please 😀

Is the surface texture a result of the printing process or something that you chose?

 

...............Dave

Link to comment
Share on other sites

19 minutes ago, dmr said:

 

There appears to be no end to your skills these days, electronic design, pcb layout, embedded software, and now 3d printing.

 

Last time I looked for OLED bezels there was not much available, and what there was was really quite expensive. You could have a little sideline selling these. I will have a couple of each size please 😀

Is the surface texture a result of the printing process or something that you chose?

 

...............Dave

Quite happy to send you a couple of each, although it will have to wait a bit as we are off on the long drive to the boat tomorrow morning.

 

The surface texture is grossly exaggerated in the pictures, barely noticeable in the real thing. In part the texture is the result of a dotted paint finish on the glass bed (to assist with base layer adhesion I think) and also of course because the structure is made up of straight lines of extruded plastic. One can adjust the small gap between extruder nozzle and bed which helps to flatten the extrusions (currently it’s set to the thickness of a bit of printer paper) but I don’t think it will ever be 100% smooth.

 

Oh and cost of materials is 12.5p for the bigger one and about 10p for the smaller one. But I suppose if you are going to do it as a business venture (I’m not) you have to take into account the capital investment (£250 in my case) and time.

Edited by nicknorman
Link to comment
Share on other sites

Here is bezel and oled mounted on the lid of the BMS box. White straw thing is the activator for the PCB mounted push button that wakes the display and also resets the Tyco relay in the event of an emergency disconnect. I spent about 30 mins designing a turret to fit on top of the PCB mounted switch to guide the straw thing (which is actually a cut off cotton wool bud, which I’ll cut down once the box lid is attached to the box base!). As per second photo, the black square thing with the white straw coming out of the top. These 3D printers are really handy!

 

Oh and don’t worry about the cell voltage readings, this is at home with the BMS powered by a set of dodgy AA cells!

 

143BB2EA-860A-46B8-BA65-F6AD240999C2.jpeg.bf6abafc8ee7dbcf2b8c6e2be9498136.jpeg

 

 

037DF7AC-CE68-41DF-A2CC-AB0A2188D138.jpeg.e6a9d0d301eb0c52a527cf956dce4392.jpeg

Edited by nicknorman
  • Love 1
Link to comment
Share on other sites

17 hours ago, nicknorman said:



Following on from the justly deserved ribbing for the quality of my metalwork, I finally got around to getting a 3D printer and made up bezels for the OLED displays for both the alternator controller (0.96”) and the BMS (1.3”). Here is the 1.3” one. Down to the boat tomorrow to install them.

 

E00B6205-F221-42B7-A880-9B23A97A709F.jpeg.2279bf5752a5a3660f81951d0525bed6.jpeg

 

6141CED7-348B-4CB9-A505-0F6268F944D9.jpeg.7467c51f56d7494352e8c9509112e7ee.jpeg

 

414D72D3-E223-4D55-A732-13333841CBAB.jpeg.ff2258097d36c47fee580326071aab57.jpeg

 

 

looks like some gadget from a 1950's sci-fi movie - or Thunderbirds perhaps.   :rolleyes:

Link to comment
Share on other sites

  • 2 weeks later...

Finally had a chance to top balance the batteries on this trip. Just manually balancing for the time being, having got them properly in to balance it will be interesting to see if they go out  /  if I actually need to bother to write code to balance automatically. The cells were left all in parallel for months, albeit at a mid state of charge. So I was expecting them to be reasonably well balanced. In fact they were, but even a slight imbalance has a big impact at the top end of charging. The below graphs represent the 6 balancing cycles I went through - just taking a guestimate amount of charge out of the high ones at a time. My balancing gadget can take 2A, and the longest discharge I had was 30 mins (ie 1Ah) plus several at 15 mins for the top cells (0.5Ah). So in total probably no more than 4Ah (out of a 600Ah bank) was taken out of the top cell - less than 1%.

 

I'm charging at the slow rate which is about 90A. The first graph shows that the charging had to be stopped at about 14.1v because cell 4 was going over 3.6v (which is the top limit I've set. Also interesting to note the short time between it going over 3.45v and hitting 3.6v - about 10 mins or 15Ah which is 2.5% capacity. Red line is total voltage on the RH axis, the others are cell voltages on left axis

B1.JPG.4c12e18f2a264f3ffaabf4f4ae21c5cf.JPG

 

So a chunk of Ah out of cells 1 and 4, a bit less out of cell 2 gave this. Voltage got to 14.25 or so before hitting the 3.6v cell limit (The regulated voltage is set to 14.3v)

B2.JPG.d9d7799ac3dd076d59800608cb362bba.JPG

 

So more current out in stages gave these. I changed the voltage regulation to 14.2 for safety in the next one, back to 14.3 after that.

 

B3.JPG.f18851dbedd28161d0d35ec19f376a64.JPG

 

B4.JPG.e2db7dcff607280a3b30585e7ce8ac54.JPG

 

 

B5.JPG.0151612a8333078e8e374fd5ed4baa81.JPG

Close enough for government work, and the alternator regulator is hitting its limit of 14.3v.  Over just a few minutes the current subsides from 90A to 30A (which is 5% of capacity) causing the BMV and the Mastershunt to reset to 100% and the alternator regulator to switch to float. I'm pleased with that, it means that whilst I will normally terminate charge on BMV SoC at 80%, I can flick the switch to go up to 100% to re-sync the BMV and Mastershunt.

Edited by nicknorman
  • Greenie 1
Link to comment
Share on other sites

35 minutes ago, nicknorman said:

Finally had a chance to top balance the batteries on this trip. Just manually balancing for the time being, having got them properly in to balance it will be interesting to see if they go out  /  if I actually need to bother to write code to balance automatically. The cells were left all in parallel for months, albeit at a mid state of charge. So I was expecting them to be reasonably well balanced. In fact they were, but even a slight imbalance has a big impact at the top end of charging. The below graphs represent the 6 balancing cycles I went through - just taking a guestimate amount of charge out of the high ones at a time. My balancing gadget can take 2A, and the longest discharge I had was 30 mins (ie 1Ah) plus several at 15 mins for the top cells (0.5Ah). So in total probably no more than 4Ah (out of a 600Ah bank) was taken out of the top cell - less than 1%.

 

I'm charging at the slow rate which is about 90A. The first graph shows that the charging had to be stopped at about 14.1v because cell 4 was going over 3.6v (which is the top limit I've set. Also interesting to note the short time between it going over 3.45v and hitting 3.6v - about 10 mins or 15Ah which is 2.5% capacity. Red line is total voltage on the RH axis, the others are cell voltages on left axis

B1.JPG.4c12e18f2a264f3ffaabf4f4ae21c5cf.JPG

 

So a chunk of Ah out of cells 1 and 4, a bit less out of cell 2 gave this. Voltage got to 14.25 or so before hitting the 3.6v cell limit (The regulated voltage is set to 14.3v)

B2.JPG.d9d7799ac3dd076d59800608cb362bba.JPG

 

So more current out in stages gave these. I changed the voltage regulation to 14.2 for safety in the next one, back to 14.3 after that.

 

B3.JPG.f18851dbedd28161d0d35ec19f376a64.JPG

 

B4.JPG.e2db7dcff607280a3b30585e7ce8ac54.JPG

 

 

B5.JPG.0151612a8333078e8e374fd5ed4baa81.JPG

Close enough for government work, and the alternator regulator is hitting its limit of 14.3v.  Over just a few minutes the current subsides from 90A to 30A (which is 5% of capacity) causing the BMV and the Mastershunt to reset to 100% and the alternator regulator to switch to float. I'm pleased with that, it means that whilst I will normally terminate charge on BMV SoC at 80%, I can flick the switch to go up to 100% to re-sync the BMV and Mastershunt.

All looks quite familiar. I assume that C3's voltage actually drops towards the end because the charge current is dropping off? It's interesting how the same differences between the cells become evident at the very top of the charge cycle.

 

MP.

Link to comment
Share on other sites

11 minutes ago, MoominPapa said:

All looks quite familiar. I assume that C3's voltage actually drops towards the end because the charge current is dropping off? It's interesting how the same differences between the cells become evident at the very top of the charge cycle.

 

MP.


Yes the alternator regulation was kicking in. The other 3 cells were still increasing in voltage so they were causing the current to reduce even though C3 wasn’t quite full. But the extra charge that I could get into C3 is a tiny amount, I suspect. I could increase the charge voltage to 14.4 but again, taking the cells up to 3.6v or even 3.65v (the quoted max) is only going to add a tiny amount of SoC, much less than 1%. I think there is only a point in hitting 3.65v if you are charging at near to 1C.

 

The alternator regulation is great, the current remains at max (well, the max limited by limiting the field current to 50% in my “Slow charge” mode) to within a few 10s of mV of the regulated value.

 

Next time on the boat I’ll maybe do a graph of charge voltage, current, and SoC just to upset the luddites still using LA!

Edited by nicknorman
Link to comment
Share on other sites

2 hours ago, nicknorman said:


Yes the alternator regulation was kicking in. The other 3 cells were still increasing in voltage so they were causing the current to reduce even though C3 wasn’t quite full. But the extra charge that I could get into C3 is a tiny amount, I suspect. I could increase the charge voltage to 14.4 but again, taking the cells up to 3.6v or even 3.65v (the quoted max) is only going to add a tiny amount of SoC, much less than 1%. I think there is only a point in hitting 3.65v if you are charging at near to 1C.

 

I'm seeing cell voltages at charge-termination in the range 3.50  to 3.58, depending on which cell and state of balance, and end current of 20-25A. That suits me fine; I agree that there's no point in pushing the last percent for the sake of it.

 

2 hours ago, nicknorman said:

 

The alternator regulation is great, the current remains at max (well, the max limited by limiting the field current to 50% in my “Slow charge” mode) to within a few 10s of mV of the regulated value.

 

That sounds very good.

 

2 hours ago, nicknorman said:

 

Next time on the boat I’ll maybe do a graph of charge voltage, current, and SoC just to upset the luddites still using LA!

 

All that wasted engine run-time :(

 

MP.

  • Greenie 1
Link to comment
Share on other sites

This has been a useful little exercise for me because I’ve realised 2 things:

 

When is balancing required? when a cell hits 3.6v before the regulated voltage of 14.3v and current below 5% is achieved.

 

How to balance (simple algorithm)? Lop off 1/2 Ah or so from top cell (exact amount depends on difference between cell hitting 3.6v and lowest cell).

 

The physical layout of my batteries isn’t ideal due to them being split over 2 battery boxes of non-ideal size, and I think trying a detailed analysis of cells only just going up the knee isn’t going to work due to differing interconnect resistances and the relatively high charging currents (potentially over 200A).

Link to comment
Share on other sites

1 hour ago, nicknorman said:

How to balance (simple algorithm)? Lop off 1/2 Ah or so from top cell (exact amount depends on difference between cell hitting 3.6v and lowest cell).

 

The algorithm I use is only little more complex, and works well. Amount removed from a cell is proportional to the difference between its voltage at termination and the voltage of the _lowest_ cell voltage. (So, if the cells are 3.56, 3.55, 3.56, 3.60, then the balance amounts would be 1Ah, 0Ah, 1Ah, 5Ah, or some similar ratio.)

 

MP.

 

Link to comment
Share on other sites

On 03/04/2021 at 09:37, MoominPapa said:

and port-forward to the router behind it, so the BMS is now directly accessible from the global internet with the same TCP interface as before.

 

I have a virtual private server in the cloud running Linux which has a web server on it and I just made a trivial CGI program which runs the data-access tool to get the data, and reformats the data as brain-dead html.

 

I like the ingenuity, but would advise against any port forwarding especially to low CPU power potentially "hackable" devices.  This device is likely to be receiving thousands of "scans" 

 

Could the BMS not push the data to the cloud server instead ?

Link to comment
Share on other sites

4 hours ago, stuart said:

 

I like the ingenuity, but would advise against any port forwarding especially to low CPU power potentially "hackable" devices.  This device is likely to be receiving thousands of "scans" 

 

Could the BMS not push the data to the cloud server instead ?

 

For my sins, I've spent 20 years writing server code that is exposed to the jungle of the 21st century internet: https://thekelleys.org.uk/dnsmasq/doc.html

 

Making stuff secure and at least vaguely DoS resistant is therefore fairly second-nature. It's interesting though that one day I couldn't connect: it turned out that something/someone had made multiple TCP connections and used up all the (deliberately limited) connection slots. A quick rewrite to close the oldest connection when the limit is reached, rather than refuse new ones, fixed that problem.

 

MP.

 

Link to comment
Share on other sites

50 minutes ago, stuart said:

Nice to see something done properly for a change!

 

Embedded micros can rarely cope with high network usage or code written defensively

 

Most router electronics are deliberately designed to run dnsmasq these days.

 

Fortunately I stopped having to use it before I met Simon!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.