Motor skipping (and burning out)

leoms

1 mW
Joined
Oct 11, 2023
Messages
14
Location
California
I have a custom made mid-drive bike. When I punch the throttle at low speed, there's a loud popping noise and the motor, I believe, jumps/backfires/skips. After being too casual about this, I discovered smoke coming off of a blackened-looking stator post (sorry if that's the wrong word, the thing the winding is around on the stator). This happened the day after I bought it so the guy I bought it from kindly replaced the motor. It's still happening with the new motor so I'd like to fix it before I burn another motor.

Bike's got approximately this motor. No sensor. It's supposedly rated for 150A max, 7NM torque. Controller is a Flipsky 75100 w/ aluminum board, which is rated for 120A burst. Battery pack is supposed to be able to dump around 80 amps.

I bought it from someone who had set up the controller as so. Attaching a screenshot of the whole motor current page in case you want more info, and I can send a screenshot of any other settings too.

Motor current max: 160.27
Absolute max current: 250A
Battery current max: 140A

So the motor may be getting 10A more than it can handle. Could that be the problem? I think I'll reduce these numbers to protect the batteries anyways, but I'm also curious to understand.

Any idea what's going on? Thanks!
 

Attachments

  • Screenshot 2023-10-11 at 1.43.35 PM.png
    Screenshot 2023-10-11 at 1.43.35 PM.png
    300.2 KB · Views: 3
I have a custom made mid-drive bike. When I punch the throttle at low speed, there's a loud popping noise and the motor, I believe, jumps/backfires/skips. After being too casual about this, I discovered smoke coming off of a blackened-looking stator post (sorry if that's the wrong word, the thing the winding is around on the stator). This happened the day after I bought it so the guy I bought it from kindly replaced the motor. It's still happening with the new motor so I'd like to fix it before I burn another motor.

Sounds like either the motor's simply incapable of the necessary torque at the gearing ratio it has to the wheel, or the controller is not correctly setup for the motor.

The setup would be the motor kV, inductance, resistance, number of poles, etc. If you don't have that data from the motor manufacturer, then either the controller has to test for them and hopefully get it right, or you have to guess at them or measure them with other test equipment.



If the motor has no position sensors, then the controller has to be very good at high-load low-speed sensorless operation, and not all of them are. Some of them will have to ramp up the current to the motor in such situations, and "punching it" isn't possible in these cases without undesired side effects.


Bike's got approximately this motor. No sensor. It's supposedly rated for 150A max, 7NM torque. Controller is a Flipsky 75100 w/ aluminum board, which is rated for 120A burst. Battery pack is supposed to be able to dump around 80 amps.

Motor current max: 160.27
Absolute max current: 250A
Battery current max: 140A
First thing is to set the controller's battery current down to what the battery is actually able to do. If you set the current higher than what it can provide, then when the system does draw more than it can handle, you are stressing the battery (potentially even damaging it), and causing unnecessary voltage drop that robs the system of power and can even cause the controller to turn off, on, off, on , etc as the voltage drops and then load goes away and voltage goes up, repeating this until the load isn't that high.

Next, make sure to not set the controller above what it itself is rated for, or less. if it's only good for 120A burst, you shouldn't set it higher than that for whatever burst settings it has, and then also set it's continuous current down to whatever it is actually rated to do.

Next, is set the controller down to what the motor is rated for, or less. If you don't have the *actual* motor specifications, you will have to guess what it can do, and that isn't guaranteed to have any form of success. If it's getting warm, it's being pushed. If it's getting hot, it's probably pushed too hard. If it's burning windings, you're far beyond it's capabilities.


Your system can only do what the worst part of the system can handle. So in this case, at best, you can set things to 80A on the battery side, assumign that is an *actual* manufacturer rating for the battery. Most batteries are at best overstated for their capabilities (many have outright lies far above what they can actually handle for more than an instant, and just because they don't turn into a fireball going above the real limits doesn't make them any less of a good idea to follow). If you get significant voltage sag, reduce the current until you don't. If the battery gets hot, it's being pushed too hard. It shouldn't heat up if it's being used within it's limits.



When you ask the system to do more than it's parts are capable of, at best it performs poorly, and at worst it can cause catastrophic failures, as you have already seen.
 
Don't forget to turn your limits down to what the parts can handle.

