Customer.h 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. /**************************** (C) COPYRIGHT 2018 Fortiortech shenzhen *****************************
  2. * File Name : Customer.h
  3. * Author : Bruce, Fortiortech Hardware
  4. * Version : V1.0
  5. * Date : 2018-02-26
  6. * Description : This file contains all the common data types used for
  7. * Motor Control.
  8. **************************************************************************************************/
  9. /* Define to prevent recursive inclusion --------------------------------------------------------*/
  10. #ifndef __CUSTOMER_H_
  11. #define __CUSTOMER_H_
  12. #define I_ValueX(Curr_Value) (Curr_Value * HW_RSHUNT * HW_AMPGAIN / (HW_ADC_REF))
  13. #define I_Value(Curr_Value) _Q15(I_ValueX(Curr_Value))
  14. /*芯片参数值-------------------------------------------------------------------*/
  15. /*CPU and PWM Parameter*/
  16. #define MCU_CLOCK (24.0) // (MHz) 主频
  17. #define PWM_FREQUENCY (5.0) //16.0 // (kHz) 载波频率 勿改此频率否则影响模拟串口
  18. #define PWM_DEADTIME (5.0) // (us) 死区时间
  19. #define MIN_WIND_TIME (5.9) //6.4 // (us) 单电阻最小采样窗口,建议值死区时间+0.9us
  20. /**压机型号选择**/
  21. /**压机型号选择**/
  22. #define other (0xF1)
  23. #define KSN98D64UFZ3 (0)
  24. #define KSN98D25UFZ3 (1)
  25. #define EAQN108D22UFZA (2)
  26. #define QXF_B103zH170F (3)
  27. #define C_6RVN88H0T_S1502 (4)
  28. #define QXF_A098zE170 (5)
  29. #define GSX098CKRF6JV8 (6)
  30. #define GSD108CKQF6JV8B (7)
  31. #define GSD098CKQA6JV6B (8)
  32. #define KSK103D33UEZ3 (9)
  33. #define KSK103D33UEZ3 (10)
  34. #define ASD102UKTA7JT (11)
  35. #define KSK82D22UEZA31 (12)
  36. #define C1RVN68H0E (13)
  37. #define GDY38AXD (14)
  38. #define ATH550SKRC8FQ (15)
  39. #define C9RZ700L4AAL (16)
  40. #define KTQ580D66UNT (17)
  41. #define KTQ650D41UNT3 (18)
  42. #define C7RVN273H0W (19)
  43. #define CD081ZA02 (20)
  44. #define Yaji_Select (CD081ZA02)
  45. #if (Yaji_Select==KSN98D64UFZ3)
  46. #define Pole_Pairs (3) // 极对数
  47. #define RS (1.35) // (H) D轴电感0.5
  48. #define LQ (0.0175) // (H) Q轴电感 0.5
  49. #define LD (0.0175) // (Ω) 相电阻
  50. #define Ke (58.0) // (V/KRPM) 反电动势常数
  51. #elif (Yaji_Select==KSN98D25UFZ3)
  52. #define Pole_Pairs (3) // 极对数
  53. #define RS (1.2) // (H) D轴电感0.5
  54. #define LQ (0.015) // (H) Q轴电感 0.5
  55. #define LD (0.015) // (Ω) 相电阻
  56. #define Ke (43.0) // (V/KRPM) 反电动势常数
  57. #elif (Yaji_Select==EAQN108D22UFZA)
  58. #define Pole_Pairs (3) // 极对数
  59. #define RS (0.88) // (H) D轴电感0.5
  60. #define LQ (0.008) // (H) Q轴电感 0.5
  61. #define LD (0.008) // (Ω) 相电阻
  62. #define Ke (33.0) // (V/KRPM) 反电动势常数
  63. #elif (Yaji_Select==QXF_B103zH170F)
  64. #define Pole_Pairs (3) // 极对数
  65. #define RS (0.76) // (H) D轴电感0.5
  66. #define LQ (0.012) // (H) Q轴电感 0.5
  67. #define LD (0.012) // (Ω) 相电阻
  68. #define Ke (44.1) // (V/KRPM) 反电动势常数
  69. #elif (Yaji_Select==C_6RVN88H0T_S1502)
  70. #define Pole_Pairs (2) // 极对数
  71. #define RS (0.8) // (H) D轴电感0.5
  72. #define LQ (0.0175) // (H) Q轴电感 0.5
  73. #define LD (0.0175) // (Ω) 相电阻
  74. #define Ke (43.7) // (V/KRPM) 反电动势常数
  75. #elif (Yaji_Select==QXF_A098zE170)
  76. #define Pole_Pairs (3) // 极对数
  77. #define RS (2.17) // (H) D轴电感0.5
  78. #define LQ (0.021) // (H) Q轴电感 0.5
  79. #define LD (0.021) // (Ω) 相电阻
  80. #define Ke (57.8) // (V/KRPM) 反电动势常数
  81. #elif (Yaji_Select==GSX098CKRF6JV8)
  82. #define Pole_Pairs (4) // 极对数
  83. #define RS (1.4) // (H) D轴电感0.5
  84. #define LQ (0.009) // (H) Q轴电感 0.5
  85. #define LD (0.009) // (Ω) 相电阻
  86. #define Ke (44.8) // (V/KRPM) 反电动势常数
  87. #elif (Yaji_Select==GSD108CKQF6JV8B)
  88. #define Pole_Pairs (4) // 极对数
  89. #define RS (1.3) // (H) D轴电感0.5
  90. #define LQ (0.01) // (H) Q轴电感 0.5
  91. #define LD (0.01) // (Ω) 相电阻
  92. #define Ke (42.8) // (V/KRPM) 反电动势常数
  93. #elif (Yaji_Select==GSD098CKQA6JV6B)
  94. #define Pole_Pairs (3) // 极对数
  95. #define RS (1.15) // (H) D轴电感0.5
  96. #define LQ (0.0117) // (H) Q轴电感 0.5
  97. #define LD (0.0117) // (Ω) 相电阻
  98. #define Ke (38.3) // (V/KRPM) 反电动势常数
  99. #elif (Yaji_Select==KSK103D33UEZ3)
  100. #define Pole_Pairs (3) // 极对数
  101. #define RS (1.0) // (H) D轴电感0.5
  102. #define LQ (0.01) // (H) Q轴电感 0.5
  103. #define LD (0.01) // (Ω) 相电阻
  104. #define Ke (36.3) // (V/KRPM) 反电动势常数
  105. #elif (Yaji_Select==ASD102UKTA7JT)
  106. #define Pole_Pairs (2) // 极对数
  107. #define RS (1.0) // (H) D轴电感0.5
  108. #define LQ (0.019) // (H) Q轴电感 0.5
  109. #define LD (0.019) // (Ω) 相电阻
  110. #define Ke (50.7) // (V/KRPM) 反电动势常数
  111. #elif (Yaji_Select==KSK82D22UEZA31)
  112. #define Pole_Pairs (4) // 极对数
  113. #define RS (1.86) // (H) D轴电感0.5
  114. #define LQ (0.0097) // (H) Q轴电感 0.5
  115. #define LD (0.0097) // (Ω) 相电阻
  116. #define Ke (39.3) // (V/KRPM) 反电动势常数
  117. #elif (Yaji_Select==C1RVN68H0E)
  118. #define Pole_Pairs (2) // 极对数
  119. #define RS (0.25) // (H) D轴电感0.5
  120. #define LQ (0.0065) // (H) Q轴电感 0.5
  121. #define LD (0.0065) // (Ω) 相电阻
  122. #define Ke (23.3) // (V/KRPM) 反电动势常数
  123. #elif (Yaji_Select==GDY38AXD)
  124. #define Pole_Pairs (3) // 极对数
  125. #define RS (0.6) // (H) D轴电感0.5
  126. #define LQ (0.014) // (H) Q轴电感 0.5
  127. #define LD (0.014) // (Ω) 相电阻
  128. #define Ke (26.9) // (V/KRPM) 反电动势常数
  129. #elif (Yaji_Select==ATH550SKRC8FQ)
  130. #define Pole_Pairs (4) // 极对数
  131. #define RS (0.21) // (H) D轴电感0.5
  132. #define LQ (0.0028) // (H) Q轴电感 0.5
  133. #define LD (0.0028) // (Ω) 相电阻
  134. #define Ke (44.8) // (V/KRPM) 反电动势常数
  135. #elif (Yaji_Select==C9RZ700L4AAL)
  136. #define Pole_Pairs (4) // 极对数
  137. #define RS (0.23) // (H) D轴电感0.5
  138. #define LQ (0.0031) // (H) Q轴电感 0.5
  139. #define LD (0.0031) // (Ω) 相电阻
  140. #define Ke (61.8) // (V/KRPM) 反电动势常数
  141. #elif (Yaji_Select==ATQ750D50UNT3)
  142. #define Pole_Pairs (3) // 极对数
  143. #define RS (0.16) // (H) D轴电感0.5
  144. #define LQ (0.002) // (H) Q轴电感 0.5
  145. #define LD (0.002) // (Ω) 相电阻
  146. #define Ke (46.9) //57.9/1.732*1.414 // (V/KRPM) 反电动势常数
  147. #elif (Yaji_Select==KTQ580D66UNT)
  148. #define Pole_Pairs (3) // 极对数
  149. #define RS (0.175) // (H) D轴电感0.5
  150. #define LQ (0.0032) // (H) Q轴电感 0.5
  151. #define LD (0.0032) // (Ω) 相电阻
  152. #define Ke (47.27) // (V/KRPM) 反电动势常数
  153. #elif (Yaji_Select==KTQ650D41UNT3)
  154. #define Pole_Pairs (3) // 极对数
  155. #define RS (0.171) // (H) D轴电感0.5
  156. #define LQ (0.00206) // (H) Q轴电感 0.5
  157. #define LD (0.00206) // (Ω) 相电阻
  158. #define Ke (46.62) // (V/KRPM) 反电动势常数
  159. #elif (Yaji_Select==C7RVN273H0W)
  160. #define Pole_Pairs (3) // 极对数
  161. #define RS (0.381) // (H) D轴电感0.5
  162. #define LQ (0.00579) // (H) Q轴电感 0.5
  163. #define LD (0.00579) // (Ω) 相电阻
  164. #define Ke (58.70) // (V/KRPM) 反电动势常数
  165. #elif (Yaji_Select==CD081ZA02)
  166. #define Pole_Pairs (3) // 极对数
  167. #define RS (0.0925) // (H) D轴电感0.5
  168. #define LQ (0.0028) // (H) Q轴电感 0.5
  169. #define LD (0.0028) // (Ω) 相电阻
  170. #define Ke (48.57) // (V/KRPM) 反电动势常数
  171. #elif (Yaji_Select==other)
  172. #define Pole_Pairs (2) // 极对数
  173. #define RS (0.5) // (H) D轴电感0.5
  174. #define LQ (0.004) // (H) Q轴电感 0.5
  175. #define LD (0.004) // (Ω) 相电阻
  176. #define Ke (38.3) // (V/KRPM) 反电动势常数
  177. #endif
  178. #define Psi (float)(Ke * 207.84 / 1000.0 / 2.0 / 1.732 / Pole_Pairs / _2PI )
  179. #define ID_Limit I_Value(-Psi/LD/2)
  180. #define MOTOR_SPEED_BASE (12000.0) // (RPM) 速度基准
  181. /*硬件板子参数设置值------------------------------------------------------------*/
  182. /*PWM high or low level Mode*/
  183. /*根据驱动芯片的类型选择,大部分芯片为High_Level*/
  184. #define PWM_Level_Mode (High_Level)
  185. /**
  186. * Reference voltage setting
  187. * @param (VREF3_0) Reference voltage set to 3.0V
  188. * @param (VREF4_0) Reference voltage set to 4.0V
  189. * @param (VREF4_5) Reference voltage set to 4.5V
  190. * @param (VREF5_0) Reference voltage set to 5.0V
  191. */
  192. #define HW_ADC_VREF (VREF5_0)
  193. /**
  194. * Base voltage VREF external output enable
  195. * @param (Disable)
  196. * @param (Enable)
  197. */
  198. #define VREF_OUT_EN (Enable)
  199. /**
  200. * VHALF output enable
  201. * @param (Disable)
  202. * @param (Enable)
  203. */
  204. #define VHALF_OUT_EN (Enable)
  205. /**
  206. * @breaf 运放模式选择
  207. * @param (AMP_NOMAL) 外部放大
  208. * @param (AMP_PGA_DUAL) 内部PGA双端差分输入(放大倍数的标定外部引脚串1kΩ电阻)
  209. */
  210. #define HW_AMP_MODE (AMP_NOMAL) ///< 运放模式选择
  211. /**
  212. * 放大倍数设置
  213. * @param (AMP2x) 内部PGA放大2倍
  214. * @param (AMP4x) 内部PGA放大4倍
  215. * @param (AMP8x) 内部PGA放大8倍
  216. * @param (AMP16x) 内部PGA放大16倍
  217. * @param (xxxxxx) 外部放大模式填写相应倍数
  218. */
  219. /*电机电流采样相关硬件参数*/
  220. #define HW_RSHUNT (0.04) // (Ω) 采样电阻
  221. #define HW_ADC_REF (5.0) // (V) ADC参考电压 //5.0
  222. #define HW_ADC_REF_HALF (2.5) // (V) ADC参考电压 //5.0
  223. #define HW_AMPGAIN (0.5) // 运放放大倍数 //10.0
  224. /*电机驱动母线电压采样相关硬件参数*/
  225. #define RV1 (940.0) // (kΩ) 母线电压分压电阻1
  226. #define RV2 (940.0) // (kΩ) 母线电压分压电阻2
  227. #define RV3 (0.3) // (kΩ) 母线电压分压电阻3
  228. #define VC1 (1.0) // 电压补偿系数
  229. // #define RV ((RV1 + RV2 + RV3) / RV3) // 分压比
  230. #define RV (250.7 / 1.0) // 分压比 ((RV1 + RV2 + RV3) / RV3/8/7.5*2.4)
  231. #define HW_BOARD_VOLT_MAX (HW_ADC_REF * RV) // (V) ADC可测得的最大母线电压
  232. #define RL1 (450.0) // (kΩ) 母线电压分压电阻1
  233. #define RL2 (2.0) // (kΩ) 母线电压分压电阻2
  234. #define RL ((RL1 + RL2) / RL2) // 分压比
  235. #define HW_L_VOLT_MAX (HW_ADC_REF * RL) // (V) ADC可测得的最大母线电压
  236. #define Udcmax_ms (20.0* PWM_FREQUENCY ) // 60*ms读取一次UDC最大值和最小值
  237. /*电流偏执采样时间设置-------------------------------------------------------------------*/
  238. #define Calib_Time (1000) // 校正次数,固定1000次,单位:次
  239. /*预充电设置值-------------------------------------------------------------------*/
  240. #define Charge_Time (100) //30 // (ms) 预充电时间,单位:ms
  241. #define Calib_Duty (0.1) // 预充电占空比
  242. /*正常运行时估算算法的参数设置值-------------------------------------------------*/
  243. #define OBS_KSLIDE _Q15(0.85) //0.65 // SMO算法里的滑膜增益值
  244. #define E_BW1 (80.0) // PLL算法里的反电动势滤波值
  245. #define E_BW2 (80.0) // PLL算法里的反电动势滤波值
  246. #define E_BW3 (80.0) // PLL算法里的反电动势滤波值
  247. #define E_BW4 (80.0) // PLL算法里的反电动势滤波值
  248. #define E_BW5 (80.0) // PLL算法里的反电动势滤波值
  249. /*启动参数参数值----------------------------------------------------------------*/
  250. /*********** RPD parameter ***********/
  251. /******* 初始位置检查参数 **********/
  252. #define AlignTestMode (0) // 预定位测试模式
  253. /***预定位的Kp、Ki****/
  254. #define DQKP_Alignment _Q12(5.0) // 预定位的KP
  255. #define DQKI_Alignment _Q15(0.01) // 预定位的KI
  256. #define IQ_Align_CURRENT I_Value(0.0) /* (A) D轴定位电流 */
  257. #define ID_Align_CURRENT_Start I_Value(15.0) /* (A) Q轴定位初始电流 */
  258. #define ID_Align_CURRENT_End ID_Align_CURRENT_Start /* (A) Q轴定位保持电流 */
  259. #define Align_Angle1 _Q15((float)0.0 / 180.0) /* 定位角度1,固定为 0 度 用于检测缺相 */
  260. #define Align_Angle2 _Q15((float)90.0 / 180.0) /* 定位角度2,二次预定位 */
  261. #define Align_Start (Align_Angle2 - _Q15((float)30.0 / 180.0)) /* 启动角度 */
  262. #define AlignmentRampTime (500.0) /* (ms) 预定位电流爬坡时间 */
  263. #define AlignmentHoldTime1 (500.0) /* (ms) 预定位电流保持时间 */
  264. #define AlignmentHoldTime2 (500.0) /* (ms) 预定位电流保持时间 */
  265. #define Align_Time (AlignmentRampTime + AlignmentHoldTime1+AlignmentHoldTime2)
  266. /***启动电流****/
  267. #define ID_Start_CURRENT I_Value(0.0) // (A) D轴启动电流
  268. #define IQ_Start_CURRENT I_Value(25.0) // (A) Q轴启动电流
  269. #define IQ_Start_CURRENT2 I_Value(25.0) // (A) Q轴启动电流
  270. /***运行电流****/
  271. #define ID_RUN_CURRENT I_Value(0.0) // (A) D轴运行电流
  272. #define IQ_RUN_CURRENT I_Value(1.5) // (A) Q轴运行电流
  273. #define Start_FOC_THECOMP _Q15(10.0/180.0) //启动补偿角度
  274. /*************Omega启动的参数***************/
  275. #define ATO_BW (120.0) // 观测器带宽的滤波值,经典值为1.0-200.0
  276. #define ATO_BW_RUN (130.0)
  277. #define ATO_BW_RUN1 (140.0)
  278. #define ATO_BW_RUN2 (150.0)
  279. #define ATO_BW_RUN3 (160.0)
  280. #define ATO_BW_RUN4 (190.0)
  281. #define SPD_BW (25.0) // 速度带宽的滤波值,经典值为5.0-40.0
  282. #define ATT_COEF (0.95) // 无需改动
  283. /*转速参数值-------------------------------------------------------------------*/
  284. /* motor start speed value */
  285. //open 算法启动参数
  286. #define MOTOR_OPEN_ACC (1.0) //30.0 // 强拖启动的增量(每载波周期加一次)
  287. #define MOTOR_OPEN_ACC_MIN (100.0) //20.0 // 强拖启动的初始速度
  288. #define MOTOR_OPEN_ACC_CNT (250.0) //100.0 // 强拖启动的执行次数(MOTOR_OPEN_ACC_CNT*256)
  289. #define MOTOR_OPEN_ACC_CYCLE (100) //5 // 强拖启动循环拖动的次数
  290. //OMEGA启动参数
  291. #define Motor_Omega_Ramp_ACC (300.0) //(50.00) //5.0 //60 // omega启动的增量 12
  292. #define MOTOR_OMEGA_ACC_MIN (200.0) //(800.0) //20.0 //100 // (RPM) omega启动的最小切换转速
  293. #define MOTOR_OMEGA_ACC_END (400.0) //50.0 // (RPM) omega启动的限制转速
  294. /* motor loop control speed value */
  295. #define MOTOR_LOOP_RPM (500.0) //(450.0) //20.0 //200 // (RPM) 由mode 0到mode1切换转速,即闭环切换转速
  296. /* motor run speed value */
  297. //电机运行时最大最小转速、堵转保护转速
  298. #define MOTOR_SPEED_SMOMIN_RPM (400.0) //60.0 // (RPM) SMO运行最小转速
  299. #define MOTOR_SPEED_MIN_RPM (900.0) //100.0 // (RPM) 运行最小转速
  300. #define MOTOR_SPEED_MAX_RPM (5400.0) //4000 //8000 // (RPM) 运行最大转速
  301. #define MOTOR_SPEED_STAL_MAX_RPM (7000.0) //(6000.0) // (RPM) 堵转保护转速
  302. #define MOTOR_SPEED_STAL_MIN_RPM (800.0) //(200.0)
  303. #define MOTOR_SPEED_STOP_RPM (1300.0) // (RPM) 运行最小转速
  304. /*******运行时的参数*****************/
  305. /*电流环参数设置值--------------------------------------------------------------*/
  306. /*启动*/
  307. #define DQKPStart _Q12(4.0) //1.1
  308. #define DQKIStart _Q15(0.0081) //0.01
  309. /*低速*/
  310. #define DQKP _Q12(2.0) //带载时5.0
  311. #define DQKI _Q15(0.002) //此值不能太大,大了后影响低速性能(与转矩补偿冲突)
  312. /*中速*/
  313. #define DQKP_zhong _Q12(1.5) //带载时5.0
  314. #define DQKI_zhong _Q15(0.002) //
  315. /*高速*/
  316. #define DQKP_highspeed _Q12(1.5) //4.0 切换时易导致转速波动
  317. #define DQKI_highspeed _Q15(0.002) //0.02 0.011
  318. /* D轴参数设置 */
  319. #define DOUTMAX _Q15(0.95) //0.9 // D轴最大限幅值,单位:输出占空比
  320. #define DOUTMIN _Q15(-0.95) //-0.9
  321. /* Q轴参数设置,默认0.99即可 */
  322. #define QOUTMAX _Q15(0.99) // Q轴最大限幅值,单位:输出占空比
  323. #define QOUTMIN _Q15(-0.99) // Q轴最小限幅值,单位:输出占空比
  324. #define QOUTINC (1) //25 // Q轴电流增大步进值,开环控制时有效
  325. /*外环参数设置值----------------------------------------------------------------*/
  326. #define SPEED_LOOP_TIME (1) //2 // (ms) 速度环调节周期 SPEED_INC_DEC_TIME
  327. #define WEAK_LOOP_TIME (1) //2 // (ms) 速度环调节周期 SPEED_INC_DEC_TIME
  328. #define SPEED_INC_DEC_TIME (200) // (ms) 速度环爬坡周期
  329. /*启动*/
  330. // #define SKP _Q12(0.25) //0.25 // 外环KP
  331. // #define SKI _Q15(0.00151) //0.00051
  332. // /*低速*/
  333. // #define SKPRun _Q12(0.35) //0.35 // 外环KP
  334. // #define SKIRun _Q15(0.010) //0.011 // 外环KI 0.01 ,影响转矩补偿
  335. // /*中速*/
  336. // #define SKPRun1 _Q12(0.34)//0.35 太大高速时波动,太小
  337. // #define SKIRun1 _Q15(0.008) //0.0008
  338. // /*高速*/
  339. // #define SKPRun2 _Q12(0.3)//0.35 太大高速时波动,太小
  340. // #define SKIRun2 _Q15(0.002) //0.0008 // 外环KI 0.01
  341. // /*启动*/
  342. #define SKP _Q12(0.65) //0.25 // 外环KP
  343. #define SKI _Q15(0.010) //0.00251
  344. /*低速*/
  345. #define SKPRun _Q12(0.45) //0.35 // 外环KP
  346. #define SKIRun _Q15(0.03) //0.03 // 外环KI 0.01 ,影响转矩补偿
  347. /*中速*/
  348. #define SKPRun1 _Q12(0.30)//0.2 太大高速时波动,太小
  349. #define SKIRun1 _Q15(0.01) //0.0005
  350. /*高速*/
  351. #define SKPRun2 _Q12(0.30)//0.15 太大高速时波动,太小
  352. #define SKIRun2 _Q15(0.01) //0.0002 // 外环KI
  353. #define SOUTMAX I_Value(60.0) //7.0 //16 // (A) 外环最大限幅值
  354. #define SOUTMIN I_Value(0.0) //0.02 // (A) 外环最小限幅值
  355. #define I_OVER I_Value(78.0) // 降频点 超过此值降频率
  356. #define I_LIMIT I_Value(77.0) // 限制电流值
  357. #define P_OVER P_Power(15180) // 降频点 超过此值降频率
  358. #define P_LIMIT P_Power(15150) // 限制功率值
  359. /*外环增量*/
  360. #define SPEED_INC_Start (200.0)
  361. #define SPEED_INC (200.0) //150 // 速度环增量
  362. #define SPEED_DEC (200.0) //150 // 速度环减量
  363. #define SPEED_DEC1 (800.0) //150 // 速度环减量 停机时使用
  364. #define SpeedRampStartInc (S_Value(SPEED_INC_Start))/(1000/SPEED_INC_DEC_TIME)
  365. #define Motor_Speed_Inc (S_Value(SPEED_INC)) /(1000/(SPEED_LOOP_TIME*20.0))
  366. #define Motor_Speed_Dec (S_Value(SPEED_DEC)) /(1000/(SPEED_LOOP_TIME*20.0))
  367. #define Motor_Speed_Dec1 (S_Value(SPEED_DEC1)) /(1000/SPEED_INC_DEC_TIME)
  368. #define MotorStartHoldTime (15000) //上油时间 15000
  369. #define MotorStartSpeed (2700) //上油转速
  370. #define Motor_Start_Hold_Speed _Q15(MotorStartSpeed / MOTOR_SPEED_BASE)
  371. /*外环使能*/
  372. #define OUTLoop_Disable (0) // 关闭外环
  373. #define OUTLoop_Enable (1) // 使能外环
  374. #define OUTLoop_Mode (OUTLoop_Enable)
  375. /*外环选择功率环或速度环*/
  376. #define POWER_LOOP_CONTROL (0) //恒功率
  377. #define SPEED_LOOP_CONTROL (1) //恒转速
  378. #define Motor_Speed_Control_Mode (SPEED_LOOP_CONTROL)
  379. //调速模式
  380. #define UARTMODE (0) // 模拟调速
  381. #define NONEMODE (1) // 直接给定值,不调速
  382. #define SPEED_MODE (UARTMODE)
  383. /*估算器模式选择*/
  384. #define SMO (0) // SMO ,滑膜估算
  385. #define PLL (1) // PLL ,锁相环
  386. #define AO (2) // PLL ,锁相环
  387. #define EstimateAlgorithm (AO)
  388. /*开环启动模式选择*/
  389. #define Open_Start (0) // 开环强拖启动
  390. #define Omega_Start (1) // Omega启动
  391. #define Open_Omega_Start (2) // 先开环启,后Omega启动
  392. #define Open_Start_Mode (Omega_Start)
  393. /*电流采样模式*/
  394. #define Single_Resistor (0) // 单电阻电流采样模式
  395. #define Double_Resistor (1) // 双电阻电流采样模式
  396. #define Three_Resistor (2) // 三电阻电流采样模式
  397. #define Shunt_Resistor_Mode (Double_Resistor)
  398. #define OverModulation (0) // 0-禁止过调制,1-使能过调制
  399. #define IRMODE (1) // 正反转模式,正转为0,反转为1
  400. #define StopBrakeFlag (0)
  401. #define StopWaitTime (2000) // (ms) 刹车等待时间
  402. /* -----弱磁使能位----- */
  403. #define FiledWeakenCompEnable (0) // 弱磁使能; 1:使能,0:关闭
  404. /* -----弱磁电压比例系数----- */
  405. #define DcbusK _Q15(0.8)//(90) // 如果进不了弱磁可以把该系数改小些 100对应1
  406. /* -----弱磁电压环参数----- */
  407. #define FiledWeakenKp _Q12(0.4) //0.4
  408. #define FiledWeakenKi _Q15(0.0001) //0.0001
  409. /* -----风机控制参数----- */
  410. #define FENG_SPEED_LOOP_TIME (20) //风机控制周期
  411. #define fengSKP _Q12(1.0) //0.25 高低速分档
  412. #define fengSKI _Q15(0.01) //0.00051
  413. #define TIM_3_T (1000) // time3 周期值
  414. #define TIM_4_T (375000) //定时器4频率
  415. #define TIM_4_T_Pole_Pairs (4) //风机脉冲数
  416. #define TIM_4_fengji_speedxishu ((60*TIM_4_T)/TIM_4_T_Pole_Pairs) //60f/p
  417. /*膨胀阀控制*/
  418. #define Pengzhangfa_CW (1) //换相顺序,0:正序。1:反序
  419. #define Pengzhangfa_Contro_Mode (0) //控制逻辑,0:指令连续。1:指令不连续
  420. #define valvemotorsudu (30) //电子膨胀阀换相时间ms
  421. #define valvemotorstime (500) //电子膨胀阀停留时间ms
  422. /* -----温度采集参数----- */
  423. /* -----温度传感器1_高温检测排气----- */
  424. #define TEMP1_R_PU (0) //上拉电阻
  425. #define TEMP1_R_PD (10000) //下拉电阻
  426. #define TEMP1_R_Base (50000) //25度时NTC阻值
  427. #define TEMP1_B (3950) //热敏系数
  428. #define TEMP1_T25 (298.15) //固定 25.0+273.15
  429. /* -----温度传感器2_盘管检测----- */
  430. #define TEMP2_R_PU (0) //上拉电阻
  431. #define TEMP2_R_PD (5100) //下拉电阻
  432. #define TEMP2_R_Base (5000) //25度时NTC阻值
  433. #define TEMP2_B (3470) //热敏系数
  434. #define TEMP2_T25 (298.15) //固定 25.0+273.15
  435. /* -----温度传感器3_环境检测----- */
  436. #define TEMP3_R_PU (0) //上拉电阻
  437. #define TEMP3_R_PD (5100) //下拉电阻
  438. #define TEMP3_R_Base (5000) //25度时NTC阻值
  439. #define TEMP3_B (3470) //热敏系数
  440. #define TEMP3_T25 (298.15) //固定 25.0+273.15
  441. /* -----温度传感器4_未使用----- */
  442. #define TEMP4_R_PU (0) //上拉电阻
  443. #define TEMP4_R_PD (10000) //下拉电阻
  444. #define TEMP4_R_Base (20000) //25度时NTC阻值
  445. #define TEMP4_B (3950) //热敏系数
  446. #define TEMP4_T25 (298.15) //固定 25.0+273.15
  447. #define Uart_MoNi (0) //模拟串口
  448. #define Uart_Yingjian (1) //硬件串口
  449. #define Uart_Select (Uart_Yingjian) // 通信模式选择,380bps及其选择软件,否则硬件
  450. #define Uart_COMMUNICATION (1) // 通信协议 0:格力 1;月兔
  451. #define Debugg (1) // 调试工具选择
  452. #define IFFDebugg (0) // 强拖测试模式
  453. #define IF_I_Value I_Value(10.0) // 强拖测试电流
  454. #define VoltageCompensationEn (0)//电压补偿使能位
  455. #define TempCtrol_Select (0)//温控逻辑室内or室外 0室内 1室外
  456. //电压限频
  457. #define VAC_Min_F 900
  458. #define VAC_Max_F 900
  459. #define VAC_Min _Q15((290.0*1.414) / HW_L_VOLT_MAX)
  460. #define VAC_Max _Q15((360.0*1.414) / HW_L_VOLT_MAX)
  461. #define VAC_Max_K ((float)(VAC_Max_F-VAC_Min_F)/(float)(VAC_Max-VAC_Min))
  462. #endif