Improving runtimes by swapping Lipo battery type? Advice sought please

Hello everyone.

Absolute novice here seeking proper advice from humans after spending days feeding everything into various Ai platforms and then getting contradictory answers time and time again.

I made the mistake of joining a US RC forum because it has a sub-section specifically for lipo+chargers but I was accused of being a bot, accused of not attempting to find the answer beforehand etc etc.

My question is fairly straightforward (for anyone with a real interest) but the explanation beforehand is a bit lengthy.

Are there any objections to me posting the whole question, please?

No objections, forum is for asking questions no matter how simple or complex

1 Like

Thank you, much appreciated.

(This is cutnpasted from my Notes app because I wanted to get it all in order before I asked)

I have small robotic device and I would really like to ask you all for some guidance to solve a problem I have discovered… but…I will have to be fairly vague about it and exactly what the device does, certainly won’t be able to provide any photos etc, because it is not yet released (I hope you understand).

I have no access to firmware. No intention of making any modifications to the mechanics or PCB etch. I can use a soldering iron and read/follow clear guidance but what I am hoping to achieve needs to be completely confined to one specific area and be non-invasive and 100% reversible (and certainly, with your help, cause no damage to the device nor leave any trace of my tinkering) … It may, after all, need to be returned to the project at some point. But, if (with your help) we find a solution to the issue I have discovered, then I’ll be making sure that they know​:grin:.
And, I’ll be up front, everything I have read so far has been at the suggestion of various Ai platforms and the more I read, the further down the rabbit hole I’m getting and it’s time for some human intervention/interaction.

A brief description of the device.
It is small, has two wheels driven by N20 brushed DC motors. The PCB components are, from what I have discovered, not the absolute state of the art but still current and are more than adequate for the task and actually capable of much more than they are being asked to do. A decent SOC for PWM control, h-bridges etc… The little thing does it’s job quite well, certainly accurately enough for its intended purpose.
But it has a few annoyances.
And the frustrating thing is they are, in some ways, linked.

1…It currently operates (according to my rudimentary audio recordings and analysis of said recordings by several Android apps and also online platforms) at a pwm frequency of 1khz (with harmonics at approximately 2khz and 5-6ish). It whines like a giant mosquito trapped in a jar and is thoroughly unpleasant and distracting (certainly for me and I believe it will be for everyone else, it is definitely off-putting considering it’s intended use). Everything I have read suggests that changing the PWM is relatively simple, just a few changes to the code that really doesn’t impact on anything else. Importantly, a change of the PWM up to 12khz minimum (16khz > even better) would result in what I would consider to be a “net-positive”. Any increase in heat generation on the chips or motors will be negligible, active times are so short and idle times plenty long enough for the heat to dissipate. Improved user enjoyment (no whine) would be a huge part of that “net-positive” but more efficient motor response and smoother travel would make it aesthetically more pleasing to interact with. But I can’t do anything about that, the firmware is locked down and the devs seem to consider that the current levels of noise are acceptable… They’re in for a shock, I’m confident of that.

2…However… The actual run-times are a tremendous disappointment :confused::frowning::confused::frowning::confused:.
It is powered by a tiny 701530 300mah 3.7v Lipo. My understanding is that it was originally specced out and could achieve 6-8 full “cycles” (plenty) before it would automatically return to its charging dock (powered by 5v usbc). Component failures in the drivetrain, after continuous testing, forced a change of gearbox/ratios. I strongly believe this change is the root cause and has had a knock-on affect on run-times and it now, repeatedly and 100% consistently, completes only 2 full cycles and very early into the third, voltage sag triggers the command to return to the dock. It’s so, so frustrating. And again, when it’s out in the market, owners will absolutely not be satisfied with that drop in expected performance. Not only that, if the device needs to recharge three times more often, that little battery is going to degrade pretty rapidly.
It’s a shame that this is how it’s turned out because the package as a whole is well made, improves on the similar devices (currently available) in several important aspects. But this one particular issue will be a killer, I couldn’t be more sure of that. Nothing can be changed for this upcoming market release, it’s pretty much boxed and ready to go. When the complaints flood in, they will then realise that they need to design a version 2 but even that will need to maintain the overall dimensions of the existing device for it to be compatible with the rest of the package otherwise the whole thing entirely would need to be changed. So my solution (if it works) could be delivered as an aftermarket upgrade without any physical changes required.