If you don't, something is going to fail from overstress.
 
With the new limits (calculated by the Vesc automatic tool and based on the battery parameters I looked up) the bike is mostly working great. But occasionally, when I hit the throttle hard for five or ten seconds, the acceleration just cuts out. As if the ESC is automatically stopping the throttle for some reason. If I let off for a few seconds, it works again.

Do you know why this could be? I'm not using a motor senser (although I plan to eventually); is there any sneaky way the ESC could be learning that the motor is getting too hot or otherwise needs a break? I assume not, becasue the only connection is thru the three motor wires. So, does this mean the ESC is either having a problem or cutting out to protect itself in some way?

Thanks again.
 
Did you set the limits based on what your hardware is actually capable of? ****

If not, you might try that first. Unless you've already done this, you are presently exceeding the capabilities by some large margin, based on your previously posted information.

Do you have a temperature sensor in the motor? If not, nothing can know how hot it is.

Since it's probably a physically small motor, temperatures will rise rapidly in it if it's being used beyond it's abilities, or if the controller is tuned wrong for it's characteristics. This you can usually tell just by hand if it's getting more than a little warm, or you can use a cheap IR temperature gun to measure various parts of it when it is operating normally, and after it begins to have problems.

If the controller has any form of logging or realtime error display (many do), you should look thru that to see what it thinks is wrong, too.

If you have a voltmeter on the system that can tell you realtime what your battery voltage is, monitor that while it's working normally, and when it begins to have problems. You may see voltage sag, and that might be enough to trigger the controller's LVC or other battery protections, if the system doesn't actually turn off (no power). If it does actually turn off (no power, lights, display, anything at all), then your battery's BMS is probably turning off the output to protect itself from the overload.


