| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- /* --------------------------- (C) COPYRIGHT 2020 Fortiortech ShenZhen -----------------------------
- File Name : AddFunction.h
- Author : Fortiortech Appliction Team
- Version : V1.0
- Date : 2021-11-07
- Description : This file contains all the common data types used for Motor Control.
- ----------------------------------------------------------------------------------------------------
- All Rights Reserved
- ------------------------------------------------------------------------------------------------- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __AddFunction_H_
- #define __AddFunction_H_
- /******************************************************************************/
- #include <FU68xx_5.h>
- /******************************************************************************/
- /* Exported types ------------------------------------------------------------*/
- typedef struct
- {
- uint32 Times; // 启停次数
- uint16 TimeCnt; // 运行时间计数
- uint8 State; // 启停状态
- } debugONOFFTypeDef;
- typedef struct
- {
- uint16 LedCount; // 闪灯周期计数
- uint16 Counttime; // 闪灯周期
- uint16 Count; // 电平翻转计数
- uint8 LedTimCot; // 闪灯次数计数
- }MCLedDisplay;
- typedef struct // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- {
- uint16 mcDcbusFlt; // 母线电压 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!
- uint8 CtrlMode; // 控制模式
- uint16 mcADCCurrentbus; // 母线电流
-
- int16 Power; // 当前功率
- int16 PowerFlt; // 功率滤波后的值 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!
- int16 SpeedFlt; // 当前速度滤波后的值
- int16 UqFlt; // Q轴电压
- int16 UdFlt; // D轴电压
-
- uint8 ChargeStep; // 预充电的步骤 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!
- uint8 Start_Mode; // 启动方式
-
- int16 Max_ia;
- int16 Max_ib; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- int16 Max_ic;
-
- uint8 FR_SET;
- uint8 FR;
- uint8 Flg_ATORampEnd; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
- int16 Ref; // 控制目标给定
- int16 IqRef; // Q轴给定电流
- int16 IdRef; // D轴给定电流
- int16 IqSpeedRef; // Q轴速度给定电流
- int16 IqADCCurrentRef; // Q轴母线电流给定电流 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
- int16 ExtDec;
- int16 LimitIqOut; // 限制功率输出
- uint16 PowerLimitValue; // 功率限制的值
-
- uint8 Mode0HoldCnt; // MODE0切MODE1延迟时间计数 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
- uint16 EMFsquare; // 当前FOC_ESQU滤波后的值
- uint16 RunStateCnt; // 运行状态计数
-
- uint8 LoopTime; // 外环控制周期计数 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
- uint16 State_Count; // 电机各个状态的时间计数
- int16 mcPosCheckAngle;// 位置检测的角度
- uint8 MCU_TEMP; //MCU超过70°后,读取当前温度值 // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
- int16 Angle; //弱磁角度
- uint16 sqrtUdq;
- uint16 Refcnt;
-
- uint8 ZeroFlag; // // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- uint8 ZeroLossFlag; //
- uint16 ZeroCnt;
- uint16 ZeroLossCnt; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
-
-
- int16 NTCValue;
- int16 NTCValueFlt;
-
- // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- uint8 NTCValueGatherFlag;
- uint16 NTCValueGatherCnt;
- // int16 SPIVar1;
- // int16 SPIVar2;
- // int16 SPIVar3;
- //
- // uint8 Undervoltage_flag; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- }FOCCTRL; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- typedef struct
- {
- int16 RefValue;
- float OutValue_float;
- float IncValue;
- float DecValue;
-
- }MCRAMP;
- typedef struct
- {
- uint16 Compare; // 比较值
- uint16 Period; // 周期值
-
- uint16 TimerDR;
- uint16 TimerDROld;
- uint16 TimerARR; // 周期值
- uint16 TimerARROld; // 周期值
-
- uint16 Duty; // PWM占空比,Q15格式
- uint16 Freq; // PWM频率
-
- uint8 isUpdate; // PWM新的duty更新
-
- }PWMINPUTCAL;
- /* Exported variables ---------------------------------------------------------------------------*/
- extern bit isCtrlPowOn;
- extern debugONOFFTypeDef xdata debug_ONOFFTest;
- extern FOCCTRL xdata mcFocCtrl; // !!!!!!!该结构体如需添加新变量,需放在该结构体最后添加 !!!!!
- extern PWMINPUTCAL xdata mcPwmInput;
- extern MCRAMP data mcRefRamp;
- /* Exported functions ---------------------------------------------------------------------------*/
- extern void VariablesPreInit(void);
- extern void TargetRef_Process(void);
- extern void Speed_response(void);
- extern int16 Motor_Ramp(int16 ref);
- extern void VSPSample(void);
- extern void ONOFF_Starttest(void);
- extern void ATORamp(void);
- extern void TickCycle_1ms(void);
- extern void PWMInputCapture(void);
- extern void FGOutput(void);
- extern void Fault_GetCurrentOffset(void);
- extern uint32 Abs_F32(int32 value);
- extern void SinCal(int16 Ref, int16 Theta, int16 * Sin, int16 * Cos);
- extern uint16 SqrtUDQ(int16 sqrtUd, int16 sqrtUq);
- extern void LedDisplay(uint8 uLedMask);//uint8 LED1, uint8 LED2, uint8 LED3, uint8 LED4, uint8 LED5, uint8 LED6);
- extern void zeroLoss(void);
- /******* **********************/
- #endif
|