And this is what has brought me here, seeking your thoughts and advice.
Because (I thiiiiiink) that there is a fairly straightforward solution that I would like to test but I need real advice from real people before I take the plunge (and I absolutely don’t want to break anything).

There are some unfortunate physical limitations that can’t be changed. I say “can’t” but, if it was actually mine to do as I please, I would have Dremeled it’s guts out. But I can’t.
Meaning the battery chamber is the problem because it was designed for this particular battery with its teeny tiny JST-SH 1.0MM plug. It was always intended to be user serviceable regarding the battery, so it’s plug/socket are accessible. But the space is, for all intent and purpose, restricted to 10mmx20mmx35mm. Even that is misleading though, because the design of the robot has a rounded nose and this is where the battery is located, so the battery maximum length is directly related to the thickness..thicker would need to be shorter and up to 8mm could probably use the full length etc, because of how the battery sits in the chamber. And normal charging expansion and manufacturing tolerances need to be accounted for. My best guesstimate is those dimensions all need to be reduced by 10% to be safe and make it easier for users to install. Fortunately, it isn’t an actual 10x20x35 sealed box, they’re just the boundaries in space and it’s reasonably “open” air around it, there’s just screw-bosses and reinforcement ribs in the lid etc that create these size restrictions. The one absolute is the 20mm(minus 10%) because the lid must go back on for the public release. Another fortunate is that it’s away from the motors etc so their heat generation will have minimal affect. Unfortunately, the bottom edge of the battery sits squarely over about 50% of the main controller chip (separated by a thin layer of insulating foam). As I mentioned earlier, the chip is working well below it’s capabilities and I have not noticed any heat but squashing a thicker battery down on it isn’t my idea of prudence…Dear Prudence..Won’t you come out to play? (that’s given my age away!).
I have already purchased a 702030 350mAh battery and made an adapter cable to go from JST-PH 2.0mm down to the SH and every test now produces exactly 1 more full cycle and then it automatically docks. The 20mm of the battery actually turned out to be 19.23 (the folds of the foil compressed slightly) after I gently coaxed the lid back on and screwed it shut. But that was before I understood that these packs can swell by 5-10% normally during charging.
One more cycle is better but nowhere near enough.
The plethora of Lipo battery shapes and sizes is bewildering and annoyingly difficult to choose from, mainly because it’s obvious that far too many sellers have them printed with mAh capacities that just aren’t possible given the energy density characteristics of these packs. So limiting myself to what I hope are “reliable” brands such as Eemb/Liter/YDL (recommendations for other brands are very, very welcome) has meant that the sizes I would have liked to test (ie 901730, 801835) just aren’t available from stock. And there’s no point wasting money on spuriously claimed capacities.. I would rather (and will) spend the money on a decent Lipo charger that can accurately gauge the charge/discharge rates and confirm the mAh. There are several standard cells that are in the range of 450>600mAh that would physically fit but just aren’t available from stock anywhere. The ones that I could purchase are all 20mm wide and that’s not going to be viable (as a permanent solution) now I know what I know. A caveat to this… If I do get to keep it, I would be happy to operate it with the lid off (it makes no difference to its operation) so 20mm could work.
I’ve had lots of back and forth with manufacturers in China but, unless I pay silly money for expedited shipping, the wait is at least a month.

Days and days of reading and asking Ai questions has lead me to believe that there is a solution… But these Ai advisors are fickle! And time and time again they will spend ages explaining what can be done and what I need etc… But then when I return and ask the same questions with specific reference to components they told me to source, they will contradict everything previously suggested and tell me it can’t be done.

This, in a nutshell, is what has been suggested.

Voltage sag is the trigger (I concur).
300mAh is never going to be enough (I concur).
The 350mAh giving me an extra cycle indicates that a cycle consumes in the region of 50mAh (sounds reasonable?).
Therefore, 600mAh would be a reasonable capacity to achieve the number of cycles it was intended for, with a tiny bit to spare (again, sounds reasonable?).
But those capacities aren’t available in a physical form, off the shelf, for me to test.

