I read your posting only half the way, finding you are a bright engineer, more on software, more on application side, and trying to use what's out there. I may not be answering, for I am not yet in agreement with FOC for stepper motor.
I admit that my knowledge is marginal, experiences are long ago. So, I am just writing an opinion here, due to the limited space for the comment.
Though stepper motors are BLDC motors, the construction of the motor is different from 3 phase BLDC motors.
The main thing is: FOC, especially DQ is FOCused on sinusoidal drive signal with feedback (closed-loop, phase and current). Though, interpretation of the phase angle might help synchronous motor and stepper motor control, it usually is not necessary (open-loop).
That is because, synchronous motor and stepper motor can be driven without knowing the phase angle every moment, but the mechanism drives to the angle at the command signal. In order to control stepper motor in finer than a single step, micro stepping method is used along with a motor designed to do so.
I will continue in the IMO mode:
As I try to use FOC+stepper in a CNC scenario, the goal is to get better and repeatable closed loop position quality compared to open loop micro stepping.
- In theory, micro stepping can go as fine resolution as one wishes, and as long as the mechanical tolerance meets the accuracy. Manufactures specify (IIRC) the micro step resolution, and I guess the limit comes from the mechanical tolerance.
- Closed loop can be achieved, regardless of any motor type. However, the design of stepper motor is not intended for position "feedback" control in mind. It is intended the position to be deterministic, as long as the device is used as it was to be.
- The stepper motor you choose almost already decide what you can get for the positioning.
- Feedback control doesn't necessarily always provide better resolution, unless the process is designed so as well. A linear motor is a better solution if feedback control is desired due to the "continuity" of the control loop response.
- As in "1.", stepper motor can be almost linear motor, so can consider placing it in the feedback control loop. But, what advantage do you get, except the higher cost.
- Stepper motors' are different from linear motors, and has the value,for it can be driven to a deterministic position without feedback, and the capability of the stronger rotter locking force, but not by any inherent accuracy that depends on how it is controlled or how it is used.
- Only what I can see the advantage of position feedback with stepper motor is, aside the origin detection, detecting mechanical error, when the stepper motor did not go to the commanded step, likely from overload or loose tolerance. This case, controlling the position back to in tolerable accuracy is meaningless or more costly effort than having a better mechanism.
I forgot where this part belongs, will just continue:
divided into electrical angle”
Yes, FOC uses electrical angle as it is well explained in "DQ". FOC can estimate/predict every finest angle, based on rough encoder reading. If you read more attentively about FOC/DQ, you will realize that FOC/DQ is an approach for a "Dynamic" system. That is the fundamental difference with stepper motors, since stepper motors are structured for static (locking) operation. Again, however finer angle resolution from the FOC algorithm library, it is for dynamic system.
Does this mean that FOC for steppers is pointless in principle when you don’t attach extremely expensive high-resolution optical encoders?
Attaching extremely expensive high-resolution optical encoder does not give advantage of extremely high resolution feedback control. Pointless.
I know that there are industrial applications where closed loop algorithms are used on steppers.
Sorry, I have come to far off at this point. :) I sincerely apologize for my loud voice, and please, please, let me know if you find anything about it.
How does industry handle this resolution problem? Are the not using FOC? If not, what else? Or do they use 1000$ encoders because costs don't matter?
FOC has its use, but may not be of accurate CNC with stepper motor. The first thing is the mechanical tolerance, in order to get accurate positioning. Stepper motor, if used, resolution can be further scaled using levers and gears. If high resolution position encoders are used, I would imagine, linear motors can provide better control response, while moving the cost from high priced stepper motor to the encoder.
One more, Linear position encoders are better used for CNC, I think, than angular ones.