Переглянути джерело

1.加入空载不停机处理
2.力矩助力启动条件修改,启动脉冲个数改为2个。停机条件:在没有踏频脉冲超过200ms强制停机
3.增加mn050电机参数
4.增加git版本号显示
5.八方协议波特率修改1200

CN\houcf5 6 місяців тому
батько
коміт
cdcd13cb7b

+ 18 - 5
2.MotorDrive/Source/spdctrFSM.c

@@ -283,6 +283,7 @@ UWORD cnt;
 SWORD tstThetaDelta1;
 SWORD tstThetaDelta2;
 SWORD tstThetaCorrect;
+UWORD  UdqDcpOutCount = 0;
 void ClzLoop_TbcdownHook(void)
 {
     ULONG ulTmp1;
@@ -413,11 +414,23 @@ void ClzLoop_TbcdownHook(void)
     /*=======================================================================
                         Current decoupling
     =======================================================================*/
-    acr_stUdqDcpIn.swWsPu = scm_stSpdFbkLpf.slY.sw.hi; // switchhall_stOut.swLowSpdLpfPu;//scm_stSpdFbkLpf.slY.sw.hi; //Q15
-    acr_stUdqDcpIn.swIdRefPu = 0;//scm_swIdFdbLpfPu; //scm_swIdFdbLpfPu;//scm_swIdRefPu;          // Q14
-    acr_stUdqDcpIn.swIqRefPu = 0;//scm_swIqFdbLpfPu; //scm_swIqFdbLpfPu;//scm_swIqRefPu;          // Q14 scm_swIqFdbLpfPu 
-    acr_stUdqDcpIn.swUdqLimPu = scm_swVsDcpLimPu;      // Q14
-    acr_voUdqDcp(&acr_stUdqDcpIn, &acr_stUdqDcpCoef, &acr_stUdqDcpOut);
+    if(switch_flg.SysRun_Flag == TRUE)
+    {
+        acr_stUdqDcpIn.swWsPu = scm_stSpdFbkLpf.slY.sw.hi; // switchhall_stOut.swLowSpdLpfPu;//scm_stSpdFbkLpf.slY.sw.hi; //Q15
+        acr_stUdqDcpIn.swIdRefPu = 0;//scm_swIdFdbLpfPu; //scm_swIdFdbLpfPu;//scm_swIdRefPu;          // Q14
+        acr_stUdqDcpIn.swIqRefPu = 0;//scm_swIqFdbLpfPu; //scm_swIqFdbLpfPu;//scm_swIqRefPu;          // Q14 scm_swIqFdbLpfPu 
+        acr_stUdqDcpIn.swUdqLimPu = scm_swVsDcpLimPu;      // Q14
+        acr_voUdqDcp(&acr_stUdqDcpIn, &acr_stUdqDcpCoef, &acr_stUdqDcpOut);
+    }
+    else
+    {
+       if(++UdqDcpOutCount>100)
+        {
+          UdqDcpOutCount=0;
+        acr_stUdqDcpOut.swUdPu = ((SLONG)acr_stUdqDcpOut.swUdPu*1010)>>10;
+        acr_stUdqDcpOut.swUqPu = ((SLONG)acr_stUdqDcpOut.swUqPu*1010)>>10;
+        }
+    }
 }
 
 void Stop_TbcdownHook(void)

+ 91 - 45
2.MotorDrive/Source/spdctrmode.c

@@ -38,7 +38,7 @@ Revising History (ECL of this file):
 #include "emcdeal.h"
 #include "LoadObsTheta.h"
 #include "obs.h"
