Myproject.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #ifndef __MYPROJECT_H_
  2. #define __MYPROJECT_H_
  3. #include <FU68xx_5.h>
  4. #include <FU68xx_5_Type.h>
  5. #include <Customer.h>
  6. #include <Parameter.h>
  7. #include <AddFunction.h>
  8. #include <DMA.h>
  9. #include <Protect.h>
  10. #include <ProtectSet.h>
  11. #include <Parameter.h>
  12. #include <VoltageCompensation.h>
  13. // math.h包含算术运算的数学函数
  14. #include <math.h>
  15. #include <Definition.h>
  16. typedef enum
  17. {
  18. mcReady = 0,
  19. mcInit = 1,
  20. mcCharge = 2,
  21. mcTailWind = 3,
  22. mcPosiCheck = 4,
  23. mcAlign = 5,
  24. mcStart = 6,
  25. mcRun = 7,
  26. mcStop = 8,
  27. mcFault = 9,
  28. mcBrake = 10
  29. }MotStaType;
  30. typedef union
  31. {
  32. uint8 SetMode; // 整个配置模式使能位
  33. struct
  34. {
  35. uint8 CalibFlag :1; // 电流校准的标志位
  36. uint8 ChargeSetFlag :1; // 预充电配置标志位
  37. uint8 AlignSetFlag :1; // 预定位配置标志位
  38. uint8 TailWindSetFlag :1; // 顺逆风配置标志位
  39. uint8 StartSetFlag :1; // 启动配置标志位
  40. uint8 PosiCheckSetFlag :1; // 位置检测配置标志位
  41. } SetFlag;
  42. }MotStaM;
  43. extern MotStaType mcState;
  44. extern MotStaM McStaSet;
  45. void CMP0_Init(void);
  46. void CMP3_Init(void);
  47. void CMP3_Interrupt_Init(void);
  48. void CMP5_Init(void);
  49. void UART1_Init(void);
  50. void UART2_Init(void);
  51. void Timer2_Init(void);
  52. void Timer3_Init(void);
  53. void Timer4_Init(void);
  54. void SysTick(void);
  55. void SPI_Init(void);
  56. void WatchDogConfig(uint32 value, uint8 Status);
  57. unsigned short CRC_Check(unsigned char start_sector , unsigned char offset_sector);
  58. typedef struct
  59. {
  60. int16 IuOffset; //Iu的偏置电压
  61. int32 IuOffsetSum; //Iu的偏置电压总和
  62. int16 IvOffset; //Iv的偏置电压
  63. int32 IvOffsetSum; //Iv的偏置电压总和
  64. int16 Iw_busOffset; //Iw或Ibus的偏置电压
  65. int32 Iw_busOffsetSum;//Iw或Ibus的偏置电压总和
  66. int16 OffsetCount; //偏置电压采集计数
  67. int8 OffsetFlag; //偏置电压结束标志位
  68. }CurrentOffset;
  69. extern CurrentOffset xdata mcCurOffset;
  70. extern void Get_Current_Offset(void);
  71. extern void FOC_Init(void);
  72. extern void Motor_Charge(void);
  73. extern void Motor_Open(void);
  74. extern void Motor_Align(void);
  75. #if (FiledWeakenCompEnable==1)
  76. typedef struct
  77. {
  78. uint16 FieldWeakenActualUS_Q15;
  79. uint16 FieldWeakenActualDcbus_Q15;
  80. int16 FieldWeakenIsTheta;
  81. int16 mcIqref;
  82. int16 mcIdref;
  83. }FieldWeakeningTypeDef;
  84. /* Exported variables ---------------------------------------------------------------------------*/
  85. extern FieldWeakeningTypeDef xdata mcFieldWeaken;
  86. extern void GetFieldWeakenUsAndUdc_Q15(int16 Ud, int16 Uq , uint16 Dcbus);
  87. extern void GetFieldWeakenIdRefAndIqRef_Q15(int16 Is);
  88. extern void GetFieldWeakenIsTheta_Q15(void);
  89. extern int16 mcFieldWeakenPI(int16 feedbackvalue, int16 referencevalue);
  90. extern void FiledWeakenControl(int16 Ud, int16 Uq , uint16 Dcbusk,int16 Is);
  91. #endif
  92. #endif