⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zl_var.h

📁 2812设计源码 ADC 模块编程必须首先设置时钟
💻 H
字号:

//----以下定义变量和常数-
         #define N_KP   0x6800     //速度调节比例系数
         #define N_KI   0x007A     //速度调节积分系数
         #define N_KC   0x0012     //速度调节积分饱和修正系数=N_KI/N_KP
         #define I_KP   0x007A     //电流调节比例系数
	     #define I_KI   0x0999     //电流调节积分系数
         #define I_KC   0x00CC     //电流调节积分饱和修正系数=I_KI/I_KP
          int16 I_REF   = 0            ;//电流参考值
          int16 N_REF   = 0            ;//速度参考值
         Uint16 DIRECTION  =1         ;//速度方向标志
          int16 I_EK               ;//电流偏差
         Uint16 I_RK    = 0           ;//电流第K次积分调节累计
          int16 I_U                ;//电流调节输出
         Uint16 I_ELPI             ;//电流极限偏差
          int32 TMP                ;//临时变量
    //   Uint16 ENCODEROLD        ;//前一次编码器读数
         Uint16 ENCINCR   = 0x0000          ;//编码增量
         Uint16 SPEEDTMP  = 0x0000          ;//编码脉冲累计
         Uint16 SPEEDSTEP = 100             ;//速度调节计数器
         Uint16 KSPEED    = 0x1000          ;//编码脉冲-速度转换系数,
   /*若nbase=3000rpm=50rps,编码器每转可产生1024个脉冲,4倍频至4096,则编码器每秒可产生50*4096=204800个脉冲,
     一个速度采样周期SPEEDSTEP=100,*/
         Uint16 N                   ;//速度反馈量
          int16 N_EK                ;//速度偏差
         Uint16 N_RK                ;//速度第K次积分调节累计
          int16 N_U                 ;//速度调节输出
         Uint16 N_ELPI  = 0            ;//速度极限偏差
          int16 I_MIN       =    -9990     ;//电流最小值,最小-2048,原来范围0~4096-1,现在-2048~2048-1
          int16 I_MAX       =     9990     ;//电流最大值2^12-1=4096-1=0x0FFF,为表示正负,下移一位,最大+2048-1
   /*对应Q格式PU值,Ipuq12 =(最大表示实际电流/电流基值)*2^12
                           = {10A / [sprt(2)*In ]}*2^12
                           = {10  / [sqrt(2)*2.9]}*2^12
                           = 9990    其中电流基值Ibase=sqrt(2)*In
     其他的AD电流值均先减去2048=0x0800;成为有符号值,然后按照2048-1对应9990的比例进行转换,
     以成为Q12格式,例如从AD得到0x0A00-0x0800=0x0200=512,则其Q12值/512=9990/2047  */
     //    Uint32	EvaTimer1InterruptCount;
         Uint32  ADCInterruptCount;
         
 /*  I_REF = 0;
   N_REF = 0;
   I_KI  = 0x0999;        // 0.6*2^12
   I_KP  = 0x007A;         //0.03*2^12
   I_KC  = I_KI/I_KP;    //0.05*2^12=0x0CC
   N_KI  = 0x007A;         //0.03*2^12
   N_KP  = 0x6800;       // 6.5*2^12
   N_KC  = N_KI/N_KP;    //0.0046*2^12=0x12
   DIRECTION = 1;                //1,正传
   I_RK  = 0;
   I_ELPI= 0;
   SPEEDTMP   = 0;
   SPEEDSTEP  = 100;             //100个
   KSPEED     = 0x1000;          //编码脉冲-速度转换系数,Q12
   N_RK = 0;
  */   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -