Jump to content

Is it a good idea to build my own battery packs


EUCMania
 Share

Recommended Posts

I have 3 and expecting 4 EUCs and an electric bike. My first EUC, a NB1e+, is about 2 years old. For safety, it is better to replace battery packs before they are unable to provide enough power, sending me to hospital. So, within 1 or 2 years, I will have to replace battery packs. I am thinking my options:

Option 1. Sell old EUCs, if there are buyers, and buy new EUCs.

Option 2. Buy new packs.

Option 3. Build the battery pack, using existing BMS. 

Pro and Cons or these Options:

 

Option 2. Expensive. 

Option 1. Sell old EUCs without a new battery is hard. So this is essentially the same as option 1 or option 3 in cost.

Option 3.  Build the battery pack, using existing BMS. This requires to buy a spot welder,and some supplies, costing $300 to start with. Good battery cells, eg Sony, Samsung, LG, Panasonic cells,  in US cost about $4+/each. Aliexpress vendors can sell them for about $2 in large quantity. I do not know these vendors reputations though.

Savings = costOfBuy - costOfBuild

Nb1e+:  $300 - 30*4 = 180

KS 16: 500 - 16*4*4 = 244

GW msuper:  500 - 16*4*4= 244

electric bike: 500 - 60*4 =260

-300 equipment cost.

total saving = 620 + the battery cells are fresher.

If I can get battery cells at $3/each, then I will save 620+218 = 838.

Please provide your opinion. 

Edited by EUCMania
  • Upvote 3
Link to comment
Share on other sites

I wouldn't use the old BMS. Maybe use some balancers. What about soldering Lipo packs ? First you need to check that all cell / pouch are very close in characteristics. Then do some bottom balancing at the beginning and limit the max charging voltage which is good anyway for battery life. @RolluS has done a Lipo pack and shown that balancing is not really needed (but still has a BMS) and also some KS BMS do not balance. You would need some fuses though, small one for charging cable and big one on discharging side.

Link to comment
Share on other sites

Thanks @litewave for the info. I like the second video in which he showed that "cell monitor" that flashes No 1 4v, No 2 3.9v etc. If that can be integrated to our EUC, then we will notice when some battery cells are close to its end of life, and take actions to avoid accident. I cannot hear the man's voice clearly. How did he call that little black monitor? I cannot search for it if I do not know its name.

 

Link to comment
Share on other sites

29 minutes ago, EUCMania said:

Thanks @litewave for the info. I like the second video in which he showed that "cell monitor" that flashes No 1 4v, No 2 3.9v etc. If that can be integrated to our EUC, then we will notice when some battery cells are close to its end of life, and take actions to avoid accident. I cannot hear the man's voice clearly. How did he call that little black monitor? I cannot search for it if I do not know its name.

 

Shawn is entertaining and fun to watch :lol: 

The black monitor is a cell logger which can monitor up to 8 cells in series. If more, then additional loggers are needed. 

So, the six components of the BMS-free design are:

1. 18650 batteries and nickel strips or resistor wire

2. battery holders (optional, he sells battery blocs)

3. the wiring harness with sufficient wires and connector to the hobby charger

4. cell loggers, 1 for every 8 cells (series)

5. fuses, to protect against overcurrent

6. hobby charger(s)

Edited by litewave
  • Upvote 1
Link to comment
Share on other sites

When making battery packs, we can add this little cell loggers to monitor each cell's voltage in real time when riding, and sound the alarm when necessary. One problem is how to show these numbers to the user without requiring him to open the shell.

I guess when a cell is close to death, the voltage drop across this cell ( or its parallel cells ) will be much more than average. But the logger cannot compute... Is there a way to use Uno board or Ardunio board to check voltage of each parallel cell block? Maybe yes but a Uno board only has 6-8 input pins?

 

Edited by EUCMania
  • Upvote 1
Link to comment
Share on other sites

17 minutes ago, EUCMania said:

I guess when a cell is close to death, the voltage drop across this cell ( or its parallel cells ) will be much more than average. But the logger cannot compute... Is there a way to use Uno board or Ardunio board to check voltage of each parallel cell block? Maybe yes but a Uno board only has 6-8 input pins?

