无线传感器网络中的连通支配集求解算法
扫描二维码
随时随地手机看文章
摘要:本文介绍了一种采用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 连接在一起
我们可以在Matlab 中修改一个参数或变量,并把修改值传递给正在运行的 DSP,从而可以实时地调 整或改变处理算法,并通过观察探针点数据来调试程序。最后把 CCSlink 和Embedded Target for C2000 DSP Platform. 相结合,可以直接由调试好的Simulink 模型生成DSP2812 的可执行代码,并加载 到DSP 目标板中,这样我们就可以在同一的Matlab 环境中完成系统算法的设计、仿真、调试、测试,并 最终在DSP2812 目标板上运行。
4. 系统调试
实验台硬件结构[14-15]如图4 所示,变频器系统用DSP 作为运算控制单元,用IPM 模块作为功率电 路交换单元,用霍尔电流传感器检测电机三相电的两相电流。DSP 控制器在对检测到的电流信号进行相应 的运算处理之后,将PI 控制算法产生的三对SVPWM 脉冲信号,作用于IPM 来驱动异步电机,通过改变 输出脉冲信号的频率来实现异步电动机的变频调速。
图4 系统整体结构框图
电机参数为:Rs=10Ω;Rr=5.6Ω;Ls =0.3119H;Lr=0.3119H;Lm = 0.297H;P = 4;J=0.001kg.m2
通过DSP 与CCS 的连接,可在Matlab 环境下对目标DSP 的存储器数据进行访问,再利用Matlab 强大的分析和可视化工具对其数据进行访问,也可以实现对工程的编译、链接、加载、运行,设置断点和 探点,最后将满意的调试结果生成的目标代码直接加载到实验台上。转速输入设定为一阶跃函数,电机带 额定负载运行,获得的动态响应曲线如下图所示。
图5 实验结果
由图5 可见,d-q 轴电压电流及磁通角响应曲线平稳,在动态过程中,在Matlab 环境下[10]的电机转矩和实际DSP 实验平台下[11-13]的转矩曲线基本一致,系统响应快,且超调量小,只需0.6S 即可 达到稳定。转速的阶跃响应如图5(d)所示,系统在电机起动时有一定的波动,但是在PI 自适应控 制器的作用下,只需0.5S 系统就可以达到稳定状态,证明速度观测器下的转速能够较好地跟踪实际 速度变化,在稳态时实际速度等于仿真速度值。
5. 结论
本文提出的Matlab 下的DSP 集成设计方法确实可行,实验证明:在此环境下可以完成对DSP 目标 板的操作,包括访问DSP 存储器和寄存器等,又可利用Matlab 的强大工具对DSP 存储器中的数据进行 分析和可视化处理,因此系统结构简单,调试工作量小,易于实现。同时,具有一定自适应能力的PI 速度 估算方法能够对电机转速做出准确的估计,实验结果验证了此系统设计方案的正确性和可行性。