so I finally received my VESC 6.4 hardware from trampa yesterday almost one week later then most of you, but better late than never. ;) In this thread I will write down my experience with the new hardware and things that I noticed.
Lets begin with some general info about my setup I tested the new hardware with first. It is an electric bicycle with an MXUS 3000W v3 motor with 11.9kv and a 11s 10000mAh Hobbyking Multistar battery with a max constant discharge current of 50 ampere. (the data sheet says the constant current could be higher, but I found out that the 50A is the max I should use) The motor has build in hall sensors and a PTC temp sensor that is hopefully supported in a future firmware. The VESC 6.4 hardware gets its throttle commands over a 3.3V poti that is build into a throttle handle, the hardware itself is in a bike bag so no airflow for cooling is available and connects to the phone over bluetooth via the metr.at iOS and Android application for logging. Please notice that I got a BETA version of the app to be able to connect to the new firmware.
I tested in FOC mode with the following VESC settings: https://www.dropbox.com/sh/jdsx2m3jhbmuh73/AAAaXIfjwrszP68z2n-gVSr8a?dl=0 So a max battery current of 50A, a max motor current of 100A (max value of VESC-Tool) and a absolute max current of 150A. I think that are the most important aspects about my setup so lets start now with things that I noticed:
1. With these current limits (bat. 50A/ mot. 100A/ absolute 150A) I often get over current faults when hitting full throttle from a stand still. An example fault code looks like this:
Fault : FAULT_CODE_ABS_OVER_CURRENT
Current : 150.3
Current filtered : 147.2
Voltage : 43.48
Duty : 0.295
RPM : 3054.0
Tacho : 287273
Cycles running : 31776
TIM duty : 2475
TIM val samp : 2
TIM current samp : 4200
TIM top : 8400
Comm step : 0
Temperature : 44.97
I uploaded a txt file with a lot of these faults here: https://www.dropbox.com/sh/s2x1uz63p19rumq/AACNc7UqePlwQv_lNDxkGFOta?dl=0 You can see that every time the current is slightly higher than that 150A (the absolute max current) the error code is thrown. It isn’t clear for me how that is possible when I set the battery current to 50A and the motor current to 100A, so way lower than the 150A. Maybe it is kind of an overshoot before it could be controlled back to the targeted value. I also noticed this behavior with the old firmware and HW4.12, but I was thinking that this was a problem because of the only two shunts sensing the current. You can see some of that faults in that metr.at log: https://metr.at/r/SfoN8
It is very interesting, that the behavior changes over time. So lets say the first five starts from standstill with full acceleration leads to over currents with the VESCs output shutting down for a moment. The next three acceleration from standstill with full throttle stutter a bit like you can hear in that video: https://www.dropbox.com/sh/o0s67u92uj0uz1u/AABFi_D3L8ju7Z0d9fEcSrzGa?dl=0 and after that it works normally without stuttering and faults at all. The behavior isn’t that consistent as described, but there is definitely a coherence over time. The only possible explanation I have right now is that the motor and even more the VESC itself gets warm over time. This leads to a disappearance of the fault. So is this over current in my situation a bug?
2. The acceleration in FOC mode (didn’t test BLDC mode yet) feels a lot more gentle than in the old firmware. What would be good for electric skateboards feels bad on the bike. It now feels like there is a little delay between the full throttle input and the acceleration. I think it is comparable with the turbo lag from a car before the turbocharger kicks in. You also notice it when giving full throttle with the motor free wheeling. The feeling is different to the old firmware. Maybe that is just a different setting from one of the FOC parameters. I don’t know. I would like to have the acceleration kicking in harder when I am giving the related throttle command. Someone knows how to achieve that?
3. I did the FOC detection of R and L three times with a 3s battery and three times with a 11s battery:
3s-1.: R=26,63mOhm L=52,85μH KP=0,0529 KI=26,63
3s-2.: R=24,78mOhm L=53,10μH KP=0,0531 KI=24,78
3s-3.: R=24,82mOhm L=53,05μH KP=0,0530 KI=24,82
11s-1.: R=26,21mOhm L=50,12μH KP=0,0501 KI=26,21
11s-2.: R=31,57mOhm L=50,14μH KP=0,0501 KI=31,57
11s-3.: R=31,42mOhm L=50,07μH KP=0,0501 KI=31,42
and also the λ detection three times with a 3s battery and three times with a 11s battery:
3s-1.: λ=20,291mWb Observer Gain (x1M)=2,43
3s-2.: λ=20,295mWb Observer Gain (x1M)=2,43
3s-3.: λ=20,285mWb Observer Gain (x1M)=2,43
11s-1.: λ=20,133mWb Observer Gain (x1M)=2,47
11s-2.: λ=20,153mWb Observer Gain (x1M)=2,46
11s-3.: λ=20,155mWb Observer Gain (x1M)=2,46
As you can see the measured inductance and even more resistance values are noticeable different between the 3s and the 11s measurement. I think the difference isn’t that big, but should everyone use the target voltage he want to use afterwards also for the detection? I read somewhere that some people prefer detecting the parameters on a lab power supply with a low voltage. What would be better?
4. The switch to change the sensor voltage between 3.3V and 5V isn’t good accessible from the outside without opening the case. It is very hard to even see what the current switch position is from the outside.
5. It looks like TX and RX have changed their position. But is it right that the pin from the old hardware „TX SDA NSS“ has changed to „RX SDA NSS“ and „RX SCL MOSI“ has changed to „TX SCL MOSI“? So just the UART is swapped and the I2C and SPI are the same arrangement?
6. As you can see in that metr.at log https://metr.at/r/4VYCT the motor current is reaching 99,9-100,1A of the 100A max motor current that was set up, but the battery current only gets to 48,6A of the 50A max battery current. When I look at old logs from the VESC 4.12, there the battery current was also reaching the 50,0A of the 50A max battery current set up. The 1,4A is not a big difference, but I noticed it so I write it down.
7. As you can see in the same log, the temperature of the new hardware in the aluminium case doesn’t rise that fast, but when the case is heated up it also takes a lot of time to cool down. I set the temperature limit start to 80°C and the end to 90°C. The max temperature I reached was in that run with 86°C: https://metr.at/r/5a2Vc So when hitting the throttle very hard on a already quite hot VESC 6.4 it is definitely possible to reach the temp limit.
Thats it for now. I will add later what I forgot to mention in that post. I hope to get the over current situation fixed and that someone find this write up useful. Don’t forget that english is a foreign language for me, so excuse some mistakes and typos. :D Thanks.