|
@@ -10,13 +10,13 @@
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 驱动参数
|
|
|
|
|
|
|
+ @brief 驱动参数
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
-#define PWM_FREQUENCY (16.0) // (kHz) 载波频率
|
|
|
|
|
-#define PWM_DEADTIME (1.2) // (us) 死区时间
|
|
|
|
|
-#define MIN_WIND_TIME (2.6) // (us) 单电阻最小采样窗口,建议值死区时间+0.9us
|
|
|
|
|
-#define DLL_TIME (PWM_DEADTIME + 0.3) // (us) 双电阻最小脉宽设置, 建议值为死区时间值+0.2us以上
|
|
|
|
|
|
|
+#define PWM_FREQUENCY (16.0) // (kHz) 载波频率
|
|
|
|
|
+#define PWM_DEADTIME (1.2) // (us) 死区时间
|
|
|
|
|
+#define MIN_WIND_TIME (2.6) // (us) 单电阻最小采样窗口,建议值死区时间+0.9us
|
|
|
|
|
+#define DLL_TIME (PWM_DEADTIME + 0.3) // (us) 双电阻最小脉宽设置, 建议值为死区时间值+0.2us以上
|
|
|
|
|
|
|
|
/* ---------------- 启动参数非必要勿动---------------- */
|
|
/* ---------------- 启动参数非必要勿动---------------- */
|
|
|
|
|
|
|
@@ -25,71 +25,71 @@
|
|
|
* @param (Open_Start) 开环强拖启动
|
|
* @param (Open_Start) 开环强拖启动
|
|
|
* @param (Omega_Start) Omega启动
|
|
* @param (Omega_Start) Omega启动
|
|
|
*/
|
|
*/
|
|
|
-#define Open_Start_Mode (Omega_Start) // 开环启动模式选择
|
|
|
|
|
|
|
+#define Open_Start_Mode (Omega_Start) // 开环启动模式选择
|
|
|
// OMEGA启动参数
|
|
// OMEGA启动参数
|
|
|
-#define MOTOR_OMEGA_RAMP_ACC (10) // omega启动的增量(每个载波递增值)
|
|
|
|
|
-#define MOTOR_OMEGA_RAMP_MIN S_Value(200.0) // (RPM) omega启动的最小切换转速
|
|
|
|
|
-#define MOTOR_OMEGA_RAMP_END S_Value(400.0) // (RPM) omega启动的限制转速
|
|
|
|
|
|
|
+#define MOTOR_OMEGA_RAMP_ACC (10) // omega启动的增量(每个载波递增值)
|
|
|
|
|
+#define MOTOR_OMEGA_RAMP_MIN S_Value(200.0) // (RPM) omega启动的最小切换转速
|
|
|
|
|
+#define MOTOR_OMEGA_RAMP_END S_Value(400.0) // (RPM) omega启动的限制转速
|
|
|
|
|
|
|
|
-#define MOTOR_SPEED_SMOMIN_RPM (20.0) // (RPM) SMO运行最小转速影响启动
|
|
|
|
|
-#define SPD_BW (20.0) // 速度带宽的滤波值,经典值为5.0-40.0
|
|
|
|
|
-#define MOTOR_LOOP_RPM S_Value(500.0) // (RPM) 启动后电流环切入外部环路转速阈值
|
|
|
|
|
|
|
+#define MOTOR_SPEED_SMOMIN_RPM (20.0) // (RPM) SMO运行最小转速影响启动
|
|
|
|
|
+#define SPD_BW (20.0) // 速度带宽的滤波值,经典值为5.0-40.0
|
|
|
|
|
+#define MOTOR_LOOP_RPM S_Value(500.0) // (RPM) 启动后电流环切入外部环路转速阈值
|
|
|
|
|
|
|
|
// D轴参数设置
|
|
// D轴参数设置
|
|
|
-#define DOUTMAX _Q15(0.99) // D轴电压最大限幅值,单位:输出占空比
|
|
|
|
|
-#define DOUTMIN _Q15(-0.99) // D轴电压最小限幅值,单位:输出占空比
|
|
|
|
|
|
|
+#define DOUTMAX _Q15(0.99) // D轴电压最大限幅值,单位:输出占空比
|
|
|
|
|
+#define DOUTMIN _Q15(-0.99) // D轴电压最小限幅值,单位:输出占空比
|
|
|
// Q轴参数设置
|
|
// Q轴参数设置
|
|
|
-#define QOUTMAX _Q15(0.99) // Q轴电压最大限幅值,单位:输出占空比
|
|
|
|
|
-#define QOUTMIN _Q15(-0.99) // Q轴电压最小限幅值,单位:输出占空比
|
|
|
|
|
|
|
+#define QOUTMAX _Q15(0.99) // Q轴电压最大限幅值,单位:输出占空比
|
|
|
|
|
+#define QOUTMIN _Q15(-0.99) // Q轴电压最小限幅值,单位:输出占空比
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 估算器模式选择
|
|
* 估算器模式选择
|
|
|
- * @param (SMO) 滑膜估算
|
|
|
|
|
- * @param (PLL) 锁相环
|
|
|
|
|
- * @param (AO) 自适应
|
|
|
|
|
|
|
+ * @param (SMO) 滑膜估算
|
|
|
|
|
+ * @param (PLL) 锁相环
|
|
|
|
|
+ * @param (AO) 自适应
|
|
|
*/
|
|
*/
|
|
|
-#define EstimateAlgorithm (AO) ///< 估算器模式选择
|
|
|
|
|
|
|
+#define EstimateAlgorithm (AO) ///< 估算器模式选择
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 电机参数
|
|
|
|
|
|
|
+ @brief 电机参数
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
-#define Pole_Pairs (4.0) // 极对数
|
|
|
|
|
-#define LD (0.11405) // (H) D轴电感
|
|
|
|
|
-#define LQ (0.11405) // (H) Q轴电感
|
|
|
|
|
-#define RS (36.45) // (Ω) 相电阻
|
|
|
|
|
-#define Ke (69.20) // (V/KRPM) 反电动势常数,选择AO观测器不需要Ke
|
|
|
|
|
-#define MOTOR_SPEED_BASE (4500.0) // (RPM) 速度基准
|
|
|
|
|
-#define FR_MODE (CW) // 转向设置
|
|
|
|
|
|
|
+#define Pole_Pairs (4.0) // 极对数
|
|
|
|
|
+#define LD (0.11405) // (H) D轴电感
|
|
|
|
|
+#define LQ (0.11405) // (H) Q轴电感
|
|
|
|
|
+#define RS (36.45) // (Ω) 相电阻
|
|
|
|
|
+#define Ke (69.20) // (V/KRPM) 反电动势常数,选择AO观测器不需要Ke
|
|
|
|
|
+#define MOTOR_SPEED_BASE (4500.0) // (RPM) 速度基准
|
|
|
|
|
+#define FR_MODE (CW) // 转向设置
|
|
|
|
|
|
|
|
// 若选择AO自适应观测器 则无需填写Ke
|
|
// 若选择AO自适应观测器 则无需填写Ke
|
|
|
-#define KeVpp (0.000) // (V) 反电动势测量的峰峰值
|
|
|
|
|
-#define KeT (0.000) // (ms) 反电动势测量的周期
|
|
|
|
|
|
|
+#define KeVpp (0.000) // (V) 反电动势测量的峰峰值
|
|
|
|
|
+#define KeT (0.000) // (ms) 反电动势测量的周期
|
|
|
// #define Ke (Pole_Pairs * KeVpp * KeT / 207.84) // (V/KRPM) 反电动势常数
|
|
// #define Ke (Pole_Pairs * KeVpp * KeT / 207.84) // (V/KRPM) 反电动势常数
|
|
|
|
|
|
|
|
// 电机运行时最大最小转速
|
|
// 电机运行时最大最小转速
|
|
|
-#define MOTOR_SPEED_MIN_RPM S_Value(500.0) // (RPM) 运行最小转速
|
|
|
|
|
-#define MOTOR_SPEED_MAX_RPM S_Value(3000.0) // (RPM) 运行最大转速
|
|
|
|
|
-#define MOTOR_SPEED_STOP_RPM S_Value(250.0) // (RPM) 关闭最小转速
|
|
|
|
|
|
|
+#define MOTOR_SPEED_MIN_RPM S_Value(500.0) // (RPM) 运行最小转速
|
|
|
|
|
+#define MOTOR_SPEED_MAX_RPM S_Value(3000.0) // (RPM) 运行最大转速
|
|
|
|
|
+#define MOTOR_SPEED_STOP_RPM S_Value(250.0) // (RPM) 关闭最小转速
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 驱动板配置
|
|
|
|
|
|
|
+ @brief 驱动板配置
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
-#define HW_RSHUNT (0.1) ///< (Ω) 采样电阻
|
|
|
|
|
-#define RV1 (1020.0) ///< (kΩ) 母线电压分压电阻1
|
|
|
|
|
-#define RV2 (10.0) ///< (kΩ) 母线电压分压电阻2
|
|
|
|
|
|
|
+#define HW_RSHUNT (0.25) // (Ω) 采样电阻
|
|
|
|
|
+#define RV1 (1020.0) // (kΩ) 母线电压分压电阻1
|
|
|
|
|
+#define RV2 (10.0) // (kΩ) 母线电压分压电阻2
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @breaf 运放模式选择
|
|
* @breaf 运放模式选择
|
|
|
* @param (AMP_NOMAL) 外部放大
|
|
* @param (AMP_NOMAL) 外部放大
|
|
|
* @param (AMP_PGA_DUAL) 内部PGA双端差分输入(放大倍数的标定外部引脚串1kΩ电阻)
|
|
* @param (AMP_PGA_DUAL) 内部PGA双端差分输入(放大倍数的标定外部引脚串1kΩ电阻)
|
|
|
*/
|
|
*/
|
|
|
-#define HW_AMP_MODE (AMP_PGA_DUAL) ///< 运放模式选择
|
|
|
|
|
|
|
+#define HW_AMP_MODE (AMP_PGA_DUAL) // 运放模式选择
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 放大倍数设置
|
|
* 放大倍数设置
|
|
@@ -99,31 +99,31 @@
|
|
|
* @param (AMP16x) 内部PGA放大16倍
|
|
* @param (AMP16x) 内部PGA放大16倍
|
|
|
* @param (xxxxxx) 外部放大模式填写相应倍数
|
|
* @param (xxxxxx) 外部放大模式填写相应倍数
|
|
|
*/
|
|
*/
|
|
|
-#define HW_AMPGAIN (AMP16x) ///< 放大倍数设置
|
|
|
|
|
|
|
+#define HW_AMPGAIN (AMP8x) // 放大倍数设置
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 参考电压设置
|
|
* 参考电压设置
|
|
|
- * @param (VREF3_0) 参考电压设置为3.0V
|
|
|
|
|
- * @param (VREF4_0) 参考电压设置为4.0V
|
|
|
|
|
- * @param (VREF4_5) 参考电压设置为4.5V
|
|
|
|
|
- * @param (VREF5_0) 参考电压设置为5.0V
|
|
|
|
|
|
|
+ * @param (VREF3_0) 参考电压设置为3.0V
|
|
|
|
|
+ * @param (VREF4_0) 参考电压设置为4.0V
|
|
|
|
|
+ * @param (VREF4_5) 参考电压设置为4.5V
|
|
|
|
|
+ * @param (VREF5_0) 参考电压设置为5.0V
|
|
|
*/
|
|
*/
|
|
|
-#define HW_ADC_VREF (VREF5_0) ///< (V) ADC参考电压
|
|
|
|
|
|
|
+#define HW_ADC_VREF (VREF5_0) // (V) ADC参考电压
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 电流采样模式选择
|
|
* 电流采样模式选择
|
|
|
- * @param (Single_Resistor) 单电阻电流采样模式
|
|
|
|
|
- * @param (Double_Resistor) 双电阻电流采样模式
|
|
|
|
|
- * @param (Three_Resistor) 三电阻电流采样模式
|
|
|
|
|
|
|
+ * @param (Single_Resistor) 单电阻电流采样模式
|
|
|
|
|
+ * @param (Double_Resistor) 双电阻电流采样模式
|
|
|
|
|
+ * @param (Three_Resistor) 三电阻电流采样模式
|
|
|
*/
|
|
*/
|
|
|
-#define Shunt_Resistor_Mode (Single_Resistor) ///< 电流采样模式选择
|
|
|
|
|
|
|
+#define Shunt_Resistor_Mode (Single_Resistor) // 电流采样模式选择
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 基准电压VREF对外输出使能
|
|
* 基准电压VREF对外输出使能
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define VREF_OUT_EN (Disable) ///< 基准电压VREF对外输出使能
|
|
|
|
|
|
|
+#define VREF_OUT_EN (Disable) // 基准电压VREF对外输出使能
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 偏置电压设置
|
|
* 偏置电压设置
|
|
@@ -132,61 +132,60 @@
|
|
|
* @param (VHALF25_64) VHALF电压设置为25/64VREF
|
|
* @param (VHALF25_64) VHALF电压设置为25/64VREF
|
|
|
* @param (VHALF1_2) VHALF电压设置为1/2VREF
|
|
* @param (VHALF1_2) VHALF电压设置为1/2VREF
|
|
|
*/
|
|
*/
|
|
|
-#define HW_VHALF_SEL (VHALF1_2) ///< 偏置电压设置
|
|
|
|
|
|
|
+#define HW_VHALF_SEL (VHALF1_2) // 偏置电压设置
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @brief 运放0偏置电压配置(根据实际电路匹配)
|
|
* @brief 运放0偏置电压配置(根据实际电路匹配)
|
|
|
* @param (Enable) 运放0有接VHALF
|
|
* @param (Enable) 运放0有接VHALF
|
|
|
* @param (Disable) 运放0没接VHALF
|
|
* @param (Disable) 运放0没接VHALF
|
|
|
*/
|
|
*/
|
|
|
-#define VHALF_EN (Enable) ///< VHALF输出使能
|
|
|
|
|
|
|
+#define VHALF_EN (Enable) // VHALF输出使能
|
|
|
|
|
|
|
|
|
|
|
|
|
-#define TestDefine value // 测试定义
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 启动配置
|
|
|
|
|
|
|
+ @brief 启动配置
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
// 启动电流
|
|
// 启动电流
|
|
|
-#define ID_Start_CURRENT I_Value(0.0) // (A) D轴启动电流
|
|
|
|
|
-#define IQ_Start_CURRENT I_Value(0.3) // (A) Q轴启动电流
|
|
|
|
|
|
|
+#define ID_Start_CURRENT I_Value(0.0) // (A) D轴启动电流
|
|
|
|
|
+#define IQ_Start_CURRENT I_Value(0.3) // (A) Q轴启动电流
|
|
|
|
|
|
|
|
// 顺风启动切入闭环电流
|
|
// 顺风启动切入闭环电流
|
|
|
-#define ID_RUN_CURRENT I_Value(0.0) // (A) D轴运行电流
|
|
|
|
|
-#define IQ_RUN_CURRENT I_Value(0.1) // (A) Q轴运行电流
|
|
|
|
|
|
|
+#define ID_RUN_CURRENT I_Value(0.0) // (A) D轴运行电流
|
|
|
|
|
+#define IQ_RUN_CURRENT I_Value(0.1) // (A) Q轴运行电流
|
|
|
|
|
|
|
|
// 启动ATO参数
|
|
// 启动ATO参数
|
|
|
// 观测器带宽的滤波值,经典值为1.0-200.0
|
|
// 观测器带宽的滤波值,经典值为1.0-200.0
|
|
|
-#define ATO_BW_START (0.0)
|
|
|
|
|
-#define ATO_BW_RUN1 (20.0)
|
|
|
|
|
-#define ATO_BW_RUN2 (40.0)
|
|
|
|
|
-#define ATO_BW_RUN3 (80.0)
|
|
|
|
|
-#define ATO_BW_RUN4 (150.0)
|
|
|
|
|
|
|
+#define ATO_BW_START (0.0)
|
|
|
|
|
+#define ATO_BW_RUN1 (20.0)
|
|
|
|
|
+#define ATO_BW_RUN2 (40.0)
|
|
|
|
|
+#define ATO_BW_RUN3 (80.0)
|
|
|
|
|
+#define ATO_BW_RUN4 (150.0)
|
|
|
|
|
|
|
|
// 启动ATO爬坡时间控制
|
|
// 启动ATO爬坡时间控制
|
|
|
-#define ATO_START_HOLDTIME (10) // (ms)观测器带宽的滤波值,启动第一拍ATO持续时间
|
|
|
|
|
-#define ATO_RAMP_PERIOD (20) // (ms)观测器带宽的滤波值,ATO爬坡递增 间隔时间
|
|
|
|
|
|
|
+#define ATO_START_HOLDTIME (10) // (ms)观测器带宽的滤波值,启动第一拍ATO持续时间
|
|
|
|
|
+#define ATO_RAMP_PERIOD (20) // (ms)观测器带宽的滤波值,ATO爬坡递增 间隔时间
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 环路以及基本控制配置
|
|
|
|
|
|
|
+ @brief 环路以及基本控制配置
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
// 电流环DQ轴启动KPKI配置
|
|
// 电流环DQ轴启动KPKI配置
|
|
|
-#define DKP_Start _Q12(2.5) // 启动DQ轴电流环KP
|
|
|
|
|
-#define DKI_Start _Q15(0.02) // 启动DQ轴电流环KI
|
|
|
|
|
-#define QKP_Start _Q12(2.5) // 启动DQ轴电流环KP
|
|
|
|
|
-#define QKI_Start _Q15(0.02) // 启动DQ轴电流环KI
|
|
|
|
|
|
|
+#define DKP_Start _Q12(2.5) // 启动DQ轴电流环KP
|
|
|
|
|
+#define DKI_Start _Q15(0.02) // 启动DQ轴电流环KI
|
|
|
|
|
+#define QKP_Start _Q12(2.5) // 启动DQ轴电流环KP
|
|
|
|
|
+#define QKI_Start _Q15(0.02) // 启动DQ轴电流环KI
|
|
|
|
|
|
|
|
// 电流环DQ轴运行KPKI配置
|
|
// 电流环DQ轴运行KPKI配置
|
|
|
-#define DKP _Q12(2.5) // 运行DQ轴电流环KP
|
|
|
|
|
-#define DKI _Q15(0.05) // 运行DQ轴电流环KI
|
|
|
|
|
-#define QKP _Q12(2.5) // 运行DQ轴电流环KP
|
|
|
|
|
-#define QKI _Q15(0.05) // 运行DQ轴电流环KI
|
|
|
|
|
|
|
+#define DKP _Q12(2.5) // 运行DQ轴电流环KP
|
|
|
|
|
+#define DKI _Q15(0.05) // 运行DQ轴电流环KI
|
|
|
|
|
+#define QKP _Q12(2.5) // 运行DQ轴电流环KP
|
|
|
|
|
+#define QKI _Q15(0.05) // 运行DQ轴电流环KI
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 闭环方式选择
|
|
* 闭环方式选择
|
|
@@ -195,18 +194,18 @@
|
|
|
* @param (POWER_LOOP_CONTROL) 功率环
|
|
* @param (POWER_LOOP_CONTROL) 功率环
|
|
|
* @param (UQ_LOOP_CONTROL) UQ环
|
|
* @param (UQ_LOOP_CONTROL) UQ环
|
|
|
*/
|
|
*/
|
|
|
-#define MOTOR_CTRL_MODE (SPEED_LOOP_CONTROL) // 闭环方式选择
|
|
|
|
|
-#define LOOP_TIME (2) // (ms) 外环环调节周期,默认为 1ms
|
|
|
|
|
|
|
+#define MOTOR_CTRL_MODE (SPEED_LOOP_CONTROL) // 闭环方式选择
|
|
|
|
|
+#define LOOP_TIME (2) // (ms) 外环环调节周期,默认为 1ms
|
|
|
|
|
|
|
|
-#define SKP _Q12(0.5) // 外环KP
|
|
|
|
|
-#define SKI _Q15(0.002) // 外环KI
|
|
|
|
|
-#define SKD _Q12(0.0) // 外环KD
|
|
|
|
|
|
|
+#define SKP _Q12(0.5) // 外环KP
|
|
|
|
|
+#define SKI _Q15(0.002) // 外环KI
|
|
|
|
|
+#define SKD _Q12(0.0) // 外环KD
|
|
|
|
|
|
|
|
-#define SOUTMAX I_Value(0.9) // (A) 外环电流最大限幅值
|
|
|
|
|
-#define SOUTMIN I_Value(0.0) // (A) 外环电流最小限幅值
|
|
|
|
|
|
|
+#define SOUTMAX I_Value(0.9) // (A) 外环电流最大限幅值
|
|
|
|
|
+#define SOUTMIN I_Value(0.0) // (A) 外环电流最小限幅值
|
|
|
|
|
|
|
|
-#define RAMP_INC S_Value(1) // (RPS) 每秒爬坡递增量
|
|
|
|
|
-#define RAMP_DEC S_Value(1) // (RPS) 每秒爬坡递减量
|
|
|
|
|
|
|
+#define RAMP_INC S_Value(1) // (RPS) 每秒爬坡递增量
|
|
|
|
|
+#define RAMP_DEC S_Value(1) // (RPS) 每秒爬坡递减量
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -216,141 +215,133 @@
|
|
|
* @param (NONEMODE) 直接给定值,不调速
|
|
* @param (NONEMODE) 直接给定值,不调速
|
|
|
* @param (ONOFFTEST) 启停测试工具
|
|
* @param (ONOFFTEST) 启停测试工具
|
|
|
*/
|
|
*/
|
|
|
-#define SPEED_MODE (NONEMODE) // 闭环方式选择
|
|
|
|
|
|
|
+#define SPEED_MODE (NONEMODE) // 闭环方式选择
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* PWM调速 PWM极性选择
|
|
* PWM调速 PWM极性选择
|
|
|
* @param (PosiPWMDUTY) 正逻辑
|
|
* @param (PosiPWMDUTY) 正逻辑
|
|
|
* @param (NegaPWMDUTY) 反逻辑
|
|
* @param (NegaPWMDUTY) 反逻辑
|
|
|
*/
|
|
*/
|
|
|
-#define PWMDUTY_POLARITY (PosiPWMDUTY) // PWM调速 PWM极性选择
|
|
|
|
|
|
|
+#define PWMDUTY_POLARITY (PosiPWMDUTY) // PWM调速 PWM极性选择
|
|
|
|
|
|
|
|
/* 开关机Duty设置 */
|
|
/* 开关机Duty设置 */
|
|
|
-#define OFFPWMDuty _Q15(0.07) // 关机PWM占空比,小于该占空比关机
|
|
|
|
|
-#define OFFPWMDutyHigh _Q15(1.0) // 关机PWM占空比,大于该占空比关机
|
|
|
|
|
-#define ONPWMDuty _Q15(0.08) // 开机PWM占空比,大于该占空比时开机
|
|
|
|
|
-#define MINPWMDuty _Q15(0.10) // 速度曲线上最小PWM占空比
|
|
|
|
|
-#define MAXPWMDuty _Q15(0.90) // 速度曲线上最大PWM占空比
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * 停机刹车选择
|
|
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
- */
|
|
|
|
|
-#define StopBrakeFlag (Disable)
|
|
|
|
|
-#define StopWaitTime (550) // (ms) 刹车等待时间
|
|
|
|
|
-#define Stop_MOTOR_SPEED_RPM S_Value(300) // (RPM) 小于该转速刹车
|
|
|
|
|
-
|
|
|
|
|
-/**
|
|
|
|
|
- * NTC采集
|
|
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
- */
|
|
|
|
|
-#define NTCSignalENABLE (Disable) // NTC信号采集,1:复用LED端口采集NTC信号 0:不使能LED端口复用,没有NTC的可直接关掉
|
|
|
|
|
|
|
+#define OFFPWMDuty _Q15(0.07) // 关机PWM占空比,小于该占空比关机
|
|
|
|
|
+#define OFFPWMDutyHigh _Q15(1.0) // 关机PWM占空比,大于该占空比关机
|
|
|
|
|
+#define ONPWMDuty _Q15(0.08) // 开机PWM占空比,大于该占空比时开机
|
|
|
|
|
+#define MINPWMDuty _Q15(0.10) // 速度曲线上最小PWM占空比
|
|
|
|
|
+#define MAXPWMDuty _Q15(0.90) // 速度曲线上最大PWM占空比
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 功能配置
|
|
|
|
|
|
|
+ @brief 功能配置
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 预充电使能
|
|
* 预充电使能
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define CHARGE_EN (Enable) // 预充电使能
|
|
|
|
|
-#define CHARGE_DUTY (0.98) // (%) 预充电下桥Duty
|
|
|
|
|
-#define CHARGE_TIME (150) // (ms) 预充电时间
|
|
|
|
|
|
|
+#define CHARGE_EN (Enable) // 预充电使能
|
|
|
|
|
+#define CHARGE_DUTY (0.98) // (%) 预充电下桥Duty
|
|
|
|
|
+#define CHARGE_TIME (150) // (ms) 预充电时间
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 预定位模式选择
|
|
* 预定位模式选择
|
|
|
- * @param (ALIGN_DSIABLE) 禁止
|
|
|
|
|
- * @param (ALIGN_NOMAL) 正常预定位
|
|
|
|
|
- * @param (ALIGN_TEST) 测试模式,可用于手动测试电机极对数
|
|
|
|
|
|
|
+ * @param (ALIGN_DSIABLE) 禁止
|
|
|
|
|
+ * @param (ALIGN_NOMAL) 正常预定位
|
|
|
|
|
+ * @param (ALIGN_TEST) 测试模式,可用于手动测试电机极对数
|
|
|
*/
|
|
*/
|
|
|
-#define ALIGN_MOME (ALIGN_DSIABLE) // 预定位模式选择
|
|
|
|
|
-#define Align_Angle (0.0) // (°) 预定位角度
|
|
|
|
|
-#define Align_Time (1) // (ms) 预定位时间
|
|
|
|
|
|
|
+#define ALIGN_MOME (ALIGN_DSIABLE) // 预定位模式选择
|
|
|
|
|
+#define Align_Angle (0.0) // (°) 预定位角度
|
|
|
|
|
+#define Align_Time (1) // (ms) 预定位时间
|
|
|
|
|
|
|
|
-#define DQKP_Alignment _Q12(1.0) // 预定位的KP
|
|
|
|
|
-#define DQKI_Alignment _Q15(0.01) // 预定位的KI
|
|
|
|
|
-#define ID_Align_CURRENT I_Value(0.0) // (A) D轴定位电流
|
|
|
|
|
-#define IQ_Align_CURRENT I_Value(0.3) // (A) Q轴定位电流
|
|
|
|
|
|
|
+#define DQKP_Alignment _Q12(1.0) // 预定位的KP
|
|
|
|
|
+#define DQKI_Alignment _Q15(0.01) // 预定位的KI
|
|
|
|
|
+#define ID_Align_CURRENT I_Value(0.0) // (A) D轴定位电流
|
|
|
|
|
+#define IQ_Align_CURRENT I_Value(0.3) // (A) Q轴定位电流
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 停机刹车选择
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
|
|
+ */
|
|
|
|
|
+#define StopBrakeFlag (Disable)
|
|
|
|
|
+#define StopWaitTime (550) // (ms) 刹车等待时间
|
|
|
|
|
+#define Stop_MOTOR_SPEED_RPM S_Value(300) // (RPM) 小于该转速刹车
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 顺逆风检测方式
|
|
* 顺逆风检测方式
|
|
|
- * @param (NoTailWind) 无逆风顺风判断
|
|
|
|
|
- * @param (RSDMethod) RSD比较器方法
|
|
|
|
|
- * @param (BEMFMethod) BEMF比较器方法
|
|
|
|
|
- * @param (FOCMethod) FOC计算方法
|
|
|
|
|
|
|
+ * @param (NoTailWind) 无逆风顺风判断
|
|
|
|
|
+ * @param (RSDMethod) RSD比较器方法
|
|
|
|
|
+ * @param (BEMFMethod) BEMF比较器方法
|
|
|
|
|
+ * @param (FOCMethod) FOC计算方法
|
|
|
*/
|
|
*/
|
|
|
-#define TAILWIND_MODE (FOCMethod) // 顺逆风检测方式
|
|
|
|
|
-#define DQKP_TailWind _Q12(3.0) // FOC计算顺逆风检测电流环KP
|
|
|
|
|
-#define DQKI_TailWind _Q15(0.3) // FOC计算顺逆风检测电流环KI
|
|
|
|
|
-#define TAILWIND_TIME (500) // (ms) 顺逆风检测时间
|
|
|
|
|
-#define ATO_BW_WIND (80) // 逆风判断观测器带宽的滤波值,经典值为8.0-100.0
|
|
|
|
|
-#define SPD_BW_WIND (20.0) // 逆风判断速度带宽的滤波值,经典值为5.0-40.0
|
|
|
|
|
|
|
+#define TAILWIND_MODE (FOCMethod) // 顺逆风检测方式
|
|
|
|
|
+#define DQKP_TailWind _Q12(3.0) // FOC计算顺逆风检测电流环KP
|
|
|
|
|
+#define DQKI_TailWind _Q15(0.3) // FOC计算顺逆风检测电流环KI
|
|
|
|
|
+#define TAILWIND_TIME (500) // (ms) 顺逆风检测时间
|
|
|
|
|
+#define ATO_BW_WIND (80) // 逆风判断观测器带宽的滤波值,经典值为8.0-100.0
|
|
|
|
|
+#define SPD_BW_WIND (20.0) // 逆风判断速度带宽的滤波值,经典值为5.0-40.0
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 电压补偿
|
|
* 电压补偿
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define VoltageCompensationEn (Disable)
|
|
|
|
|
-#define VoltageCompensationDelayCnt (800) // 进入速度环后延迟1S进入电压补偿
|
|
|
|
|
-#define LinearCompensationAngel _Q15(0.0 / 180.0) // 根据电压降低到AC210V时开始给补偿角度
|
|
|
|
|
-#define LinearCompensationAngel_MAX _Q15(30.0 / 180.0) // 电压降低时最大补偿角度
|
|
|
|
|
-#define LinearCompensationAngel_MIN _Q15(-30.0 / 180.0) // 电压降低时最小补偿角度
|
|
|
|
|
|
|
+#define VoltageCompensationEn (Disable)
|
|
|
|
|
+#define VoltageCompensationDelayCnt (800) // 进入速度环后延迟1S进入电压补偿
|
|
|
|
|
+#define LinearCompensationAngel _Q15(0.0 / 180.0) // 根据电压降低到AC210V时开始给补偿角度
|
|
|
|
|
+#define LinearCompensationAngel_MAX _Q15(30.0 / 180.0) // 电压降低时最大补偿角度
|
|
|
|
|
+#define LinearCompensationAngel_MIN _Q15(-30.0 / 180.0) // 电压降低时最小补偿角度
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 弱磁设置
|
|
* 弱磁设置
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define MotorFiledWeakenEn (Disable) // 弱磁使能位
|
|
|
|
|
-#define MotorFiledWeakenUs _Q15(0.90) // 弱磁能到的最大饱和电压(弱磁转速上不去的时候可以调小该值)
|
|
|
|
|
-#define MotorFiledWeakenKp _Q12(0.2) // 弱磁控制的Kp
|
|
|
|
|
-#define MotorFiledWeakenKi _Q15(0.003) // 弱磁控制的Ki
|
|
|
|
|
|
|
+#define MotorFiledWeakenEn (Disable) // 弱磁使能位
|
|
|
|
|
+#define MotorFiledWeakenUs _Q15(0.90) // 弱磁能到的最大饱和电压(弱磁转速上不去的时候可以调小该值)
|
|
|
|
|
+#define MotorFiledWeakenKp _Q12(0.2) // 弱磁控制的Kp
|
|
|
|
|
+#define MotorFiledWeakenKi _Q15(0.003) // 弱磁控制的Ki
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 过调制
|
|
* 过调制
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define OverModulation (Disable) // 开启过调制UD,UQ会被放大1.15倍,但极限状态可能导致电流畸变
|
|
|
|
|
|
|
+#define OverModulation (Disable) // 开启过调制UD,UQ会被放大1.15倍,但极限状态可能导致电流畸变
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 五段式七段式切换
|
|
* 五段式七段式切换
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
-#define SVPWM_5_Segment_Run_Enale (Disable) // 五段式使能位
|
|
|
|
|
-#define Motor_F5SEG_Speed S_Value(1200) // 速度大于这个后切换成五段式
|
|
|
|
|
-#define Motor_F7SEG_Speed S_Value(1000) // 速度低于这个值,切换成七段式,主要是起动的时候
|
|
|
|
|
|
|
+#define SVPWM_5_Segment_Run_Enale (Disable) // 五段式使能位
|
|
|
|
|
+#define Motor_F5SEG_Speed S_Value(1200) // 速度大于这个后切换成五段式
|
|
|
|
|
+#define Motor_F7SEG_Speed S_Value(1000) // 速度低于这个值,切换成七段式,主要是起动的时候
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
- @brief 测试相关
|
|
|
|
|
|
|
+ @brief 测试相关
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* IPM测试模式
|
|
* IPM测试模式
|
|
|
- * @param (Disable) 禁止
|
|
|
|
|
- * @param (Enable) 使能
|
|
|
|
|
|
|
+ * @param (Disable) 禁止
|
|
|
|
|
+ * @param (Enable) 使能
|
|
|
*/
|
|
*/
|
|
|
- #define IPMTEST (Disable)
|
|
|
|
|
|
|
+#define IPMTEST (Disable)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @brief 启停测试参数配置
|
|
* @brief 启停测试参数配置
|
|
|
*/
|
|
*/
|
|
|
-#define ONOFFTEST_REF S_Value(1000) // 测试给定,注意闭环方式不同给定值需要更改
|
|
|
|
|
-#define ONOFFTEST_ON_TIME (3000) // (ms) 启动运行时间
|
|
|
|
|
-#define ONOFFTEST_OFF_TIME (3000) // (ms) 停止时间
|
|
|
|
|
|
|
+#define ONOFFTEST_REF S_Value(1000) // 测试给定,注意闭环方式不同给定值需要更改
|
|
|
|
|
+#define ONOFFTEST_ON_TIME (3000) // (ms) 启动运行时间
|
|
|
|
|
+#define ONOFFTEST_OFF_TIME (3000) // (ms) 停止时间
|
|
|
|
|
|
|
|
#endif // File End
|
|
#endif // File End
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|