-
Notifications
You must be signed in to change notification settings - Fork 973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed shortly overshoots maximum rpm value during acceleration phase #132
Comments
Interesting finding. I will double check the code. I think it has to do something with the speed limitation. I will have a look to see if it can be fixed. |
@elektroluki @Candas1 I had a quick look on the behavior and how to fix it or mitigate it. It does overshoot because either the Speed limitations is too slow or the Speed increase is too fast and the limitation does not have enough time to detect it. I think of 2 approaches:
I don't know how much are you willing to test these options. |
Hello again!
Thanks for your efforts. I have tried a few things. The most success I had with changing the parameter cf_nKiLimProt.
When increasing it, the overshoot is still there, but it is compensated for quickly. I hope that with the mass of the kart, the overshoot should be less irritating. When driving, the kart speeds up and then suddenly breaks to return to the maximum speed – I can see my kids struggle with the behaviour – they get confused and release the throttle which amplifies the behaviour even more.
My suspicion is, that the actual problem is a windup in the current regulator, which only starts to reduce after the speed actually overshot.
Trials with n_ki and n_kp showed that the speed regulator is not in operation at all. When I change them to zero, everything behaves the same.
Some experiments with the current regulator parameters (e.g. reducing Ki) didn’t have an effect at all. I changed the values in rtp_Left as suggested, but some changes do not show an effect. Are they overwritten later?
I had a similar problem once, and I think I solved it by having the current and speed regulators active all the time, but then using either one or the other output depending on which of the two requires the smaller actuation. It made a very smooth transition between modes, but I remember that it was not just as simple as it sounds here.
For me the code is hard to read. I find it hard to identify the blocks for the regulators, but I will keep at it.
The most recent observation is that as my kids are getting more confident, I increased the maximum speed and that also decreased the effect.
Thanks again for the effort! My kids have an absolute ball with the E-Kart!
Lukas
From: Candas1 <[email protected]<mailto:[email protected]>>
Sent: 27 January, 2021 23:54
To: EmanuelFeru/hoverboard-firmware-hack-FOC <[email protected]<mailto:[email protected]>>
Cc: Mayer, Lukas W. <[email protected]<mailto:[email protected]>>; Mention <[email protected]<mailto:[email protected]>>
Subject: Re: [EmanuelFeru/hoverboard-firmware-hack-FOC] Speed shortly overshoots maximum rpm value during acceleration phase (#132)
I tried option 1 with those values, decreasing the rate and using filter and speed_coefficient from nunchuk variant:
[image]<https://user-images.githubusercontent.com/20670049/106064566-5f2ff100-60fa-11eb-866f-0fc142c494bd.png>
It's still overshooting up to 371 rpm.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#132 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ASG22MEWGE52GHNG7VUBISLS4CKRNANCNFSM4WQU4ACQ>.
|
I do not know if it helps you but I had the same problem at low RPM. It was just trial and error until throttle was smooth enough for my kid. |
I have tried with some success another strategy: The behaviour can be reduced by not using the full range of the throttle: |
Hello. First of all thanks for the work. As a novice user, I find it incredible what you have achieved here. I have built a trike for my 2 year old son based on Hovercar, and it works great. I limited the rpm to reach a maximum speed of 7km/h, but I have the problem that the rpm is exceeded and then brakes slightly in excess, and then it regulates the speed correctly. Currently I have configured with I_MOT_MAX 7A, I_DC_MAX 9A N_MOT_MAX 153rpm. I've tried reducing default_rate, default_filter and default_speed _coefficien, but no improvement in speed throttling. Can you think of what parameters to adjust to solve or limit this behavior? |
Hello!
First of all: Thank you for all your hard work on this software. The motor FOC control works absolutely terrific. I have built a small E-Kart for my kids, and for now have limited the maximum speed and motor current (torque mode) to somewhat low values (7 Amps, 150 rpm). I am operating in Hovercar mode.
The observation is that while speeding up, the set maximum rpm seems to overshoot, which leads to something like a "breaking action" after the acceleration phase. Once the cart is slowing down to the set maximum rpm, it keeps the speed constant and everything is fine. It is still a somewhat strange driving experience.
I wanted to ask, if this issue can be solved by some regulator settings (I guess at some point a speed regulator has to take over the torque regulation, and that point seems to happen a little too late). If you have an idea, just give me a hint and I will play with the settings. If you see no option, with the existing code, I'm willing to add some code to the project. I have some experience with Motor controls myself... https://closed-loop-bldc.blogspot.com/
My kids have so much fun with the E-Kart, thanks again for helping to make that possible!
With kind regards
Lukas
The text was updated successfully, but these errors were encountered: