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.

No sensors and sensor performance comparison

Good engineers:

I now make LAB12B program into torque control mode, but found that when low speed sensorless control than to have good control of torque speed sensor.

In the ctrlQEP.h:
// generate the motor electrical angle
angle_pu = EST_getAngle_pu(obj->estHandle);

// Update electrical angle from the sensor
angle_pu = electricalAngle;                             //Block out here, when low speed torque motor, otherwise, when low speed torque is small.Excuse me what                                                                                           //reason be?According  to the truth about the torque should be bigger.

// compute the sin/cos phasor
CTRL_computePhasor(angle_pu,&phasor);

  • yun,
    I guess that the comment //Block out here.... is from you?
    angle_pu = EST_getAngle_pu(obj->estHandle);
    // this sets angl_pu to be the angle calculated from the ESTIMATOR. This is what we use for sensorless. instead of removing this line altogether we simply left it and overwrote the angle_pu with:

    angle_pu = electricalAngle;
    // which sets the angle_pu used in the control system to the one calculated from the sensor
  • Yes,Block out is comment out.

    In The ctrlQEP.H,

    // generate the motor electrical angle
    angle_pu = EST_getAngle_pu(obj->estHandle);

    // Update electrical angle from the sensor
    //angle_pu = electricalAngle;     //// when I comment out,The motor running torque is very large,when uncommented it ,Motor           operating  torque is small.  why? How is encoder  working  torque is very large?

  • Hello,yun.

    It just so happened that I also make Lab12b program into torque control mode.I commented out that line to make the angle calculated from the ESTIMATOR,but I can not find torque changed large.Even sometimes can not find initial rotor position. How did you measure the torque?

  • When given as small torque, the angle_pu calculated from the ESTIMATOR , torque is very large,Can't let the Induction motor blocked by hand.the angle_pu calculated from the electricalAngle, torque is very small,Can let Induction motor blocked by hand.
  • This is my post: https://e2e.ti.com/support/microcontrollers/c2000/f/902/t/410221 

    Difference is, I run a Permanent-Magnet Synchronous Motor,not your AC asynchronous motor.I can ensure that my encoder line is correct.

    I commented out that line to retest it.I set gMotorVars.IqRef_A = 1.0, I stalled the motor by my hand,I still did not find torque changed large. 

    There's little difference whatever  the angle_pu calculated from the FAST or encoder during my experiment.

    Perhaps something wrong with your encoder:encoder line or A\B\Z phase sequence.

  • "//angle_pu = electricalAngle; //// when I comment out,The motor running torque is very large,when uncommented it ,Motor operating torque is small. why? How is encoder working torque is very large?"

    with this commented out you are using the ELECTRICAL angle_pu from the FAST sensorless estimator. Once the rotor is moving some minimum frequency this ELECTRICAL angle will be very accurate and you will produce correct torque per commanded.

    When uncommented you are using the angle_pu from the encoder, this is an ELECTRICAL angle calculated from the MECHANICAL measurement. It should - if working properly and mechanical to electrical alignment is done - provide an accurate ELECTRICAL angle measurement at all speeds (including standstill) and torque should be as commanded at all speeds.

    The fact that your torque is small means that the ELECTRICAL angle generated from the MECHANICAL angle of the encoder is incorrect. It either isn't working correctly or the alignment from mechanical to electrical is incorrect.
  • Thank you for your reply.

    the encoder is incorrect , Because big torque gMotorVars.SpeedQEP_krpm and gMotorVars.Speed_krpm have the same value for Induction motor .In addition LAB12B support is the Out current 600A?
  • Thank you for your reply.

    the encoder is correct , Because big torque gMotorVars.SpeedQEP_krpm and gMotorVars.Speed_krpm have the same value for Induction motor .In addition LAB12B support is the Out current 600A?