-
+#include "FSM_1st.h"
 #include "cmdgennew.h"
 /************************************************************************
  Constant Table (N/A)
@@ -736,6 +736,9 @@ UWORD testtheta = 0;
 SWORD IQqqqqq = 0, SwitchFlggg = 1;
 SLONG IQCNT = 0;
 UWORD uwIqStopCnt;
+SLONG swUqmax,swUqmin;
+SLONG swUdmax,swUdmin;
+UWORD UqDecCount = 0, UdDecCount = 0;
 void  scm_voSpdCtrMdDownTbc(void)
 {
     /*=======================================================================
@@ -807,11 +810,35 @@ void  scm_voSpdCtrMdDownTbc(void)
     }
     else if (DCPswitch == 0)
     {
-        acr_stCurIdPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUdPu;  // Q14
-        acr_stCurIdPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUdPu; // Q14
+        if(switch_flg.SysRun_Flag == FALSE)
+        {
+          if(UdDecCount>=100)          // each 100/8000s decrease to 1000/1024*U
+          {
+            UdDecCount = 0;
+            acr_stCurIdPIIn.swUmaxPu = (SWORD)(((SLONG)swUdmax*1020)>>10);
+            acr_stCurIdPIIn.swUminPu = (SWORD)(((SLONG)swUdmin*1020)>>10);
+          }
+          else
+          {
+            UdDecCount++;
+            acr_stCurIdPIIn.swUmaxPu = swUdmax;  // Q14
+            acr_stCurIdPIIn.swUminPu = swUdmin; // Q14
+          }
+        }
+        else
+        {
+            acr_stCurIdPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUdPu;  // Q14
+            acr_stCurIdPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUdPu; // Q14
+        }
     }
     else
     {}
+  //  if(switch_flg.SysRun_Flag == TRUE)
+    {
+    swUdmin = acr_stCurIqPIIn.swUminPu;
+    swUdmax = acr_stCurIqPIIn.swUmaxPu;
+    }
+    
     acr_voCurPI(&acr_stCurIdPIIn, &acr_stCurIdPICoef, &acr_stCurIdPIOut);
 
     /*=======================================================================
@@ -889,54 +916,73 @@ void  scm_voSpdCtrMdDownTbc(void)
         }
         else
         {
-            acr_stCurIqPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
-            acr_stCurIqPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu; // Q14
+            if(switch_flg.SysRun_Flag == FALSE)
+            {
+              if(UqDecCount>=100)          // each 100/8000s decrease to 1000/1024*U
+              {
+                UqDecCount = 0;
+                acr_stCurIqPIIn.swUmaxPu = (SWORD)(((SLONG)swUqmax*1010)>>10);
+                acr_stCurIqPIIn.swUminPu = (SWORD)(((SLONG)swUqmin*1010)>>10);
+              }
+              else
+              {
+                UqDecCount++;
+                acr_stCurIqPIIn.swUmaxPu = swUqmax;  // Q14
+                acr_stCurIqPIIn.swUminPu = swUqmin; // Q14
+              }
+            }
+            else
+            {
+                acr_stCurIqPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
+                acr_stCurIqPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu; // Q14
+            }
         }
     }
     else
     {}
 
-  
+    swUqmin = acr_stCurIqPIIn.swUminPu;
+    swUqmax = acr_stCurIqPIIn.swUmaxPu;
     //-------------------------------------------------
-//    if(0 == scm_swIqRefPu)
-//       {
-//           uwIqStopCnt++;
-//           if(uwIqStopCnt >= 500)
-//           {
-//               uwIqStopCnt = 500;
-//           }
-//       }
-//       else
-//       {
-//         uwIqStopCnt = 0;
-//       }
-//       if((500 == uwIqStopCnt) && (scm_uwSpdFbkLpfAbsPu < 1500))
-//       {
-//           if((cp_stFlg.RotateDirectionSelect == BackwardRotate)
-//                   && (scm_swIqFdbLpfPu > 0))
-//           {
-//               acr_stCurIqPIIn.swCurRefPu = 0; // Q14
-//               acr_stCurIqPIIn.swCurFdbPu = 0;
-//               acr_stCurIqPIOut.swURefPu=0;
-//               acr_stCurIqPIOut.slURefPu=0;
-//               scm_swUqRefPu=0;
-//           }
-//           else if((cp_stFlg.RotateDirectionSelect == ForwardRotate)
-//                   && (scm_swIqFdbLpfPu < 0))
-//           {
-//               acr_stCurIqPIIn.swCurRefPu = 0; // Q14
-//               acr_stCurIqPIIn.swCurFdbPu = 0;
-//               acr_stCurIqPIOut.swURefPu=0;
-//               acr_stCurIqPIOut.slURefPu=0;
-//               scm_swUqRefPu=0;
-//           }
-//           else
-//           {
-//             acr_stCurIqPIIn.swCurRefPu = scm_swIqRefPu; // Q14
-//             acr_stCurIqPIIn.swCurFdbPu = scm_swIqFdbLpfPu;
-//           }
-//       }
-//       else
+    if(0 == scm_swIqRefPu)
+       {
+           uwIqStopCnt++;
+           if(uwIqStopCnt >= 500)
+           {
+               uwIqStopCnt = 500;
+           }
+       }
+       else
+       {
+         uwIqStopCnt = 0;
+       }
+       if((500 == uwIqStopCnt) && (scm_uwSpdFbkLpfAbsPu < 1500))
+       {
+           if((cp_stFlg.RotateDirectionSelect == BackwardRotate)
+                   && (scm_swIqFdbLpfPu > 0))
+           {
+               acr_stCurIqPIIn.swCurRefPu = 0; // Q14
+               acr_stCurIqPIIn.swCurFdbPu = 0;
+               acr_stCurIqPIOut.swURefPu=0;
+               acr_stCurIqPIOut.slURefPu=0;
+               scm_swUqRefPu=0;
+           }
+           else if((cp_stFlg.RotateDirectionSelect == ForwardRotate)
+                   && (scm_swIqFdbLpfPu < 0))
+           {
+               acr_stCurIqPIIn.swCurRefPu = 0; // Q14
+               acr_stCurIqPIIn.swCurFdbPu = 0;
+               acr_stCurIqPIOut.swURefPu=0;
+               acr_stCurIqPIOut.slURefPu=0;
+               scm_swUqRefPu=0;
+           }
+           else
+           {
+             acr_stCurIqPIIn.swCurRefPu = scm_swIqRefPu; // Q14
+             acr_stCurIqPIIn.swCurFdbPu = scm_swIqFdbLpfPu;
+           }
+       }
+       else
        {
          acr_stCurIqPIIn.swCurRefPu = scm_swIqRefPu; // Q14
          acr_stCurIqPIIn.swCurFdbPu = scm_swIqFdbLpfPu;

+ 21 - 2
3.BasicFunction/Include/CadAssist.h

@@ -39,6 +39,16 @@
     #define ASS_PID_IERR_MIN            _IQ14(3.0/60)           /**< Q14. Base 60A */
     #define ASS_MESH_CUR                _IQ14(10.0/60)          /**< Q14. Base 60A */
    
