Re: Any driveability quirks/complaints?
Posted: Mon Sep 21, 2020 9:17 pm
I forgot to ask, when you say more boost, what sort of magnitude did you change it by?
openinverter Community
https://www.openinverter.org/forum/
I changed boost in steps of 500 untill i was over 7000 and i got to desat again. Wen i fet i got to something i took a step back by 300. It seems too much boost would saturate motor and trip desat.
Cant you setup automation section to act as hill hold? I think you have that option in menu. You just need to change time constant and slip constant.Roadstercycle wrote: ↑Mon Sep 21, 2020 11:07 pm The only quirk that I don't like is not having hill hold like on a Tesla. You just can't seem to get off the brake and onto the go pedal quick enough before rolling back. Even if it's 6 inches it sucks, it's like having a clutch car without an emergency hand brake to hold it while you let the clutch out to hold the car. Other than doing some can bus magic like Jon or getting the idle thing going the only thing I can think off is having a momentary push button to shut off the brake signal to the motor so you can do a little brake torque action in those situations. I would hate to live in San Francisco with this issue. Actually, I would hate to live in San Francisco anyway so it would not be an issue.
I think most are running no brake idle. The problem is the latency between reducing brake pressure and the brake light switch deactivating and inverter kicking on is enough time to roll back. This is one of the reasons I went to always on idle and mapping idle throttle to pot2. As soon as you start reducing brake pressure, idle ramps in throttle to help mitigate any roll back.arber333 wrote: ↑Tue Sep 22, 2020 4:59 amCant you setup automation section to act as hill hold? I think you have that option in menu. You just need to change time constant and slip constant.Roadstercycle wrote: ↑Mon Sep 21, 2020 11:07 pm The only quirk that I don't like is not having hill hold like on a Tesla. You just can't seem to get off the brake and onto the go pedal quick enough before rolling back. Even if it's 6 inches it sucks, it's like having a clutch car without an emergency hand brake to hold it while you let the clutch out to hold the car. Other than doing some can bus magic like Jon or getting the idle thing going the only thing I can think off is having a momentary push button to shut off the brake signal to the motor so you can do a little brake torque action in those situations. I would hate to live in San Francisco with this issue. Actually, I would hate to live in San Francisco anyway so it would not be an issue.
I think that option is called "no brake". So when you lift your foot off the brake some slip and some amps should hold you into a hill.
Just to report back. With Jon's help I've now installed the Teensy, CAN shield and brake pressure sensor into my set-up. What's interesting is that despite us both running close to identical configs (LDU model, generation logic board, params, brake sensor etc) the basic sketch from Jon's car was not copy and past into mine. Upon upload, the car had several issues that could be related to the code, or that our hardware generation is somehow different and interpreted the inputs indifferently. Anyway, the code was stripped out to just map fweak and slipmin dynamically over CAN relevant to POT input. The good news is that this has made a noticeable improvement to the control of my car at low speeds, especially when coming off and back on the throttle.Boxster EV wrote: ↑Mon Sep 14, 2020 9:18 am The below really is very much about fine tuning - overall the car is performing great:
1) Low speed oscillation of the motor when on/off brake - the issue is linked to running automation idlemode in 'no brake' (and idlespeed in a positive number) . This usually occurs when parking the car carefully into a space where low speed control is important. The best way I could describe the symptoms is that It almost feels as if the motor doesn’t know which way to rotate - it just oscillates until the brake is fully released allowing the motor to turn without resistance. I've learnt to live it.
2) I'm getting vibration when pulling away from a standing start at a moderate speed - especially evident when facing uphill. I've been experimenting with lots of settings over the past 6 months and I've not come across anything that makes a difference to improving this 'quirk'. Once the car is moving the motor is very smooth under any conditions and at any speed.
3)Throttle power delivery. It's reactive throughout the throttle range but could be smoother. I've played around ampmin and slipstart with varying success but it's not perfect.
How would you characterize the application of sensors, inputs and code? Do you use some oscillation dampening like PID in your teensy code?Boxster EV wrote: ↑Thu Oct 01, 2020 11:43 am Just to report back. With Jon's help I've now installed the Teensy, CAN shield and brake pressure sensor into my set-up. What's interesting is that despite us both running close to identical configs (LDU model, generation logic board, params, brake sensor etc) the basic sketch from Jon's car was not copy and past into mine. Upon upload, the car had several issues that could be related to the code, or that our hardware generation is somehow different and interpreted the inputs indifferently. Anyway, the code was stripped out to just map fweak and slipmin dynamically over CAN relevant to POT input. The good news is that this has made a noticeable improvement to the control of my car at low speeds, especially when coming off and back on the throttle.
It's early days in testing but initial signs look very positive. I intend to add back in other areas of code relevant to voltage change sensitivities during different SOC and pot2 input. I'll report back.
The dumpster fire called code is here. https://github.com/jonvolk/LDU_CAN
Maybe ZeroEV or EVWest have a stock gearset laying around for you from swapping in those 4.5:1 aftermarket ratios.jon volk wrote: ↑Thu Oct 01, 2020 3:39 pmThe dumpster fire called code is here. https://github.com/jonvolk/LDU_CAN
Its really way more remedial than any PID loops.
With some comments about startup performance under very small slip values, I started looking at things from another angle. I decided to move fweak around as a test. Lower values were uncontrollable, but throwing it up to 400hz was a dramatic improvement in low speed scenarios and allowed for a 1.8-2.2 fslipmin value. It also allowed for strong/smooth startup on hills. Boost is also increased to around 1700. This of course came a large penalty for overall power. The primary improvement has been around mapping fweak to pot in combination with my previous fslipmax limitation at low speed/low-mid throttle. I spent about a week with this setup and never once had to think about HOW i was driving the car and didnt have any urge to break out the laptop.
Tuning has taken a small detour due to a matter that Ill post about shortly.
I also need to do another refactor of the code to simplify things and remove some unused variables that bled over from my VCU.
Can you post your parameter file?ManuFromParis wrote: ↑Tue Oct 06, 2020 12:40 am On my SDU setup, I worked on the slip parameters tuning recently, to avoid very fast inverter temperature rise, and doing this I somehow managed to eliminate vibrating and weird oscillations (is that what you call quirks ?) at very low throttle and low speed.
I suspect the slipstart value to be involved : it's now around 18.
I assume the fslip value is going from min to max above this throttle position, so driving with a throttle oscillating around this slipstart value might generate motor vibrations, but that shall be confirmed with the software algorithm to understand which value is used under the slipstart value.
I think I had issues with lower values (10-14), but as I was working on acceleration and torque performance, the very low speed issues were not my first concerns, so I tried various combinations of fslipmin, slipstart, iacmax until all conditions were optimized.
Then I noticed weird behavior on low speed, which disapeared when I rose the slipstart value. I also got some regen back doing this.
All this to say this parameter might to be part of the game for several functions/behavor/issues.
I need to read the software again and check how it's really being used.
Just to provide further feedback from the past week. Thanks to Jon, Throtramp variable has now been added in over CAN. My Teensy is dynamically managing Fweak, Slip and throtramp.Boxster EV wrote: ↑Thu Oct 01, 2020 11:43 amJust to report back. With Jon's help I've now installed the Teensy, CAN shield and brake pressure sensor into my set-up. What's interesting is that despite us both running close to identical configs (LDU model, generation logic board, params, brake sensor etc) the basic sketch from Jon's car was not copy and past into mine. Upon upload, the car had several issues that could be related to the code, or that our hardware generation is somehow different and interpreted the inputs indifferently. Anyway, the code was stripped out to just map fweak and slipmin dynamically over CAN relevant to POT input. The good news is that this has made a noticeable improvement to the control of my car at low speeds, especially when coming off and back on the throttle.Boxster EV wrote: ↑Mon Sep 14, 2020 9:18 am The below really is very much about fine tuning - overall the car is performing great:
1) Low speed oscillation of the motor when on/off brake - the issue is linked to running automation idlemode in 'no brake' (and idlespeed in a positive number) . This usually occurs when parking the car carefully into a space where low speed control is important. The best way I could describe the symptoms is that It almost feels as if the motor doesn’t know which way to rotate - it just oscillates until the brake is fully released allowing the motor to turn without resistance. I've learnt to live it.
2) I'm getting vibration when pulling away from a standing start at a moderate speed - especially evident when facing uphill. I've been experimenting with lots of settings over the past 6 months and I've not come across anything that makes a difference to improving this 'quirk'. Once the car is moving the motor is very smooth under any conditions and at any speed.
3)Throttle power delivery. It's reactive throughout the throttle range but could be smoother. I've played around ampmin and slipstart with varying success but it's not perfect.
It's early days in testing but initial signs look very positive. I intend to add back in other areas of code relevant to voltage change sensitivities during different SOC and pot2 input. I'll report back.
I’ll shoot ya an email next week. If you send me your json and any can settings messages you already have configured I can get some semblance of a working .ino for ya.
I can’t comment on the over temperature issues you faced. On my set-up I run the coolant through a large radiator and never faced an issue once the air was all gone.ManuFromParis wrote: ↑Sun Oct 25, 2020 8:44 pmIt was posted there :
viewtopic.php?f=10&t=195#p17143
![]()
So I thought I'd revisit this. As what initiated this thread, Ive still been running some CAN based parameter mapping on my LDU board. This has resulted in very smooth operation without any real issues to speak of in function. Im still running a Teensy based VCU in the car and as the list of connected CAN devices has grown, along with adding more functions to the overall code, the Arduino abstraction (along with my poor optimization) is adding noticeable lag in moving messages where they need to go. Since fweak is one of the parameters that is changed with throttle input, a lag here can in rare occasions result in an overcurrent trip with a fast whack of the throttle since creates a higher change "step" than desired.
Ill take a dive at comparison issues later today.johu wrote: ↑Sat Apr 10, 2021 5:13 pm Just taking a peek. Some comments
- in line 416 you compare a fixed point value with an integer. I think you want to write "Param::GetInt()" instead
- line 549, 544: unfortunately floating point is not supported. So FP_FROMFLT(0.45) converts to fixed point. Also GetInt() again
- Also could you rewrite with potnom so it is more universal?
- pwmgeneration-sine, 103: is that just a copy? You mapped value should already appear in fweakcalc
- MAP macro probably needs rewrite with FP_MUL and FP_DIV macros because it is processing fixed point values
Not the biggest fan of the fixed point macros myself. It is super fast but ugly to use. Attempted to write a fixed point cpp class but that always turned out more complicated than anticipated.