Hello everyone, I've been working off a fairly recent branch (b3ad0bc, which is Benjamin's checkin on Jan 12, 2020), and cannot seem to get the RPM PID control to work. Using the default PID gains and the discovered FOC parameters, the motor does not turn at all--it tries to apply a small current, and gives up very quickly. In vesc_tool "faults" terminal command, the FAULT_CODE_UNDER_VOLTAGE is displayed consistently, with the voltage value far lower than my input voltage (9.3 V) of my power supply--which can supply up to 5 A. It would appear that no matter what RPM I request from the PID controller, the actual current sunk is << 1 A. Indeed, when I try sweeping the duty cycle instead, the motor does turn for some duty cycle (starts to turn at ~1 A, according to the power supply's internal current meter), and here is the resulting sweep plot. Rather than clarifying, the sweep result shows more mystery, however:
- The "current in" is far smaller than the power supply reported current by several factors, while "current motor" in the plot is greater than the same measured current by several times. How can the input current be larger than the motor current anyway?
- The duty cycle swept was from 0 to 0.5, yet the plotted duty cycle behave erratically when the motor starts spinning. If this is an openloop duty cycle sweep, why would the duty cycle jump around to the extent seen?
- Despite the generally increasing duty cycle, the measured motor RPM does NOT increase. I would have expected the RPM to scale roughly linearly with the duty cycle, but it seems to be rather the same after the motor starts spinning.
A comment from anyone who has stared at the internal current and duty cycles measured by the VESC FW would be greatly appreciated. Thanks for reading!