+    #define ASS_CAD_MAX_RPM             55
+#elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio)
+    #define ASS_CUR_STEP                20                      /**< Q14. Target Assist Current Step Value */
+    #define ASS_PID_KP                  _IQ8(15.0)               /**< Q8. PID Kp */
+    #define ASS_VOL_STEP_MAX            _IQ8(1.5)               /**< Q8. */
+    #define ASS_VOL_DEC_STEP            _IQ8(0.75)               /**< Q8. */
+    #define ASS_PID_ERR_MIN             _IQ15(0/1400)           /**< Q15. PID Min Err */
+    #define ASS_PID_IERR_MIN            _IQ14(3.0/60)           /**< Q14. Base 60A */
+    #define ASS_MESH_CUR                _IQ14(10.0/60)          /**< Q14. Base 60A */
+
     #define ASS_CAD_MAX_RPM             55
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W)
     #define ASS_CUR_STEP                20                      /**< Q14. Target Assist Current Step Value */
@@ -148,12 +158,21 @@
     #define ASS_MESH_CUR                _IQ14(10.0/60)          /**< Q14. Base 60A */
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W)
     #define ASS_CUR_STEP                20                      /**< Q14. Target Assist Current Step Value */
-    #define ASS_PID_KP                  _IQ8(7.5)               /**< Q8. PID Kp */
-    #define ASS_VOL_STEP_MAX            _IQ8(2.0)               /**< Q8. */
+    #define ASS_PID_KP                  _IQ8(20.0)               /**< Q8. PID Kp */
+    #define ASS_VOL_STEP_MAX            _IQ8(4.0)               /**< Q8. */
     #define ASS_VOL_DEC_STEP            _IQ8(0.5)               /**< Q8. */
     #define ASS_PID_ERR_MIN             _IQ15(0/1400)         /**< Q15. PID Min Err */
     #define ASS_PID_IERR_MIN            _IQ14(3.0/60)           /**< Q14. Base 60A */
     #define ASS_MESH_CUR                _IQ14(10.0/60)          /**< Q14. Base 60A */
+#elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio)
+    #define ASS_CUR_STEP                20                      /**< Q14. Target Assist Current Step Value */
+    #define ASS_PID_KP                  _IQ8(20.0)               /**< Q8. PID Kp */
+    #define ASS_VOL_STEP_MAX            _IQ8(4.0)               /**< Q8. */
+    #define ASS_VOL_DEC_STEP            _IQ8(0.5)               /**< Q8. */
+    #define ASS_PID_ERR_MIN             _IQ15(0/1400)         /**< Q15. PID Min Err */
+    #define ASS_PID_IERR_MIN            _IQ14(3.0/60)           /**< Q14. Base 60A */
+    #define ASS_MESH_CUR                _IQ14(10.0/60)          /**< Q14. Base 60A */
+
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W)
     #define ASS_CUR_STEP                20                      /**< Q14. Target Assist Current Step Value */
     #define ASS_PID_KP                  _IQ8(7.5)               /**< Q8. PID Kp */