Ai then continued.

Because voltage sag was the trigger, swapping to a high-c Lipo would effectively eliminate this (sounds good?).
Because the battery could deliver the power without voltage sag triggering the automatic recharge so early, I would actually get more cycles from a high-c 300mAh before needing to recharge (sounds good?).
Therefore (and because I could order some right now for delivery next day) there are 752035 400mAh high-c cells I could try that may get me close to the 6-8 expected cycles. Just for brief testing (and my earlier caveat) I am happy to leave the lid off but that could not be a permanent solution for the public release (sounds good so far?).

Then they throw a spanner in the works.

High-c Lipo’s generally don’t have pcm/bcm (defeats the purpose?).
I want a solution that does include some safety measures (that’s an absolute necessity for the retail device).
So they tell me I could use the pcm from the existing battery and, because it was already compatible with the charging system and the power requirements of the robot, this would be an “excellent” solution (I’m feeling better).
But I don’t want to butcher the only “correct” battery I have. I explained this and asked if the pcm from the second battery would be suitable? Now they start telling me that using the pcm from a standard battery would be (depending on the time of day I have asked)

dangerous

pointless as it would bottleneck the current

a great idea

not going to work and will almost certainly cause the robot to stop in its tracks if it tried to draw too much current

back to excellent.

And now, finally, exhaustingly, after feeding it every bit of specific information I have about the components I have identified, they seem to have settled on this next solution. I have fed them with the same information several times and the answer is the same.