Use a Nano to save space, it has the same pins as Uno + 2 extra analog input pins (due to using ATMega328P vs. "plain" ATMega328 in Uno). Even when you don't have enough pins, you can multiplex (or technically demultiplex, since it's combining many outputs into a single input) one or more analog inputs to read more values (one at a time) with a simple chip (for example 74HC4051, 8-channel analog multiplexer/demultiplexer https://assets.nexperia.com/documents/data-sheet/74HC_HCT4051.pdf ). My current robotics project does this for using just a single analog pin to read 7 voltage outputs from photodiodes/transimpedance amplifiers (one at a time, but it could do it hundreds or thousands of times per second, maybe even faster, far faster than I have need for, so I haven't even thought much about it :P). However, additional stuff is needed since the cells are at different voltages vs. the common ground of the Arduino (you can't have a VREF above Vcc), probably a unity-gain differential amplifier or similar, you'd have to deal with this even if you were using a single analog pin per cell... I'd have to think it further, but my first gut instinct would be looking into multiplexing both "ends" (plus and minus) of the cell to different inputs of a differential amplifier -circuit. Or resistor dividing each cell separately to get a relative voltage against common ground in the 0...(up to) 5V range.

Or if someone has schematics or reverse-engineered those multi-cell voltage displays, just copy the circuitry  ;)

Yet another edit:  Likely these days there are purpose-built ICs to handle this anyway... but I like to tinker with more "basic" stuff :D

Edited by esaj
  • Like 2
Link to comment
Share on other sites

18 hours ago, litewave said:

I personally would avoid buying LiPo batteries on AliExpress, Amazon or eBay. There is a reputable wholesaler in PA whom I have contacted but have not yet placed an order with.

Apropos Aliexpress, Micah just posted a new video this morning at EbikeSchool.com where he discusses this topic. He states that US resellers are just buying from Chinese sources and marking them up, and recommends one specific seller on Aliexpress. He also has great tips for saving money on batteries and parts this weekend:

edit: fixed link to ebikeschool.com on YouTube which pointed to the wrong channel.

Edited by litewave
  • Like 1
  • Upvote 1
Link to comment
Share on other sites

20 minutes ago, EUCMania said:

@esaj Resistor divider will work, I think.

Example: B is for 1 battery, 1k = 1k ohm

B---B----B

1k+1k

1k+----2k

Measure the voltage at the + sign, comparing with the common ground level

 

Yeah, that would likely work once you work out the needed resistance values. A few things to take into account:

The largest divider from the "top-most" (highest voltage vs. gnd) cell will drop most voltage over the "high-side" resistor, take the power dissipation into account. Even if the current is milliamps, the large voltage drop can cause a large power drop over the resistor. Calculate using "worst case"-scenarios, ie. highest voltage that should occur (which for short moments could actually be higher than the maximum battery voltage, if there are spikes). Chaining multiple resistors may be needed, or using larger power resistor. Capacitors may be needed in parallel with the lower resistor to filter out noise. Of course one solution that immediately comes to mind is to use large resistance values to limit the current to very low values, but then if there's also a capacitor in parallel with the lower resistor, the cap leakage current may cause errors (I think it was either @Christoph Zens or @DaveThomasPilot who pointed this problem out in the actual mainboard battery voltage measurements in some boards using very large resistances, where the board could report wrong voltage). Even if there isn't a separate filtering capacitor, there are always stray ("parasitic") capacitances in the circuit and in the ADC-input, so this might become an issue even without any filtering cap. And as always 1) I'm just a hobbyist, so better fact check my brainfarts ;) and 2) when dealing with unprotected cells, take caution. Adding at least something like small current (20mA? or whatever is "suitable") PTCs and/or other fuses in each voltage measurement line might not be a bad idea, as well as protections agains overvoltages and "whatever" is deemed necessary... It would suck if your own circuitry causes the pack to go boom or fails to warn you when it should  ;)

