Controllers not maintaining speed

Ampster

10 µW
Joined
Apr 24, 2020
Messages
6
Location
Denmark
Greetings all ES members.

As a long time reader on the forum, this will be my first post as the answer to a question is eluding me.

(sorry for the long intro post :) )

So I am driving an E-Scooter with a 1000w hub, 48V 15Ah Headway pack and a generic cheap China square wave controller. The Headway pack has now startet to sag too much under load ( I mean more than a brand new Headway pack sags :shock: , which is A Lot), so it has to go to an easier life now. Last year i got a huge pile of old stock Samsung 26F cells that i have made a 13S18P pack out of. They may be old (2012 supposedly) but they do deliver about 40ah so they seem fine. Now these Li-ion cells have a different discharge curve as the Headway Lifepo4, dropping in voltage according to SOC. An annoying observation I have now made, is that my speed is dropping according to battery voltage, and that is even with the speed limiter ON. I am running at a somewhat legal speed of 35 km/h (21mph) but I do have a speed switch that makes i go to around 45 km/h (set on my old Lifepo4 pack). With my new battery (54v fully charged) I start of at around 38 km/h and will end at some 28 km/h (~43v). Thats a full 10 km/h difference and that is just too much. I mean, pedal-people will start to overtake med at below 30 km/h :confused:

