矢量控制dsp2812 主控为TMS320F2812,PMSM的有传感器的转速、电流双闭环控制程序。

在DMS车间调试电机的日子,总免不了和DSP2812的代码死磕。今天咱们聊聊基于TMS320F2812的永磁同步电机矢量控制——那个让我掉了不少头发的双闭环系统。先说核心:电流环负责稳住转矩,转速环控制电机飞多快,两者配合得像火锅配香油碟才算合格。

电流采样这块坑最多,先看ADC配置代码:

void InitAdc(void) {
    AdcRegs.ADCTRL1.bit.ACQ_PS = 0x1;  //采样保持窗口=75ns
    AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;  //级联模式
    AdcRegs.ADCMAXCONV.bit.MAX_CONV = 0x2; //转换3个通道
    AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //A相电流
    AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; //B相电流
    AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; //母线电压
}

这里有个骚操作:三相电流只采两相,C相电流用Ia+Ib+Ic=0计算出来。这么做省了个ADC通道,但得确保算法里做好符号处理,否则电流环会抽风。

坐标变换是矢量控制的灵魂,Clarke变换的代码看着简单:

void Clarke_Transform(float ia, float ib, float *ialpha, float *ibeta) {
    *ialpha = ia;
    *ibeta = (ia + 2*ib) * 0.57735f; //1/√3系数
}

实际上这里的0.57735得用IQmath库的_IQdiv(),不然定点DSP会溢出。Park变换更刺激,角度要是没实时更新,分分钟给你表演电机跳舞。

矢量控制dsp2812 主控为TMS320F2812,PMSM的有传感器的转速、电流双闭环控制程序。

转速环的PI调节器最考验参数整定,来看这段带限幅的代码:

void Speed_PI_Update(PI_Obj *v, float target, float actual) {
    v->err = target - actual;
    v->integral += v->Ki * v->err;
    
    //抗饱和处理
    if(v->integral > 5000.0f) v->integral = 5000.0f;
    else if(v->integral < -5000.0f) v->integral = -5000.0f;
    
    v->output = v->Kp * v->err + v->integral;
}

重点在积分限幅,没这玩意儿电机加速时会像喝醉的熊一样乱撞。调试时记得先调Kp让系统有反应,再加Ki消除静差,别一上来就两个参数一起调——那酸爽,谁调谁知道。

SVPWM生成是最后的大招,这段代码决定了电压矢量的合成:

void CalcSVPWM(float Valpha, float Vbeta) {
    float Vref = sqrt(Valpha*Valpha + Vbeta*Vbeta);
    float theta = atan2(Vbeta, Valpha);
    
    //扇区判断
    sector = (int)(theta/(PI/3)) + 1;
    if(sector >6) sector =6;
    
    //作用时间计算
    t1 = _IQmpy(_IQsin(sector*60 - theta), Vref);
    t2 = _IQmpy(_IQsin(theta - (sector-1)*60), Vref);
    t0 = pwm_period - t1 - t2;
    
    //配置CMP寄存器
    CMPR1 = (t1 + t2/2) * PWM_PERIOD_SCALE;
    CMPR2 = t2/2 * PWM_PERIOD_SCALE;
}

这里用IQmath库做定点运算比浮点快三倍,但得注意数值范围。曾经有个兄弟没做Vref限幅,直接让IGBT放烟花,那场面真是...挺壮观的。

最后说中断优先级配置:ADC采样必须在PWM中断里同步触发,电流环执行时间要控制在50us以内,转速环可以放宽到100us。别忘了在代码里加硬件保护,过流阈值设个6000就差不多,别学我当年设8000结果烧了八颗MOS管。

调这系统就像熬火锅底料,参数火候差一点味道就变了。但当你看到电机从颤抖到丝滑旋转的那一刻——值了!

更多推荐