Protect.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. /**
  11. ---------------------------------------------------------------------------------------------------------------------------------------------
  12. @brief 保护使能配置
  13. @param (Disable) 禁止
  14. @param (Enable) 使能
  15. ---------------------------------------------------------------------------------------------------------------------------------------------
  16. */
  17. // 软件过流保护
  18. #define OC_SW_ProtectEn (Enable)
  19. // 过欠压保护
  20. #define OV_ProtectEn (Enable)
  21. // 缺相保护
  22. #define LP_ProtectEn (Enable)
  23. // 过温保护
  24. #define OT_ProtectEn (Disable)
  25. // 堵转保护
  26. #define Stall_ProtectEn (Enable)
  27. // 功率保护
  28. #define OP_ProtectEn (Disable)
  29. // 偏置电压保护
  30. #define GetCurrentOffsetEnable (Enable)
  31. /**
  32. ---------------------------------------------------------------------------------------------------------------------------------------------
  33. @brief 保护重启参数设置
  34. @param Times 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
  35. @param Time (ms)重启延迟时间
  36. ---------------------------------------------------------------------------------------------------------------------------------------------
  37. */
  38. // 软件过流
  39. #define OC_RecoveryTimes (0)
  40. #define OC_RecoveryDelayTime (3000)
  41. // 过欠压
  42. #define OV_RecoveryTimes (0)
  43. #define OV_RecoveryDelayTime (1200)
  44. // 缺相
  45. #define LP_RecoveryTimes (0)
  46. #define LP_RecoveryDelayTime (500)
  47. // 过温
  48. #define OT_RecoveryTimes (0)
  49. #define OT_RecoveryDelayTime (500)
  50. // 堵转
  51. #define Stall_RecoveryTimes (0)
  52. #define Stall_RecoveryDelayTime (500)
  53. // 过功率
  54. #define OP_RecoveryTimes (0)
  55. #define OP_RecoveryDelayTime (500)
  56. /**
  57. ---------------------------------------------------------------------------------------------------------------------------------------------
  58. @brief 保护触发参数配置
  59. ---------------------------------------------------------------------------------------------------------------------------------------------
  60. */
  61. /**
  62. * 硬件过流保护比较值来源
  63. * @param (COMPARE_DAC_MODE) DAC设置硬件过流值
  64. * @param (COMPARE_HW_MODE) 硬件设置硬件过流值
  65. */
  66. #define COMPARE_MODE (COMPARE_DAC_MODE) // 硬件过流值的来源
  67. #define HWOCValue (1.2) // (A) DAC模式下的硬件过流值
  68. // 软件过流保护参数设置
  69. #define SW_OC_CurrentVal I_Value(1.0) // (A)软件过流值
  70. #define SW_OC_DectTime (10) // (ms)软件过流检测时间
  71. // 缺相保护参数设置值
  72. #define LP_NoLoadCurrentValue I_Value(0.1) // (A) 相电流峰值小于该电流值则不进行缺相判断
  73. #define LP_DectDealyTIME (500) // (ms) 启动延迟检测时间,用于屏蔽启动阶段
  74. #define LP_DectCycleTIME (50) // (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期
  75. // 偏置电压保护
  76. #define GetCurrentOffsetValue _Q14(0.05) // (单位:100%)偏置电压保护误差范围,超过该范围保护
  77. // 直流母线电压保护参数设置值
  78. #define OVER_VOLTAGE_DECTTIME (300) // (ms) 直流母线电压过压检测保持时间
  79. #define UNDER_VOLTAGE_DECTTIME (300) // (ms) 直流母线电压欠压检测保持时间
  80. #define OVER_VOLTAGE_PROTECT UDC_Value(375) // (V) 直流母线电压过压保护值
  81. #define UNDER_VOLTAGE_PROTECT UDC_Value(150) // (V) 直流母线电压欠压保护值
  82. #define OVER_VOLTAGE_RECOVER UDC_Value(355) // (V) 直流母线电压过压保护恢复值
  83. #define UNDER_VOLTAGE_RECOVER UDC_Value(170) // (V) 直流母线电压欠压保护恢复值
  84. // 堵转保护参数设置值
  85. #define STALL_SPEED_MAX S_Value(4000)
  86. #define STALL_SPEED_MIN S_Value(300)
  87. #define EsThresholdValueL (800.0)
  88. #define EsThresholdValueH (1200.0)
  89. #define EsThresholdSpeed S_Value(1000) // (RPM) 电机转速
  90. // NTC过温保护
  91. #define TemperatureProtectTime (1000) // (ms) 温度保护检测时间
  92. #define OVER_Temperature UADC_Value(1.0) // (V) 过温保护阈值
  93. #define UNDER_Temperature UADC_Value(1.5) // (V) 过温保护恢复阈值
  94. // 限制功率
  95. #define POWERLPFLIMIT PROTECT_POWER(90.0) // (W)
  96. // 功率保护
  97. #define OverPowerValue PROTECT_POWER(120.0) // (W) 功率保护阈值
  98. #endif