|
|
@@ -17,145 +17,124 @@
|
|
|
|
|
|
// ------------------------------------------------------------------------------------------------------------------
|
|
|
// 2.硬件相关:载波频率(KHz) 死区(us) 单电阻最小窗口(us) 驱动电平 基准电压(V)
|
|
|
+
|
|
|
#define PWM_FREQUENCY (5.0)
|
|
|
#define PWM_DEADTIME (5.0)
|
|
|
#define MIN_WIND_TIME (5.9)
|
|
|
#define HW_ADC_VREF (VREF5_0)
|
|
|
+
|
|
|
#define HW_ADC_REF (5.0)
|
|
|
+
|
|
|
// 运放配置 运放倍数
|
|
|
#define HW_AMP_MODE (AMP_NOMAL)
|
|
|
#define HW_AMPGAIN (0.5)
|
|
|
|
|
|
+// 等效采样电阻
|
|
|
+#define HW_RSHUNT (0.04)
|
|
|
|
|
|
-// ------------------------------------------------------------------------------------------------------------------
|
|
|
-// 3.其他
|
|
|
-
|
|
|
-#define HW_RSHUNT (0.04) // (Ω) 采样电阻
|
|
|
-
|
|
|
-
|
|
|
-#define RV1 (940.0) // (kΩ) 母线电压分压电阻1
|
|
|
-#define RV2 (940.0) // (kΩ) 母线电压分压电阻2
|
|
|
-#define RV3 (0.3) // (kΩ) 母线电压分压电阻3
|
|
|
+// 直流母线分压
|
|
|
+#define RV1 (940.0)
|
|
|
+#define RV2 (940.0)
|
|
|
+#define RV3 (0.3)
|
|
|
|
|
|
+// 交流输入分压
|
|
|
+#define RL1 (450.0)
|
|
|
+#define RL2 (2.0)
|
|
|
+#define RL ((RL1 + RL2) / RL2)
|
|
|
+#define HW_L_VOLT_MAX (HW_ADC_REF * RL)
|
|
|
|
|
|
-#define RL1 (450.0) // (kΩ) 母线电压分压电阻1
|
|
|
-#define RL2 (2.0) // (kΩ) 母线电压分压电阻2
|
|
|
-#define RL ((RL1 + RL2) / RL2) // 分压比
|
|
|
-#define HW_L_VOLT_MAX (HW_ADC_REF * RL) // (V) ADC可测得的最大母线电压
|
|
|
-
|
|
|
-
|
|
|
-#define Udcmax_ms (20.0* PWM_FREQUENCY ) // 60*ms读取一次UDC最大值和最小值
|
|
|
-
|
|
|
-
|
|
|
-// 预充电设置值
|
|
|
-#define PRE_DRIVER_CHARGE (0) // 预充电使能
|
|
|
-#define Calib_Duty (0.1) // 预充电占空比
|
|
|
+// ------------------------------------------------------------------------------------------------------------------
|
|
|
+// 3.预充电
|
|
|
|
|
|
+// 预充电使能
|
|
|
+#define PRE_DRIVER_CHARGE (0)
|
|
|
+// 预充电占空比
|
|
|
+#define CALIB_DUTY (0.1)
|
|
|
|
|
|
-// 正常运行时估算算法的参数设置值
|
|
|
-#define E_BW1 (80.0) // PLL算法里的反电动势滤波值
|
|
|
-#define E_BW2 (80.0) // PLL算法里的反电动势滤波值
|
|
|
-#define E_BW3 (80.0) // PLL算法里的反电动势滤波值
|
|
|
-#define E_BW4 (80.0) // PLL算法里的反电动势滤波值
|
|
|
-#define E_BW5 (80.0) // PLL算法里的反电动势滤波值
|
|
|
+// ------------------------------------------------------------------------------------------------------------------
|
|
|
+// 4.预定位
|
|
|
|
|
|
+// 预定位电流环KPKI
|
|
|
#define DQKP_Alignment _Q12(2.0)
|
|
|
#define DQKI_Alignment _Q15(0.05)
|
|
|
|
|
|
-#define IQ_Align_CURRENT I_Value(0.0)
|
|
|
-#define ID_Align_CURRENT_Start I_Value(2.0)
|
|
|
-#define ID_Align_CURRENT_End ID_Align_CURRENT_Start
|
|
|
+#define IQ_ALIGN_CURRENT I_Value(2.0) // 预定位电流
|
|
|
|
|
|
-#define Align_Angle1 _Q15((float)0.0 / 180.0)
|
|
|
-#define Align_Angle2 _Q15((float)90.0 / 180.0)
|
|
|
-#define Align_Start (Align_Angle2 - _Q15((float)30.0 / 180.0))
|
|
|
+// 预定位角度
|
|
|
+#define ALIGN_ANGLE_1 _Q15(0.0 / 180.0)
|
|
|
+#define ALIGN_ANGLE_2 _Q15(90.0 / 180.0)
|
|
|
|
|
|
+// 预定位时间
|
|
|
#define AlignmentRampTime (500.0)
|
|
|
#define AlignmentHoldTime1 (500.0)
|
|
|
#define AlignmentHoldTime2 (500.0)
|
|
|
#define Align_Time (AlignmentRampTime + AlignmentHoldTime1+AlignmentHoldTime2)
|
|
|
|
|
|
-// 启动电流
|
|
|
-#define ID_Start_CURRENT I_Value(0.0) // (A) D轴启动电流
|
|
|
-#define IQ_Start_CURRENT I_Value(2.0) // (A) Q轴启动电流
|
|
|
-
|
|
|
-
|
|
|
-/*************Omega启动的参数***************/
|
|
|
-#define ATO_BW (100.0) // 观测器带宽的滤波值,经典值为1.0-200.0
|
|
|
-#define ATO_BW_RUN (130.0)
|
|
|
-#define ATO_BW_RUN1 (140.0)
|
|
|
-#define ATO_BW_RUN2 (150.0)
|
|
|
-#define ATO_BW_RUN3 (160.0)
|
|
|
-#define ATO_BW_RUN4 (190.0)
|
|
|
+// ------------------------------------------------------------------------------------------------------------------
|
|
|
+// 5.启动
|
|
|
|
|
|
-//open 算法启动参数
|
|
|
-#define MOTOR_OPEN_ACC _Q15(1.0 / MOTOR_SPEED_BASE) // 强拖启动的增量(每载波周期加一次)
|
|
|
-#define MOTOR_OPEN_ACC_MIN _Q15(100.0 / MOTOR_SPEED_BASE) // 强拖启动的初始速度
|
|
|
-#define MOTOR_OPEN_ACC_CNT (250.0) // 强拖启动的执行次数(MOTOR_OPEN_ACC_CNT*256)
|
|
|
-#define MOTOR_OPEN_ACC_CYCLE (100) // 强拖启动循环拖动的次数
|
|
|
+// 电流环KPKI
|
|
|
+#define DQKPStart _Q12(2.5)
|
|
|
+#define DQKIStart _Q15(0.01)
|
|
|
+#define DQKP _Q12(2.0)
|
|
|
+#define DQKI _Q15(0.002)
|
|
|
|
|
|
-//OMEGA启动参数
|
|
|
+// 启动电流
|
|
|
+#define ID_START_CURRENT I_Value(0.0)
|
|
|
+#define IQ_START_CURRENT I_Value(2.0)
|
|
|
+
|
|
|
+// 观测器带宽
|
|
|
+#define ATO_BW (100.0)
|
|
|
+#define ATO_BW_RUN (130.0)
|
|
|
+#define ATO_BW_RUN1 (140.0)
|
|
|
+#define ATO_BW_RUN2 (150.0)
|
|
|
+#define ATO_BW_RUN3 (160.0)
|
|
|
+#define ATO_BW_RUN4 (190.0)
|
|
|
+
|
|
|
+// PLL算法里的反电动势滤波值
|
|
|
+#define E_BW1 (80.0)
|
|
|
+#define E_BW2 (80.0)
|
|
|
+#define E_BW3 (80.0)
|
|
|
+#define E_BW4 (80.0)
|
|
|
+#define E_BW5 (80.0)
|
|
|
+
|
|
|
+// open 算法启动参数
|
|
|
+#define MOTOR_OPEN_ACC _Q15(1.0 / MOTOR_SPEED_BASE) // 强拖启动的增量(每载波周期加一次)
|
|
|
+#define MOTOR_OPEN_ACC_MIN _Q15(100.0 / MOTOR_SPEED_BASE) // 强拖启动的初始速度
|
|
|
+#define MOTOR_OPEN_ACC_CNT (250.0) // 强拖启动的执行次数(MOTOR_OPEN_ACC_CNT*256)
|
|
|
+#define MOTOR_OPEN_ACC_CYCLE (100) // 强拖启动循环拖动的次数
|
|
|
+
|
|
|
+// OMEGA启动参数
|
|
|
#define MOTOR_OMEGA_RAMP_ACC (300.0) // omega启动的增量 12
|
|
|
#define MOTOR_OMEGA_ACC_MIN _Q15(200.0 / MOTOR_SPEED_BASE) // (RPM) omega启动的最小切换转速
|
|
|
#define MOTOR_OMEGA_ACC_END _Q15(400.0 / MOTOR_SPEED_BASE) // (RPM) omega启动的限制转速
|
|
|
|
|
|
-#define Motor_Open_Ramp_ACC _Q15(MOTOR_OPEN_ACC / MOTOR_SPEED_BASE)
|
|
|
-#define Motor_Open_Ramp_Min _Q15(MOTOR_OPEN_ACC_MIN / MOTOR_SPEED_BASE)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-#define MOTOR_SPEED_SMOMIN_RPM (400.0)
|
|
|
-#define MOTOR_LOOP_RPM _Q15(500.0 / MOTOR_SPEED_BASE)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-#define StopBrakeFlag (0)
|
|
|
-#define StopWaitTime (2000) // (ms) 刹车等待时间
|
|
|
-
|
|
|
-
|
|
|
-// 弱磁控制
|
|
|
-#define FiledWeakenCompEnable (0)
|
|
|
-#define DcbusK _Q15(0.8)
|
|
|
-#define FiledWeakenKp _Q12(0.4)
|
|
|
-#define FiledWeakenKi _Q15(0.0001)
|
|
|
-
|
|
|
-
|
|
|
-#define IFFDebugg (0) // 强拖测试模式
|
|
|
|
|
|
+#define MOTOR_SPEED_SMOMIN_RPM (400.0) // 滑膜运行最小速度
|
|
|
+#define MOTOR_LOOP_RPM _Q15(500.0 / MOTOR_SPEED_BASE) // 闭环切换转速
|
|
|
|
|
|
// ------------------------------------------------------------------------------------------------------------------
|
|
|
-// 3.环路相关
|
|
|
-#define OUT_LOOP_CONTROL (1) // 外环控制使能
|
|
|
-#define LOOP_MODE (SPEED_CONTROL_MODE) // 外环配置
|
|
|
-#define CONTROL_MODE (NONEMODE) // 控制模式
|
|
|
-
|
|
|
-
|
|
|
-#define LOOP_CYCLE (1) // 速度环调节周期
|
|
|
-
|
|
|
-
|
|
|
-// 电流环KPKI
|
|
|
-#define DQKPStart _Q12(2.5)
|
|
|
-#define DQKIStart _Q15(0.01)
|
|
|
-#define DQKP _Q12(2.0)
|
|
|
-#define DQKI _Q15(0.002)
|
|
|
+// 6.环路相关
|
|
|
|
|
|
-// 电流环控制步进参数
|
|
|
-#define QOUTINC (1)
|
|
|
|
|
|
+#define OUT_LOOP_CONTROL (1) // 外环控制使能
|
|
|
+#define LOOP_MODE (SPEED_CONTROL_MODE) // 外环配置
|
|
|
+#define CONTROL_MODE (NONEMODE) // 控制模式
|
|
|
+#define LOOP_CYCLE (1) // 速度环调节周期
|
|
|
+#define QOUTINC (1) // 电流环控制步进参数
|
|
|
|
|
|
// 速度环输入值步进参数
|
|
|
-#define MOTOR_SPEED_INC ((float)_Q15(200.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
-#define MOTOR_SPEED_DEC ((float)_Q15(200.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
-#define MOTOR_STOP_SPEED_DEC ((float)_Q15(800.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
+#define MOTOR_SPEED_INC ((float)_Q15(200.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
+#define MOTOR_SPEED_DEC ((float)_Q15(200.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
+#define MOTOR_STOP_SPEED_DEC ((float)_Q15(800.0 / MOTOR_SPEED_BASE) / (1000 / LOOP_CYCLE))
|
|
|
|
|
|
// 外环KPKI
|
|
|
-#define SKP _Q12(0.5)
|
|
|
-#define SKI _Q15(0.002)
|
|
|
+#define SKP _Q12(0.5)
|
|
|
+#define SKI _Q15(0.01)
|
|
|
|
|
|
// 外环输出限幅
|
|
|
-#define SOUTMAX I_Value(5.0)
|
|
|
-#define SOUTMIN I_Value(0.0)
|
|
|
+#define SOUTMAX I_Value(5.0)
|
|
|
+#define SOUTMIN I_Value(0.01)
|
|
|
|
|
|
|
|
|
// 极限速度限制
|
|
|
@@ -165,7 +144,22 @@
|
|
|
#define MOTOR_STALL_MIN_SPEED _Q15(800.0/ MOTOR_SPEED_BASE)
|
|
|
#define MOTOR_STALL_MAX_SPEED _Q15(7000.0/ MOTOR_SPEED_BASE)
|
|
|
|
|
|
-// 测试转速
|
|
|
-#define TARGET_SPEED_SET _Q15(3000.0/MOTOR_SPEED_BASE)
|
|
|
+
|
|
|
+#define TARGET_SPEED_SET _Q15(3000.0/MOTOR_SPEED_BASE) // 测试转速
|
|
|
+
|
|
|
+
|
|
|
+#define StopBrakeFlag (0)
|
|
|
+#define StopWaitTime (2000) // (ms) 刹车等待时间
|
|
|
+
|
|
|
+
|
|
|
+// ------------------------------------------------------------------------------------------------------------------
|
|
|
+// 7.附加功能
|
|
|
+
|
|
|
+// 弱磁控制
|
|
|
+#define FiledWeakenCompEnable (0)
|
|
|
+#define DcbusK _Q15(0.8)
|
|
|
+#define FiledWeakenKp _Q12(0.4)
|
|
|
+#define FiledWeakenKi _Q15(0.0001)
|
|
|
+
|
|
|
|
|
|
#endif
|