This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tms320f28069m, instaspin motion, PMSM, incremental encoder, speed control, drv830xhc-c2-kit driver board, proj_lab12b. Before the motor rotates, electric angle alignment is required first. During alignment, the rotation direction of the motor is random. It is possible to align clockwise rotation to one pole pair or anti-clockwise rotation to align to another pole pair. Is there any way to control the rotation direction during electric angle alignment?
You are right, all the example labs use forcing alignment to set the initial position to zero angle. No way to control the rotation direction directly since the controller doesn't know the rotor position during power-up. You have to implement the initial position detection technique or the encoder with both A/B/Z and U/V/W to get the initial position, but we don't have such reference in both motorWare and motorcontrol SDK by now.
Dear Yanming,
Yanming Luo said:ou have to implement the initial position detection technique or the encoder with both A/B/Z and U/V/W to get the initial position
So what is FAST for if it can't detect the field flux prior to fully driving 3 phases in the desired direction even with a direction sensor? Does not driving the rotor to zero position defeat the ld/lq flux sense of the FAST position algorithm?
Yanming Luo said:No way to control the rotation direction directly since the controller doesn't know the rotor position during power-up.
To that I say no controller ever will know POR where rotor position zero is regardless, zero is what zero has become.
Most would believe reading FOC InstaSpin PDF that one direction rotor movement is a given in the first few 100us of all labs. I point this out as there is inverter leakage on the wire especially visible at higher field voltages. Some low level magnetic flux does exists prior to commutation ADC can process.
Our system now produce open loop startup @162vdc snapshot steady bus voltage for preset rotor direction or the other, without fancy FAST. I was sort of under the impression that InstaSpin Flux sense was the cats meow due to the FAST resolver being added had open loop commutation under control.
Perhaps with Delfino dual core one CPU could watch for FLUX changes in the FAST observer as the other CPU resolves the Clark/Park half of equation? Why not put the dual cores to some practicle motor spin use. I was a bit apprehensive to purchase F280049C with it's limited 3 timers only to see SVPWM work with our very large VLPMSM.
I just have a increment encoder with A/B/Z but without U/V/W signals. Since the motor is only allowed to rotate in one specified direction when powered on, Can I run the instaspin-foc sensorless position control first, to rotate a certain angle in the direction allowed first, and then switch to the sensed speed mode for alignment?
Yanming Luo said:You have to implement the initial position detection technique or the encoder with both A/B/Z and U/V/W to get the initial position
When the motor is powered on, it is only allowed to rotate in one direction, and the other direction is stuck, so the alignment may fail, causing the motor out of control, that is the problem I need to solve.
jiabin shi said:Can I run the instaspin-foc sensorless position control first
That is basically how legacy FOC changes from open loop to closed loop but via timer and monitoring BEMF of 3 phases. Your plan sounds plausible to use FAST open loop to get rotor moving then at some point switch lab to encoder closed loop timing. Perhaps try to have encoder pace with FOC calls to FAST so SW remains synchronous with rapid switch into closed loop encoder handler.
AKA experiment!