esk8 calc donate now

Locked at full speed - out of control multiple motors with same shaft - PPM app issue over CANbus

I think I’ll pass on that


On the bench :sweat_smile:

I am now getting into the habit of trying max throttle with wheels in the air before every ride. That would have saved me.

1 Like

It get’s worst if the wheels are “locked” together. I mean, if I do full speed with wheels on the ground it will lock at full speed every time.
If on the bench (upside down) and having the wheels free spinning at their own speed, it doesn’t happen so often.

1 Like

I think it’s definitely something that needs attention. Worth noting many people don’t experience any issues here but a significant enough portion experience speed wobbles that I believe something must be done. I’ll keep trying to get Vedder’s attention on the duty cycle thing. I’ll be setting the SC defaults to 90% for the time being, I’m hoping there is a more elegant solution than this.


Got this suggestion from Vesc forum:

Send the throttle signal (in your case the target dutycycle) with an extra VESC. Make shure it has short PPM cables and is far away from the high current cables. Connect it to the CAN-bus. This will make sure that the master VESC has no EMI on the PPM-signal superimposed.

So I just tried it with 5 vesc, one of them (master) far from the assembly connected through canbus and not driving any motor.
As soon as the other motors reached over the 84 to 85% dutycycle, they locked at full speed!

This was is challenging, but got to exist a workaround… I hope

1 Like

Hey Guys,

So, I’ve been playing around to get some more inputs on this subject of having the motors locked at full speed with duty cycle control and it seems it’s really nothing related with Canbus communication or interference on the lines or any of those things.

Current control does not have it, having a separated vesc with PPM receiver (far from interference) does not solve it and I can see with the VescTool all the inputs from the remote are still responding well while locked at full speed.

I did tried PID speed controll and the motors don’t get locked at full speed. I just didn’t switched already to PID because the slave motors keeps jittering and whining a bit while no throttle input, which is not pleasant to se all machine shaking a bit while in idle (any ideas on how to remove this behavior?)

Other things that might be relevant to this discussion:

  • I had some locking at full speed even with the DutyCycle below 84%

  • I did tried a custom PPM device that can send a “stop” command to the VESC if the throttle is released and it does stop the locking at full speed, but it works as a hard stop, so it is not a solution.

  • If I go full throttle with 95% Duty Cycle and it gets locked, when I release the throttle, the master vesc keeps reporting negative current (below screen capture “A”) and slaves keeps reporting the max amps defined in “motor max current” (screen “B”)
    This is unloaded test, so the system usually only gets 2 or 3 amps to run (screen “C” and “D”), but when the "locking gets in place, it shows max amps on the motor…





So, I don’t know what else to do to have this sorted, but I would really like someone with deeper knowledge on firmware to give some input on this.
I think I can go with PID speed control if I solve the whining issues, but I think this Dutycycle thing would be interesting also to solve, as dutycycle is straight forward and does not require to mess with PID settings that can take a while to figure out.

Thank you again for all the inputs. If you guys wanted me to be making more test, let me know, I will try everything until we can find a solution.


Widen the deadband.

[instantaneous / real-time] Duty Cycle, or Maximum Duty Cycle [setting], or Duty Cycle Current Limit Start [setting]? Because those numbers are all very different things and it’s not super clear to which one you are referring. There is also a Minimum Duty Cycle setting and a Smart Reverse Max Duty Cycle setting (and even a Duty Cycle Tiltback), so in total there are 6 duty cycle numbers.

How is the stop command being sent? Is it just sending a 1.0ms pulse?

What device are you using to control it? Is it a failsafe / loss-of-signal issue?

What happens if you connect each motor one-by-one? If you have only one motor, does it work correctly? Two motors? Three? More?

1 Like

I was talking about “max duty cycle”
I think smart reverse does not apply, as it is for current mode.

Here the settings for the duty (I tried different combinations of lowering them, equal values, different values, one bigger than the other, pretty much all settings, it always happen and most critical after the 84 or 85% (max Duty cycle)

How do I do that? The master motor is OK, only the slaves have this shaking behave for the PID.



I think this is the problem.

Change them to

Minimum Duty Cycle: 0.5%
Maximum Duty Cycle: 95%
Duty Cycle Current Limit Start: 85% or 90%, but less than Maximum Duty Cycle

1 Like

Increase this number

1 Like

Did it already. I have actually a printscreen of it. No solution. You can see there the motor is locked and master gets negative current when I release the throttle and it keeps locked until I press stop on the vesctool

1 Like

The problem with VESC Tool is that even though it’s in the screenshot, that doesn’t actually mean it happened. It’s a complicated user interface where you must click “Read” first, then change things, then click “Write”

Even I frequently forget to click read first sometimes. The bottom real-time data is something separate from the numbers above – the top numbers are essentially a local cached copy of the settings which may or may not be the same as the settings in the ESC. (If you click Read they are the same)

1 Like

What happens if you limit the system to one motor? Does it work properly with no CANBUS?

Let’s troubleshoot one motor first

1 Like

Only happens if you have the motors “together”. If you spin them on the table (so each one can rotate by itself, it does not happen. As soon as you get it on the ground “locked together” so you don’t have relative motion between them (all needs to rotate at same speed), it happens right away.

1 Like

So to clarify, are you saying that without changing any settings, but merely connecting the motors’ shafts together physically causes this behaviour? And they work when they are separated physically with no software or electrical changes?

Yes! it is exactly that

Are all of the ESCs connected to the same power supply and ground? (battery negative)

All grounds are common. Canbus communication works well and I can see the response from the transmitter while the motors are locked.This is not a setup/hardware issue. If so, it would happen in current mode or in PID. It only happens in Duty cycle.

By the way, PID setting to cancel the shaking of the slaves, of “widen the deadband” does not solve it on the slaves. I had the PPM input deadband already at 15% on the master.

This is really annoying.I would really like to solve this locking thing for dutycycle. It has to be a way…


This actually sounds like some sort of feedback loop or bug in the commutation. I would ask the devs on the VESC forum (or @Trampa or @Deodand ) and link it here (and link here over there) so we can follow it


Thanks. I will be happy to test any upcoming solution. It has to be a way. Hope they can help to look at the problem so it makes this better for all applications.

1 Like