VESC acceleration boosts at high speeds

Was your motor amp limit 40 Amps? Because then the algorithm might not allow you to increase the duty cycle at 39 Amps. Although it doesn’t explain it why it then allowed the higher duty cycle when the motor amps had decreased to 32 A… Might be a problem with the PID-control loop.

Data logging

Motor amp was at 80 and batterie at 35 and throttle at perfectly constant 50%.

So I’m guessing with the VESC that 80 motor amp limit and 50 % throttle would mean that the PID-loop would try to maintain 40 motor amps.

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.