VESC-tool says "IPM motors are not popular and injecting negative id current can increase the motor speed. If id current suddenly collapses (under a fault condition for example) the DC Bus voltage can increase well beyond the powerstage rating causing a fire and maximum braking power at the motor shaft."
The first part of that statement is false. IPM motors are the most popular traction motors in the World -- they are used in most cars, and for good reasons!
The second part highlights problems with VESC's fault handling -- i.e. that the VESC is not yet safe for use with IPMs at high RPM.... OK, so lets fix it!
Problem #1: VESC's fault handling and safe-state = "PWM off" leads to automatic uncontrolled re-gen if induced voltage exceeds the battery voltage.
Feature request #1a: A fault mapping matrix listing all fails that the SW can detect as "fault states" , and mapping them via conditions to fault handling actions.
Feature request #1b: The fault state "dc-bus overvoltage" must happen at a threshold before damage will occur, and shall immediately lead to the fault handling action: "output only null vectors".
This should be enabled as default (or at least strongly recommended whenever MTPA or field weakening is enabled) -- it could even we hardwired so that it happens without delays and SW processing. Null vectors are effectively short circuiting the 3-phase, and might lead to currents >Imax for the power stage (depending on motor parameters like Ichar = lambda / Ld ), but intermittent over-current is normally much less damaging than over-voltage.
The null vectors lead to automatic field weakening which reduces the braking torque from IPM motors during the fault handling.
Feature #1b can prevent 1) overvoltage damage and 2) unwanted regeneration and 3) wheel lockup/slip and crash due to sudden high braking torque.
Problem #2: VESC-tool recommends MTPA for IPM motors, but modern IPM motors get higher efficiency with more phase advance than calculated with the MTPA algorithm.
The calculated MTPA phase angle can for example be 10 to 20 degrees off with respect to optimal efficiency.
One can manipulate the "Inductance Differene (Lq-Ld)" setting to correct some of this, but not all, and such manipulation can also have undesired side effects.
Feature request #2: Phase advance input as a function of current amplitude. e.g. a lookup table.
The input to the lookup table can be PU values, typically in the range 0 to 3 times the characteristic current ( Ichar = lambda / Ld ) or another given reference.
Problem #3: VESC has poor utilization the battery voltage. This is extra bad for IPM motors operating much of the time in (or near) a voltage limited mode -- where Id cannot be controlled independently from Iq. The duty cycle is then maxed out (saturated) and the current (and torque) is controlled only via the phase angle. The current-control system then only has a single degree of freedom, and is better controlled by a single PID-regulator and not by two (DQ-decoupled, but in this case not at all independent) PIDs.
Feature request #3: A single DOF current/phase control mode for use in voltage limited situations. It must have seamless transition to/from DQ-control.
