Mainly, the unwanted regen is still there, although it is shifted to only happen above ~2800rpm and it feels not as strong as in the beginning, even though it can reach ~50A regen current. This is at curkp=250, curki=3000, curkigain=0, syncof=47500, syncadv=10. Increasing syncadv decreases this regen current all the way to 15A at syncadv=40 and increases the subjectively perceived torque at sthe same time. At this high value however, the car accelerates on its own when letting go off the throttle above ~5500rpm.
Here (viewtopic.php?p=38910#p38910) it is mentioned that syncadv should stay at ~10, as it is just meant to compensate the time lag of the resolver readings at high rpm. So I stopped experimenting with it.
I have also tried every one of the 4 permutations of the resolver pair polarity combinations, but two of the combinations didn't worked at all and the other two were identical. Going through the whole range of syncofs values also did not reveal any improvement.
Thus, my latest attempt was to modify the firmware (v5.17) with custom MTPA constants that I found online for the Prius Gen3 motor:
Code: Select all
static const s32fp fluxLinkage = FP_FROMFLT(0.124);
static const s32fp lqminusldSquaredBs10 = FP_FROMFLT(0.00074); //additional 10-bit left shift because otherwise it can't be represented
static const s32fp lqminusld = FP_FROMFLT(0.00085);
Code: Select all
s32fp term1 = fpsqrt(fluxLinkage2 + ((lqminusldSquaredBs10 * isSquared) >> 7));
idref = FP_TOINT(FP_DIV(fluxLinkage - term1, 4*lqminusld));
iqref = sign * (int32_t)sqrt(isSquared - idref * idref);
Here is another interesting plot when driving downhill: (parameters from above were used, ffwstart = 400Hz = 6000rpm -> no field weakening) The car accelerates till 81852 where I completely let go off the throttle. Unwanted regen starts off at ~35A and tapers off to 20A at 83800. The motor stutters barely noticeable and then just freewheels with 0A. As I am going downhill, the rpm starts to increase again but there is no regen current. Hence, it seems the unwanted regen is not dependent on rpm alone.
Other notable quirks of the car are, that torque and power feel really good at low rpm (motor input current ~100A), but quickly taper off (e.g. only 60A at 5000rpm). It seems like the inverter can't push il1 and il2 above 90A (slightly dependent on syncofs), no matter how high I set my throtcur.
Also, driving backwards at syncof=47500 causes the inverter to quickly heat up and overheat. Lowering syncofs to 41000 gets rid of the overheating, however the motor now has only very little torque in forward direction.