spdreg.c
来自「用freescale公司的DSP56F8013芯片实现的PMSM的SVPWM 驱」· C语言 代码 · 共 45 行
C
45 行
#include "Cpu.h"
#include "Events.h"
#include "Spdreg.h"
extern int omeg; /* Q0 about 240,angle increment */
extern int spdref; /* Q0 240 means 1000rpm */
extern int iqout; /* Q1 */
extern int iqtemp0; /* Q1 */
extern int iqref; /* Q15 */
extern int gujun;
void Spdreg(void)
{
long int temp32;
long int temp33;
int errspd; /* Q0 error */
int kpspd=512; /* Q8 */
int kispd=128; /* Q8 */
int kcspd=8192;
int iqrmin=10830; /* Q1 q axis min value */
int iqrmax=11000; /* Q1 q axis max value */
int iqtemp; /* Q15 used to calculate ud */
errspd=spdref-omeg;
temp32=(L_mult(kpspd,errspd))>>8;
iqtemp=iqtemp0+(int)(temp32);
if(iqtemp>iqrmax)
iqout=iqrmax;
else if(iqtemp<iqrmin)
iqout=iqrmin;
else
iqout=iqtemp;
temp32=(L_mult(kispd,errspd))>>8;
temp33=(L_mult(kcspd,(iqout-iqtemp)))>>16;
iqtemp0=iqtemp0+(int)(temp32+temp33);
iqref=iqout;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?