BionX knocking/stuttering

NightriderCZ

1 µW
Joined
Mar 19, 2025
Messages
4
Location
Czech republic
Hello everyone!

My first post here, I hope it's not too stupid :).

We have an e-bike (trike) with a BionX system: 48 V battery, G2 control console and direct hub motor with 350 W nominal power. The rider has neuropathic legs and fingers, so the e-assist must:
- be able to take off from standstill,
- provide very sensitive response to weak pedaling force,
- be strong enough to pull up hills, offroad etc.,
- be able to run at normal bicycle speeds on level ground (25 km/h is fine),
- not rely on correct gear shifting.
The BionX has met these requirements pretty well, until the motor developed a strange glitch: when it pulls at high torque, it periodically stutters. There's a knocking sound as if it was hit by a little hammer and driving torque decreases for an instant, then returns to normal. It feels like ABS in a car, but limits the drive instead of braking. We suspected it might have been caused by ruining the rotor magnets by overheating them, but now we bought a brand new motor (actually brand old, from 2013, but never used) and it does the same thing from the very beginning, without even warming up.

Our technician says he has seen several motors do this, and has never been able to either cure a stuttering motor, or make a good motor begin to stutter. He suspects saturation of magnets or coils and overcurrent protection kicking in, but that's just a wild guess - no way to measure anything because control unit is sealed inside the motor. And no way to debug the firmware, all he can do is to modify configuration parametres.

Is there any solution to this problem, other than limiting the power to lower levels where it doesn't occur?
 
What happens with a different battery?

If the battery voltage is dropping under load, the controller may be designed to enter a current limitng mode to prevent the system from shutting down or causing battery stress. Then when the voltage rises back up as the load drops, the controller exits limit mode and pulls full demanded current again...and this repeats until the load demand is lessened below the problem point.

If lowering the system power prevents the problem, then since a different motor (and thus controller and torque sensor) doesn't change the problem, the battery is a likely cause.
 
Thank you for the reply.
We have no other battery to test with. This one got new cells (and proper configuration) about two years ago. We tested with another motor which didn't stutter, so I think it's motor-specific. But you have a good point.

If the cause is battery voltage dropping under load, I'm OK with some kind of current limiting, as long as it's smooth and unobtrusive. Is there any way to reconfigure the limiter response in the BBI software, or is it hidden somewhere in the firmware?
 
I don't know anything about it's configurability/etc.

My knowledge of the systems is limited to the disasemblies/etc that have been posted by others here on ES over the years, which include troulbehsooting of problematic batteries, motor controllers, and the torque sensor ribbon on the motor axle as the most common failures I recall.

But most problems with electrical systems are from the same basic causes regardless of their designs, and in ebikes it's no different. ;) So batteries and wiring are the most common sources of problems. :(


You can test for a battery vs current issue simply by monitoring voltage drop under load. If there's excessive drop, then any controller programmed to respond to that amount of drop will do so; this can cause a "stutter" or other effect.


If a different motor corrects the problme, you might look at the torque sensor itself, if that's the user-control-input for all testing. (if you're using a throttle for that testing, you should try the torque sensor to verify it's not duplicable there).

If it fails the same regardless of input source, then it's probably in the controlelr itself inside the motor. In this case it could be a setting that has changed that is only factory available (not via the onboard settings or the user/dealer programming software), or a hardware failure in the current sensing.

AFAIK the BionX controlers inside the motors don't have phase curent sensing, just battery current, which is simpler to troubleshoot. There's a shunt inside the controller on the battery negative (usually) that feeds an op-amp (via some resistors) that then feeds the MCU. If anything has gone wrong with those, increasing the resistance of the shunt, or increasing the response of the amp, a higher current than there really is will be detected by the contorller, so that it will begin limiting sooner than it should. A sufficiently large change in the shunt circuit could cause it to limit immediately and either fail to work at all, or stutter until the real current drops enough.
 
It happens regardless of input, pedals or throttle. The only common part is high current.

