ENNOID XLITE & VESC

My plate is already quite full ATM. Many project ongoing,
I doubt I can satisfy all peculiar demand. Each different design requires time & effort.

2 Likes

I don’t think I ever posted a picture of the small I2C display while in operation. This display is quite convenient to the user. It shows the basic info such as State of charge, current, voltage, temperature & humidity in real-time. Still missing cell low & cell high, but it is coming in next firmware update. I’m now trying to get the info from a VESC over can bus so I can also display more data like RPM or speed.

Here is a picture of display with advanced display mode while being in load enabled state:

7 Likes

Note that the SOC is showing 100% at first even if the cella are down to 2.7V. This is because the BMS is bramd new… Once tge first charging cycke will be completed the counter will be reset and will start counting down during discharge.

4 Likes

Tried to kill the unit this afternoon by disconnecting power cables & balance wires in any possible order while being powered…

Still holding well and running… This BMS should last. At least it holds well so far with the initial testing. This week end will be dedicated to real world testing.

5 Likes

I also want to thanks the folks here on this forum who pushed me to adopt USB C … it is a great improvement over the old micro usb that I was using in every aspects.

8 Likes

Good skills! It’s getting time for better BMS systems.

Coming back to the licensing issues:
Obviously the UI looks exactly like VESC-Tool, so there is probably GPLed code from Vedder in the DieBieMS Repo. This would make the Code GPL licensed code. You need to double check that and apply the according license, no matter if the DieBieRepo contains the GPL license or not. Maybe it was just forgotten.

If code contains GPL licensed code, the entire code frame needs to be redistributed with the GPL license and copyright from the original source.

3 Likes

Is it normal that cells voltage on graph and bellow are not the same?

It is all on github and freely available umder the GPL license as the original vesc code. You can download and modify at will.

3 Likes

refreshs are done at diffetent intervals between the cell graph and the data shown at the bottom, so the values can be a bit different by a few millivolt between each measurements. I could probably fix that in the next update.

1 Like

Also, my benchtest in the workshop is actually a power supply with many resistors in series to simulate a battery pack. There are some fluctuations between measurement due to this. I keep battery packs normally ousiide of the workshop when doing experiments on new hardware. Much safer and insurances cannot complain…

1 Like

Keep in mind, I made all code in my brach labelel GPL, Tool app code & firmware as well in the ENNOID github branches/fork, but I have no control over the original DieBieMS project. There is now a large gap between both projects.

6 Likes

Cool, looks great!

2 Likes

Did you also try to disconnect the minus between the battery and the bms with a load connected (that consumes 1A for example?).

I also noticed that often when a weld in the pack breaks the pack gets split and the voltage across the split causes the LTC to fail. But there is little todo about that other then building the packs in a bit higher spec :stuck_out_tongue: .

I am also curious about the hardware schematics, will those become open source ^^ ?

1 Like

I did some tests today under load and also did some balancing while load being enabled. I think I fixed the issue with CV values different at the bottom than what is shown on the bar graph.

@JTAG: I haven’t tested disconnecting the minus terminal under high current load. 1A should not be a problem I think. The only device left on the main power path susceptible to break is the current sensor max common mode voltage. No real link between balancing gnd & main power path. The INA238 current sensor IC has a common mode voltage tolerance up to 85V and should survive full 18S battery voltage applied to it. There is a TVS on the lower minus side on the main power path to cover this situation where the minus terminal get disconnected & should support any back emf for a short period of time. Schematics will be released later, but for now only share the block diagram. Contact me PM if you want more info. You gave me a lot, I can give back I hope.

3 Likes

Charging & balancing completed of the brand new 12S 20Ah pack with a 4A charger! BMS got to a maximum of 40.2 degree celsius while doing the balancing. Mismatch was set to 0.005mV and the result fits well. Let try this afternoon a discharge under full load.

8 Likes

I did a 70A continuous discharge & the BMS seems to hold quite well even if the actual prototype PCB is using only 1oz thick copper PCB instead of 2oz. The maximum temp recorded was 26 celsius during discharge in the sealed pack enclosure next to the main FETs.

9 Likes

Essentially no heating at all then for a 70A discharge? I’m amazed. Could 26°C have been a typo?

Even using great FETs with a combined Rds-on of 1mOhm you’d get about 5W of heat. The sense resistor would also add about 5W of heat. I would normally expect 10W of heat to significantly increase the temperature of the board. Especially since you reached 40°C or so when balancing with a fraction of that amount of heat.

How were you measuring temperature? I couldn’t see an on-board thermistor in your renderings.

3 Likes

There is a humidity/temp sensor combined in si7020 or hdc1080 IC mounted at the backside. Quite close to main FETs & even closer to the main shunt resistor, but of course, this is not linked by copper, so there might be a lot of heat not reaching the IC because of heat transfer. There is also a large part of the heat that might go outside through the large main power cables connected. Weather is like -5 celsius outside so again this could have a positive impact on my readings. There is no such heat sink when doing balancing and I was actually almost at 5W of power dissipation with 11 channels out of 12 balancing simultaneously on a smaller surface area.

7 Likes

So hold your horses, this is preliminary. I still think that at room temperature, the heating would have been still reasonable.

4 Likes

I agree. FR-4 is a very effective insulator and the junction temps of the FETs and the temp of the sense resistor will be much, much higher than what you’re reading. :slightly_smiling_face:

Good to know, thank you! These details are really important as it directly affects how we compare the performance of different products.

3 Likes