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

Originally thinking it was a communication issue, but it was proven not to be the case. It is something related with duty cycle control mode on the FW itself. Still don’t know what.

1 Like

It’s already solved, he simply needs to click “Merge” which he’s not done.

2 Likes

That is cool! Where did you see the pull request?

I will test it our right away. I was trying to make a custom app to get rid of this issue and I can send a command after throttle is released for 1s it force shuts down the controllers, but this is bringing other issues special with high loads because sometimes it takes longer to stop the inertia. So, definitely looking forward to get the locking issue solved!

I think we are talking about two separate issues, my fault

This issue I haven’t seen a fix for. When you said “Duty Cycle Issue” I thought you meant the other duty cycle issue. My fault.

Unfortunately this issue keeps happening without any solutions on the short term. Not sure what to do more.

2 Likes

Have you tried mixing control modes? One motor run duty cycle and the others current control, may need a bit of programming to integrate all

Set the duty cycle on motor 1, set the current on all other models using a PID controller so that the current of all other motors is close to the duty cycle controles motor, this way the load is shared between them

Thinking a bit on this, the problem probably is the slight different Kv between motors, so the duty cycle doesn’t correspond to the same rpm on all motors, if this is true the approach os setting the same duty is fundamentally flawed and won’t work and isn’t VESC fault, a solution as I suggested above may work

edit: Another idea would be to mess with the PID controller of all but one VESC, set them to be forgiving and let the duty run outside the exact set duty, one would be strict and lock the duty, and the other would be allowed to stay near the set point, but not on it, I’m a bit rusty on the control background but can look it up if you want to test

1 Like

This is interesting! Can it be achieved by canbus?

The second idea I didn’t understood very well.
If I use PID speed controller, I have no issues with locking at full speed, but the machine behavior is not smooth as for duty cycle.

The different drive modes probably not, but tunning the PID of the other motors yes

Probably making a mess due to wording, when I’m saying PID, I’m not referring to PID speed control, each mode has a PID controller to get to the target value, you will set the mode as duty cycle on the main VESC and leave everything as default on it

On the slave ones you would mess with the internal PID controller, I don’t even know if just changing the values on the VESC tool would work or you need to dive into the code

@Deodand could say better if it makes sense and if is possible

2 Likes

Thanks for the suggestion.
I would like to not go into custom firmware, so if this could be achieved with standard ones would be great.

I like the idea of having one master being duty cycle controlled and the others just aiding in current control but I need to achieve this using canbus.

Still, the best mode for this is current control, but with light loads, I have zero control on the acceleration and the motors just speed up. I have also variable load, so even if I keep the throttle % fixed, when removing the load, it will just go crazy on speed.

I wish the plans for acceleration control by Benjamin could be released. This will be the perfect system for this applications and also for any 4 wheel drive or any other applications with multiple motors where they need to rotate at different speeds and with variable loads.

If someone can make this happens, let us know and I bet a lot of people will be swaping to this mode right away.

2 Likes

Agree on the acceleration control, always wanted that, so the board could be tame on flat and smooth ground and still have plenty of torque off road

I’m thinking the way to do it right now is with an external microcontroller

Connected to the main VESC via UART to get the current duty and motor current and use that that to set the current in a chain of CAN connected VESCs via either ppm or also uart

This will be interesting to allow the main controller to send jus the throttle input to the slave, and having the slave in any control you want. May just an extra selection box os the vesctool where you select “independent control mode” of “throttle forwarding”

1 Like

Vedder has closed @jkoljo 's bug Issues · vedderb/bldc · GitHub

The oscillation is fixed in FW5.2. There was a bug when setting duty cycle limit and duty cycle current limit start to the same value, which is discussed and fixed here: #262

It is in the dev-branch and will be in the next release, I just forgot to close this issue. I should probably go through the open issues one by one and update them…

2 Likes

@Filcas did you get this resolved?

1 Like

Tested the latest FW from Benjamin (vesc_tool_test_2021-06-27) and results are exactly the same as previously described. Not solved yet and we are really out of options on this unfortunately. any ideas on how to keep pursuing for a solution?

3 Likes

Set the max duty cycle to 85%

2 Likes

What was the “oldest” FW version you tried?

All my boards run FW 3.65 (vesc-tool 1.28) because it works flawlessly.
I had many dangerous troubles with FW 4+ so no thanks.

I would try it with FW 3.65 (vesc-tool 1.28), if the locking at full speed still exists then probably your esc’s are faulty.

Download v1.28 here

2 Likes

That does the trick (in some cases). I previously setup the Duty Cycle to 84-85% and although they hold up better, had some random cases where they just start doing the same. It’s kinda disappointing not to be able to use duty cycle mode. So far the workaround is to use PID speed, but it’s not even close in terms of smoothness. It too shaky.

2 Likes

Try 75-80% duty cycle.

You can also tune the gains on speed controller. If it’s shaky, dial down the gains.

Duty cycle control isn’t the same on vesc as on boosted boards.

On boosted boards, half throttle gives half max speed. That’s still current control, but 50% throttle also limits the duty cycle to 50%.

That’s not the way things work in duty cycle mode on a vesc. Duty cycle mode controls the duty cycle directly. It doesn’t control the current with duty cycle limiting based on throttle position like on a boosted board.

Duty cycle mode on a vesc as far as I understand it can’t be used to control a wheeled vehicle once you apply a load by placing it on the ground. Yes it will seem to work on a test bench but that’s only because you have no load.

3 Likes

Running into this weird issue with Flipsky VX1 remote set to PPM where if I choose any of the ‘no reverse’ options, either one or both motors spin up to full duty cycle after trying reverse on remote. As long as I do not choose ‘no reverse’ it works fine. Scared the hell out of me.

edit: The ‘STOP’ button in the VESC app does not stop them. I have to do a hard shutdown.

1 Like