Edited by esaj
  • Like 1
  • Upvote 2
Link to comment
Share on other sites

4 hours ago, esaj said:

Use a Nano to save space, it has the same pins as Uno + 2 extra analog input pins (due to using ATMega328P vs. "plain" ATMega328 in Uno). Even when you don't have enough pins, you can multiplex (or technically demultiplex, since it's combining many outputs into a single input) one or more analog inputs to read more values (one at a time) with a simple chip (for example 74HC4051, 8-channel analog multiplexer/demultiplexer https://assets.nexperia.com/documents/data-sheet/74HC_HCT4051.pdf ). My current robotics project does this for using just a single analog pin to read 7 voltage outputs from photodiodes/transimpedance amplifiers (one at a time, but it could do it hundreds or thousands of times per second, maybe even faster, far faster than I have need for, so I haven't even thought much about it :P). However, additional stuff is needed since the cells are at different voltages vs. the common ground of the Arduino (you can't have a VREF above Vcc), probably a unity-gain differential amplifier or similar, you'd have to deal with this even if you were using a single analog pin per cell... I'd have to think it further, but my first gut instinct would be looking into multiplexing both "ends" (plus and minus) of the cell to different inputs of a differential amplifier -circuit. Or resistor dividing each cell separately to get a relative voltage against common ground in the 0...(up to) 5V range.

Or if someone has schematics or reverse-engineered those multi-cell voltage displays, just copy the circuitry  ;)

Yet another edit:  Likely these days there are purpose-built ICs to handle this anyway... but I like to tinker with more "basic" stuff :D

Then, I can use a separate power source, say a battery, to power the nano board and provide the reference voltage. Then,  can I use the multiplexer to connect to every parallel block and measure voltage separately? Example. First switch the connections to 1st block and measure the voltage with the - of the block connecting to the reference battery's -. So, we are just measuring the relative voltage of the block vs the reference battery's voltage. Then switch the two connections off, Switch to next block... repeat. This way, i get voltage of every block relative to the reference battery. Since we are only interested in the variations of voltages of blocks, the absolute voltage is not important.

Another method: If the nano board can measure current, then, I just switch to connect a block to a resistor, measure the current through the resistor, and compute the voltage.

 

 

Edited by EUCMania
  • Upvote 1
Link to comment
Share on other sites

3 minutes ago, EUCMania said:

Then, can I use the multiplexer to connect to every parallel block and measure voltage separately? Example. First switch the connections to 1st block and measure the voltage, then switch the two connections off, Switch to next block... repeat.

Yes, that's the general idea. Since the voltages are (or at least should be) divided to some "suitable" (0...up to 5V, unless you use lower VREF-input on the Arduino) voltage area, nothing more complicated should be needed... well, I'd at least add something like 5.1V (or whatever is slightly above or at the VREF-level) zener- or TVS-diodes to shunt out any high voltage spikes that might damage the ADC, but that's just me  ;)   Multiple consequent readings & averaging (and/or low-pass software filtering) in software could be used to further get rid of any glitches / noise in the signal, but I guess there's not that much noise in the cells themselves (but if you have long wires going to the measurement circuit, they might pick up all sorts of noise from the environment, like the motor).

  • Upvote 1
Link to comment
Share on other sites

15 minutes ago, EUCMania said:

So, the voltages across input pins must be within 5V or 9V? Will it burn if over 30V

Yes, it will definitely burn with 30V, likely also with 9V. The datasheet for the ATMega328(P) at  http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf  states under absolute maximums:

Voltage on any Pin except RESET with respect to Ground                  -0.5V to VCC+0.5V

And the absolute maximum for the supply voltage (VCC) for the chip itself is 6V. Usually Arduinos are powered with 5V, which means the analog input (or any other) pins should never be subjected to voltages below -0.5V or above 5.5V (in reference to the GND of the Arduino).

 

Another thing I noticed on a quick glance under the ADC-chapter:

The ADC is optimized for analog signals with an output impedance of approximately 10K ohm or less. If such
a source is used, the sampling time will be negligible. If a source with higher impedance is used, the
sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary
widely. The user is recommended to only use low impedance sources with slowly varying signals, since
this minimizes the required charge transfer to the S/H capacitor.

