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

HW6 but I can replicate it with HW4.12. Thanks for looking at it.

1 Like

I’ll ask Benjamin. Could be a negative feedback loop that goes wild.
You can look into cruise control. That is a PID speed controller but with some tricks to prevent what you see in your tests.

2 Likes

Thank you for looking at it.
Not sure how to relate this with cruise control, but I will try to understand how it can affect the PID. I’m pretty basic on coding, so not sure if it is where to look at.

1 Like

I will add this: if you have a fixed vehicle speed, still the two wheels could spin at different speeds. Otherwise a vehicle could not take a turn really well. Now you have to prevent that little differences in motor/wheel speed cause a runaway effect on the speed controller, managing the set speed. You can see that if you lift a skateboard off the ground and try CC. You will get a runaway effect. If it is on the ground, the same effect is eliminated.

I can imagine that you get a similar effect, just the other way around. Your system tries to regulate each wheel independently. If there is no success, the regulator will push it further. Now another wheel will see a similar issue and in consequence the system gets faster and faster.

I need to ask the expert…

3 Likes

Makes perfect sense, specially because motors KV, although pretty similar is never the same, so I’m guessing the systems lost track of it and tries to compensate.

I’m still playing with settings to get it working but without success. CC works, but I can’t use it as need to control the speed. So far the closest to good behavior is PID, but I can’t get it to work as smooth as dutycycle and the multiple motors seems to wobble/shake a bit with light loads.

@Trampa let me know if you need me to make some specific test to help narrowing the issues and find the solution. I can also test some custom FW even if I need to sacrifice HW but now I will just stop when we can get a solution for this and I think after all this test and inputs from all the guys here we might be close.

Thanks again

1 Like

I was looking at this and just out of curiosity I played a bit around with the “current smart reverse” as it can activate duty cycle.

I placed there duty cycle max 95% and it did´t locked at full speed! (altough current on master motor showed up negative.

Below the settings:

I didn’t made extensive tests on this get a conclusion, but for the 4 or 5 times I tested to reach full speed, it always release the motor. Could it be a coincidence? I will repeat the tests today to make sure, but maybe something to look at.

1 Like

That is actually a duty cycle controller, so that you get full torque while going up a steep hill slowly.

2 Likes

Yes, I know it is duty cycle so that is why I gave it a go to test another duty cycle app and it looks like there is no lock at full speed. Question is “why”?

Because it is coded to prevent such effects.

2 Likes

Got it! Will it be possible to get an app using same coding as in duty cycle inside the SR app but as “regular duty cycle” control (or just pull the coding routines into standard Duty cycle control app)?

I think that will solve all issues in duty cycle mode! Let me know if I can help to achieve this, although I’m not into coding, but I will help as much as possible.

Still not sure why you should not be able to use current control and set the speed. In the VESC Tool you can set speed limits and precisely define the speed of the vehicle.

1 Like

I can’t use current control because the system have high inertia and big load on the startup and as soon as it start moving, it will accelerate until the limit speed.

Imagine a cart with 1 ton load on it, flat ground or rails (like a train). To start moving the load, current control can work but then it goes to full speed and it is very dangerous.

Duty cycle was the best mode to use because it responds exactly to the throttle input and does not try to reach full speed. I need to have response from all the throttle range.

This might be a silly example, but just to make it more visual, imagine also a skate board with a person on top and using current control, on flat ground. You can somehow keep it at constant speed while people is on top, but if you make a jump on the skateboard, it will accelerate because there is no load and you will land out of the skateboard.
If using duty cycle, the speed is kept the same, and you will land on top of your skateboard.

If current control could somehow have this same speed control and not go crazy on speed with light loads I will switch to today. Can it?

1 Like

Do you need to have different speed settings? If not maybe using current control and setting a ERPM limit can work

1 Like

I need to have full throttle range, not only limit the max speed, that was the main reason I’m not using current control.

I wish someone can help me out solving this duty cycle issue or somehow have a “acceleration control” so current control can be used with dynamic speed limit according to the throttle position.
But I think the quickest is to have the duty cycle issue sorted.

Any ideas on how to make this happen or any coders out here that can help to solve it? Unfortunately this type of coding is out of my reach, so if someone can do it, I will support it the best way I can.

If you don’t mind loss of braking ability above that speed

Sorry to revive this thread but is the throttle connected to a 3.3v pin or a 5v one?
Grapevine lurking on this forum says adc throttle over 3.3v maxes out

1 Like

This is an understatement.
Silly me I didn’t change the default settings. (4 times for each of the controllers)
And had a high speed crash that I would have rather not had.
Surely the default needs to be changed to safe values so that people can change then to unsafe values should they feel the need to live on the edge?
What needs to happen before this bug gets more attention? I walked away with cuts and bruises but in some riding circumstances I could have been killed. Or if I’d been riding in a T-shirt with a half shell as so many people do.

8 Likes

I agree this really needs attention.
The only way I managed to make it work was with PID (although not as smooth and just provisional solution it allow me to make some test without being locked at full speed).

Any system with multiple motors that reach full speed if used duty cycle control are prone to this situations and possible problems. This on a skateboard will be very dangerous. We used another system and we broke already some carriers due to this issue. Gladly just materials need to be repaired and no injuries on people.

Hope someone can look deeper on this and have the duty cycle issues and full speed locking sorted. I will help testing as unfortunately I’m not skilled to help on programming.

One nice thing to add on this for people who need duty cycle control due to restrictions on speed control, would be implement an “acceleration control”, so basically a “current control” with dynamic speed limit so it works similar as duty cycle.

Let me know how can I help. I’m OK to sacrifice some hardware in order to prevent future user accidents.

2 Likes

I’m using PPM, not ADC.
After all the tests, I’m guessing the issue is not related to the input method, but an issue on the duty cycle.

Although this is good feedback, as we need to help the developers by giving them as much inputs as possible and knowing it locks with ADC is also a plus.

2 Likes

Speed wobbles come from skateboard trucks. Not the esc. The center Pin axis if not suoer tight on bushings creates the wobble. Spring trucks dont have this issue but less carve to em.