Current sensor resistance is another good clue, thank you for pointing it out. The shunt resistance must be very small and it might vary slightly between motors, so some would sense the threshold value exceeded sooner than others.

We could play with that, but BionX´s design requires the wheel to be unlaced to pull motor housing apart, so any iterative trial/error experimenting is extremely difficult.
 
It happens regardless of input, pedals or throttle. The only common part is high current.

Current sensor resistance is another good clue, thank you for pointing it out. The shunt resistance must be very small and it might vary slightly between motors, so some would sense the threshold value exceeded sooner than others.

It's more likley to be an amplifier (opamp) issue than the shunt itself, but it could be a soldering issue between the shunt and PCB.

The shunt resistance will indeed vary a tiny bit, but if they are using actual shunt resistors vs simple manganin shunt wires, it is a very small difference and shouldn't cause an issue like this.

EDIT: This thread
has some info on a version of the bionx controller board, that says there are per-phase shunts, and they are 1.5mohm SMT resistors, which would be fair precision vs the shunt wire versions used in cheap controllers. (for higher power controllers they pair up resistors for lower shunt resistance (and pair up FETs for higher currents))
There's some images, but several are corrupt or damaged so it'd be easier for you to look at your own controllers if you have any not presently installed in a motor.

perphase shunts means more chances for a failure; any phase shunt telling the controller the current is too high stops the system from working correctly.

An older version of the system uses a battery current shunt instead of phase current, so only one shunt (set) instead of 3 sets. Easier to troubleshoot, less likely to fail.



BTW, if you happen to have any technical info not already in that thread, you're more than welcome to add it there for future BionX users that need it to troubleshoot their systems. ;)



We could play with that, but BionX´s design requires the wheel to be unlaced to pull motor housing apart, so any iterative trial/error experimenting is extremely difficult.
Thankfully if you have one controller not installed in a motor, and it's one that had this problem, you can use it to drive "any" DD hubmotor (or really, any 3-phase BLDC with 120degree UVW-ABC hall sensors (almost every ebike motor). So you could setup the Bionx controller on a heatsink (old motor casing?) then wire it to a regular ebike hubmotor on a test stand (upside down bike frame, truing stand, etc), and start doing testing and experimenting, loading down the motor by whatever means (if on a bike frame you can use the wheel brakes).

If you find the problem, and are able to fix one, now you can fix "all" of the wheels that fail this way! ;)

(and you can post the fix here for other BionX users that run into this problem).



Conversely, you can also use external controllers to drive the motor in the wheel. On my SB Cruiser trike, I use phaserunners from ebikes.ca to drive Ultramotors from A2B bikes, some of which come with internal controller pucks (that are useless without the rest of the A2B system, or the Stromer system for the ones off that kind of bike), but they're really nice motors (better than the typical ebike hubmotor. The BionX motors look worth keeping this way, when the system itself fails in some way that prevents it's use otherwise.
 
Last edited:
It's quite embarassing, but it seems the problem was dirty power connectors the whole time (and voltage drop due to extra resistance). They have always looked perfectly clean, but after I wiped them with alcohol yesterday, the stuttering immediatelly stopped. I'll wait to see if it's really fixed for good, and report back.
 
FWIW, if simply wiping them wiht alcohol (isopropyl, or denatured? each dissolves different things) fixed a resistance issue, the connectors must be pretty poorly fitting, or a really bad design. Alcohol might remove some greases or oils, but there's not much else that could cause poor contact that it would help with.

A good connector contact will wipe the mating surfaces as they're connected / disconnected, so unless there's corrosion that has actually damaged the connector surfaces or created an unscrapable layer of oxides, plugging/replugging should've fixed the issue.

Another possibility is that there is a wire break inside the insulation (usually right at the back of the contact for open-internal connectors, and just beyond the casing for overmolded connectors), and when it's plugged in just right the wires make full contact, but when the cable is moved enough there will only be partial contact, or potentially none.
 
Back
Top