(S/H refers to "Sample & Hold" -circuitry inside the ADC, aka Analog-to-Digital-Converter)

Basically what it's saying is that if you have a higher than 10K resistor on the high-side of your divider, you must use a longer sample time (or maybe the chip is smart enough to adjust itself, didn't read that far ;)). Personally, I'd probably stick some rail-to-rail -opamp there as a buffer.

Edited by esaj
Link to comment
Share on other sites

  • 1 month later...

Interesting suggestion.  I would have concerns about using cell loggers in the way suggested in the video.  Has anyone done it here yet?

The design in the video would work fine for an e-bike but with the very limited space in an EUC, fitting extra connectors and LiPo alarms could be problematic but maybe with some EUCs there is room for this. 

The BMS concern, if I understand correctly, is basically that you have no individual cell feedback.  Balancing cells with a RC LiPo charger is only necessary when cells are already breaking down out of spec and the trickle discharge of the BMS can't keep up with balancing them.  A RC charger may do better balancing but they balance in the same way that the BMS does through a power resistor.  But they may be able to do it at higher currents (typically 0.5-1A max).  

Why not just add a couple LiPo alarms to an existing pack and be done with it?  It would work with the functions of the BMS and allow you to be alerted if a cell goes out of spec.  Then you can worry about how to correct it.  And the battery pack doesn't have to be broken apart to install multiple LiPo alarms.  Just put the first one on cells 1-8 and the second starting at cell 9.  Some RC charges will allow you to balance with just the balance leads if the cells start going out of whack you can just hook up a charger to the leads used with the LiPo alarm and balance them that way.  But there would be an issue remaining....

Most of the battery packs have packs in parallel and these aren't balanced with my suggested method.  The only way to balance these would be to break the pack apart.  But then you have to have a certain level of experience and confidence to do this and to ensure that you don't connect the packs together without them being at the same voltage or you can cause a short and damage your batteries.     And doing this creates a big charging hassle with lots of mods having to be done to the EUC to try to make it as convenient as possible.  LiPo alarms are small and their alarms are loud.  

I've documented the BMS functions in a Ninebot in the past here:

 

I think the BMS provides value to an EUC.  I don't like low voltage cutoffs though.  And I don't like over voltage cutoffs either.  And I don't like having cells in parallel that are never balanced.  But all of these things can be seen before they are an issue if you have LiPo alarms in addition to the BMS couldn't it?

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

I've been considering building my own packs as well.  My son's Ninebot One E+ has over 1000 miles on it and the range is going down quite a bit now.  I have a bad battery pack for my Ninebot One P with about 1/10th the miles of his.  I've done a little research and found this forum thread to be VERY useful for documenting what is needed although our EUC batteries can't use the spacers referenced for most of the guides due to space limitations.   

https://endless-sphere.com/forums/viewtopic.php?f=14&t=68005

I also found the LG MJ1 18650 battery looks to have good specs: https://batterybro.com/blogs/18650-wholesale-battery-reviews/40773059-new-lg-mj1-18650-battery-review-3500mah

Anyone looked at anything better for equipment or batteries?

 

 

  • Like 1
Link to comment
Share on other sites

14 minutes ago, Cranium said:

I've been considering building my own packs as well.  My son's Ninebot One E+ has over 1000 miles on it and the range is going down quite a bit now.  I have a bad battery pack for my Ninebot One P with about 1/10th the miles of his.  I've done a little research and found this forum thread to be VERY useful for documenting what is needed although our EUC batteries can't use the spacers referenced for most of the guides due to space limitations.   

https://endless-sphere.com/forums/viewtopic.php?f=14&t=68005

I also found the LG MJ1 18650 battery looks to have good specs: https://batterybro.com/blogs/18650-wholesale-battery-reviews/40773059-new-lg-mj1-18650-battery-review-3500mah

Anyone looked at anything better for equipment or batteries?

 

 

When you think about building a battery for your 9b...i would take into account 2 things:

