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.

TMS320F28069F: About IPMSM out-of-step problem

Part Number: TMS320F28069F


Dear  Yanming Luo:

I am carrying out the IPMSM sensor FOC experiment, but there is a problem that needs your help: the motor is running normally. I use my hand to stop the motor from rotating, causing the motor to lose step. At this time, the motor is not running normally. So, if the motor rotor position is inconsistent with the previous calibration due to the loss of step because of the increment sensor, will it be necessary to recalibrate the rotor position? This will make control more complex. How to solve this problem?

Regards

Quan

  • Add:

    Add:

    The abnormal operation of the motor after Blocked rotor is as follows:

    The motor operates normally at low speed (about 10 rpm), and the motor is forced to block the rotation by hand. After releasing the hand, the motor operates erratically and shakes, and the motor sometimes stops, the current rises to the maximum value, the motor stops running and starts again, the motor still shakes, and the current reaches the maximum value, which means that the rotor position calibration value has been incorrect, and the power is cut off again to start, after the rotor position calibration, the motor operates normally. If it is blocked again, It is abnormal again

  • Hi Quan,

    So, if the motor rotor position is inconsistent with the previous calibration due to the loss of step because of the increment sensor, will it be necessary to recalibrate the rotor position?

    Yes. You need to perform the calibration again.

    Did you consider the sensorless solution to have the controller get the angle through voltages and currents?

    Cheers,

    Jiaxin

  • Hi Jiaxin:Thank you very much for your reply,I have successfully used the sensorless FOC scheme, which works well, but I still want to use the sensor FOC scheme at the same time, so that I can choose according to the working conditions. I want to know why there is such a problem that the rotor position needs to be recalibrated? Now that the rotor position has been calibrated, theoretically, the control strategy should be able to track the rotor position correctly, and there should be no inaccurate control? Is this caused by the large error of the rotor position calibration value?

    Regards

    Quan

  • Hello Quan,

    You are welcome. After consideration and discussion with my senior colleagues, I think you don't need to repeat the offset calibration for the encoder unless the power is recycled. Do you have index signal connected? Could you check your speed and current controllers when the shake happens? Holding the rotor brings a disturbance to the original system and could introduce instability.

    Thanks,

    Jiaxin

  • Hi Jiaxin:

    1. Your reminder is right. Yes, I connected the index signal. I checked the index signal. There is no problem with the hardware circuit_ For the indexFlag in the run (ENC_Handle encHandle, uint32_t posnCounts, uint16_t indexFlag, uint16_t dirFlag, int16_t log_flag) function, I use the QDLF status bit of the QEPSTS register instead of the FIMF, but when the index signal is not connected, the QDLF changes at low speed, and the value of the QPOSILAT register changes with it. At high speed, the QDLF and QPOSILA do not change. Is this caused by interference?

    2. Because it is not position control, I disconnected the index signal, and QDLF and QPOSILA no longer changed, but still did not solve my problem. I suspect it is caused by interference, so I added GPIO Qualification Control=us, and the motor runs well. Does this mean that encoder A/B signal is interfered? Check the waveform with an oscilloscope. It is normal. I am still not sure that it is caused by interference.

    Regards

    Quan

  • Hello Quan,

    How did you perform the calibration of encoder offset at the beginning? The index signal should be connected for the calibration. 

    Also, when you hold the rotor, did you observe any changes in the position registers?

    Thanks,

    Jiaxin

  • Hi Jiaxin:

    Thank you very much for your reply!

    1. I did not use the calibration method when the Rs recalculated, but used the sensorless control method to start, and then obtained Angle after detecting that the rotor rotation was not less than one revolution_ Est calculates the rotor position, and then switches to sensorless control mode, so it is not necessary to read the index signal during calibration. Now the problem is that the change of direction signal caused by this index signal should be unacceptable. What is the reason?(The speed calculation will not be affected after the index signal is removed)

    2. Even if the rotor position is calibrated by means of Rs recalculation, it should not need an index signal. It only needs to read the count value relative to the initial zero bit?

    3. Which bit index signal do you mean in QEPSTS?

    Regards

    Quan

  • Correction: switch from sensorless to sensor control mode after calibration

  • Hi Jiaxin:Today, another experiment was conducted. After replacing the encoder signal board (complementary signal to collector signal), the index signal no longer affects the direction signal, nor does it need to increase the encoder GPIO input sampling time. It has been determined that the calibration angle offset is caused by signal interference. Thank you again for your reply! Now close this thread.

    Regards

    Quan