/** * @copyright (C) COPYRIGHT 2022 Fortiortech Shenzhen * @file Protect.h * @author Marcel He * @note Last modify author is Marcel He * @since 2022-07-01 * @date 2022-07-14 * @brief This file contains protection parameter used for Motor Control. */ /* Define to prevent recursive inclusion -------------------------------------------------------- */ #ifndef __PROTECT_H_ #define __PROTECT_H_ #define OC_SW_ProtectEn (1) // 软件过流保护使能: 0,不使能;1,使能 #define OV_ProtectEn (1) // 过欠压保护使能: 0,不使能;1,使能 #define LP_ProtectEn (1) // 缺相保护使能: 0,不使能;1,使能 #define OT_ProtectEn (1) // 过温保护使能: 0,不使能;1,使能 #define Start_ProtectEn (1) #define Stall_ProtectEn (1) // 堵转失速保护使能: 0,不使能;1,使能 #define GetCurrentOffsetEnable (1) // 偏置电压保护,0,不使能;1,使能 #define OverSpeedProtectEnable (0) //< 超速保护使能 #define OverLSensorEnable (0) #define OverRSensorEnable (0) #define OverUARTEnable (0) #define OverPowerEnable (1) /* 保护重启参数设置 */ #define OC_RecoveryTimes (100) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OC_RecoveryDelayTime (1000) // (ms)重启延迟时间 #define OV_RecoveryTimes (10) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OV_RecoveryDelayTime (1000) // (ms)重启延迟时间 #define LP_RecoveryTimes (3) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define LP_RecoveryDelayTime (3000) // (ms)重启延迟时间 #define LP_RecoveryDelayTime1 (60000) #define OT_RecoveryTimes (20) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OT_RecoveryDelayTime (60000) // (ms)重启延迟时间 #define Start_RecoveryTimes (0) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define Stall_RecoveryTimes (255) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define Stall_RecoveryDelayTime (60000*5) // (ms)重启延迟时间 #define LRS_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define LRS_RecoveryDelayTime (1000) // (ms)重启延迟时间 /* HW current protection */ #define HW_OC_FO_MODE (1) ///< 硬件FO过流保护使能,适用于IPM有FO保护的场合 #define HW_OC_CMP_MODE (2) ///< 硬件CMP比较过流保护使能,适用于MOS管应用场合 #define HW_OC_FOCMP_MODE (3) ///< 硬件CMP比较和FO过流保护都使能 #define HW_OC_DISABLE (4) ///< 硬件过流保护禁止,用于测试 #define HW_OC_MODE (HW_OC_CMP_MODE) ///< 硬件过流保护实现方式 /* 硬件过流保护比较值来源 */ #define COMPARE_DAC_MODE (0) ///< DAC设置硬件过流值 #define COMPARE_HW_MODE (1) ///< 硬件设置硬件过流值 #define COMPARE_MODE (COMPARE_DAC_MODE) ///< 硬件过流值的来源 #define HWOCValue (40.0) ///< (A) DAC模式下的硬件过流值//18.0 /* 软件过流保护参数设置 */ #define SW_OC_CurrentVal I_Value(35.0) ///< (A)软件过流值 #define SW_OC_DectTime (100) ///< (ms)软件过流检测时间 /* -----偏置电压保护----- */ #define GetCurrentOffsetValue _Q14(0.05) // (单位:100%)偏置电压保护误差范围,超过该范围保护 /* 直流母线电压保护参数设置值 */ #define OVER_VOLTAGE_DECTTIME (100) ///< (ms) 直流母线电压过压检测保持时间 #define UNDER_VOLTAGE_DECTTIME (100) ///< (ms) 直流母线电压欠压检测保持时间 #define OVER_VOLTAGE_PROTECT UDC_Value(30.0) ///< (V) 直流母线电压过压保护值 #define UNDER_VOLTAGE_PROTECT UDC_Value(9.6) ///< (V) 直流母线电压欠压保护值 #define OVER_VOLTAGE_RECOVER UDC_Value(28.0) ///< (V) 直流母线电压过压保护恢复值 #define UNDER_VOLTAGE_RECOVER UDC_Value(10.6) ///< (V) 直流母线电压欠压保护恢复值 /* 启动保护参数设置值 */ #define StartProtectRestartTimes (10) // 启动保护重启次数,单位:次 #define StartRecoverDelay1 (30) #define StartRecoverDelay2 (12000)//12000 #define StartProtect1EsValue (5500) #define StartProtect2EsValue (2500)//500 /* 堵转保护参数设置值 */ #define STALL_SPEED_MAX S_Value(4500) //150000 can enter the water shortage protection #define STALL_SPEED_MIN S_Value(2200) #define EsThresholdValueL (2600.0) #define EsThresholdValueH (2900.0) #define EsThresholdSpeed S_Value(2500) ///< (RPM) 电机转速 /* 缺相保护参数设置值 */ #define LP_NoLoadCurrentValue I_Value(0.3) ///< (A) 相电流峰值小于该电流值则不进行缺相判断 #define LP_DectDealyTIME (500) ///< (ms) 启动延迟检测时间,用于屏蔽启动阶段 #define LP_DectCycleTIME (10) ///< (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期(50) /* -----NTC过温保护----- */ #define TemperatureProtectTime (60000) // (ms)温度保护检测时间 #define TempeValue(res) (short)(_Q15((5*(1000.0/(res+1000.0)))/HW_ADC_REF)) // 温度保护AD值换算 #define OVER_Temperature TempeValue(1014) // 过温保护值100℃ 100度(1014) //#define UNDER_Temperature (800.0) // 过温保护恢复阈值,根据NTC曲线设定,10K上拉电阻,70℃ #define OvertempRec_Value TempeValue(1878) #define OvertempLimit_Value TempeValue(1369) /* -----堵入风口超速保护----- */ #define MOTOR_SPEED_OVER_RPM (70000) ///< (RPM) 超速保护速度 #define OVER_SpeedDetectTime (1400) ///< (ms) 超速保护检测时间 /* -----堵入风口限速功能----- */ #define OverSpeedLimitEnable (1) ///< 限速功能,0,不使能,1使能 #define MOTOR_SPEED_LIMIT_RPM (8000.0) ///< (RPM) 限速保护最大速度 #define MOTOR_SPEED_LIMIT0_RPM (700.0) ///< (RPM) For Lack water protection /* 故障显示 */ #define LED_ONTime (100) #define LED_OFFTime (233) #define LED_ONOFFTime (LED_ONTime + LED_OFFTime) #define LED_DelayTime (200) #define LED_IntervalTime (1000) #endif