摘要:本文介绍了一种采用MATLAB及CCS对异步电机无速度传感器交流调速系统进行调试的方法。应用MATLAB语言强大的分析能力和绘图功能,与DSP高速运算的优势相结合,在自行搭建的无传感器矢量控制系统平台进行了调速实验,实验结果表明,采用Matlab调试及直接目标代码生成的方法能避免传统计算机模拟的复杂编程过程,减少了工作量,有助于提高系统的综合效率, 且能够保持系统良好的动静态调速控制性能。
1. 引言
Matlab 是一个强大的分析、计算和可视化工具,特别适用于控制系统的分析和模拟,但由于其依赖 的平台是计算机及其CPU,因而由于CPU 系统功耗的原因,使得MATLAB 程序的执行速度相对于高速信 号的输入/输出显得很慢,远不能满足实时信号处理的要求,而DSP 就其软件的编程能力而言,与单片机 及计算机的CPU 的编程设计方法有类似之处,但DSP 比单片机的运算速度快得多,又比CPU 的功耗及 设计复杂度低得多,但是其分析和可视化能力远不及Matlab,开发过程比较复杂。不过,目前有一种新 的技术,可以将DSP 和Matlab 两者密切结合起来,充分利用两者的特长,有力的促进控制系统的实现。
伺服驱动装置是印刷机无轴传动[3]控制系统中重要的组成部分,国内大部分产品是采用带速度传感器 的专用变频器调速,控制精度不高[4],而国外的产品价格又非常昂贵,由此,本文自行开发了一套基于PI 调节器的无速度传感器矢量控制系统,并且在自行搭建的实验平台进行了调速实验,在实验过程中,运用 了Matlab 与DSP 混合编程的调试方法,实验结果表明,采用Matlab 调试及直接目标代码生成的方法能 避免传统计算机模拟的复杂编程过程,减少了工作量,有助于提高系统的综合效率, 且能够保持系统良好 的动静态调速控制性能,很好地满足了印刷机无轴传动控制系统的要求。
2. 无速度传感器矢量控制系统介绍
由于采用高性能的矢量控制方法且缺省了速度传感器,那么如何准确的获取转速信息,且保持伺服系 统较高的控制精度,满足实时控制的要求,也就成为本课题研究的重要方向。在这里我们采用PI 自适应控 制方法 [9] ,利用在同步轴系中q 轴电流的误差信号实现对电机速度的估算 [9-10] ,整体结构如图1 所示。 角速度给定值ω*与推算角速度反馈值ω 的误差送入速度调节器,速度调节器的输出即为电磁转矩的给定 值Te*,由iq1 = LrTe/PmLmФd2 可以计算出电流的q 轴分量给定值iq1*,当q 轴电流没达到设定值时,可由 Rs 产生的q 轴电压和ω1σLs 产生的d 轴电压来调节。因此,iq1*与定子电流q 轴分量的实际值iq1 的误差 信号送入PI 调节器调节器的输出 uq1’为定子电流q 轴分量误差引起定子电压q 轴分量的调节量。
图1 算法原理结构框图
其中速度推算模块以不含有真实转速的转子磁链方程以及坐标变换方程作为参考模型,以含有待辨识 转速的PI 自适应律为可调模型,以定子电流转矩分量作为比较输出量,采用比例积分自适应律进行速度估 计,经过PI 调节后,输出量就是待求的电机转速。这种方法计算量小,结构简单,容易实现。
3. Matlab 与DSP 混合编程的调试方法
在传统的开发过程中,总是先用MATLAB 进行仿真。当仿真结果满意时再把算法修改成C/C++语 言, 再在硬件的DSP 目标板上实现。发现偏差,需要再用Matlab 对算法进行修正,再在DSP 上编写修 正的算法程序。如此过程反复进行,在DSP 的开发工具、Matlab 工作空间之间来回多次切换,非常不 便,当系统比较复杂时,还需要分步验证各个中间结果和最终结果。
如果能够把Matlab 和DSP 集成开发 环境CCS 及目标DSP 连接起来,利用Matlab 的分析能力来调试DSP 代码,那么操作TI DSP 的存储器 或者寄存器就可以像操作Matlab 变量一样简单。工具包Matlab Link for CCS Development Tools 的 使用,可以使上述问题迎刃而解,利用此工具箱,在Matlab 环境下,就可以完成对CCS 的操作,即整 个目标DSP 对于Matlab 像透明的一样,所有操作只利用Matlab 命令和对象来实现,简单、方便、 快 捷。以下用调试上述无速度传感器矢量控制系统的例子来说明Matlab-DSP 集成开发环境在控制系统中的 应用。 在Matlab 命令窗口中输入Simulink, 打开Simulink 模块窗,建立异步电动机矢量控制变频调速系 统的模型[12],如图2 所示,结构简单明了,全部实现模块化,容易扩展,可以根据实际需要,改变每一模 块的参数。
图2 算法原理结构框图
接下来设置仿真参数和Real-Time Workshop 选项,编译仿真模型。并利用Matlab Link for CCS Development Tools 建立与目标DSP 的连接。利用CCSLink 工具 ,可以把数据从CCS 中传送到 Matlab 工作空间中,也可以把Matlab 中的数据传送到CCS 中,而且通过RTDX(实时数据交换技 术),可以在Matlab 和实时运行的DSP 硬件之间建立连接,在它们之间实时传送数据而不使正在DSP 上 运行的程序停止,这项功能可以在程序运行期间为我们提供一个观察DSP 实时运行状态的窗口,大大简化 了调试工作。Matlab、CCSlink、CCS 和硬件目标DSP 的关系如图3 所示。
图3 CCSlink 把Matlab 和CCS 及目标DSP 连接在一起