Naturally I blamed the no-name generic controller for not being able to regulate speed at different input voltages, so i decided to try out a programmable Kelly Sine wave controller that i got at a discount, fully knowing what many people think of the Kellys :wink: I have set i up with a 2-speed switch and programmed it to do about the same speeds as the old one, 35/45km/h. And behold, the exact same things happen. It also looses speed somewhat proportionally to the input voltage :(

So my real question is, do all controllers behave this way?? Because that actually slightly sucks. They all have speed sensing (Halls usually) so why is it not able to adjust the speed according to throttle position? I fully understand that running at whatever max speed the controller i able to do, the battery voltage will determine the top speed. But with the speed limiter ON, why does i still loose speed. I can push the high speed button at low battery and it will still go faster, so it is has the ability to do so.. Anyone with experience using different controllers this way?

Also, what controllers are good choices these days. It seems that brand names come and go relatively fast and some are next to impossible to actually by. And I am not planning on digging up $250 for a controller, that's just half the price of my entire ride. And I care nothing about silent butter-smooth running, so a good square wave controller is perfectly acceptable. I kind of like the clicky sound they make and people can hear 'something' coming :) Acceleration from standstill i my primary concern. My Kelly i a KLS4812s btw.
 
My first question is: are you using the same charger? if so, you might not be fully charging your new pack. 4.2v * 13 = 54.6v. 3.6v * 13 = 46.8v. (if it uses 3.65v/cell then taht's 47.45v, or maybe 48v)

Either of which isn't nearly enough to charge your new pack up, so you start out with a pack that's only about half full, and then you start draining it, making even more voltage drop (and more speed drop).
 
The below is long, but hopefully it helps you see the basic problem in a useful way.

Ampster said:
So my real question is, do all controllers behave this way??
The question you migh really want to be asking is, "do all batteries behave this way?", because the main problem you are having is that there is insufficient voltage to spin the motor you have at the speed you want it to go under the load you have. The controller behavior may affect how and when this happens, but it happens nonetheless.


To fully understand how the whole system works, I recommend going to http://ebikes.ca/simulator , and reading the entire page so you know what all the controls are and how it works. Then play with different systems, voltages, controllers, wheel sizes, etc. You'll begin to see what things cause what effects, and which things interact with other things, and it's a lot easier than reading a bunch of explanations in words.


They all have speed sensing (Halls usually) so why is it not able to adjust the speed according to throttle position?
They do. Or at least, the cheap ones do. The better ones adjust the torque (current) according to throttle position, which gives a more controllable experience, moreso the higher the power level system it is.

But they still can't go any faster than the system voltage allows.

I fully understand that running at whatever max speed the controller i able to do, the battery voltage will determine the top speed. But with the speed limiter ON, why does i still loose speed. I can push the high speed button at low battery and it will still go faster, so it is has the ability to do so..
The faster the speed, the more current it has to pull from teh battery.

The more current the battery has to supply, the more it sags in voltage.

The more discharged the battery is, the worse that sag is, *and* the lower the voltage already is.


Let's say the original headway pack was about 3.2v/cell for most of its discharge curve, when it was working well. 14 x 3.2 would be about 44.8v. They'll start at 3.6v or so but that drops off the first acceleration or two. When getting empty they "fall off a cliff" very quickly, so you never really see much speed drop with them.

Let's say your new cells are about 3.6v/cell when new, for the median part of the curve, and up to 4.2v when full, and down to 3.0v when empty. The curve is steeper, doesnt' ahve as much of a flat part, especially under load with older cells. So you start out with a pack about 4.2 * 13 = 54.6v (assuming you're using a new charger for it, and not your old headway charger). That will let the system go fast enough.

As it drains, it gets lower in voltage, dropping to about 3.6v/cell (no load) when half full. That's only about 46.8v, which is about 85% of the full voltage, so it's only 85% of the max speed at full voltage.

As it gets toward empty, it drops to say 3.2v/cell (or less), and that's only around 41v, which is only 75% of the full voltage, and so only 75% of the max speed.

With voltage sag due to age and state of charge, it'll probably be more like 3v/cell or less, which is only around 39v, and that's even less, around 71%.


So let's say your pack has a total voltage range of around 38v (empty) to 55v (full). That's a voltage range of 17v. Meaning, the pack changes in voltage by about 30% from full to empty. So the speed itself can change at least as much as 30% (more if there's greater sag in voltage at lower states of charge).

If at full charge the battery can go 45kmh, then 70% of that is only 31.5kmh. If it sags a lot then its' even worse.



Some types of cells aren't very good at supplying a lot of current, without a lot of voltage sag. You'd have to look at the discharge curve for the specific cell in question to see if it's suitable for your usage, keeping in mind that a spec sheet only gives data for *single cell* tests *in a lab* under *specific lab conditions*, and does not show what you would get in a real-world application (you will get less out of it--how much less depends on the specific conditions and how they differ from the lab tests and limits of the cell).

Old cells are not as capable as new ones. Ones that sat around on a shelf for nearly a decade (or more) may be a lot less capable than you'd expect when looking at the data sheet. Exactly how bad they may be depends on how charged up they were before they were left sitting, *and* how far discharged they were by the time you got them, and how long they sat that way. The more extreme the conditions stored under, the worse the cells will be.

Another problem is that not all cells age the same way, so you could have some cells that are less able to provide current than others, and sag more, dragging other cells down with them, or just generally making the pack unable to supply as much power to the system, without sagging in voltage more, which reduces the speed the system can spin the motor at, and how much torque the motor can provide.




Regarding speed limiters in controllers: The generic ones (regardless of price) often do not actually limit the speed itself in a direct way. They may instead limit the maximum *throttle voltage* that the controller responds to. The ones that do this will also, by doing this, limit the maximum motor power you get at full throttle, becuase full throttle isn't really full throttle anymore.

This also means that since the throttle (for speed-control types) is essentially a percentage of the battery voltage to be applied to the motor (PWM control), then when limited it uses an even smaller percentage of the battery voltage.

Some of them *also* limit the actual top speed.

Some of the cheap ones literally just use the speed switch as a percentage-of-throttle switch. So no limiting = 100% of throttle, and any limit below that is just reducing the amount of throttle it sees (out of what you set the throttle to) by some percentage.

Unfortunately, essentially none of the sellers of such controllers as the above seem to understand any of those things, and usually don't care, so they dont' explain (even if they know) how their controllers' limiting works.


Some of the higher end ones, that are also usually current / torque throttle, often sinewave and sometimes FOC, will also have the ability to limit top speed, but they don't usually have a switch you can use to change from one limit to another--it's usually just a single limit programmed in when you set it up. A few of the sellers of such controllers have a clue...but not all of them.


There are things like the Cycle Analyst v3 that can do all sorts of signal processing to provide whatever kind of throttle output you want to have, but they take a fair bit of reading to understand what exactly you're doing with it, and how to set it up for what you want, and then a fair bit of tweaking to get it just right. Tehy're also not perfect, so in some cases they don't do quite what someone is after. You'd want to read the info page for them at http://ebikes.ca/cycle_analyst_v3 to see if this might do what you want for throttle control and speed limiting.



However...none of the controllers will make the system go faster than the battery voltage at the time allows, so none of them will fix your problem. You'll need a different or better battery to do that.


To have a completely flat speed curve during discharge, you need a battery of a high enough voltage taht even when it's going empty is still enough voltage under load to go faster than the fastest speed you need to go. (it also has to be capable of sufficient current even when going empty to provide the power needed to maintain that speed).

Then use the speed limiting of the controller (or CA v3, or some other system, manual or automated) to ensure it can't go faster than that fastest speed.

Then, barring any system failures, you will never see a speed drop regardless of battery being full or empty.



(alternately you can use a different motor with a winding that causes speed to be like the above would be for a higher voltage battery, but it's usually easier to change the battery than find a motor with just the right winding).
 
Hello amberwolf!

Thanks for the reply and the load of information :wink:

Although I am aware of most of it already as I am well educated in electronics, one can always find something new.

To clarify about my old Headway pack it is actually a 16S, so about 51,2v unloadad. And at any normal load it would deliver a steady 50v. I don't know why they are sold as 48v packs, as opposed to a 13s li-ion that is allmost exactly 48v at nominel voltage, but they have been done so for many years. And yes, I am using an appropriate charger for my new pack, set to 54v, as my Lifepo4 charger goes to 58,4v which is way too high.

But no matter, I know that my new li-ion pack has a more linear discharge curve, unlike the almost flat curve of the Lifepo4's until they hit the cliff. So why it is loosing speed is quite straight forward to me, as what is now changing is the input voltage. I consider the sag of my new pack to be normal, even with the high age of the cells. And except the fact that I could actually fit 18P inside the battery box, that also reduces the load on each cell. I pull about 35A when accelerating, so that's 1,94A per cell (0,74C on the Samsung 26F cell). They really do seem to be doing good, but they like to stay between 47 and 44v fore quite some time when discharging, so that's apparently where they have most of their capacity. I am not planning on taking them below 40v (3.07v cell) for lifespan and safety reasons.

amberwolf said:
Regarding speed limiters in controllers: The generic ones (regardless of price) often do not actually limit the speed itself in a direct way. They may instead limit the maximum *throttle voltage* that the controller responds to. The ones that do this will also, by doing this, limit the maximum motor power you get at full throttle, becuase full throttle isn't really full throttle anymore.

This also means that since the throttle (for speed-control types) is essentially a percentage of the battery voltage to be applied to the motor (PWM control), then when limited it uses an even smaller percentage of the battery voltage.

Well if my target speed is just a set percentage of battery voltage, then that surely explains why I am loosing speed, even when my programmed speed (35 kmh) is well below the controllers maximum speed. Any drop in battery voltage will affect the speed, even with a speed limit set, because that reduction in percentage i applied over the entire discharge curve. And that i really the essence of my frustration, because if I am at say 44 battery volt and doing ~30 kmh, then i can just pull over and reprogram my controller or push the speed switch and i am back doing 35 kmh. So at 44v I am still not at the controllers minimum requirements for doing 35 kmh. And to me that is just a bad way of making a controller, because then this problem will never go away, and I do consider it to be a problem. Going to fast to begin with and too slow later on i just really annoying.

I already see a solution to this rather simple problem. Take my Kelly for instance, it has a live view in the programming App where i can see the phase amps and motor rpm when driving. At 35 kmh, the reported rpm is about 1150 rpm. So here is a real time return value that is a direct result of a given speed. So, make a controller where you set a motor rpm for a desired speed! In my case, a 14 inch wheel at 1150 rpm yields a speed of 35 kmh. If the speed (and thereby the rpm) drops, the controller is to increase power output to maintain target rpm within either the controllers upper/lower limits, or a set value in the programming parameters.

And yes, you would then need to be sure that your battery is strong enough to deliver more amps at a lower voltage, as that would be required to maintain equal power output. But in my case, I only need about 4 amps more to go from 30 to 35 kmh, so we are not talking that much at these speeds.

Apparently i should be making controllers :p

I can not understand if no one is making a controller that is using such a simple way of maintaining a desired speed... The signals for such a way i even there already.

If that is a general no, then i am getting happy about the huge pile of 26650 Lifepo4 cells that I have recently acquired. Then I am at least back to having a steady battery voltage. Making a 30ah pack out of these cells. But it seems that the Lifepo4 chemistry is going out in favor of NMC/NCA Li-ion due to their higher energy density, which makes for smaller and lighter batteries. And that i would like of cause :thumb:

So I guess that is really what i am fishing for, a controller that knows what it is doing :wink:
 
Ampster said:
Although I am aware of most of it already as I am well educated in electronics, one can always find something new.
I have found that it is much safer to assume that someone who does not give any information about themselves is a complete noob. This way potential problems can be avoided more easily. ;)

In this case, you may be educated in electronics, but you don't yet understand how motor systems work.


To clarify about my old Headway pack it is actually a 16S, so about 51,2v unloadad.

This would make your problem even more acute. I would recommend using a 14s "52v" pack to be equivelent to that.


I already see a solution to this rather simple problem. Take my Kelly for instance, it has a live view in the programming App where i can see the phase amps and motor rpm when driving. At 35 kmh, the reported rpm is about 1150 rpm. So here is a real time return value that is a direct result of a given speed. So, make a controller where you set a motor rpm for a desired speed! In my case, a 14 inch wheel at 1150 rpm yields a speed of 35 kmh. If the speed (and thereby the rpm) drops, the controller is to increase power output to maintain target rpm within either the controllers upper/lower limits, or a set value in the programming parameters.

It still requires enough battery voltage to drive the motor at the desired speed for the system's components.

If the battery voltage is too low, then the motor will not spin faster no matter what kind of current you want to feed it.

You have to have a high enough battery voltage to do this.

So the fix is to run a battery voltage higher than needed even at empty to maintain the speed you wish.

It is an extremely simple solution.

Other solutions to your problem can be much more complex.


If you prefer instead, you could use a DC-DC converter (boost, vs buck) that converts your battery voltage into something high enough to do what you want. This goes between the battery and the controller. But you must use one that can handle the current needed from a complete stop, which may include a momentary spike much higher than the current limit of the controller, so you would want to verify this with a good wattmeter before selecting your boost converter. This method has been used to allow a lower voltage battery pack to be used with a controller that would not otherwise allow it; there are threads about it if you poke around.

But it is wasteful of power, as they are perhaps 70-80% efficient on average, so you only get 70-80% of the range you would have otherwise gotten, and created more heat.



I can not understand if no one is making a controller that is using such a simple way of maintaining a desired speed... The signals for such a way i even there already.

It's the physics of motors, not the controller.


So I guess that is really what i am fishing for, a controller that knows what it is doing :wink:
They do.

But you have to know how the systems work, and how to select the parts you need to do what you want.

Thus, if you want a faster speed with all other components being the same (motor, wheel, gearing, etc), you have to increase the voltage.

If you unwilling to do that, then you must instead change the wheel size to a larger diameter wheel, for a hubmotor, to give you a faster top speed than you need, so that it still works even when the battery is at it's lowest voltage.

Or for a middrive, you must change the gearing, for the same thing.

Or you can change the motor out, for one with a higher kV.

Go to that simulator I linked.

You will then learn how the systems work, and thus to pick the system parts you need to do what you want.
 
amberwolf said:
I have found that it is much safer to assume that someone who does not give any information about themselves is a complete noob. This way potential problems can be avoided more easily. ;)

In this case, you may be educated in electronics, but you don't yet understand how motor systems work.


Ouch.. Well, I suppose I didn't wrote anything in my profile about my 10 years of running a hub system and reading posts here on ES. I thought that would be a bit too much. Some details in there though. But to say that I don't understand motor systems i a bit judgmental i think. I do leave things out like field weakening and coil saturation, because I am just not at those power levels.

But no worries, I have already taken this into account when signing up here, that I might get a reply from a long time member that have seen and heard it all, and knows to expect that newcomers are usually somewhat green in this stuff. :wink:


To clarify about my old Headway pack it is actually a 16S, so about 51,2v unloadad.

This would make your problem even more acute. I would recommend using a 14s "52v" pack to be equivelent to that.


Well, that's a bummer.. :? I thought a long time about making a 14s pack to match the 16s headway at nominel voltage, but I just couldn't fit that last string in the box to make it a 14s.. It will be a massive pain to remake that pack into a 14s.. Making a new pack will probably be easier, but this stuff gets expensive fast.


It still requires enough battery voltage to drive the motor at the desired speed for the system's components.

If the battery voltage is too low, then the motor will not spin faster no matter what kind of current you want to feed it.

You have to have a high enough battery voltage to do this.

So the fix is to run a battery voltage higher than needed even at empty to maintain the speed you wish.


This i where I am still searching for the answer to my practical findings.

If I am low at 44v, I can program my controller to do 35 kmh, and it will do so. If I am fully charged at 54v and program the controller to do 35 kmh, it will do 30 kmh when the battery gets to 44v. So that's two different speeds at 44v. This is what's making me wanting the controller to be just a bit smarter in the speed sensing area.

Now, if the controller just needs a general higher voltage range in order to do this effectively, say a battery that starts out at 60v and finishes at 50v, then that is all fine by me, and something i need to work on. It's just a really nice thing to know because it dosen't say so anywhere. And so one of the reasons I am here now, looking for other peoples experiences.


If you prefer instead, you could use a DC-DC converter (boost, vs buck) that converts your battery voltage into something high enough to do what you want. This goes between the battery and the controller.


I thought about that, for about 3 seconds, but as you say this is highly inefficient and just another point of failure.


Go to that simulator I linked.


The ebikes.ca site came to me about a year ago, so I have been there a lot of times, also looking at their controllers. I do think the simulator is somewhat biased towards the e-bike parts, so not as easy to match an e-scooter with a 14 inch or even 10 inch wheel that they usually come with. But it can get close when you finally hit the right combinations.

I am not really in the market for a new motor, as the scooter i just not worth that. Too much china quality in the build, and it will also not fit anything larger than 14 inch. This is the reason I am using older parts and trying to make what i have work. We have insane import and tax duties here in Denmark, so anything more expensive than a BMS from china will inflate my final bill by 50% when it crosses the border.

But experimenting with higher voltages, that might be possible with what i have laying around.
 
Ampster said:
Ouch.. Well, I suppose I didn't wrote anything in my profile about my 10 years of running a hub system and reading posts here on ES. I thought that would be a bit too much. Some details in there though. But to say that I don't understand motor systems i a bit judgmental i think. I do leave things out like field weakening and coil saturation, because I am just not at those power levels.
Well, one of the basic things about the hub (and other) motor systems used on ebikes, scooters, etc., is what causes specifically the problem you're having now--that you don't have enough voltage to run the motor under load at the speeds you're after, because the battery isnt' high enough voltage to do it (at least, not all the way thru it's range).

What causes that is that motors of this type (PM BLDC, or even brushed PMDC, basically almost any ebike or scooter motor), will spin at a certain speed given a certain voltage input, assuming the current available is enough to sustain that speed with the load presently on the motor.

I pointed you to the simulator because you can use it to see this relationship (and the various others), and better understand your system behavior, so you can then choose the best way to fix the problem by doing simulations of variations of a system similar to yours (it doesnt' have to be identical, as its' the *change* in the system that is important, not the system itself).


A very very basic way of stating some of what the simulator shows the nuances and details of is:
Volts = speed
Amps = torque
AmpHours = range
That completely ignores a bunch of other system properties, but it's the basics of the basics. ;)


So you might have a lot of experience with the system you have, and have read a lot, but you may still have missed some stuff, and that's what I'm trying to show you, so you can understand and fix the issue.



FWIW, it *is* possible to completely redesign a controller to include a boost converter in it, one way or another.

I don't know what kind of engineering that would entail, but a much simpler solution is to just use a high enough voltage battery so that regardless of state of charge, it's always higher than the system needs to reach the motor speeds required. That's how "well-engineered" EVs of various sizes do it. (they also tend to use a fairly small portion of the usable energy in a battery pack, not running it anywhere near full or empty, so it lasts longer and is more stable).
 
Not sure if you read the whole OP, but the Headways are the *old* pack that worked better than the new Samsung pack (at least till the Headways got old). ;)
 
Back
Top