VESC BASED CONTROLLERS - Brakes locking at low speed for larger wheels in FOC - possible Unity Fix

Yeah seems reasonable. Hadn’t spent any time optimizing I’ll make that switch.

I forwarded this thread to him about 3 weeks ago as well :slight_smile:

2 Likes

Anyone tried this updated FW on Vesc 6 yet?

1 Like

I believe that part of the code is common to all versions

Thanks -Will give it a try on Flipsky dual 6 tonight.

Tried to update firmware on dual 6 Flipsky - when new firmware loaded , the red light comes on and it throws a DRV fault

So went back to old firmware

Cheers

1 Like

Weird! Did you use my firmware or compiled yourself? Did you use the _no_hw_limits?

Did you just go back to standard latest vedder firmware?

used your FW but the default tried the no limits version last night and no faults! havent tried the stopping yet

2 Likes

yeah from the tool

1 Like

Awe! Glad it loaded. Let’s us know how it works!

1 Like

tried it out on a ride today on flipsky dual 6

All good with the 3km/hr max brakes effect totally gone

Still a bit of brake slight increase just before dead stopped-but maybe that is intentional.

Thanks a lot @DAddYE for FW update

Cheers from Australia

5 Likes

Were you able to solve it?

Yes, by a adding a hysteresis to the software. But i can’t really feel a big difference in the transition between normal braking and a full brake compared to the old version of the software. Think it depends a lot on the motors and gearing that you use. Need to do bit more testing when i find the time. Maybe the unity behaves different when it comes to the transition.

1 Like

Exactly that, if the torque your motors can produce when shorting the phases in final braking is not enought you will not feel it, or if your gearing is too tall even with large motor it may not be noticeable

For all the folks that have still some cogging while stop, Vedder did an update to the code:

static bool was_full_brake = false;
if (m_control_mode == CONTROL_MODE_CURRENT_BRAKE &&
		fabsf(duty_filtered) < m_conf->l_min_duty * 1.5 &&
		(m_motor_state.i_abs * (was_full_brake ? 1.0 : 1.5)) < fabsf(m_iq_set)) {
	control_duty = true;
	duty_set = 0.0;
	was_full_brake = true;
} else {
	was_full_brake = false;
}

I’ll try to update my branch asap so everyone can test it.

6 Likes

Hi,

if anyone is interested I’ve compiled the binaries:

https://github.com/DAddYE/bldc/tree/fix_stop/build_all

Rember to use the 60/default_hw_no_limits for Flipsky vesc 6

2 Likes

Let me know how these changes compare, I’ll integrate this into the unity too if it feels smooth.

6 Likes

Interesting! So it’s solved now? Full speed to full standstill and no cogging or locked brakes? :smiley::clap:

1 Like

FYI, I just tested this code and the results were not great. Just a sample size of one so doesn’t mean too much but I’m guessing Vedder must be work in progress on this as I get some weird stuttering from this.

2 Likes