Protect.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /**
  2. * @copyright None
  3. * @file Protect.h
  4. * @author Comment Vivre
  5. * @date 2024-08-26
  6. * @brief None
  7. */
  8. #ifndef __PROTECT_H_
  9. #define __PROTECT_H_
  10. #define OC_SW_ProtectEn (1) // 软件过流保护使能: 0,不使能;1,使能
  11. #define OV_ProtectEn (0) // 过欠压保护使能: 0,不使能;1,使能
  12. #define LP_ProtectEn (1) // 缺相保护使能: 0,不使能;1,使能
  13. #define OT_ProtectEn (0) // 过温保护使能: 0,不使能;1,使能
  14. #define Stall_ProtectEn (1) // 堵转失速保护使能: 0,不使能;1,使能
  15. #define OP_ProtectEn (0) // 功率保护,0,不使能;1,使能
  16. #define GetCurrentOffsetEnable (1) // 偏置电压保护,0,不使能;1,使能
  17. /* 保护重启参数设置 */
  18. #define OC_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  19. #define OC_RecoveryDelayTime (3000) // (ms)重启延迟时间
  20. #define OV_RecoveryTimes (255) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  21. #define OV_RecoveryDelayTime (1200) // (ms)欠过压保护恢复时间
  22. #define OV_RecoveryDelayTime1 (200) ///< (5ms) 欠过压保护恢复时间,过零判断用于快速插拔电开关机
  23. #define OV_RecoveryDelayTime2 (1000) ///< (5ms) 过压保护恢复时间
  24. #define LP_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  25. #define LP_RecoveryDelayTime (500) // (ms)重启延迟时间
  26. #define OT_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  27. #define OT_RecoveryDelayTime (500) // (ms)重启延迟时间
  28. #define Stall_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  29. #define Stall_RecoveryDelayTime (500) // (ms)重启延迟时间
  30. #define OP_RecoveryTimes (200) // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  31. #define OP_RecoveryDelayTime (500) // (ms)重启延迟时间
  32. #define HW_OC_FO_MODE (1) ///< 硬件FO过流保护使能,适用于IPM有FO保护的场合
  33. #define HW_OC_CMP_MODE (2) ///< 硬件CMP比较过流保护使能,适用于MOS管应用场合
  34. #define HW_OC_FOCMP_MODE (3) ///< 硬件CMP比较和FO过流保护都使能
  35. #define HW_OC_DISABLE (4) ///< 硬件过流保护禁止,用于测试
  36. #define HW_OC_MODE (HW_OC_CMP_MODE) ///< 硬件过流保护实现方式
  37. /* 硬件过流保护比较值来源 */
  38. #define COMPARE_DAC_MODE (0) ///< DAC设置硬件过流值
  39. #define COMPARE_HW_MODE (1) ///< 硬件设置硬件过流值
  40. #define COMPARE_MODE (COMPARE_DAC_MODE) ///< 硬件过流值的来源
  41. #define HWOCValue (1.2) ///< (A) DAC模式下的硬件过流值
  42. /* 软件过流保护参数设置 */
  43. #define SW_OC_CurrentVal I_Value(1.2) ///< (A)软件过流值
  44. #define SW_OC_DectTime (10) ///< (ms)软件过流检测时间
  45. /* -----偏置电压保护----- */
  46. #define GetCurrentOffsetValue _Q14(0.05) // (单位:100%)偏置电压保护误差范围,超过该范围保护
  47. /* -----功率保护----- */
  48. #define OverPowerValue (12000) ///<功率保护阈值
  49. /* 直流母线电压保护参数设置值 */
  50. #define OVER_VOLTAGE_DECTTIME (300) ///< (ms) 直流母线电压过压检测保持时间
  51. #define UNDER_VOLTAGE_DECTTIME (300) ///< (ms) 直流母线电压欠压检测保持时间
  52. #define OVER_VOLTAGE_PROTECT UDC_Value(220) ///< (V) 直流母线电压过压保护值
  53. #define UNDER_VOLTAGE_PROTECT UDC_Value(100) ///< (V) 直流母线电压欠压保护值
  54. #define OVER_VOLTAGE_RECOVER UDC_Value(200) ///< (V) 直流母线电压过压保护恢复值
  55. #define UNDER_VOLTAGE_RECOVER UDC_Value(120) ///< (V) 直流母线电压欠压保护恢复值
  56. /* 堵转保护参数设置值 */
  57. #define STALL_SPEED_MAX S_Value(2000)
  58. #define STALL_SPEED_MIN S_Value(300)
  59. #define EsThresholdValueL (800.0)
  60. #define EsThresholdValueH (1200.0)
  61. #define EsThresholdSpeed S_Value(1000) ///< (RPM) 电机转速
  62. /* 缺相保护参数设置值 */
  63. #define LP_NoLoadCurrentValue I_Value(0.1) ///< (A) 相电流峰值小于该电流值则不进行缺相判断
  64. #define LP_DectDealyTIME (500) ///< (ms) 启动延迟检测时间,用于屏蔽启动阶段
  65. #define LP_DectCycleTIME (50) ///< (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期
  66. /* -----NTC过温保护----- */
  67. #define TemperatureProtectTime (1000) // (ms)温度保护检测时间
  68. #define OVER_Temperature Tempera_Value(1.0) // 过温保护阈值,根据NTC曲线设定,10K上拉电阻,80℃
  69. #define UNDER_Temperature Tempera_Value(1.5) // 过温保护恢复阈值,根据NTC曲线设定,10K上拉电阻,70℃
  70. /* 限制功率 */
  71. #define POWERLPFLIMIT (16000) ///< 15800大概在110W左右
  72. /* 故障显示 */
  73. #define LED_ONTime (100)
  74. #define LED_OFFTime (233)
  75. #define LED_ONOFFTime (LED_ONTime + LED_OFFTime)
  76. #define LED_DelayTime (200)
  77. #define LED_IntervalTime (1000)
  78. #endif