导读:基于TI_DSP_F28335的永磁同步电机有感矢量控制(ABZ编码器)C代码手搓基本完成,并在硬件测试平台上验证调试完成,下面把实现过程进行梳理总结并进行局部的优化。

图1 开发环境-CCS和MATLAB
常见的电机控制的开发环境就是CCS和MATLAB来进行分步验证,协助开发,所以需要熟练使用MATLAB和CCS。
CCS工程模板的创建,一般包括:


图2 CCS工程模板的架构
工程模板的创建需要注意的点就是:1、头文件路径的配置;2、烧录方式;3、
主程序的作用是初始化系统和完成主循环,初始化主要包含DSP的时钟、中断、通用IO口的配置信息等的初始化,与DSP关联的外围芯片的初始化,控制系统参数变量的初始化等,初始化中还包括检测直流侧的母线电压并判断是否出现故障,转子初始位置处理等,这些工作准备就绪进入主循环等待中断,主程序流程图如图(3)所示。

图3 主程序结构
故障中断子程序的作用是实现对系统的保护,主要处理IGBT故障及过流、过压、缺相、欠压等破坏性故障。当系统出现故障时,为防止IGBT烧坏,应立即关闭驱动模块的电源,封锁PWM的输出信号,并对故障信息进行记录。故障中断子程序的流程图如图(4)所示。

图4 故障中断子程序的流程图
PWM中断程序是系统软件设计的核心,系统中所用的有感矢量控制策略就是在该部分实现的,PWM中断子程序流程图如图(5)所示。PWM中断子程序的主要作用是进行转子位置计算、转速指令获取、转速环控制以输出所需的电流指令、有感矢量控制策略的实现、电机定子电流的采样、过流、缺相等故障的判断、坐标变换、dq电流环控制以及输出电压指令、SVPWM调制以输出逆变器所需的驱动信号,达到电机控制的目的。

图5 PWM中断子程序流程图
注:TZ保护和故障检测部分需要重点梳理和优化。

图6 永磁同步电机有感矢量控制系统框图(模块化)
3.1 SVPWM调制


图7 SVPWM生成的马鞍波
总结:SVPWM浮点标幺化实现的重点:
(1)ePWM外设模块的底层配置;
(2)SVPWM计算函数的设计和实现;
(3)生成的ePWM比较值要和PWM波生成要匹配;
3.2 ADC电流采样和ABZ测速、位置获取



图8 电流采样和eQEP位置测算的波形变化
总结:ADC和eQEP外设模块的实现电流采样、速度和位置估算的重点:
(1)ADC外设模块的底层配置;
(2)直流偏置的计算,与模拟值的变化对应;
(3)eQEP外设模块的底层配置;
(4)速度和位置的计算处理;
3.3 坐标变换


图9 静止坐标系下的电流波形变化
总结:坐标变换实现的重点:
(1)首先要明确坐标变换的原则;
(2)位置角的选取;
3.4 PI调节器(电流环和速度环)

总结:速度环和电流环实现的重点:(1)PI调节器的类型和方式的选择;
(2)PI参数的自整定;
(3)抗积分饱和的设计;
3.5 速度规划


图10 加入速度规划(斜坡函数)的速度波形变化
总结:速度规划实现过程中的重点:
(1)速度规划方法的选择;
(2)将速度规划的额内容嵌入到速度环中;
(3)相关参数的设置;
3.6 上位机显示

总结:上位机实现过程的重点:
(1)波特率和通信方式的确定;
(2)显示的设置;
(3)
总结在上面第三章做了简单的说明,优化的部分可以简单的归纳为以下几个方面:
(1)SVPWM的调制方式,七段式和五段式;
(2)PI参数的自整定,带宽法和基于零极点对消法;
(3)矢量控制策略,最大转矩电流比控制方式;
(4)ABZ编码器测速方法的替换,MT法或者基于PLL法;
1、弱磁调速控制;
2、死区补偿;
3、无感控制;
4、初始位置辨识;
5、电机参数辨识;