+ 2 - 2
3.BasicFunction/Source/AssistCurve.c

@@ -428,12 +428,12 @@ void AssitCuvApplPerVolt(void)
         //滞环,不动作
     }
     //脚踏不动强制关闭
-    if((ass_CalIn.uwcadLowStopCnt>=2000)  ||(ass_CalIn.uwcadHighStopCnt>=2000))
+    if((ass_CalIn.uwcadLowStopCnt>=200)  ||(ass_CalIn.uwcadHighStopCnt>=200))
       {
         ass_CalIn.uwStartRunPulse=0;
       }
 
-    if((ass_CalIn.StartAssistEnble == FALSE) && (ass_CalIn.uwStartRunPulse > 1)) 
+    if((ass_CalIn.StartAssistEnble == FALSE) && (ass_CalIn.uwStartRunPulse > 2)) //启动脉冲数
     {
         ass_CalIn.StartAssistEnble = TRUE;
     }

+ 1 - 1
3.BasicFunction/Source/bikespeed.c

@@ -141,7 +141,7 @@ static void bikespeed_voBikeSpeedWork(UWORD source)
     else if (source == 3)
     {
         tmpCnt ++;
-        #if ((MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_1000W)||(MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W)||(MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W) ||(MOTOR_ID_SEL ==MOTOR_LUNGU_WELLING_HAL_POLE8_500W_958Ratio))
+        #if ((MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_1000W)||(MOTOR_ID_SEL ==MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio)||(MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W)||(MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W) ||(MOTOR_ID_SEL ==MOTOR_LUNGU_WELLING_HAL_POLE8_500W_958Ratio))
           tmp_OverflowCnt = bikespeed_stFreGetOut.uwCaputureOverflowCnt + (bikespeed_stFreGetOut.uwLPFFrequencyPu>>6);
         #else
           tmp_OverflowCnt = bikespeed_stFreGetOut.uwCaputureOverflowCnt + (bikespeed_stFreGetOut.uwLPFFrequencyPu>>7);

+ 3 - 3
3.BasicFunction/Source/canAppl.c

@@ -274,14 +274,14 @@ void  Can_voInitMC_Run(void)
     // Software version
     char chFwVersion[16]="V1r0r0_";
     strncat(chFwVersion,COMPLIE_TIME,9); // Commit time COMPLIE_TIME
-   // strncat(chFwVersion,(char *)"20250103 08:55:00",9);
+
     strncpy(MC_VerInfo.FW_Version, (char *)chFwVersion, 16);
     
     // Firmware Special Info
     char chFrimware[32]="NC2025X000-MS0000-V0r0.  ";
 
-//    strncat(chFrimware,FINGER_PRINT,8); // Git Version
-  //  strncat(chFrimware,(char *)"12345678",8); // Git Version
+    strncat(chFrimware,FINGER_PRINT,8); // Git Version
+
     if(cp_stFlg.RunModelSelect == CadAssist)
     {
         strncat(chFrimware,"C",1);  // Cadance assist end with "C"  Torque assist end with "T"

+ 8 - 0
4.BasicHardwSoftwLayer/1.BasicHardwLayer/Source/hwsetup.c

@@ -32,6 +32,9 @@
 /************************************************************************
  Constant Table (N/A)
 *************************************************************************/
+//#define UART_HMI_BAUD_RATE                                                (1200)
+#define UART_HMI_IBRD_36_MHZ_1200_BAUD                                    (1875)
+#define UART_HMI_FBRD_36_MHZ_1200_BAUD                                       (0)
 
 /*************************************************************************
  Exported Functions:
@@ -118,6 +121,11 @@ void hw_voInitPeri(void)
 #if (SIMULATION == 0)
   //  hw_voInitUART2();
 #endif
+#if (UART_ID == 3)
+    DL_UART_Main_setBaudRateDivisor(UART_HMI_INST, UART_HMI_IBRD_36_MHZ_1200_BAUD, UART_HMI_FBRD_36_MHZ_1200_BAUD);
+
+#endif
+
 }
 
 /*************************************************************************

+ 2 - 0
4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Include/bikeinformation.h

@@ -38,6 +38,8 @@
     #define ASS_BIKE_MECH_RATION        ((SLONG)(14.2*1000))    /**< Q10. 14.2-750W   16.17-350W */
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W)
     #define ASS_BIKE_MECH_RATION        ((SLONG)(14.2*1000))    /**< Q10. 14.2-750W   16.17-350W */
+#elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio)
+   #define ASS_BIKE_MECH_RATION        ((SLONG)(5.0*1000))
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W)
     #define ASS_BIKE_MECH_RATION        ((SLONG)(14.2*1000))    /**< Q10. 14.2-750W   16.17-350W */
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W_958Ratio)

