Would it be feasible to develop code for driving AC induction motors?
It is feasible, It just need some firmware changes.
VESC already does, in the terminal you can run an open loop 3 phase at a configurable frequency. An ACIM won't freak out with that signal, it will spin.
However, what you and me want is FOC. The FOC control loop for driving an ACIM is different because it introduces the concept of slip. Those are few new lines of of code.
The challenging part is developing a new observer algorithm to keep track of the flux angle. Its easier when you have magnets, the flux rotates with the mechanical angle, but in ACIM the flux is slipping away and you need to estimate its angle, and also depends on rotor inductance and resistance, which have quite some temperature dependency.
So yeah, its doable, I have a board ready to ship to Benjamin if its useful to him for ACIM development.
Any progress in this effort? I am trying to drive a large induction motor that is part of a 1940's vintage gyroscopic compass. Wold love to send a three phase signal of constant frequency.
If you activate the alive button on vesc tool, and type on the terminal
foc_openloop xx yy
Where xx stands for the current you want, and yy the erpm you want, it should be possible to make the motor spin.
So if you have a 4 pole motor, and want to run it with 10 amps, you'd type (assuming 60hz)
foc_openloop 10 1800
Only drawback of this solution is that the current is 10A regardless of the motor load.
Ah, forgot to say that running the detection of such motor would be tricky.
Resistance and inductance would work, but the flux linkage would probably fail.
You would have to manually input some values for the observer (which would not be used when openloop, actually).
Found a paper that talks about modifying vesc observer to work with induction motors:
Relevant code starts at page 30. Google translate does a good job at translating from Croatian.
There are also schematics at the end for the controller.