/** * @copyright None * @file Protect.h * @author Comment Vivre * @date 2024-08-26 * @brief None */ #ifndef __PROTECT_H_ #define __PROTECT_H_ #define OC_SW_ProtectEn (1) // 软件过流保护使能: 0,不使能;1,使能 #define OV_ProtectEn (0) // 过欠压保护使能: 0,不使能;1,使能 #define LP_ProtectEn (1) // 缺相保护使能: 0,不使能;1,使能 #define OT_ProtectEn (0) // 过温保护使能: 0,不使能;1,使能 #define Stall_ProtectEn (1) // 堵转失速保护使能: 0,不使能;1,使能 #define OP_ProtectEn (0) // 功率保护,0,不使能;1,使能 #define GetCurrentOffsetEnable (1) // 偏置电压保护,0,不使能;1,使能 /* 保护重启参数设置 */ #define OC_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OC_RecoveryDelayTime (3000) // (ms)重启延迟时间 #define OV_RecoveryTimes (255) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OV_RecoveryDelayTime (1200) // (ms)欠过压保护恢复时间 #define OV_RecoveryDelayTime1 (200) ///< (5ms) 欠过压保护恢复时间,过零判断用于快速插拔电开关机 #define OV_RecoveryDelayTime2 (1000) ///< (5ms) 过压保护恢复时间 #define LP_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define LP_RecoveryDelayTime (500) // (ms)重启延迟时间 #define OT_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OT_RecoveryDelayTime (500) // (ms)重启延迟时间 #define Stall_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define Stall_RecoveryDelayTime (500) // (ms)重启延迟时间 #define OP_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启 #define OP_RecoveryDelayTime (500) // (ms)重启延迟时间 #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 (1.2) ///< (A) DAC模式下的硬件过流值 /* 软件过流保护参数设置 */ #define SW_OC_CurrentVal I_Value(1.2) ///< (A)软件过流值 #define SW_OC_DectTime (10) ///< (ms)软件过流检测时间 /* -----偏置电压保护----- */ #define GetCurrentOffsetValue _Q14(0.05) // (单位:100%)偏置电压保护误差范围,超过该范围保护 /* -----功率保护----- */ #define OverPowerValue (12000) ///<功率保护阈值 /* 直流母线电压保护参数设置值 */ #define OVER_VOLTAGE_DECTTIME (300) ///< (ms) 直流母线电压过压检测保持时间 #define UNDER_VOLTAGE_DECTTIME (300) ///< (ms) 直流母线电压欠压检测保持时间 #define OVER_VOLTAGE_PROTECT UDC_Value(220) ///< (V) 直流母线电压过压保护值 #define UNDER_VOLTAGE_PROTECT UDC_Value(100) ///< (V) 直流母线电压欠压保护值 #define OVER_VOLTAGE_RECOVER UDC_Value(200) ///< (V) 直流母线电压过压保护恢复值 #define UNDER_VOLTAGE_RECOVER UDC_Value(120) ///< (V) 直流母线电压欠压保护恢复值 /* 堵转保护参数设置值 */ #define STALL_SPEED_MAX S_Value(2000) #define STALL_SPEED_MIN S_Value(300) #define EsThresholdValueL (800.0) #define EsThresholdValueH (1200.0) #define EsThresholdSpeed S_Value(1000) ///< (RPM) 电机转速 /* 缺相保护参数设置值 */ #define LP_NoLoadCurrentValue I_Value(0.1) ///< (A) 相电流峰值小于该电流值则不进行缺相判断 #define LP_DectDealyTIME (500) ///< (ms) 启动延迟检测时间,用于屏蔽启动阶段 #define LP_DectCycleTIME (50) ///< (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期 /* -----NTC过温保护----- */ #define TemperatureProtectTime (1000) // (ms)温度保护检测时间 #define OVER_Temperature Tempera_Value(1.0) // 过温保护阈值,根据NTC曲线设定,10K上拉电阻,80℃ #define UNDER_Temperature Tempera_Value(1.5) // 过温保护恢复阈值,根据NTC曲线设定,10K上拉电阻,70℃ /* 限制功率 */ #define POWERLPFLIMIT (16000) ///< 15800大概在110W左右 /* 故障显示 */ #define LED_ONTime (100) #define LED_OFFTime (233) #define LED_ONOFFTime (LED_ONTime + LED_OFFTime) #define LED_DelayTime (200) #define LED_IntervalTime (1000) #endif