- get another BMS, the Ninebot has no balancing on the BMS, thats why its cells die earlier!

- Also use some higher amperage capable cells than the one you mentioned! As you only have 2 parrallel setups and the amperage is only splited by those 2 serial setups. Use at least Samsung 30Q (15Amp)or LG HG2(20Amp)...both have 3000mah.

In the 3500mah range you only find a maxiumum of 10Amp cells...thats not enough for the e+/p!

i personally would invest into newer, better EUCs...as the market has moved on and the 9b isnt uptodate anymore!

Much much better wheels are available now...and even if you build a pack for the P...who knows which trouble comes next!

At least thats my opinion

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

1 hour ago, KingSong69 said:

When you think about building a battery for your 9b...i would take into account 2 things:

- get another BMS, the Ninebot has no balancing on the BMS, thats why its cells die earlier!

- Also use some higher amperage capable cells than the one you mentioned! As you only have 2 parrallel setups and the amperage is only splited by those 2 serial setups. Use at least Samsung 30Q (15Amp)or LG HG2(20Amp)...both have 3000mah.

In the 3500mah range you only find a maxiumum of 10Amp cells...thats not enough for the e+/p!

i personally would invest into newer, better EUCs...as the market has moved on and the 9b isnt uptodate anymore!

Much much better wheels are available now...and even if you build a pack for the P...who knows which trouble comes next!

At least thats my opinion

Good points.  What BMS do you suggest that is better with parallel balancing and supports 15S/2P configurations?

The batteries in the E+ are 2900mAH and rated for 10A discharge rates.  The P is 3000mAH and rated for 20A discharge rates.  So you are right the LG MJ1 would be an under powered choice for the P and the LG HG2 would be better (which is actually what the P has in it already).  :)  I documented all this already a couple years ago here but my memory is obviously in need of a refresher.  If I put the HG2 in both, it would be overkill for the E+ but would allow me to buy 60 batteries and get a better bulk discounted rate.

I'm not sure what you mean by the E+ and P not being up to date.  Besides faster and larger batteries, what are the Ninebot wheels lacking within their rated operating parameters that newer wheels do? 

I would prefer at this point the KS 16S (and will probably get one for myself) but I don't want to just throw out wheels because their battery packs are bad.  Once something more major goes out that I can't fix, I'll take them to the curb.  But I also will be trying to replace the hall sensor in my old motor and then may have a motor and control board spare for the P.  And if I replace the Mosfets in a couple of other boards, I may even have a another spare board for the P & E+.  :)  

  • Upvote 1
Link to comment
Share on other sites

1 hour ago, Cranium said:

I'm not sure what you mean by the E+ and P not being up to date.  Besides faster and larger batteries, what are the Ninebot wheels lacking within their rated operating parameters that newer wheels do? 

I would prefer at this point the KS 16S (and will probably get one for myself) but I don't want to just throw out wheels because their battery packs are bad.  Once something more major goes out that I can't fix, I'll take them to the curb.  But I also will be trying to replace the hall sensor in my old motor and then may have a motor and control board spare for the P.  And if I replace the Mosfets in a couple of other boards, I may even have a another spare board for the P & E+. 

I can assure you that for example a KS16S or a GW Tesla would be a much better experience from driving algorythm and max Speed. I personnaly would not trust any device bringing me over 25kmh and only having a 340wh battery pack. But thats -like said- all my very personal opinion. I can understand that you want to save your wheels as Long as possible.

The main Argument for me on the 9P is that nearly all 9P have had such a bad statistics on boards and Motors, that 9b themself never really released the P wheel worldwide. In Contrary, it was withdrawn from several markets! So i dont know if it is worth to put all that work and Energie in it - once again! I mean your Special P seams to be the best example of the 9b P Quality, or? Sounds like Nothing as Trouble  with it.....

For the BMS, Sorry i can not give any advise which BMS to use....it is just my knowledge that the 9b BMS are missing balancing, but unfortunatly i only would now a German source -1radwerkstatt.de- who can perhaps helpout with better BMS's.

 

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...