📄 zl_var.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 + -