基于DSP的快速控制原型系统

  • 格式:pdf
  • 大小:547.11 KB
  • 文档页数:5

收稿日期:2008210220基金项目:高等学校学科创新引智计划项目(B08015)・作者简介:方 正(1981-),男,安徽寿县人,东北大学讲师,博士・第30卷第8期2009年8月东北大学学报(自然科学版)JournalofNortheasternUniversity(NaturalScience)Vol130,No.8Aug.2009

基于DSP的快速控制原型系统

方 正,张淇淳,齐玉成(东北大学流程工业综合自动化教育部重点实验室,辽宁沈阳 110004)

摘 要:为了在实际控制系统开发中缩短控制算法的设计周期,提高控制器的可靠性,并简化在调试过程中对控制算法的修改,设计与开发了基于DSP的快速原型控制系统・该系统包括基于TIF2812DSP的硬件控制器和基于MATLAB/Simulink的软件开发环境・用户可以在Simulink环境中利用RTW功能直接从Simulink模型自动生成可执行代码,并下载到DSP控制器中进行实时控制,从而降低了开发人员繁重的编程任务,提高了控制系统开发的效率・通过带有神经网络补偿和前馈补偿的智能PD控制器的实时控制实验,验证了系统的有效性・关 键 词:快速控制原型;TIDSP;Simulink;自动代码生成;PD控制器中图分类号:TP273.5 文献标识码:A 文章编号:100523026(2009)0821069205

ARapidControlPrototypingSystemBasedonDSP

FANGZheng,ZHANGQi2chun,QIYu2cheng(KeyLaboratoryofIntegratedAutomationofProcessIndustry,MinistryofEducation,NortheasternUniversity,Shenyang110004,China.Correspondent:FANGZheng,E2mail:fangzhneg@mail.neu.edu.cn)

Abstract:Toshortentheperiodsrequiredfordevelopingcontrolalgorithms,improvethereliabilityofcontrollersandsimplifythemodificationofcontrolalgorithms,aDSP2basedrapidcontrolprototyping(RCP)systemwasdesignedanddeveloped.TheRCPsystemiscomposedofahardwarecontrollerwithTIF2812DSPembeddedinitandanintegratedsoftwaredevelopmentenvironmentprovidedbyMATLAB/Simulink.ThroughtheReal2TimeWorkshopfunctionofMATLAB,userscandirectlygenerateexecutablecodesfromSimulinkmodelanddownloadthemintotheDSPcontrollerforreal2timecontrol,thusreducingdevelopers’heavyprogrammingtasksandenhancingtheefficiencyofR&D.Areal2timecontrolexperimentwasdonefortheintelligentPDcontrollerwithneuralnetworkandfeedforwardcompensationtodemonstratethevalidityofthesystem.Keywords:rapidcontrolprototyping;TIDSP;Simulink;automaticcodegeneration;PDcontroller

当今,开发工具对于产品快速推向市场起着

重要作用・在传统的开发方法中,为了建立一个实

时控制系统,设计者通常需要编写大量的代码,然

后还需要在代码中调节控制器参数来进行控制器

调试・这样,开发人员不仅要拥有丰富的代码编写

经验以及花费很多精力编写代码,而且所设计的

系统的可靠性也很难保证・此外,大量的代码也为

后期的系统维护和调试带来很多困难・快速控制

原型[1](rapidcontrolprototyping,RCP)是解决这一问题的有效方法,特别是对于复杂控制算法的设计与开发・目前,快速控制原型思想对于工业界

和教育界中广泛应用的控制系统和机器人都产生

了巨大的影响・快速控制原型影响工业界的重要

原因是它可以节省在不同设备上开发控制算法的

时间,从而可以减少30%~40%的开发费用・RCP释放了在控制执行时的细节问题,如控制算法在计算机上的C代码编程实现等,从而加速了

控制策略的实现・目前国外有一些公司提供了RCP系统的软

件和硬件解决方案・如VisSim(VisualSolutionsInc.),MATRIXx(NationalInstruments),以及

MATLAB(MathWorksInc.)等提供了图形化的编程环境来进行控制器的设计・其中,MATLAB/

Simulink是知名度最大和最为流行的控制系统设计与仿真软件・MATLAB的扩展工具RTW提供了从Simulink模型到C语言代码的自动生成功

能・因此,有一些研究者[2-4]利用MATLAB/

Simulink和商业化的硬件系统进行快速原型系统的研发・Strobel[2]提出了基于dSPACE和

Simulink的汽车系统的温度控制快速原型控制系统・dSPACE控制器虽然功能较强大,但是价格极

其昂贵,不适合一般研究机构使用・Hong[4]等描

述了利用MATLAB和TI的TMS320C30评估板

进行数字信号处理的快速原型系统・但是这些系

统都不适合实时控制,并且由于使用的是评估板,因此硬件资源非常有限・在MATLAB所支持的

嵌入式对象中,TI的C2000系统是最适合伺服系

统实时控制的・MATLAB的TargetforTI

C2000[5]提供了在TMS320F2812和

TMS320F2407eZdsp开发板上直接利用Simulink进行编程和实时控制的功能,但是TIeZdsp开发