+ 35 - 1
4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Include/user.h

@@ -62,6 +62,9 @@ Update Time
 #define MOTOR_LUNGU_WELLING_HAL_POLE8_750W          0x60
 #define MOTOR_LUNGU_WELLING_HAL_POLE8_1000W         0x70
 
+#define MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio    0x80
+
+
 /* Select Motor */
 #if( (IPM_POWER_SEL == IPM_POWER_1000W_12G) ||(IPM_POWER_SEL ==IPM_POWER_1000W_MINI_12G))
 #define MOTOR_ID_SEL MOTOR_LUNGU_WELLING_HAL_POLE8_1000W
@@ -445,6 +448,37 @@ Update Time
 #define M_R_UDC_v           480            // unit: 0.1V, rate Udc
 #define M_MAX_TOR_NM        50             // unit: 0.1Nm, Max tor
 #endif
+#if (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio)
+#define M_POLE_PAIRS        10              // unit:Null,Pole pairs
+#define M_RS_OHM            285            // unit: 0.1mOhm, Phase resistance
+#define M_MATERIAL          Al             // unit:Null
+#define M_LD_NOLOAD_MH      6500           // unit: 0.01uH, D axis inductance
+#define M_LQ_NOLOAD_MH      7000           // unit: 0.01uH, Q axis inductance
+#define M_LD_TURN1_ID_AP    200            // unit: 0.01A,
+#define M_LD_TURN1_LD_MH    M_LD_NOLOAD_MH // unit: 0.01uH,D axis inductance
+#define M_LD_TURN2_ID_AP    700            // unit: 0.01A,
+#define M_LD_TURN2_LD_MH    M_LD_NOLOAD_MH // unit: 0.01uH,D axis inductance
+#define M_LD_MIN_MH         M_LD_NOLOAD_MH // unit: 0.01uH,D axis inductance
+#define M_LQ_TURN1_IQ_AP    200            // unit: 0.01A,
+#define M_LQ_TURN1_LQ_MH    M_LQ_NOLOAD_MH // unit: 0.01uH,Q axis inductance
+#define M_LQ_TURN2_IQ_AP    700            // unit: 0.01A,
+#define M_LQ_TURN2_LQ_MH    M_LQ_NOLOAD_MH // unit: 0.01uH,Q axis inductance
+#define M_LQ_MIN_MH         M_LQ_NOLOAD_MH // unit: 0.01uH,Q axis inductance
+#define M_JD                1000           // unit: 10-7Kg*m2, Rotational inertia
+#define M_MAGNETIC_MATERIAL Ferrite        // unit:Null
+#define M_FLUX_WB           13200           // unit: 0.001mWb, Flux linkage
+#define M_ID_MAX_AP         0              // unit: 0.01A, Max d axis current
+#define M_ID_MIN_AP         -157           // unit: 0.01A, Min d axis current
+#define M_IS_PEAK_MAX_AP    7500           // unit: 0.01A, Max phase current(below base speed)
+#define M_POWER_MAX_WT      1200           // unit: W, Max power
+#define M_R_SPD_RPM         1500           // unit: r/min, rate spd
+#define M_R_PWR_WT          750            // unit: W, rate power
+#define M_R_IRMS_A          2500           // unit: 0.01A, rate Irms
+#define M_R_UDC_v           480            // unit: 0.1V, rate Udc
+#define M_MAX_TOR_NM        160             // unit: 0.1Nm, Max tor
+#endif
+
+
 
 #if (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_1000W)
 #define M_POLE_PAIRS        8              // unit:Null,Pole pairs
@@ -780,7 +814,7 @@ Update Time
 *=======================================================================*/
 #if (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_1000W)
 #define ALM_ROTOR_LOCK_IQ_ABS 6300 // 6300 // unit: 0.01A, Threshold value
-#elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W)
+#elif( (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_750W) ||(MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE10_750W_500Ratio))
 #define ALM_ROTOR_LOCK_IQ_ABS 6300 // 6300 // unit: 0.01A, Threshold value
 #elif (MOTOR_ID_SEL == MOTOR_LUNGU_WELLING_HAL_POLE8_500W)
 #define ALM_ROTOR_LOCK_IQ_ABS 4500 // 6300 // unit: 0.01A, Threshold value