VESC acceleration boosts at high speeds

I think the problem is in the BLDC code in the methode update_adc_sample_pos at this line `if (duty > (uint32_t)((float)top * conf->l_max_duty)) {

     duty = (uint32_t)((float)top * conf->l_max_duty);

}`

But i am still not sure. Did some calculations and sometimes you get strange numbers exactly around the duty cycle between 0,85 and 0,95. But still hard to understand.

And i just want to know if the same behavior happens in FOC mode. Because there the calculation is not the same.

Isn’t there anybody in the forum who can tell me if the acceleration burst happens in FOC mode?

Off-topic reply, but.

Discussed the motor theory with my electronics lab teacher on monday and he confirmed it to be correct. So I can pretty much do almost purely mathematical control. I need to know the motor’s kV, Pole count and internal resistance (all constants) + I need to be able to measure the battery DC voltage (Although I can use a constant, but voltage droop exists) + Motor’s RPM, which I can measure with the hall-sensors. Basically, because I IMO suck at ADC design, I want to avoid using it as much as possible.

Then I can calculate motor amps, battery amps, power, speed and from those make my control scheme. We also discussed what would be the most natural control scheme and we concluded that speed control is the best option. So I’ll probably use speed control and then just calculate the motor amps and battery amps to make sure they stay within limits.

Also did some calculations to figure out battery voltage, wheel size, gearing and motor kV to beat the current world record (95.9 km/h) for electric skateboards :grin:

None of my 7 bards with FOC shows this problem. All of them are on the debugged FW 2.18:

  • 2x FOC sensored/hybrid mode at 10s (dual 6355/200kV)
  • 1x FOC sensored/hybrid mode at 12s (dual 6374/190kV eMTB)
  • 2x FOC/nonsensored at 10s (dual, hummies hub motors/90kV)
  • 2x FOC/nonsensored at 7s (single, kids mode, limited ERPM, 1x 6355/240kV, 1x 5065/260kV)

But I might not be a reference for that, maybe the setups of others are different.

1 Like

@ackmaniac, very interesting video and data. I watched the video many times.

To me it actually looks that neither motor nor battery LIMITS play any role here. Neither motor nor battery current are hitting the limit. With your throttle setting at 50% the motor is simply not requested to produce enough power to get close to the limits of 80 amps motor and 35 amps battery.

What is noticeable is that battery voltage drops and is at the lowest level at exactly the point the duty cycle jumps from 0,86 to 0,94. This also seems to indicate an irregularity.

As mentioned, I haven’t noticed the boost in FOC mode. It is very pronounced on another board in BLDC mode, but at lower speeds. So why would it be between 0,85 and 0,95??? Could it be at other levels with other settings?

That chart is only applicable when we are not changing the duty cycle! We can only reproduce that chart if we either give the motor a constant voltage, or static duty cycle. It is a STATIC representation.

When we are cruising, we ARE adjusting the duty cycle and therefore it’s a DYNAMIC situation in which you cannot use that chart directly.

Sorry. I meant the PMDC performance GRAPH. Sorry.

Yes, due to the VESC screwing around with the duty cycle, to stay within the motor amp and battery amp settings.

This thread is not about the behavior at 0 rpm. We know that we need to increase the motor max amps drastically to reach high watts at 0.so please stay to the topic about the acceleration boost.

So it seems that the problem doesn’t exist in Foc mode. That brings me back to my theory that this behavior is caused by wrong calculations. Maybe somebody can test with the same bat and motor settings on bldc and foc and tell us the difference.

@devin, please note that this diagram is a generic diagram and not a real world motor diagram. Also, it doesn’t state any load, which in the real world is constantly changing.

In the real world when the motor powers a skateboard we have wind resistance which increases with the square of the speed. So we need 1) power to accelerate (pretty constant in this case) plus 2) power to overcome increasing wind resistance.

Okay. Let’s consider the control scheme for a moment.

Which one is best for natural acceleration? Speed Torque Power

Before we agree on which one the controller should use, we can’t really discuss the way to go about achieving that.