#include "globalv.h" unsigned int TimeCountCompuSpeed=0,TimeCountTemp=0,TimeCountkey=0; unsigned int TimeCountRealSpd=0,TimeCountPID=0,TimeCountAvgSpd=0,TimeCountVI=0; unsigned char MOTORSTATE=STATESTARTCHECK; const unsigned int PWM_EN_TAB[6]={0x001,0x001,0x010,0x010,0x100,0x100};// 6?PWM?????? AB,AC,BC,BA,CA,CB const unsigned char STEP_TAB[2][6]={{1,3,2,5,0,4},{4,0,5,2,3,1}}; uint16_t SampleData[4];//内部参数 U反电动势 V反电动势 母线电压 W反电动势 电压 电流 内部调速 外部调速 unsigned char ErrorCode=0; //故障状态 unsigned int Motor_Start_F=0; //电机启停状态 unsigned int Cur_step=0; //当前换相相序 unsigned char Dir=1; //方向控制 unsigned int HALLcount=0,HALLcount1=0,HALLcountTemp; // 霍尔脉冲计数值,用于计算平均速度和瞬时速度 unsigned int TargS1=150;//PID目标速度 unsigned int RealS1=0;//实时瞬时速度 unsigned int RealS=0;//平均速度 unsigned int SetSpeed=0; float KKN=0,KPWMN=0;//计算电位器速度时的斜率 unsigned int OutPwmValue=0;//输出占空比值 unsigned int DIin=0; //电流偏置 unsigned int CanshuV=0;//母线电压100mV为单位 unsigned int CanshuI=0;//母线电流mA //、、、、、、、、、、、、、、、、、以下参数为掉电保存参数 unsigned int MPolePairs=15; //极对数 unsigned int MAXSPEED=680; //额定转速 unsigned int ISH=8;//过流报警值 A unsigned int VSH=40;//过压报警值 V unsigned int LSH=9;//欠压报警值 V //速度闭环参数 实际缩小1000倍 unsigned int MINSPEED=10; //最低转速 unsigned int SP=50,SI=50,SD=50; ////、、、、、、、、、、、、、、、、、、、、、、、、、以上为参数掉电保存参数 unsigned int STEP_last; unsigned int startflag=0,dirflag=1; unsigned int LevelSet = 1;