I'm evaluating the Mboards BLDC ESC V6 and FlipSky FSESC6.6 for use as controllers in a machine where a motor controls a wheel that must maintain an accurate RPM between about 1000-6000RPM. When the motor parameters are detected properly, the Mboards VESC can repeatedly maintain the commanded RPM anywhere in that range. The FlipSky VESC is always off by a scaling factor dependent on the RPM. I tried tweaking every parameter allowable and cannot get the FlipSky VESC to be spot on accurate. Obviously, the two hardware designs are slightly different, but they have been programmed with the latest firmware. I have tried using the motor parameters detected by the Mboards VESC in the FlipSky VESC with no improvement to the RPM accuracy. Is this an issue inherent to the design of the FlipSky VESC?
Does anyone know what would cause the FlipSky VESC to drive the motor at a slightly lower than commanded RPM?
Is there a load attached to the shaft? If so, one controller may not be pushing enough current to maintain the RPMs. What type of motor sensors are you using if any?
NextGen FOC High voltage 144v/34s, 30kw (https://vesc-project.com/node/1477)
When the motor detection is performed there is a wheel (which has a decent moment of inertia) attached to the motor shaft. The wheel is not loaded in any manner and spins freely. The motor is a Moons 80BL300L4 with hall effect sensors - https://www.moonsindustries.com/p/s80-series-brushless-dc-motors/80bl300...
Tweaking the transition from sensored to sensorless FOC operation between 2000-4000eRPM showed no noticeable difference in startup behavior.
The configured current limit values (tried up to 20A battery and 40A motor) are well above what they should be to keep the motor spinning at the desired RPM. On both controllers the measured (using a current clamp meter, not the VESC data) current draw from the 48V battery is between 1-2A with the motor spinning at a steady 6000RPM (24000eRPM). I forget what the phase current measurements were, but they were well below the 40A limit.
I would sample the phase current and voltages in both controllers and compare them to see if there is a difference. That may provide some clues.
I would also measure the actual RPMs with a tachometer just in case to have a clear idea which controller's telemetry is correct.
NextGen FOC High voltage 144v/34s, 30kw (https://vesc-project.com/node/1477)
Is there a certain parameter that has a larger impact on RPM accuracy than others? I'll try to take a closer look at the phase currents reported in the VESC tool. I monitored the phase voltages with an oscilloscope and both controllers appear to be switching normally, just that one spins the motor slower than it is being told to.
I am measuring the wheel speed with an optical tachometer, that's how I know the Mboards is accurate and the FlipSky is 5960RPM when it should be 60000RPM. I realize that being off by 40RPM at 6000RPM is only -0.7% error, which is more than acceptable for eskateboarding, but the goal here is to maintain a very accurate steady state RPM. Tweaking the Kp and Ki values (doubling or halving 1, 2, 3 times) causes the RPM to change slightly, but not enough to make it spot on. At first glance you would think this is a hardware related issue since the same software is producing different results on different hardware, but seeing as this is a PID driven system the control loop should theoretically reduce the steady state error to zero over time.
Haven't had a chance to dig into the RPM inaccuracy, but I have now tested three different Flipsky FSESC6.6 units and they are all inaccurate. The error is less than -1% but it is consistent across the three units and it scales with the RPM. This really does appear to be hardware related.
Would using different filter cutoff frequencies on the phase voltages and/or currents cause this? Does anyone know if they have published their design? I will ask their "tech" support, which have been reasonably quick to respond, but probably will not be very helpful with these kind of questions.