BotoX / xiaomi-m365-firmware-patcher

Automatize patching of Xiaomi Mijia M365 electric scooter firmware
https://m365.botox.bz
407 stars 108 forks source link

Disable acceleration past a speed point (Motor braking when going downhill) #12

Closed RedWavve closed 5 years ago

RedWavve commented 6 years ago

Hello, First, thanks for the AMAZING work, I'm flashing my M365 almost everyday trying to solve issues and get the best speed available.

TL:DR > Do you think there's anything that can be done, like disabling the KERS completely, or looking at some flags which would be able to disable acceleration past 28km/h for example

Details:

However, I'm still having an issue : when going downhill in cruise control or without cruise control, the motor is still running, and that "acceleration" is... producing some braking!

I tried the new "remove hard limit", but all it does is "lie" to the driver and divide the speed by 2 so the M365 continues to accelerate, which is useless unless you have a 60V battery.

Thank you so much ;-)

BotoX commented 6 years ago

The hard limit patch doesn't lie about anything or divide by 2. It just removes some if speed < 35 check. And I think the only way to get more downhill speed is to disable the engine and go into free roll mode. This is due to the operation of the motor and the battery voltage limiting the max. speed.

RedWavve commented 6 years ago

Thanks for the quick answer ;-) MiHome is reporting 17.2 km/h when that patch is enabled. I'll post a screenshot ASAP. If anybody could weight in on that and confirm I'm not the only one?

BotoX commented 6 years ago

That's because the max possible speed that can be displayed is 2^15 m/h which is approx 32km/h. It's shitty chinese programming, signed 16bit int and sending in m/h when internally the speed is only 345 * km/h accurate...

Just use GPS speed apps on your phone

RedWavve commented 6 years ago

Hi, is anyone having the same issue? It seems to be a bit less visible on 1.4.0 than in 1.3.8 for now, but since we still haven't got the changelog from Xiaomi... :-(

LGM33 commented 5 years ago

The hard limit patch doesn't lie about anything or divide by 2. It just removes some if speed < 35 check. And I think the only way to get more downhill speed is to disable the engine and go into free roll mode. This is due to the operation of the motor and the battery voltage limiting the max. speed.

I'm having the same issues. Same settings as @RedWavve.

Automatic regen can't seem to be completely disabled.

Going above 32kph triggers automatic regen. (-4 amps down a hill) Also, motor is always powered while coasting (no throttle, still draws 10-16 watts) causing drag. Lifting up the scooter and throttling the motor(no load) causes it to turn continuously after the throttle is released. Wheels spins at 26kph continuously with no load drawing 14 watts (Russian Throttle). Wheels spins at 3kph continuously with Speed Throttle still causing drag.

Only with fully charged battery voltage >41.5v this does not happen and wheel can coast correctly (brake lever regen also seems to be disabled). Once voltage falls below 41.5v the motor does not coast naturally anymore. Speed Controller always seems to be spinning the motor waiting to regen (causing drag).

Is there any way to completely disconnect the motor when coasting with the throttle off? The only way I can do this is by turning the scooter completely off when coasting downhill. Even powering off the scooter to coast on flats feels way better.

ghost commented 5 years ago

I observed the same when I used FW 1.3.8. Even after releasing the throttle I could still hear noise produced by motor even with KERS disabled. That's the main reason why I switched to 1.4.0. Once you release the throttle (with KERS disabled) scooter will just roll free with no drag or noise. I don't recommend turning the scooter off while coasting. Even with my rear brake set properly (wheel skids on full brake), front wheel provides more braking power.

LGM33 commented 5 years ago

I observed the same when I used FW 1.3.8. Even after releasing the throttle I could still hear noise produced by motor even with KERS disabled. That's the main reason why I switched to 1.4.0. Once you release the throttle (with KERS disabled) scooter will just roll free with no drag or noise. I don't recommend turning the scooter off while coasting. Even with my rear brake set properly (wheel skids on full brake), front wheel provides more braking power.

I have tried 1.4.0 and it does turn off the motor while coasting. However, the motor will jerk when restarted. Referenced in issue #11.

This jerkiness happens on brake lever regen and throttle, whenever the motor is reactivated. This problem seems to be exacerbated by boosted Motor Power Constants.

I have 40165 Power Constant and braking would pulse -7.0 Amp regen current jerking the motor (regen current falls to normal -3A after initial jerk). Reengaging the throttle would cause a jerk deceleration before acceleration.

What settings are you using? Default Power and Russian Throttle?

I tried Default Throttle with FW 1.4.0. and jerkiness was unrideable.

ghost commented 5 years ago

I configured Power Constant to 40000. Since I ride mainly on full speed cruise control I've left default throttle alg (there are some issues with Russian alg & cruise control) Maybe I just got used to it. Actually I sometimes use throttle to slow down on purpose since E-brake kicks even harder

oasbjornsen commented 5 years ago

Have the same issue. Anyone resolved this?