#ifndef __CUSTOMER_H_ #define __CUSTOMER_H_ // ------------------------------------------------------------------------------------------------------------------ // 1.电机相关参数: 电阻(Ω) DQ电感(H) 反电动势常数(V/RPM) 转向(CW/CCW) 基准转速(RPM) 极对数 #define RS (6.4) #define LD (0.080) #define LQ (LD) #define Ke (0.0) #define Psi (float)(Ke * 207.84 / 1000.0 / 2.0 / 1.732 / Pole_Pairs / _2PI ) #define IRMODE (CCW) #define MOTOR_SPEED_BASE (9000.0) #define Pole_Pairs (3) #define ID_Limit I_Value(-Psi/LD/2) // ------------------------------------------------------------------------------------------------------------------ // 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) // 直流母线分压 #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) // ------------------------------------------------------------------------------------------------------------------ // 3.预充电 // 预充电使能 #define PRE_DRIVER_CHARGE (0) // 预充电占空比 #define CALIB_DUTY (0.1) // ------------------------------------------------------------------------------------------------------------------ // 4.预定位 // 预定位电流环KPKI #define DQKP_Alignment _Q12(2.0) #define DQKI_Alignment _Q15(0.05) #define IQ_ALIGN_CURRENT I_Value(2.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) // ------------------------------------------------------------------------------------------------------------------ // 5.启动 // 电流环KPKI #define DQKPStart _Q12(2.5) #define DQKIStart _Q15(0.01) #define DQKP _Q12(2.0) #define DQKI _Q15(0.002) // 启动电流 #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_SPEED_SMOMIN_RPM (400.0) // 滑膜运行最小速度 #define MOTOR_LOOP_RPM _Q15(500.0 / MOTOR_SPEED_BASE) // 闭环切换转速 // ------------------------------------------------------------------------------------------------------------------ // 6.环路相关 #define OUT_LOOP_CONTROL (1) // 外环控制使能 #define LOOP_MODE (SPEED_CONTROL_MODE) // 外环配置 #define CONTROL_MODE (NONE_MODE) // 控制模式 #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)) // 外环KPKI #define SKP _Q12(0.5) #define SKI _Q15(0.01) // 外环输出限幅 #define SOUTMAX I_Value(5.0) #define SOUTMIN I_Value(0.01) // 极限速度限制 #define MOTOE_MIN_SPEED _Q15(900.0/ MOTOR_SPEED_BASE) #define MOTOR_MAX_SPEED _Q15(5400.0/ MOTOR_SPEED_BASE) #define MOTOR_STOP_SPEED _Q15(1300.0/ MOTOR_SPEED_BASE) #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 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