Other Parts Discussed in Thread: MOTORWARE
I have a 28069()M based customized board, which is used to control PMSM equipped with an incremental encoder (2500 pulses/rev) as well as Hall sensor on it. The servo position control/speed control/torque control are required to be implemented on it. With reference to TI motorware example project Lab11 ~ lab12x; I have realized the above function with this encoder without sensorless control.
Currently, before motor starting, there is a rotor alignment process then the motor will move normally according to command received. I do not expect that happens since there are Hall sensor signals available in the encoder. May be we can start with Hall sensor signal directly without any rotor alignment process. I do not want to use absolute encoders here.
In the example Project Lab11 ~12x, there is an example source code that the motor will start based on Hall signal then when motor speed is up to some threshold , the control will switch from Hall based control to FOC control based on the 2500 lines encoder. this is good. But this speed threshold may be hundreds RPM, this is too high for my application. As you know, in some cases, the servo motor may start with a very low speed in position control mode, therefore, the above speed threshold setting method in example projects may not be feasible to my servo requirements.
Therefore, I am thinking that whether there is a possibility that the motor start with Hall sensor, when one electric cycle including six Hall sections (or less) are completed, the motor will switch smoothly from trapezoidal control mode to FOC control mode, in this case, the transition will not depend on the setting speed threshold, but depend on the Hall signal sections. By doing this, the motor may start definitely based on bldc mode (Hall sensor signal based) but switching to FOC mode (incremental encoder based) as fast as possible, for example, may be within one electric cycle or less time, the motor will switch to FOC mode.
Does any one have the similar development experiences like that? Any suggestions or even source code example are very appreciated.
Thank you.