板的价格较昂贵,且硬件接口资源有限,无法实现

如多轴运动控制、高精度采样以及无线控制等・为了解决以上问题,本文提出了基于TI

TMS320F2812DSP的快速控制原型系统方案,并设计与开发了相应的软硬件系统・

1 总体设计思想

快速原型控制系统设计的要点在于把握好设

计需求,从快速性、有效性的角度制定总体方案,然后选择或设计合适的软硬件平台・软件系统要

以提高系统开发效率为目的,具有实时性高、可靠

性强、易于使用和维护等特点・本文所设计的快速

原型控制系统主要面向科研与教学,因此不仅要

考虑系统的性能,也要考虑设备成本,以获得较高

的系统性价比・针对以上需求,提出了一种基于DSP的快速

原型控制系统的低成本设计方案,它提供了完整

的硬件接口和基于MATLAB/Simulink的高效的

软件开发平台・系统的总体结构如图1所示・

图1 基于DSP的快速控制原型系统总体结构Fig.1 ArchitectureofrapidcontrolprototypingsystembasedonDSP

2 基于DSP的硬件系统设计

在硬件系统设计中,核心处理器必须具有很

高的运算速度来完成复杂算法运算并且支持自动

代码生成功能・

TMS320F2812是满足以上需求的

很好选择[6],因此本文采用该芯片来开发硬件控制器系统・硬件系统结构如图2所示・虽然F2812DSP的硬件资源较丰富,但是只

利用F2812DSP自带的基本资源还不能满足常用

控制系统的要求・例如:F2812DSP只提供了2个

编码器输入,这样只能同时采集两路增量式编码

器脉冲;自带的AD转换器转换精度较差,且稳定

性不高,不适合高精度的控制;没有提供无线通讯

和网络通讯接口等・因此,本文在F2812DSP芯片

的基础上对硬件系统进行了功能扩展,增加了2路编码器信号输入、11路12位高精度AD输入图2 硬件系统结构图Fig.2 Architectureofhardwaresystem0701东北大学学报(自然科学版) 第30卷和1个无线通讯接口,以及4路直流电机驱动接

口等,使得该系统可以满足大部分机电一体化控

制、机器人控制以及工业控制系统的硬件需求・本

系统的硬件资源较丰富,但是成本却远远低于商

业化的快速原型控制系统,所以非常适合大学和

研究机构的实验系统使用・

3 基于MATLAB的软件系统设计

系统软件平台是基于MATLAB/Simulink环

境开发的,主要由用户界面、驱动接口模块和控制

算法库模块组成・用户界面模块主要是为控制系

统开发者提供一个开发环境,并显示硬件系统的

Simulink驱动接口以及提供的算法库等・在用户

界面环境中,开发者可以利用Simulink工具箱来

设计控制器,并进行仿真・如果仿真结果满意,则

可以利用MATLAB的RTW功能把Simulink算

法生成CCS环境下的C代码,并进行编译,最后

通过仿真器把可执行代码程序下载到硬件系统中

运行・这样,整个软件系统集被控对象建模、控制

器设计与仿真以及实时控制为一体,可以极大地

提高实时控制系统的开发效率・驱动接口模块的主要功能是提供Simulink对硬件系统的支持・由于MATLAB的Targetfor

TIC2000只提供了F2812DSP片上接口的驱动,对于扩展模块没有提供Simulink接口模块,所以

必须自行开发扩展模块的硬件接口库・Simulink驱动模块库的开发使用了MATLAB中的S函

数[7]及TLC文件两种关键技术・TLC文件的一个非常重要的功能就是能够内嵌(Inline)S函数,从而用户可以将自己的算法、设备驱动和用户模

型增加到Simulink模型代码中・图3给出了

Simulink模块开发流程的示意图・控制算法库的主要功能是提供一些常用的控

制算法模块,用户可以通过更换不同算法模块来

验证不同算法在硬件系统上的实际控制效果・由

于F2812是32位定点处理器,因此在开发过程中

为了提高处理性能,采用了MATLAB的QImath库函数・所开发的硬件驱动模块包括:AD模块、

PWM模块、编码器模块、DI/DO(DigitalIO)模块、串口通讯模块和无线通讯模块等・控制算法模

块包括:离散PID模块、LQR模块、最优PID整

定模块、模型参考自适应控制模块等・

图3 Simulink模块开发流程图Fig.3 DevelopingflowchartofSimulinkmodule

4 实验与分析

为了验证所开发系统的综合性能,本文利用

Quanser(http:∥www.quanser.com.)公司的

SRV02被控对象设计了智能PD控制实验,用以验证利用该系统可以快速进行复杂控制算法的设计与精确的实时控制・为了实现高精度的跟踪控制,本文设计了带有前馈补偿器和RBF神经网络补偿器的智能PD控制器・控制器结构如图4所示・SRV02伺服控制系统的数学模型可以表示如下:

A(z-1)y(k+1)=B(z-1)u(k)+Δ(󰁦x)・(1)式中:u(k),y(k)分别为系统的输入输出;Δ(󰁦x)为系统的非线性项;A(z-1)=1+a1z-1+