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.

Can I use TMS320F28054M or TMS320F28069 to control 2 phase motor?

Other Parts Discussed in Thread: TMS320F28054M, TMS320F28069, MOTORWARE

Can I use TMS320F28054M or TMS320F28069 to control 2 phase motor? Or any other FOC chips that I can use to control 2 phase motor?

  • Yes, you can use 054M or 069 part for two phase motor control. You may be aware that 2 phase control is not all that cost efficient from an electronics standpoint, but the control philosophy remains the same.

    We don't have any reference software available though.
  • I use motorware along with CCS. 

    What are the key parameters I need to change in user.h in order to run the 2 phase motor?

    The following code is shown as example

    #if (USER_MOTOR == Estun_EMJ_04APB22)                  // Name must match the motor #define
    #define USER_MOTOR_TYPE                 MOTOR_Type_Pm  // Motor_Type_Pm (All Synchronous: BLDC, PMSM, SMPM, IPM) or Motor_Type_Induction (Asynchronous ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS       (4)            // PAIRS, not total poles. Used to calculate user RPM from rotor Hz only
    #define USER_MOTOR_Rr                   (NULL)         // Induction motors only, else NULL
    #define USER_MOTOR_Rs                   (2.303403)     // Identified phase to neutral resistance in a Y equivalent circuit (Ohms, float)
    #define USER_MOTOR_Ls_d                 (0.008464367)  // For PM, Identified average stator inductance  (Henry, float)
    #define USER_MOTOR_Ls_q                 (0.008464367)  // For PM, Identified average stator inductance  (Henry, float)
    #define USER_MOTOR_RATED_FLUX           (0.38)         // Identified TOTAL flux linkage between the rotor and the stator (V/Hz)
    #define USER_MOTOR_MAGNETIZING_CURRENT  (NULL)         // Induction motors only, else NULL
    #define USER_MOTOR_RES_EST_CURRENT      (1.0)          // During Motor ID, maximum current (Amperes, float) used for Rs estimation, 10-20% rated current
    #define USER_MOTOR_IND_EST_CURRENT      (-1.0)         // During Motor ID, maximum current (negative Amperes, float) used for Ls estimation, use just enough to enable rotation
    #define USER_MOTOR_MAX_CURRENT          (3.82)         // CRITICAL: Used during ID and run-time, sets a limit on the maximum current command output of the provided Speed PI Controller to the Iq controller
    #define USER_MOTOR_FLUX_EST_FREQ_Hz     (20.0)         // During Motor ID, maximum commanded speed (Hz, float), ~10% rated
    #define USER_MOTOR_ENCODER_LINES        (2500.0)       // Number of lines on the motor's quadrature encoder
    #define USER_MOTOR_MAX_SPEED_KRPM       (3.0)          // Maximum speed that the motor
    #define USER_SYSTEM_INERTIA             (0.02)         // Inertia of the motor & system, should be estimated by SpinTAC Velocity Identify
    #define USER_SYSTEM_FRICTION            (0.01)         // Friction of the motor & system, should be estimated by SpinTAC Velocity Identify

  • The InstaSPIN software and the FAST observer will only work for 3-ph motors.
  • So Any suggested FOC related TI microcontoller can work with 2 phase motor?
  • We don't have any software solutions for 2-ph. These are very rare in our experience.
    From a device perspective any C2000 could do this. You are on your own for the transforms and control software modules.
  • So I cannot use instaSPIN-FOC or InstanSPIN-MOTION for 2 phase motor right? even with encoder not FAST?
  • FAST only works for 3-ph motors.
    The control blocks in InstaSPIN-FOC & -MOTION are only for 3-ph conversions.

    So no, we have nothing for 2-ph motors.