I am working on a personal project where I am using a VESC to winch a load. I am controlling the VESC in current mode. I had trouble getting FOC mode to work, mostly because the acceleration/torque were too high and my speed loops would not close. BLDC works well, but I get some very nasty RPM spikes at low speed (<1000rpm) mostly when the motor transitions from one direction to the other.
This photo is when I am oscillating the shaft by hand back and forth at around 300rpm. You can see when the speed goes "negative" you get spikes in RPM of +-20k rpm (randomly positive or negative). At the end I think I was doing smaller back/forth motions and the RPM was all over the place.
Is this due to the fairly simple sensored mode handling in BLDC? Any tips on fixing this? I am going to try adding some of my own filtering, but some of that just isn't going to go away.
No ideas? Has this never been seen before?
I slowed down the rpm estimation thread on the VESC, and that made it significantly better, but when the motor is actively controlled it is still quite bad. I see spikes to +30k/-30k.