1
0

protect.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __PROTECT_H_
  2. #define __PROTECT_H_
  3. #define PRT_SW_OVER_CURR_EN (1) // 软件过流
  4. #define PRT_VDC_EN (1) // 母线电压
  5. #define PRT_PHASE_LOSS_EN (1) // 缺相
  6. #define PRT_OVER_POWER_EN (1) // 过功率
  7. #define PRT_OVER_TEMPER_EN (1) // 温度
  8. #define PRT_MOTOR_STALL_EN (0) // 堵转
  9. #define PRT_PWM_LOSS_EN (0) // PWM丢失
  10. #define PRT_UART_LOSS_EN (0) // 串口信号丢失
  11. #define AUTO_RECOVER_FAULT_EN (1) // 保护自恢复
  12. #define PROTECT_RECOVER_TIME (5000) // (unit:ms) 恢复等待时间
  13. // 硬件过流
  14. #define HW_OC_MODE (HW_OC_CMP_MODE)
  15. // 硬件过流保护比较值来源
  16. #define COMPARE_MODE (COMPARE_DAC_MODE)
  17. #define HW_OC_VALUE (30.0)
  18. // 直流母线电压保护
  19. #define OVER_VOLTAGE_PROTECT UDC_Value(30)
  20. #define UNDER_VOLTAGE_PROTECT UDC_Value(18)
  21. #define OVER_VOLTAGE_RECOVER UDC_Value(28)
  22. #define UNDER_VOLTAGE_RECOVER UDC_Value(20)
  23. // 缺相保护参数设置值
  24. #define PHASE_NOLOAD_CURR I_Value(0.1)
  25. #define LOSS_PHASE_CYCLE (50)
  26. // 过功率保护参数设置
  27. // FOC__POW与实际功率转换公式
  28. // FOC__POW = P * 32767 / HW_BOARD_VOLT_MAX / HW_BOARD_CURR_MAX
  29. // HW_BOARD_VOLT_MAX 732
  30. // HW_BOARD_CURR_MAX 6.25
  31. #define OVER_POWER_VALUE (200.0)
  32. #define OP_DECTTIME (10000)
  33. // 软件过流保护参数设置
  34. #define BUS_CURR_PROT_VALUE I_Value(20.0)
  35. #define BUS_CURR_DECTTIME (30)
  36. // 堵转保护参数设置
  37. // 200RPM 1310 1000RPM 5600
  38. #define STALL_SPEED_MAX S_Value(2500)
  39. #define STALL_SPEED_MIN S_Value(150)
  40. #define ES_THRESHOLD_LOW (1000.0)
  41. #define ES_THRESHOLD_HIGH (4500.0)
  42. #define ES_THRESHOLD_SPEED S_Value(1000)
  43. // 温度保护 (CMFA103F3950FB)
  44. // 80°C - 1.228kΩ | 95°C - 0.783kΩ
  45. // Q15 = 32767 * Res / (10K + Res)
  46. #define TEMP_PROT_VALUE TEMPER_VALUE(0.783) // (kΩ) 过温阈值 (≈95°C)
  47. #define TEMP_RECOVER_VALUE TEMPER_VALUE(1.249) // (kΩ) 恢复阈值 (≈80°C)
  48. #define TEMP_DECTTIME (10000)
  49. #endif