Source high-c cells that DO have a protection circuit (found some).
Source some pigtails with JST-SH 1.0MM plugs (already have some).
Solder into the positive supply a 0.5amp resettable ptc fuse (to prevent any high current spikes reaching the PCB or even the pins/28awg wire in the JST-SH plug (sounds reasonable?)… (but if it is tripped the robot is then innactive until it resets surely?).

Plug in and test.

So, real people who have stuck around to the end of this saga.

What do you think?
Will it work but be risky?
Will it work and be perfectly safe?
Is there a better solution?
Or is this just a doomed quest?

The resettable fuse sounds plausible but I am thinking that I need to somehow find just the right size that will be a safe balance of protection but not keep tripping every time the device hits an obstacle and (momentarily until it’s control code recognises and reverses) it tries to drive and the motors draw more current and stall.

If we can solve this step, I think that someone here will also have the knowledge to attack the firmware somehow (intercept the firmware download?) and start playing with the PWM… But that’s for another day.

Maybe a higher mAh could work? 300 seems a little small for what you’re doing.

I have searched high and low for a reliable brand (not something that says 600mAh but is really 200) but got nowhere.

That’s why the high-c solution was put forward.

It sounds logical in it’s reasoning for why it would work. And if it was mine to do with as I pleased, I would have ordered the bits yesterday and have my answer by now. But I can’t do anything that might damage it.. Not yet.

The problem with the term “sag” is that it is used to cover a multitude of sins.

The most common understanding is the reduction in voltage under load due to resistance (mostly due to ionic diffusion resistance in the electrolyte/electrodes - this is important because while it looks more or less like normal DC resistance, critically it gets worse when the cell is cold - the opposite of metal conductors). If you’re running close to the discharge limit of the cell, especially if it’s cold, the voltage drop due to internal resistance makes the voltage at the terminals so much lower that the output power is curtailed significantly (power = current x voltage, but drawing more current causes less volts and hence no more power) and, crucially, it looks like the cell has hit its end-of-discharge voltage.

This brings us to the second point. You may be aware that as the cell discharges, its open-circuit voltage drops. A typical Li-ion cell (which includes lipos - chemically there’s no real difference) is 4.2V at full charge, and follows a sort of inverted S curve that looks something like this:


[stolen graph, but it was on a BS AI generated site so who cares. It’s also slightly wrong in a few ways but the gist is adequate.]

So, the second order effect is that your “sag” under load has a bigger effect when the battery is almost completely depleted. The device will detect the need to discharge based on a low-voltage threshold, say 3.0 V. Essentially, if the maximum sag is, say, 0.5V, at 50% SoC the apparent voltage drops from 3.75V to 3.25V. This is fine, the electronics remain happy. At 10%, the voltage of 3.5V drops to 3.0V and it goes to charge. If you had a lower resistance, then maybe the sag would be 0.2V instead. Now, you can squeeze bit more juice out, because at say 8% you’re hitting 3.2V open-circuit, and dropping down 0.2V - but really, the improvement is almost negligible because the voltage curve is so steep at low SoC.Essentially, what the devs are calling “sag” is just detecting the end of discharge, i.e., the point where the curve tips over the voltage “knee”, typically at around 10%.

The next problem (sorry) with a high C rate cell is that the resistance, and hence the voltage drop under load, is not linear. My electrochemistry is a bit rusty (pardon the pun), but at low SoC the ionic resistance becomes dominated one of the electrodes being either depleted or saturated with Li ions, and hence the resistance starts to increase exponentially. Hence, in reality the extra couple of percent is probably not even possible; even the low-resistance cell will be worse at low SoC.

There is, then, one more problem, which is a classic: there ain’t no such thing as a free lunch. Performance parameters of Li-ion cells are based on optimisation. Difference cell models are optimised for different things. A high-C lipo is better thought of as optimised for high-power. This means that it is not optimised for capacity. What you currently have probably packs more energy into the form factor than an equivalent power cell. So, the same-sized power cell will have less voltage sag, but it will also have less energy, and ultimately the same run time.

What you need, I am afraid, is a bigger hole in which to put the battery.

Hope this is all helpful.

1 Like

Thank you.

I’m so tempted to just get out my Dremel and crack on but I really can’t. It doesn’t need the lid on to operate (although there is a part of the device, the highest point, which is vital to it’s function) so there’s a level above which nothing can protrude. But if the lid was off, the screw boss would be superfluous and so would the lip around the edges, there’s another 5mm in thickness straight away and removing the lip would potentially mean that 5mm could be utilised fully and a cell possibly 40>45mm used (151845 or it’s nearest equivalent). That could easily be filled with enough mAh.

It would also be hugely helpful if the devs would actually dialogue with me. Apart from saying that they believe the pwm whine is normal but they want it back for testing and a return/collection organised (this was two weeks ago and never materialised), they have been silent. I am starting to think that they realise that they’re in for a poo-storm of complaints after Xmas. I’m reasonably confident that I don’t have a faulty battery because the other one didn’t improve anything significantly so it’s entirely plausible that the robot is faulty. But the silence is deafening and I’m frustrated, not just for me but for all the people who have already ordered these and are awaiting delivery.

1 Like

Just had a quick look and an 18350 cylindrical battery would have more than enough mAh if I could cut off the bits I need to.

1 Like

I am not overly familiar with PTCs but would like some clarification, does the 0.5A fuse mentioned cap the battery output at 0.5A or is that in parallel in a way that allows more current out of the battery?

I only mention this as 0.5A is very low for a lipo so would cause negligible voltage sag and make changing to a higher C-rate lipo unhelpful as the loss of capacity would be greater than benefit due to lower sag.

If it can draw more current than that then a higher C-rate would still be helpful.

Lowering the voltage threshold to recharge could help but only if it is set high enough that you can still lower it without risking the lipo (if voltage sag is significant this would require greater knowledge of the magnitude of the sag to get the best out of it).

Good morning.

The ptc is simply as a secondary failsafe to prevent permanent damage to the 28awg wire and the tiny JST-SH plug.

The connection would be:

Battery

Pcm

Pigtail (28awg with JST-SH plug)… The pct goes inline on the positive.

I have been reading more and more and I think that slightly larger (trips at 3.7a) would be a better choice.

Under normal operation, the device is designed to be low-draw anyway (hence the tiny 1c cell) but if I use a high-c cell and source a suitable pcm (3a/4a), I’m hoping that the device would continue to operate normally and the new pcm would perform it’s safety role alone. I just want to be double sure I don’t break the pcb/plug.

This is not strictly accurate because I can only use figures, for voltage sag, that are published online (I don’t have access to the actual figures used to spec the device). And the figures for the larger mAh cells are just because I have been looking into how much actual volume is available for a custom cell. But they just show that VS doesn’t impact so dramatically.

Since lithium cell ratings are rarely honest, my extremely scientific test for whether a battery has enough discharge rating for the application is “does it get hot?”. A little warm is OK, but if your lithium battery is significantly above body temperature it’s a sure sign that it’s not able to supply the current required and is experiencing significant internal stress. You can double check by putting a couple of test wires into the battery connector and driving the robot round with a multimeter sat nearby or on top, I did a similar test to diagnose battery issues on my antweight vertical spinner here.

Since N20s don’t draw much power (your average aliexpress N20 has a stall current of a few hundred milliamps) I wouldn’t expect voltage sag to be much of a big deal, it sounds like you need to shoehorn in a bigger battery.

Hi Joe.

I can’t access anything to take any measurements while the device is operating because it’s inside a chamber (no space for a meter or test leads etc). I’m confident that the battery isn’t getting warm, I’m even more confident that it’s just undersized for its intended runtimes.

If we simplify things even further, instead of thinking in terms of multiple actions per game/cycle etc, let’s just define a cycle as simply the combined total of the multiple activations.

Therefore :

Recieve instructions

Travel to point A

Collect payload via rotating magnet.

Travel to point B

Release payload (rotate magnet away)

repeat x times

Equals 1 cycle.

The device should be able to complete min 6 and hopefully 8 cycles but is only achieving 2 before the sag triggers the automatic recharge function. I agree that N20’s are reasonably economic in their current draw once in motion but, when starting from standstill or changing direction, the combined draw + operational draw of the device is causing the rapid drop in voltage. I suspect that part of the problem is also the limitations of the pcm on these tiny cells. Poor coding, limited pcm, change of motor/gearbox have all combined to make the cell itself insufficient for requirements.

A larger mAh 1s1c cell would require a custom design to be requested from the manufacturer (shaped to maximise the internal volume available) which is possible but impractical because lead times are months.

That’s why I am searching for a quicker solution.

I have asked this same question across several forums etc and I am more than a little bit surprised that this kind of question doesn’t seem to have been asked or experimented with previously.

I’ve just Googled this

The One Exception: Buying Pre-Assembled Units

If you are purchasing a pre-assembled “high-torque N20 gear motor” and notice it has a higher stall current spec than a “high-speed” variant, it is because the manufacturer swapped out the internal motor core for one with thicker wire (lower resistance) to generate more baseline torque. If you keep the exact same motor core and only swap the gearbox, the stall current stays identical.

I think that this is entirely plausible.

If the battery isn’t getting warm, I wouldn’t expect any significant voltage drop, so I don’t think a higher C rate cell will help. They also tend to be physically larger for the same capacity compared to a more generic pouch cell - a GNB 300mAh 60C is 6.7x11.5x51mm (~3850mm^3), while a 300mAh cell I found in a disposable vape (and has a peak discharge rating of about 10C) is 5.5x14x43mm (~3550mm^3). The GNB cell is also LiHV, so it’ll only charge to about 70-80% of label capacity on a standard 4.2V charger.

One thing that might help is an electrolytic capacitor attached to the power input pads on the PCB, as it’s possible that the code is detecting brief dips in voltage as an actual low voltage event. A capacitor should smooth those out.

I don’t think that the voltage drop is long enough to induce significant heat (no doubt some of course) but it’s so short (and not rapidly repeated) as to be negligible.

Unfortunately, a decoupling capacitor isn’t an option.

The high-c cells at 60c etc are way overkill… The maths suggests 5c is more than adequate to be unaffected.

“it’s possible that the code is detecting brief dips in voltage as an actual low voltage event” is exactly what I have said is happening (the automatic recharge command is sent).

There are plenty of standard cells (with higher mAh) manufactured that will fit, problem is they just aren’t available from stock anywhere. High-c (up to 25) that fit are (around 400mAh). The advice I’m seeking is whether there are any obvious risks of damaging the device by using them with a suitably rated pcm? (because it’s not strictly mine to be physically modifying and certainly not to be damaging).

As long as the voltage stays the same, absolutely fine! The PCM will have a maximum current rating, but since the rest of the components in the system stay the same the current draw will be approximately the same as before - no issues there.