**** BTW, the actual limits are not what some automatic process thinks (which may or may not have anything to do with reality; autotunes and whatnot don't always work correctly), but what you have for specifications for the parts. If you don't have specs, turn things down until it starts behaving, and then those are the limits. If it never starts behaving, there may be some other tuning issue; FOC controllers can take some time to tweak and tune the many things including feedback loops based on actual usage of the system.
 
I have no interest in pushing my equipment past its limits - the trick is that I'm new to inferring what those limits are! So I really appreciate your tips.

I don't trust the specs on the motor (they seem unrealistically high) and the guy I bought this from re-wound the windings to increase kv/decrease kt and to embed them in resin. So all I've got is trial and error and whatever Vesc's auto system did which, I hear you, may not be right. I rode it hard and felt that it wasn't too hot and so assumed things were fine. Maybe too hasty.

But what I'm thinking is, the finger test tells me the motor isn't getting super hot. Yet I saw a wisp of smoke and also was getting this strange cutoff behavior. So I wonder whether there's a short in the motor which only happens in certain situations, maybe some combo of heavy use and some mechanical wiggling. And the ESC senses some anomalous voltage drop and shuts off.

I don't expect you to know off the top of your head whether my flipsky 75100 has that feature, but is it reasonable to think that a controller might shut off if it thinks it senses a short? I'm waiting for a bluetooth dongle that will let me track the ESC's output over time and maybe see some kind of error or drop in voltage or change in kv/kt due to a winding shorting.

I don't have a BMS. The ESC is programmed to stop drawing if the voltage drops too low, though, so it could be that. I'll try riding with a volt meter hooked up to the battery wires.

Any other suggestions, besides opening and looking for a sign of burning (which I'll do whenever I can use a press) and using my nose, to detect a short in the motor?
 
Well, you already know some limits; you stated them before, along with controller settings that were far too high for them, and I already went over what you need to do (but no posts from you yet stating whether any of that has been done, which is why I keep re-posting about this).


Bike's got approximately this motor. No sensor. It's supposedly rated for 150A max, 7NM torque. Controller is a Flipsky 75100 w/ aluminum board, which is rated for 120A burst. Battery pack is supposed to be able to dump around 80 amps.

Motor current max: 160.27
Absolute max current: 250A
Battery current max: 140A

So, if your controller itself is max of 120A burst (a few seconds, not very often), then you cannot set any current higher than that.

If your battery is max of 80A, then you can't set battery-side current higher than that.

The motor current is probably a phase current, rather than battery current, but it's rated higher than your controller, so it doesn't matter.

You need to look up what your controller is rated *continuously* for, and make sure it's current is set no higher than that; if ti has a separate burst current then you could set that as high as it's physical limit of 120, but running things at their limits wears them out faster and leaves no margin for overages.

I recommend also finding out what your battery can *actually* do; if you can tell what cells are in it you may be able to look them up, and then from the series/parallel configuration of the battery you can do the math to see what the battery is then rated for, max and continuous, etc. If you know for sure it can do 80A without much or any voltage sag, then it's probably really capable of that. If it sags much then it's not really capable of 80A, so turning the controller's battery current down would be easier on it.



Then you can look at your gearing from motor to wheel. Since we know nothing about your bike or drivetrain yet, then all I can do is give you some ideas:

Does the ratio you have allow the motor to run at the RPM it should run at for the load placed on it and the power being put thru it? RPM = voltage x kV (kV is RPM/volt), so if you are at full throttle the motor will run at a certain RPM based on it's kV. If you don't know the kV, then you can disconnect it from the drivetrain's input so that it is running with no load, and see what RPM the controller/software tells you it is running when at full throttle, and what voltage the contorller sees from the battery at that moment. Then do the RPM / Volt and you know the kV, but most importantly you know the RPM.

Now you can connect it to the drivetrain and find out what RPM it spins at under the problematic load times. If you're at full throttle at these times that saves a step as you already know it's getting max voltage from the system. If you're not at max throttle, you would have to figure out what voltage you should be getting at the motor for the throttle amount it does get.

If the loaded RPM (at full voltage) is lower than around 80%, it's probably geared wrong between motor and wheel, and this heavy loading is causing problems. If it's way lower than that, it's almost certainly geared wrong.

If you run a motor intended to run fast (high kV, low kT) at a slow speed but load it heavily, there is not enough BEMF to counter the current from the controller, and it heats up, faster the worse the disparity.


If you need more specific answers, we'll need more specific and complete detailed info to try to come up with them. ;)
 
Oh, I definitely did turn the limits down to what it seems like my hardware can handle as soon as I realizede they were too high. For the battery, this was pretty easy: I looked up the exact cells and also read in general about LiFePO4 cells and what they can do, and did the math, and I can also watch battery voltage over time. And I'm being pretty conservative and keeping limits a bit lower than the maxes I calculated. Ditto for the controller, which I could find specs for online.

The hard part is the motor, which is some random brand and hand-wound. I'll take your advice and do an unloaded test to get RPM and kv/kt. Helpful tip about the higher current at low speed due to lack of BEMF. I hadn't thought of that, and figured it was just a lack of air-cooling at low speed. Is there anything I can do to know whether I'm sending too much current to the motor besides stopping regularly and feeling how hot it is? Changing the gear ratio isn't straightforward so while I may do that someday, for now I'll just have to turn down the current and have less torque.

I figured out that the throttle-cutting issue was my controller exceeding its absolute max current, which I'd accidentally set way lower than necessary. But that does bring me to another question I have. Here's a snippet from the listing for the controller I have:
"
...
Please be careful to limit the Absolute Maximum Current below 250A
Specs:
...
Current:100A Continuous,burst 120A
...
"
Why would they list 250A as the absolute max current if the current limit for a burst is only 120A? Is this a question of nominal current vs momentary (and maybe induced/transient) current? I'm more curious than anything, my other hardware will keep me well under that limit regardless.

I really appreciate all this help and I am taking it seriously - not trying to be casual about frying any hardware.
 
Absolute max means components would probably "instantly" fail at that point. (or experience some form of damage).

Limiting hardware far below those kinds of ratings is a good idea so it won't be stressed or damage components gradually, and there is overhead available for the occasional unplanned momentary peaks.



Realistically, temperature is your best easy guide to whether you are overloading the motor, but with a hand-test you can only tell what the casing is, and can't read momentary peaks.

If you can install some form of temperature sensor with a display you can see while riding (it doesn't have to be super-accurate, within a few degrees is good enough for this) then you can manually monitor it, or if your controller supports temperature monitoring and rollback, you could install whatever sensor type / model it supports, and enable that in the settings. If it has a logging feature, then log the temperature over a ride and see what the motor experiences under various parts of the ride.
 
Back
Top