| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- /* --------------------------- (C) COPYRIGHT 2021 Fortiortech ShenZhen -----------------------------
- File Name : MotorControlFunction.h
- Author : Fortiortech Appliction Team
- Version : V1.0
- Date : 2021-04-11
- Description : This file contains motor contorl parameter used for Motor Control.
- ----------------------------------------------------------------------------------------------------
- All Rights Reserved
- ------------------------------------------------------------------------------------------------- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __MOTORCONTROLFUNCTION_H_
- #define __MOTORCONTROLFUNCTION_H_
- #include "PosCheck.h"
- #include "FU68xx_5.h"
- #include "Customer.h"
- #include "Parameter.h"
- #include "AddFunction.h"
- ///****************************BEMF参数变量**************************/
- //#define TIM2_Fre (187500.0) // TIM2计数频率187.5KHz
- ////定义使用BEMF启动时ATO_BW值
- //#define ATO_BW_BEMF_START (400.0)
- //#define OBSW_KP_GAIN_BEMF_START _Q12(2 * _2PI * ATT_COEF * ATO_BW_BEMF_START / BASE_FREQ)
- //#define OBSW_KI_GAIN_BEMF_START _Q12(_2PI * ATO_BW_BEMF_START * ATO_BW_BEMF_START * TPWM_VALUE / BASE_FREQ)
- ////定义使用BEMF启动时DKI QKI值
- //#define DKI_BEMF_START _Q12(1.0)
- //#define QKI_BEMF_START _Q12(1.0)
- ////定义使用BEMF启动最低转速,ROM
- //#define BEMFMotorStartSpeed _Q15(150.0 / MOTOR_SPEED_BASE)
- //#define BEMFMotorStartSpeedHigh _Q15(4000.0 / MOTOR_SPEED_BASE)
- ////定义使用BEMF检测时间,ms
- //#define BEMF_START_DETECT_TIME (300)//速度快的电机,时间可以缩短到50
- ////定义使用BEMF启动检测延时,ms
- //#define BEMF_START_DELAY_TIME (150)//速度快的电机,时间可以缩短到15
- //#define TempBEMFSpeedBase (int32)(32767.0 / 8.0 * (TIM2_Fre * 60 / Pole_Pairs / MOTOR_SPEED_BASE))
- //#define TempBEMFSpeedBase1 (int32)(32767.0 / 6.0 / 8.0 * (TIM2_Fre * 60 / Pole_Pairs / MOTOR_SPEED_BASE))
- //typedef struct
- //{
- // uint16 BEMFSpeed; //反电动势检测的速度
- // uint32 BEMFSpeedBase; //反电动势检测的速度基准
- // uint8 BEMFStatus; //反电动势的状态,6拍的状态
- // uint8 FRStatus; //正反转
- // uint16 PeriodTime; //转一圈的周期计数值/8,因除数只能是16位的
- // uint16 MC_StepTime[6]; //转一拍的计数值数组
- // uint16 StepTime; //单拍的计数值
- // uint16 BEMFTimeCount; //反电动势检测时间
- // uint8 FirstCycle; //反电动势检测第一个周期
- // uint8 BEMFStep; //拍的计数
- // uint8 BEMFSpeedInitStatus; //速度初始化状态
- // uint8 FlagSpeedCal; //速度计算标志
- // uint8 BEMFStartStatus; //强制启动标志位
- // uint8 BEMFStartDelayStatus; //强制启动标志位
- // uint8 BEMFCCWFlag; //反转的强弱标志
- // uint8 BEMFBrakeFlag;
- //}BEMFDetect_TypeDef;
- //typedef struct
- //{
- // int8 BemfSetFR;
- // int8 BemfValue;
- // uint8 BemfNum;
- // int8 BemfTabA,BemfTabB,RefNumZ,RefNumY,RefNumX;
- // uint8 BemfFR;
- // uint8 Calcnum;
- // uint16 Calcnms;
- //} Stk_TypeDef;
- /* Define to prevent recursive inclusion -------------------------------------*/
- typedef struct
- {
- int16 IuOffset; //Iu的偏置电压
- int32 IuOffsetSum; //Iu的偏置电压总和
- int16 IvOffset; //Iv的偏置电压
- int32 IvOffsetSum; //Iv的偏置电压总和
- int16 Iw_busOffset; //Iw或Ibus的偏置电压
- int32 Iw_busOffsetSum;//Iw或Ibus的偏置电压总和
- int16 OffsetCount; //偏置电压采集计数
- int8 OffsetFlag; //偏置电压结束标志位
- }CurrentOffset;
- //extern Stk_TypeDef xdata Stk;
- //extern BEMFDetect_TypeDef xdata BEMFDetect;
- extern CurrentOffset xdata mcCurOffset;
- extern uint16 Power_Currt;
- extern uint8 Drv_SectionCheak(void);
- extern void VariablesPreInit(void);
- extern void GetCurrentOffset(void);
- extern void Motor_Ready (void);
- extern void Motor_Init (void);
- extern void FOC_Init(void);
- extern void Motor_Charge(void);
- extern void MC_Stop(void);
- extern void MC_Break(void);
- extern void Motor_Static_Open(void);
- extern void Motor_FocTailWind_Open(void);
- extern void Motor_Align(void);
- extern void MotorcontrolInit(void);
- extern void Motor_TailWind(void);
- #endif
|