#elif defined(BSXL8353RS_REVA) //! \brief Defines the nominal DC bus voltage, V //! #define USER_M1_NOMINAL_DC_BUS_VOLTAGE_V (48.0f) //! \brief Defines the maximum voltage at the AD converter #define USER_M1_ADC_FULL_SCALE_VOLTAGE_V (132.7979508f) //! \brief Defines the analog voltage filter pole location, Hz #define USER_M1_VOLTAGE_FILTER_POLE_Hz (338.1100618f) // 9.76k/47nF //! \brief Defines the maximum current at the AD converter //#define USER_M1_ADC_FULL_SCALE_CURRENT_A (94.28571429f) // gain=5 #define USER_M1_ADC_FULL_SCALE_CURRENT_A (47.14285714f) // gain=10 #define USER_M1_SIGN_CURRENT_SF (1.0f) //! \brief ADC current offsets for A, B, and C phases #define USER_M1_IA_OFFSET_AD (2048.0f) #define USER_M1_IB_OFFSET_AD (2048.0f) #define USER_M1_IC_OFFSET_AD (2048.0f) //! \brief ADC current offset for CMPSS #define USER_M1_IS_OFFSET_CMPSS (uint16_t)((USER_M1_IA_OFFSET_AD + USER_M1_IB_OFFSET_AD + USER_M1_IC_OFFSET_AD) / 3.0f) //! \brief ADC voltage offsets for A, B, and C phases #define USER_M1_VA_OFFSET_SF (0.500514159f) #define USER_M1_VB_OFFSET_SF (0.506255884f) #define USER_M1_VC_OFFSET_SF (0.503381569f) #endif // !MOTOR1_DCLINKSS //! \brief DC bus over voltage threshold #define USER_M1_OVER_VOLTAGE_FAULT_V (50.0f)// (40.0f) //! \brief DC bus over voltage threshold #define USER_M1_OVER_VOLTAGE_NORM_V (48.0f)// (36.0f) //! \brief DC bus under voltage threshold #define USER_M1_UNDER_VOLTAGE_FAULT_V (10.0f) //! \brief DC bus under voltage threshold #define USER_M1_UNDER_VOLTAGE_NORM_V (12.0f) //! \brief motor lost phase current threshold #define USER_M1_LOST_PHASE_CURRENT_A (0.2f) //! \brief motor unbalance ratio percent threshold #define USER_M1_UNBALANCE_RATIO (0.2f) //! \brief motor over load power threshold #define USER_M1_OVER_LOAD_POWER_W (96.0f) //! \brief motor stall current threshold #define USER_M1_STALL_CURRENT_A (10.0f) //! \brief motor fault check current threshold #define USER_M1_FAULT_CHECK_CURRENT_A (0.2f)// (1.0f) //! \brief motor failed maximum speed threshold #define USER_M1_FAIL_SPEED_MAX_HZ (500.0f) //! \brief motor failed minimum speed threshold #define USER_M1_FAIL_SPEED_MIN_HZ (5.0f) //! \brief Defines the number of failed torque //! #define USER_M1_TORQUE_FAILED_SET (0.000001f) // end of BSXL8353RS_REVA #define USER_M1_IS_OFFSET_AD_DELTA (150.0f) // The value is 0.0f~1024.0f // the high threshold of the ADC offsets checking value for A/B/C phase current #define USER_M1_IA_OFFSET_AD_MAX (USER_M1_IA_OFFSET_AD + USER_M1_IS_OFFSET_AD_DELTA) #define USER_M1_IB_OFFSET_AD_MAX (USER_M1_IB_OFFSET_AD + USER_M1_IS_OFFSET_AD_DELTA) #define USER_M1_IC_OFFSET_AD_MAX (USER_M1_IC_OFFSET_AD + USER_M1_IS_OFFSET_AD_DELTA) // the low threshold of the ADC offsets checking value for A phase current #define USER_M1_IA_OFFSET_AD_MIN (USER_M1_IA_OFFSET_AD - USER_M1_IS_OFFSET_AD_DELTA) #define USER_M1_IB_OFFSET_AD_MIN (USER_M1_IB_OFFSET_AD - USER_M1_IS_OFFSET_AD_DELTA) #define USER_M1_IC_OFFSET_AD_MIN (USER_M1_IC_OFFSET_AD - USER_M1_IS_OFFSET_AD_DELTA) #define USER_M1_IS_OFFSET_AD_MAX (USER_M1_IA_OFFSET_AD + USER_M1_IB_OFFSET_AD + USER_M1_IC_OFFSET_AD + (USER_M1_IS_OFFSET_AD_DELTA * 3.0f)) #define USER_M1_IS_OFFSET_AD_MIN (USER_M1_IA_OFFSET_AD + USER_M1_IB_OFFSET_AD + USER_M1_IC_OFFSET_AD - (USER_M1_IS_OFFSET_AD_DELTA * 3.0f)) //! \brief ADC voltage offsets for A, B, and C phases // the error threshold to check if the ADC offset of the phase voltage sensing circuit is correct #define USER_M1_VA_OFFSET_SF_DELTA (0.05f) // The value is 0.0f ~ 0.5f // the high threshold of the ADC offsets checking value for A/B/C phase voltage #define USER_M1_VA_OFFSET_SF_MAX (USER_M1_VA_OFFSET_SF + USER_M1_VA_OFFSET_SF_DELTA) #define USER_M1_VB_OFFSET_SF_MAX (USER_M1_VB_OFFSET_SF + USER_M1_VA_OFFSET_SF_DELTA) #define USER_M1_VC_OFFSET_SF_MAX (USER_M1_VC_OFFSET_SF + USER_M1_VA_OFFSET_SF_DELTA) // the low threshold of the ADC offsets checking value for A/B/C phase voltage #define USER_M1_VA_OFFSET_SF_MIN (USER_M1_VA_OFFSET_SF - USER_M1_VA_OFFSET_SF_DELTA) #define USER_M1_VB_OFFSET_SF_MIN (USER_M1_VB_OFFSET_SF - USER_M1_VA_OFFSET_SF_DELTA) #define USER_M1_VC_OFFSET_SF_MIN (USER_M1_VC_OFFSET_SF - USER_M1_VA_OFFSET_SF_DELTA) #define USER_M1_VS_OFFSET_SF_MAX (USER_M1_VA_OFFSET_SF + USER_M1_VB_OFFSET_SF + USER_M1_VC_OFFSET_SF + (USER_M1_VA_OFFSET_SF_DELTA * 3.0f)) #define USER_M1_VS_OFFSET_SF_MIN (USER_M1_VA_OFFSET_SF + USER_M1_VB_OFFSET_SF + USER_M1_VC_OFFSET_SF - (USER_M1_VA_OFFSET_SF_DELTA * 3.0f)) //****************************************************************************** //! \brief Defines the number of pwm clock ticks per isr clock tick //! Note: Valid values are 1, 2 or 3 only #define USER_M1_NUM_PWM_TICKS_PER_ISR_TICK (1) //! \brief Defines the number of ISR clock ticks per current controller clock tick //! #define USER_M1_NUM_ISR_TICKS_PER_CURRENT_TICK (1) //! \brief Defines the number of ISR clock ticks per speed controller clock tick //! #define USER_M1_NUM_ISR_TICKS_PER_SPEED_TICK (10) //! \brief Defines the number of current sensors //! #define USER_M1_NUM_CURRENT_SENSORS (3) //! \brief Defines the number of voltage sensors //! #define USER_M1_NUM_VOLTAGE_SENSORS (3) //! \brief Defines the Pulse Width Modulation (PWM) frequency, kHz //! #define USER_M1_PWM_FREQ_kHz (15.0f) #define USER_M1_PWM_TBPRD_NUM (uint16_t)(USER_SYSTEM_FREQ_MHz * 1000.0f / USER_M1_PWM_FREQ_kHz / 2.0f) //! \brief Defines the Pulse Width Modulation (PWM) period, usec //! #define USER_M1_PWM_PERIOD_usec (1000.0f / USER_M1_PWM_FREQ_kHz) //! \brief Defines the Interrupt Service Routine (ISR) frequency, Hz //! #define USER_M1_ISR_FREQ_Hz (USER_M1_PWM_FREQ_kHz * 1000.0f / (float32_t)USER_M1_NUM_PWM_TICKS_PER_ISR_TICK) //! \brief Defines the Interrupt Service Routine (ISR) period, usec //! #define USER_M1_ISR_PERIOD_usec (USER_M1_PWM_PERIOD_usec * (float32_t)USER_M1_NUM_PWM_TICKS_PER_ISR_TICK) //! \brief Defines the direct voltage (Vd) scale factor //! #define USER_M1_VD_SF (0.95f) //! \brief Defines the voltage scale factor for the system //! #define USER_M1_VOLTAGE_SF (USER_M1_ADC_FULL_SCALE_VOLTAGE_V / 4096.0f) //! \brief Defines the current scale factor for the system //! #define USER_M1_CURRENT_SF (USER_M1_ADC_FULL_SCALE_CURRENT_A / 4096.0f) //! \brief Defines the current scale invert factor for the system //! #define USER_M1_CURRENT_INV_SF (4096.0f / USER_M1_ADC_FULL_SCALE_CURRENT_A) //! \brief Defines the analog voltage filter pole location, rad/s //! #define USER_M1_VOLTAGE_FILTER_POLE_rps (MATH_TWO_PI * USER_M1_VOLTAGE_FILTER_POLE_Hz) //! \brief Defines the maximum Vs magnitude in per units allowed //! \brief This value sets the maximum magnitude for the output of the Id and //! \brief Iq PI current controllers. The Id and Iq current controller outputs //! \brief are Vd and Vq. The relationship between Vs, Vd, and Vq is: //! \brief Vs = sqrt(Vd^2 + Vq^2). In this FOC controller, the Vd value is set //! \brief equal to USER_MAX_VS_MAG*USER_VD_MAG_FACTOR. //! \brief so the Vq value is set equal to sqrt(USER_MAX_VS_MAG^2 - Vd^2). //! //! \brief Set USER_MAX_VS_MAG = 0.5 for a pure sinewave with a peak at //! \brief SQRT(3)/2 = 86.6% duty cycle. No current reconstruction //! \brief is needed for this scenario. //! //! \brief Set USER_MAX_VS_MAG = 1/SQRT(3) = 0.5774 for a pure sinewave //! \brief with a peak at 100% duty cycle. Current reconstruction //! \brief will be needed for this scenario (Lab08). //! //! \brief Set USER_MAX_VS_MAG = 2/3 = 0.6666 to create a trapezoidal //! \brief voltage waveform. Current reconstruction will be needed //! \brief for this scenario (Lab08). //! //! \brief For space vector over-modulation, see lab08 for details on //! \brief system requirements that will allow the SVM generator to //! \brief go all the way to trapezoidal. //! #define USER_M1_MAX_VS_MAG_PU (0.66f) //#define USER_M1_MAX_VS_MAG_PU (0.65f) //#define USER_M1_MAX_VS_MAG_PU (0.576f) //#define USER_M1_MAX_VS_MAG_PU (0.565f) //#define USER_M1_MAX_VS_MAG_PU (0.5f) //! \brief Defines the reference Vs magnitude in per units allowed //! \ Set the value equal from 0.5 to 0.95 of the maximum Vs magnitude #define USER_M1_VS_REF_MAG_PU (0.8f * USER_MAX_VS_MAG_PU) //! \brief Defines the R/L excitation frequency, Hz //! #define USER_M1_R_OVER_L_EXC_FREQ_Hz (300.0f) //! \brief Defines the R/L Kp scale factor, pu //! \brief Kp used during R/L is USER_M1_R_OVER_L_KP_SF * USER_M1_NOMINAL_DC_BUS_VOLTAGE_V / USER_MOTOR1_MAX_CURRENT_A; //! #define USER_M1_R_OVER_L_KP_SF (0.02f) //! \brief Defines maximum acceleration for the estimation speed profiles, Hz/sec //! #define USER_M1_MAX_ACCEL_Hzps (2.0f) //! \brief Defines the controller execution period, usec //! #define USER_M1_CTRL_PERIOD_usec ((float32_t)USER_M1_ISR_PERIOD_usec) //! \brief Defines the controller execution period, sec //! #define USER_M1_CTRL_PERIOD_sec ((float32_t)USER_M1_CTRL_PERIOD_usec / 1000000.0f) //! \brief Defines the IdRated delta to use during estimation //! #define USER_M1_IDRATED_DELTA_A (0.0001f) #if defined(_FULL_FAST_LIB) //! \brief Defines the forced angle frequency, Hz #define USER_M1_FORCE_ANGLE_FREQ_Hz (1.0f) //! \brief Defines the forced angle acceleration, Hz #define USER_M1_FORCE_ANGLE_ACCEL_Hzps (1.0f) #else // !_FULL_FAST_LIB //! \brief Defines the forced angle frequency, Hz #define USER_M1_FORCE_ANGLE_FREQ_Hz (1.0f) #endif // !_FULL_FAST_LIB //! \brief Defines the near zero speed limit for electrical frequency estimation, Hz //! The flux integrator uses this limit to regulate flux integration #define USER_M1_FREQ_NEARZEROSPEEDLIMIT_Hz (0.5f) //! \brief Defines the fraction of IdRated to use during inductance estimation //! #define USER_M1_IDRATED_FRACTION_FOR_L_IDENT (0.5f) //! \brief Defines the fraction of SpeedMax to use during inductance estimation //! #define USER_M1_SPEEDMAX_FRACTION_FOR_L_IDENT (1.0f) //! \brief Defines the Power Warp gain for computing Id reference //! #define USER_M1_PW_GAIN (1.0f) //! \brief Defines the pole location for the DC bus filter, rad/sec //! #define USER_M1_DCBUS_POLE_rps (100.0f) //! \brief Defines the pole location for the voltage and current offset estimation, rad/s //! #define USER_M1_OFFSET_POLE_rps (20.0f) //! \brief Defines the pole location for the speed control filter, rad/sec //! #define USER_M1_SPEED_POLE_rps (100.0f) //! \brief Defines the pole location for the direction filter, rad/sec //! #define USER_M1_DIRECTION_POLE_rps (MATH_TWO_PI * 10.0f) //! \brief Defines the pole location for the flux estimation, rad/sec //! #define USER_M1_FLUX_POLE_rps (10.0f) //! \brief Defines the pole location for the R/L estimation, rad/sec //! #define USER_M1_R_OVER_L_POLE_rps (MATH_TWO_PI * 3.2f) //! \brief Defines the convergence factor for the estimator //! #define USER_M1_EST_KAPPAQ (1.5f) //! \brief Defines the scale factor for the flux estimation //! the default value is 1.0f, change the value between 0.1f and 1.25f //! //#define USER_M1_EST_FLUX_HF_SF (0.120f) #define USER_M1_EST_FLUX_HF_SF (0.250f) //#define USER_M1_EST_FLUX_HF_SF (1.00f) //! \brief Defines the scale factor for the frequency estimation //! the default value is 1.0f, change the value between 0.5f and 1.5f //! #define USER_M1_EST_FREQ_HF_SF (1.00f) //! \brief Defines the scale factor for the bemf estimation //! the default value is 1.0f, change the value between 0.50f and 1.25f //! #define USER_M1_EST_BEMF_HF_SF (1.00f) //------------------------------------------------------------------------------ //! brief Define the Kp gain for Field Weakening Control #define USER_M1_FWC_KP (0.0525f) //! brief Define the Ki gain for Field Weakening Control #define USER_M1_FWC_KI (0.00325f) //! brief Define the maximum current vector angle for Field Weakening Control #define USER_M1_FWC_MAX_ANGLE -15.0f // degree #define USER_M1_FWC_MAX_ANGLE_RAD USER_M1_FWC_MAX_ANGLE /180.0f * MATH_PI // rad //! brief Define the minimum current vector angle for Field Weakening Control #define USER_M1_FWC_MIN_ANGLE 0.0f // degree #define USER_M1_FWC_MIN_ANGLE_RAD USER_M1_FWC_MIN_ANGLE /180.0f * MATH_PI // rad //! \brief Defines the number of DC bus over/under voltage setting time //! timer base = 5ms #define USER_M1_VOLTAGE_FAULT_TIME_SET (500U) // in 5ms //! \brief Defines the number of motor over load setting time //! timer base = 5ms, 1s #define USER_M1_OVER_LOAD_TIME_SET (200U) //! \brief Defines the number of motor stall setting time //! timer base = 5ms, 1s #define USER_M1_STALL_TIME_SET (200U) //! \brief Defines the number of phase unbalanced setting time //! timer base = 5ms, 5s #define USER_M1_UNBALANCE_TIME_SET (1000U) //! \brief Defines the number of lost phase setting time //! timer base = 5ms, 10s #define USER_M1_LOST_PHASE_TIME_SET (2000U) //! \brief Defines the number of over speed setting time //! timer base = 5ms #define USER_M1_OVER_SPEED_TIME_SET (600U) //! \brief Defines the number of startup failed setting time //! timer base = 5ms, 10s #define USER_M1_STARTUP_FAIL_TIME_SET (2000U) //! \brief Defines the number of over load setting times //! #define USER_M1_OVER_CURRENT_TIMES_SET (5U) //! \brief Defines the number of stop wait time //! timer base = 5ms, 10s #define USER_M1_STOP_WAIT_TIME_SET (2000U) //! \brief Defines the number of restart wait time //! timer base = 5ms, 10s #define USER_M1_RESTART_WAIT_TIME_SET (2000U) //! \brief Defines the number of restart times when has a fault //! #define USER_M1_START_TIMES_SET (3U) //! \brief Defines the alignment time //! timer base = 5ms, 10s #define USER_M1_ALIGN_TIME_SET (2000U) //! \brief Defines the QEP unit ticks #define USER_M1_QEP_UNIT_TIMER_TICKS (uint32_t)(USER_SYSTEM_FREQ_MHz/(2.0f * USER_M1_ISR_FREQ_Hz) * 1000000.0f) //! \brief Defines the current filter pole location, Hz #define USER_M1_IS_FILTER_POLE_Hz (7500.0f) // 7.5kHz //! \brief Defines the current filter pole location, rad/s //! #define USER_M1_IS_FILTER_POLE_rps (MATH_TWO_PI * USER_M1_IS_FILTER_POLE_Hz) //! \brief Defines the voltage filter pole location, Hz #define USER_M1_VS_FILTER_POLE_Hz (30000.0f) // 30.0kHz //! \brief Defines the voltage filter pole location, rad/s //! #define USER_M1_VS_FILTER_POLE_rps (MATH_TWO_PI * USER_M1_VS_FILTER_POLE_Hz) #elif (USER_MOTOR1 == Drone9616_110KV_48V) // Refer to the description of the following parameters for Teknic_M2310PLN04K #define USER_MOTOR1_TYPE MOTOR_TYPE_PM #define USER_MOTOR1_NUM_POLE_PAIRS (5) #define USER_MOTOR1_Rr_Ohm (NULL) #define USER_MOTOR1_Rs_Ohm (0.004600f) //(0.0282184016) #define USER_MOTOR1_Ls_d_H (0.000190442806f) //(1.39398744e-05) #define USER_MOTOR1_Ls_q_H (0.000190442806f) //(1.39398744e-05) #define USER_MOTOR1_RATED_FLUX_VpHz (0.0608253318f) //(0.0159354247) #define USER_MOTOR1_MAGNETIZING_CURRENT_A (NULL) #define USER_MOTOR1_RES_EST_CURRENT_A (4.5)// 3.5 #define USER_MOTOR1_IND_EST_CURRENT_A (-4.0)// -3.0 #define USER_MOTOR1_MAX_CURRENT_A (50.0) #define USER_MOTOR1_FLUX_EXC_FREQ_Hz (60.0) #define USER_MOTOR1_NUM_ENC_SLOTS (NULL) #define USER_MOTOR1_INERTIA_Kgm2 (4.80185e-06) // Ls compensation coefficient #define USER_MOTOR1_Ls_d_COMP_COEF (0.15f) // 0.0f~0.5f #define USER_MOTOR1_Ls_q_COMP_COEF (0.35f) // 0.0f~0.5f #define USER_MOTOR1_Ls_MIN_NUM_COEF (0.55f) // 0.5f~1.0f #define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz (5.0f) // Hz #define USER_MOTOR1_RATED_VOLTAGE_V (48.0) #define USER_MOTOR1_FREQ_MIN_Hz (10.0) // Hz #define USER_MOTOR1_FREQ_MAX_Hz (1200.0) // Hz #define USER_MOTOR1_FREQ_LOW_Hz (10.0) // Hz #define USER_MOTOR1_FREQ_HIGH_Hz (400.0) // Hz #define USER_MOTOR1_VOLT_MIN_V (2.0) // Volt #define USER_MOTOR1_VOLT_MAX_V (48.0) // Volt #define USER_MOTOR1_FORCE_DELTA_A (0.05) // A #define USER_MOTOR1_ALIGN_DELTA_A (0.01) // A #define USER_MOTOR1_FLUX_CURRENT_A (0.5) // A #define USER_MOTOR1_ALIGN_CURRENT_A (1.5) // #define USER_MOTOR1_STARTUP_CURRENT_A (9.0) // #define USER_MOTOR1_TORQUE_CURRENT_A (2.0) // A #define USER_MOTOR1_OVER_CURRENT_A (7.5) // #define USER_MOTOR1_SPEED_START_Hz (75.0) #define USER_MOTOR1_SPEED_FORCE_Hz (60.0) #define USER_MOTOR1_ACCEL_START_Hzps (10.0) #define USER_MOTOR1_ACCEL_MAX_Hzps (50.0) #define USER_MOTOR1_SPEED_FS_Hz (3.0) #if defined(MOTOR1_HALL) // Only for hall sensor #define USER_MOTOR1_HALL_DELTA_rad (MATH_TWO_PI / 36.0f) // rad #endif // MOTOR1_HALL // only for encoder #define USER_MOTOR1_ENC_POS_MAX (USER_MOTOR1_NUM_ENC_SLOTS * 4 - 1) #define USER_MOTOR1_ENC_POS_OFFSET (668) // Only for eSMO #define USER_MOTOR1_KSLIDE_MAX (1.00f) // 2.0f #define USER_MOTOR1_KSLIDE_MIN (0.05f) #define USER_MOTOR1_PLL_KP_MAX (15.0f) #define USER_MOTOR1_PLL_KP_MIN (2.0f) #define USER_MOTOR1_PLL_KP_SF (20.0f) #define USER_MOTOR1_PLL_KI (2.8125E-06f) // Not used, reserve #define USER_MOTOR1_BEMF_THRESHOLD (0.05f) #define USER_MOTOR1_BEMF_KSLF_FC_SF (2.0f) // 1.0f #define USER_MOTOR1_THETA_OFFSET_SF (1.0f) // 2.5f #define USER_MOTOR1_SPEED_LPF_FC_Hz (200.0f) // 100.0f // for IS-BLDC #define USER_MOTOR1_RAMP_START_Hz (5.0f) #define USER_MOTOR1_RAMP_END_Hz (30.0f) #define USER_MOTOR1_RAMP_DELAY (1) #define USER_MOTOR1_ISBLDC_INT_MAX (0.015f) #define USER_MOTOR1_ISBLDC_INT_MIN (0.010f) // for Rs online calibration #define USER_MOTOR1_RSONLINE_WAIT_TIME (60000U) // 5min/300s at 5ms base #define USER_MOTOR1_RSONLINE_WORK_TIME (24000U) //2min/120s at 5ms base // Current and Speed PI Regulators Tuning Coefficient #define USER_MOTOR1_GAIN_SPEED_LOW_Hz (60.0f) #define USER_MOTOR1_GAIN_SPEED_HIGH_Hz (150.0f) #define USER_MOTOR1_KP_SPD_START_SF (1.5f) // 0.1~100.0 #define USER_MOTOR1_KI_SPD_START_SF (1.5f) // 0.1~10.0 #define USER_MOTOR1_KP_SPD_LOW_SF (2.0f) // 0.1~100.0 #define USER_MOTOR1_KI_SPD_LOW_SF (2.0f) // 0.1~10.0 #define USER_MOTOR1_KP_SPD_HIGH_SF (1.0f) // 0.1~100.0 #define USER_MOTOR1_KI_SPD_HIGH_SF (1.0f) // 0.1~10.0 #define USER_MOTOR1_GAIN_IQ_LOW_A (2.0f) #define USER_MOTOR1_GAIN_IQ_HIGH_A (6.0f) #define USER_MOTOR1_KP_IQ_START_SF (1.5f) // 0.1~10.0 #define USER_MOTOR1_KI_IQ_START_SF (1.5f) // 0.1~10.0 #define USER_MOTOR1_KP_IQ_LOW_SF (2.0f) // 0.1~10.0 #define USER_MOTOR1_KI_IQ_LOW_SF (2.0f) // 0.1~10.0 #define USER_MOTOR1_KP_IQ_HIGH_SF (1.0f) // 0.1~10.0 #define USER_MOTOR1_KI_IQ_HIGH_SF (1.0f) // 0.1~10.0 #define USER_MOTOR1_KP_ID_SF (1.0f) // 0.1~10.0 #define USER_MOTOR1_KI_ID_SF (1.0f) // 0.1~10.0