基于MATLAB的DSP快速控制原型开发系统
- 格式:doc
- 大小:2.70 MB
- 文档页数:26
dSPACE*** 基于Matlab/Simulink平台***实时快速原型及硬件在回路仿真的一体化解决途径1概述在当今社会,市场对产品的需求呈现多样性、快速性的趋势,这就使企业的新品开发面临着多样性需求与快速开发之间的矛盾;同时对控制系统鲁棒性及可靠性的要求也日益增加;另外并行工程(即:设计、实现、测试和生产准备同时进行)被提上了日程。
DSPACE 的产品为并行工程的实现创造了一个良好的环境。
对于进行控制算法研究的工程师而言,最头疼的莫过于没有一个方便而又快捷的途径,可以将他们用控制系统设计软件 (如MATLAB/Simulink) 开发的控制算法在一个实时的硬件平台上实现,以便观察与实际的控制对象相连时,控制算法的性能;而且,如果控制算法不理想,还能够很快地进行反复设计、反复试验直到找到理想的控制方案。
对一些大型的科研应用项目,如果完全遵循过去的开发过程,由于开发过程中存在着需求更改,软件代码甚至代码运行硬件环境不可靠(如:新设计制造的控制单元存在缺陷)等问题,最终导致项目周期长、费用高,缺乏必要的可靠性,甚至还可能导致项目以失败告终。
这就要求在开发的初期阶段就引入各种试验手段,并有可靠性高的实时软/硬件环境做支持。
另外,当产品型控制器生产出来后,测试工程师又将面临一个严重的问题。
由于并行工程的需求,控制对象可能还处于研制阶段,或者控制对象很难得到,用什么方法才能在早期独立地完成对控制器的测试呢?我们将这些问题概括为两种:快速控制原型(RCP)和硬件在回路仿真(HILS)。
d SPACE 提供了这两方面应用的统一平台。
2Dspace介绍dSPACE实时仿真系统是由dSPACE公司开发的一套基于MA TLAB/Simulink的控制系统开发及测试的工作平台,实现了和MATLAB/Simulink的完全无缝连接。
dSPACE实时系统拥有具有高速计算能力的硬件系统,包括处理器、I/O等,还拥有方便易用的实现代码生成/下载和试验/调试的软件环境。
微纳科技cSPACE快速控制原型开发系统(基于MATLAB的DSP快速控制原型开发系统)一.产品简介 (1)二.系统组成 (1)三.硬件资源 (2)四.应用案例 (3)4.1.直线电机驱动的二级倒立摆的控制 (3)4.2.磁悬浮球系统的控制 (4)4.3.三容水箱过程控制实验系统的控制 (5)4.4.采用磁流变液阻尼器的1/4车辆振动实验系统的控制 (5)一.产品简介快速控制原型(Rapid Controller Prototyping,RCP)和硬件在回路实时仿真(Hardware-in-Loop,HIL)是目前国际上控制系统设计的常用方法,它把计算机仿真(纯软件)和实时控制(硬件在回路)有机结合起来,用户可把仿真结果直接用于实时控制,极大提高控制系统的设计效率。
目前,这一系统或设计方法已经在高校和实验室得到普遍采用,最典型的例子为德国的dSPACE快速控制系统原型设计系统。
dSPACE卡是一个基于MATLAB/Simulink开发环境的自动代码生成工具,拥有快速控制原型开发和硬件在环仿真功能。
应用这种方法,可使电控单元系统及机械控制系统的开发和测试简捷和高效。
因此,dSPACE已经成为运动控制和过程控制开发的好工具,受到了全球用户的欢迎。
本公司研制的cSPACE快速控制原型和硬件在回路开发系统(以下简称cSPACE系统)基于TMS320F2812DSP开发,与dSPACE 公司的DS1104卡相当,拥有AD、DA、IO、Encoder和快速控制原型开发、硬件在环仿真功能,通过Matlab/Simulink设计好控制算法,将输入、输出接口替换为公司的cSPACE模块,编译整个模块就能自动生成DSP代码,在控制卡上运行后就能生成相应的控制信号,从而方便地实现对被控对象的控制。
运行过程中通过cSPACE提供的MA TLAB 接口模块,可实时修改控制参数,并以图形方式实时显示控制结果;而且DSP采集的数据可以保存到磁盘,研究人员可利用MATLAB对这些数据进行离线处理,下图为利用cSPACE工具的开发流程图。
收稿日期:2008-10-20基金项目:高等学校学科创新引智计划项目(B08015)#作者简介:方 正(1981-),男,安徽寿县人,东北大学讲师,博士#第30卷第8期2009年8月东北大学学报(自然科学版)Journal of Northeastern U niversity(Natural Science)Vol 130,No.8Aug.2009基于DSP 的快速控制原型系统方 正,张淇淳,齐玉成(东北大学流程工业综合自动化教育部重点实验室,辽宁沈阳 110004)摘 要:为了在实际控制系统开发中缩短控制算法的设计周期,提高控制器的可靠性,并简化在调试过程中对控制算法的修改,设计与开发了基于DSP 的快速原型控制系统#该系统包括基于T I F 2812DSP 的硬件控制器和基于M AT L AB/Simulink 的软件开发环境#用户可以在Simulink 环境中利用RT W 功能直接从Simulink 模型自动生成可执行代码,并下载到DSP 控制器中进行实时控制,从而降低了开发人员繁重的编程任务,提高了控制系统开发的效率#通过带有神经网络补偿和前馈补偿的智能P D 控制器的实时控制实验,验证了系统的有效性#关 键 词:快速控制原型;T I DSP ;Simulink;自动代码生成;PD 控制器中图分类号:T P 273.5 文献标识码:A 文章编号:1005-3026(2009)08-1069-05A Rapid Control Prototyping System Based on DSPFANG Zheng ,Z H AN G Qi -chun,QI Yu -cheng(Key L aboratory of Integrated Automation of Pr ocess Industry,M inistry of Education,Northeaster n U niv ersity,Shenyang 110004,China.Correspo ndent:FA NG Z heng ,E -mail:fang zhneg @)Abstract :To shorten the periods required for developing control algorithms,im prove the reliability of controllers and simplify the modification of control algorithms,a DSP -based rapid control prototyping (RCP)system w as designed and developed.The RCP system is composed of a hardware controller w ith T I F2812DSP embedded in it and an integrated software development environment provided by MAT LAB/Simulink.T hrough the Rea-l T ime Workshop function ofM ATLAB,users can directly g enerate executable codes from Sim ulink model and dow nload them into the DSP controller for rea-l time control,thus reducing developers .heavy programming tasksand enhancing the efficiency of R&D.A rea-l time control experiment w as done for the intelligentPD controller w ith neural netw ork and feedforw ard compensation to demonstrate the validity of the system.Key words:rapid control prototy ping;T I DSP;Simulink;automatic code generation;PD controller当今,开发工具对于产品快速推向市场起着重要作用#在传统的开发方法中,为了建立一个实时控制系统,设计者通常需要编写大量的代码,然后还需要在代码中调节控制器参数来进行控制器调试#这样,开发人员不仅要拥有丰富的代码编写经验以及花费很多精力编写代码,而且所设计的系统的可靠性也很难保证#此外,大量的代码也为后期的系统维护和调试带来很多困难#快速控制原型[1](rapid control prototy ping,RCP)是解决这一问题的有效方法,特别是对于复杂控制算法的设计与开发#目前,快速控制原型思想对于工业界和教育界中广泛应用的控制系统和机器人都产生了巨大的影响#快速控制原型影响工业界的重要原因是它可以节省在不同设备上开发控制算法的时间,从而可以减少30%~40%的开发费用#RCP 释放了在控制执行时的细节问题,如控制算法在计算机上的C 代码编程实现等,从而加速了控制策略的实现#目前国外有一些公司提供了RCP 系统的软件和硬件解决方案#如VisSim (Visual SolutionsInc.),MATRIXx(National Instruments),以及M ATLAB(M athWorks Inc.)等提供了图形化的编程环境来进行控制器的设计#其中,MATLAB/ Simulink是知名度最大和最为流行的控制系统设计与仿真软件#MAT LAB的扩展工具RT W提供了从Simulink模型到C语言代码的自动生成功能#因此,有一些研究者[2-4]利用MATLAB/ Simulink和商业化的硬件系统进行快速原型系统的研发#Strobel[2]提出了基于dSPACE和Simulink的汽车系统的温度控制快速原型控制系统#dSPACE控制器虽然功能较强大,但是价格极其昂贵,不适合一般研究机构使用#Hong[4]等描述了利用MATLAB和TI的TMS320C30评估板进行数字信号处理的快速原型系统#但是这些系统都不适合实时控制,并且由于使用的是评估板,因此硬件资源非常有限#在MATLAB所支持的嵌入式对象中,TI的C2000系统是最适合伺服系统实时控制的#MATLAB的T arget for T I C2000[5]提供了在T MS320F2812和T MS320F2407eZdsp开发板上直接利用Simulink 进行编程和实时控制的功能,但是TI eZdsp开发板的价格较昂贵,且硬件接口资源有限,无法实现如多轴运动控制、高精度采样以及无线控制等#为了解决以上问题,本文提出了基于T I TMS320F2812DSP的快速控制原型系统方案,并设计与开发了相应的软硬件系统#1总体设计思想快速原型控制系统设计的要点在于把握好设计需求,从快速性、有效性的角度制定总体方案,然后选择或设计合适的软硬件平台#软件系统要以提高系统开发效率为目的,具有实时性高、可靠性强、易于使用和维护等特点#本文所设计的快速原型控制系统主要面向科研与教学,因此不仅要考虑系统的性能,也要考虑设备成本,以获得较高的系统性价比#针对以上需求,提出了一种基于DSP的快速原型控制系统的低成本设计方案,它提供了完整的硬件接口和基于M ATLAB/Simulink的高效的软件开发平台#系统的总体结构如图1所示#图1基于D SP的快速控制原型系统总体结构Fig.1Architecture of rapid control prototyping system based on DSP2基于DSP的硬件系统设计在硬件系统设计中,核心处理器必须具有很高的运算速度来完成复杂算法运算并且支持自动代码生成功能#TMS320F2812是满足以上需求的很好选择[6],因此本文采用该芯片来开发硬件控制器系统#硬件系统结构如图2所示#虽然F2812DSP的硬件资源较丰富,但是只利用F2812DSP自带的基本资源还不能满足常用控制系统的要求#例如:F2812DSP只提供了2个编码器输入,这样只能同时采集两路增量式编码器脉冲;自带的AD转换器转换精度较差,且稳定性不高,不适合高精度的控制;没有提供无线通讯和网络通讯接口等#因此,本文在F2812DSP芯片的基础上对硬件系统进行了功能扩展,增加了2路编码器信号输入、11路12位高精度AD输入图2硬件系统结构图Fig.2Architecture of hardware system 1070东北大学学报(自然科学版)第30卷和1个无线通讯接口,以及4路直流电机驱动接口等,使得该系统可以满足大部分机电一体化控制、机器人控制以及工业控制系统的硬件需求#本系统的硬件资源较丰富,但是成本却远远低于商业化的快速原型控制系统,所以非常适合大学和研究机构的实验系统使用#3基于MAT LAB的软件系统设计系统软件平台是基于MAT LAB/Simulink环境开发的,主要由用户界面、驱动接口模块和控制算法库模块组成#用户界面模块主要是为控制系统开发者提供一个开发环境,并显示硬件系统的Simulink驱动接口以及提供的算法库等#在用户界面环境中,开发者可以利用Simulink工具箱来设计控制器,并进行仿真#如果仿真结果满意,则可以利用MATLAB的RTW功能把Simulink算法生成CCS环境下的C代码,并进行编译,最后通过仿真器把可执行代码程序下载到硬件系统中运行#这样,整个软件系统集被控对象建模、控制器设计与仿真以及实时控制为一体,可以极大地提高实时控制系统的开发效率#驱动接口模块的主要功能是提供Simulink 对硬件系统的支持#由于MATLAB的Target for TI C2000只提供了F2812DSP片上接口的驱动,对于扩展模块没有提供Simulink接口模块,所以必须自行开发扩展模块的硬件接口库#Simulink 驱动模块库的开发使用了MAT LAB中的S函数[7]及TLC文件两种关键技术#TLC文件的一个非常重要的功能就是能够内嵌(Inline)S函数,从而用户可以将自己的算法、设备驱动和用户模型增加到Simulink模型代码中#图3给出了Simulink模块开发流程的示意图#控制算法库的主要功能是提供一些常用的控制算法模块,用户可以通过更换不同算法模块来验证不同算法在硬件系统上的实际控制效果#由于F2812是32位定点处理器,因此在开发过程中为了提高处理性能,采用了MATLAB的QImath 库函数#所开发的硬件驱动模块包括:AD模块、PWM模块、编码器模块、DI/DO(Digital IO)模块、串口通讯模块和无线通讯模块等#控制算法模块包括:离散PID模块、LQR模块、最优PID整定模块、模型参考自适应控制模块等#图3Sim ul ink模块开发流程图Fig.3D eveloping flowchart of Si m uli nk module4实验与分析为了验证所开发系统的综合性能,本文利用Quanser(http:M w .)公司的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+a2z-2;B(z-1)=b0+b1z-1;b0,b1,a1,a2为系统未知参数;x=[y(k),y(k-1),u(k),u(k-1)]T#设计智能PD控制器为H(z-1)u(k)=K P e(k)+K D[e(k)-e(k-1)]+A(z-1)H(z-1)r(k+1)/B(z-1)-K(z-1)u$(k)#(2)式中:K P和K D分别是PD控制器的比例和微分系数;e(k)=r(k)-y(k);H(z-1)=1+h1z-11071第8期方正等:基于DSP的快速控制原型系统为滤波器;h1是待定系数;u$(k)是非线性项补偿#在k时刻,非线性项$(x(k))未知,可采用RBF神经网络逼近非线性项$( x(k)),构造神经网络估计器:u$(k)=W^(k)T S( x(k))#(3)式中:W^(k)I R l是权值向量,l为神经网络的隐层数;x(k)为神经网络的输入向量;S(x(k))= [s1( x(k)),,,s l( x(k))]T,s i( x(k))为高斯函数,i=1,2,,,l#神经网络估计误差为E(k)=$^(k)-$( x(k))#(4)采用文献[8]中的神经网络权值修正函数:W^(k)=W^(k-1)-#S(k)E(k)#式中#=C I,且C是正数#将非线性项的神经网络估计器式(3)代入式(2),可以得到智能PD控制器:H(z-1)u(k)=K P e(k)+K D[e(k)-e(k-1)]+A(z-1)H(z-1)r(k+1)/B(z-1)-K(z-1)$^(k)#(5)图4智能PD控制器结构Fig.4Intelligent PD controller实验中,选择采样周期T0=01001s,给定信号周期为4s、幅值为100b的正弦信号#经过参数辨识得到:A(z-1)=1-11966z-1+01966z-2,B(z-1)=3.015@10-5+2.98@10-5z-1#采用极点配置方法[9],最终得到PD参数分别为K P=3976,K D=74#神经网络的隐层数l=11,高斯函数中心点平均分布,高斯函数宽度为4,输入信号为x(k)=[y(k),y(k-1),u(k),u(k-1)]T,输出信号为$^(k),初始权值W^(0)=0#假定权值的上下限为?015#选择神经网络的学习率为C=011#在Simulink中完成控制器设计后,直接点击Simulink的编译按钮,Simulink模型将被自动转化为可执行程序,并下载到快速原型控制器上,快速地实现实时控制#图5分别给出了利用PD,PD加神经网络补偿和PD加神经网络补偿及前馈补偿的控制误差曲线#图5不同控制器的误差曲线Fig.5Error cu r ves of the different controllers(a))P D控制;(b))PD加神经网络补偿控制;(c))P D加神经网络补偿及前馈补偿控制#由实时控制曲线可以看出:PD控制器加上神经网络补偿后,系统由于摩擦力突变而产生的非线性已经通过神经网络得到补偿;在非线性项得到补偿后,再增加前馈补偿器,则系统线性部分的动态性能得到了显著提高#通过以上实验分析可以看出,利用此快速原型控制系统,用户可以在MATLAB/Simulink环境下进行复杂控制算法的设计,并直接进行实时1072东北大学学报(自然科学版)第30卷控制#实验结果表明,控制器的实时性能和控制精度较高,能满足大部分控制系统需求#5结语提出了基于DSP的快速控制原型系统,设计与开发了相应的软硬件系统#通过智能PD控制器的实时控制实验,验证了系统的有效性#本文所提出的快速控制原型系统由于其控制性能优越且成本低,在控制实验系统中有着非常广泛的应用前景#参考文献:[1]Zhao Y,Cong D C,Han J W.An integrated approach for therealization of the rea-l time control in electro-hydraulic servo system[J].Ap plied M ec hanics and M aterials,2008,10/11/ 12(1):513-517.[2]Strobel M.Rapid control prototyping of automatic climatecontrol s ystems[J].Ad vanced M icrosystems f or Au tomotiv eA pplications,2003,2(3):387-407.[3]Rebeschiess S.M IRCOS)microcontroller-based real timecontrol system toolbox for use w ith M atlab/S i mulink[C]MProc IEEE Int Sym p Computer Aided Control SystemDesign.Haw aii:IEEE Press,1999:267-272.[4]Hong K H,Gan W S,Chong Y K,et al.An integrateden vironment for rapi d prototypi ng of DS P algorithms using M atlab and T exas instrum ents.T M S320C30[J].M icr oprocessor s and M icrosystems,2000,24(7):349-363.[5]Duma R,Dobra P.Rapid prototyping of control systems usingembedded target for T I C2000DS P[C]M M editerranean Conference on Control and Automation.Athens:IE EE Press, 2007:1-5.[6]Li W M,Xu G Q,Hang T,et al.Design of vehicle controlunit based on DSP[C]M Proceedings of the IE EE International Conference on Automation and Logistics.New York:IEEE,2007:1597-1601.[7]M athw orks Inc.Rea-l time w orkshop)user.s guide[M].Natic:M athw orks Inc,2000:242-259.[8]Ge S S,Zhang J,Lee T H.Adaptive M NN control for a classof non-affine NARM AX systems w i th disturbances[J].Systems&Con trol L etters,2004,53(1):1-12.[9]苏迪前,饶立昌,柴天佑#自适应控制[M]#沈阳:东北大学出版社,1994:81-84#(Su D-i qi an,Rao L-i chang,Chai Tian-you.Adaptive control [M].Sh enyang:Northeastern University Press,1994:81-84.)(上接第1068页)[6]M ontestruque L A,Antsaklis P J.State and output feedbackcontrol in mode-l based networked control s ystems[C]MProceedings of the41st Conference on Decision and Control.Las Vegas:IEEE,2002:1620-1625.[7]邱占芝,张庆灵#一类不确定时延状态反馈网络化系统鲁棒稳定性[J]#东北大学学报:自然科学版,2006,27(2):131-133#(Qi u Zhan-zhi,Zhang Qing-li ng.Robust stabili ty of a classof status feedback networked control systems w i th uncertai ntime-del ay[J].Journal of Northeaster n Univer sity:Natur al Science,2006,27(2):131-133.)[8]M ontestruque L A,Antsaklis P J.On the mode-l basedcontrol of networked systems[J].A utomatica,2003,39(10):1837-1843.[9]M u S M,Chu T G,Wang L.An improved mode-l basedcontrol scheme for netw orked s ystems[C]M2004IE EEInternational Conference on Systems,M an,and Cybernetics.Piscataw ay:IEEE,2004:6131-6136.[10]Hao F,Chu T G,Huang L,et al.No-fragile controllers ofpeak gain minimization for uncertain sys tems via LM Iapproach[J].Dynamics of Continuous,Discrete andI mpu lsiv e S yste ms:S eries B,2003,10(5):681-693.[11]王松桂,吴密霞,贾忠贞#矩阵不等式[M]#北京:科学出版社,2006:55-56#(Wang Song-gui,Wu M-i xia,Jia Zhong-zhen.M atrixinequality[M].Beijing:S cience Press,2006:55-56.)1073第8期方正等:基于DSP的快速控制原型系统。
微纳科技cSPACE快速控制原型开发系统(基于MATLAB的DSP快速控制原型开发系统)一.产品简介 (1)二.系统组成 (2)三.硬件资源 (4)四.使用案例 (20)4.1.直线电机驱动的二级倒立摆的控制 (20)4.2.磁悬浮球系统的控制 (22)4.3.三容水箱过程控制实验系统的控制 (23)4.4.采用磁流变液阻尼器的1/4车辆振动实验系统的控制 (24)一.产品简介快速控制原型(Rapid Controller Prototyping,RCP)和硬件在回路实时仿真(Hardware-in-Loop,HIL)是目前国际上控制系统设计的常用方法,它把计算机仿真(纯软件)和实时控制(硬件在回路)有机结合起来,用户可把仿真结果直接用于实时控制,极大提高控制系统的设计效率。
目前,这一系统或设计方法已经在高校和实验室得到普遍采用,最典型的例子为德国的dSPACE快速控制系统原型设计系统。
dSPACE卡是一个基于MATLAB/Simulink开发环境的自动代码生成工具,拥有快速控制原型开发和硬件在环仿真功能。
使用这种方法,可使电控单元系统及机械控制系统的开发和测试简捷和高效。
因此,dSPACE已经成为运动控制和过程控制开发的好工具,受到了全球用户的欢迎。
本公司研制的cSPACE快速控制原型和硬件在回路开发系统(以下简称cSPACE系统)基于TMS320F2812DSP开发,和dSPACE 公司的DS1104卡相当,拥有AD、DA、IO、Encoder和快速控制原型开发、硬件在环仿真功能,通过Matlab/Simulink设计好控制算法,将输入、输出接口替换为公司的cSPACE 模块,编译整个模块就能自动生成DSP代码,在控制卡上运行后就能生成相应的控制信号,从而方便地实现对被控对象的控制。
运行过程中通过cSPACE提供的MATLAB接口模块,可实时修改控制参数,并以图形方式实时显示控制结果;而且DSP采集的数据可以保存到磁盘,研究人员可利用MATLAB对这些数据进行离线处理,下图为利用cSPACE工具的开发流程图。
图1 cSPACE开发流程图二.系统组成微纳科技cSPACE快速控制原型和硬件在回路开发系统根据国际上控制系统设计常用的快速控制原型和硬件在回路原理进行开发,硬件功能和德国dSPACE 公司的DS1104卡相当,拥有dSPACE- DS1104所具备的大部分接口功能和快速控制原型开发、硬件在回路仿真技术,具体包括以下三大部分:一、cSPACE系统的控制卡采用高性能的TMS320F2812DSP开发,并且外扩高性能的AD、DA和正交编码信号处理模块,具有丰富的硬件接口,可以同时控制多台电机。
图2 cSPACE的DSP控制卡二、cSPACE系统的开发环境是基于广大科研人员所熟悉的MATLAB/Simulink进行开发,方便用户使用,同时能充分利用MATLAB强大的科学计算、信号分析处理、图形处理功能。
图3 cSPACE的MATLAB开发环境三、cSPACE系统的控制界面采用MATLAB/Simulink进行开发,能在线修改10个变量和实时显示4个变量,自动存储数据,结构简单,方便用户使用。
图4 cSPACE的监控界面三.硬件资源cSPACE的硬件资源如下所示:●主处理器为TMS320F2812 DSP,处理能力为150MIPS●16通道的12bit AD,转换时间为250ns,输入范围为(0,3V)●6通道的16bit AD,转换时间为3.1us,输入范围为(-10,10V)或(-5,5V)●4通道16bit的DA,建立时间为10us,输出范围为(-10,+10V)●3通道独立的PWM信号,分辨率为16位,1通道有两路输出,共6路输出,这6路输出也可以作为输出的IO引脚使用●2路输入IO引脚●4通道QEP单元正交编码信号处理模块●1路RS232串口●1路增强型CAN接口●128k×16bit 的片内flash 和18k×16bit 的SARAM●三个32 bit 的系统定时器,4个16 bit通用定时器用户额外可扩充的功能:●5通道PWM信号,分辨率为16位●1路RS232串口●多达20个可单独编程的复用口,亦可用作通用I/O 口●三个外部中断口,并有外围中断扩展模块,可支持多达45 个外围中断我公司cSPACE控制系统和国外同类系统主要性能对比表1 cSPACE和国外同类产品对比表格硬件模块cSPACE dSPACE主处理器采用TMS320F2812DSP开发,时钟频率为150M,指令周期为6.67ns 采用TMS320F2407DSP开发,时钟周期为40MAD6路高性能的16bitAD模块8路高性能的16bitAD模块DA4路高性能的16bitDA模块8路高性能的16bitDA模块正交编码信号处理模块4路2路RS232接口1路2路PWM信号输出模块8路8路IO接口8路IO接口16路软件功能cSPACE dSPACE变量在线修改模块10个 多达数十个变量实时显示模块 4个 多达数十个使用变量在线修改模块和实时显示模块的个数限制可以在10个变量在线修改模块和4个变量实时显示模块之间由用户任意组合由用户任意组合 数据保存自动保存 自动保存 变量显示方式 图形化显示 图形化显示cSPACE 系统硬件成本底,控制系统设计好后,可以把生成的目标代码烧写进控制卡,从而构成脱离计算机而独立运行的嵌入式控制系统,控制被控对象,整个过程用户不需进行硬件和C 语言或汇编语言的开发,极大减小用户构建控制系统时间和降低成本。
四. MATLAB/Simulink 工具箱以下WM-cSPACE 是cSPACE 在MATLAB 中的工具箱:安装好软件后,打开MATLAB/Simulink ,如图2.5可以看到WM-cSPACE工具箱。
在WM-cSPACE Toolbox目录下有Commonly_Used_Blocks,Hardware_Interface,Parameters_Tuning,System_Blocks和Variables_Display子目录,如图3.1,下面将分别介绍这些子目录模块。
图4.1 WM-cSPACE工具箱4.1 Commonly Used Blocks子工具箱Commonly Used Blocks子工具箱中的模块是从MATLAB/Simulink工具箱中选出来的常用的模块,包括代数、关系和逻辑运算模块、信号发生模块、离散微分积分等模块,方便用户使用,模块的功能由模块旁边的英文说明所示(如图3.2)。
图4.2 Commonly Used Blocks 子工具箱下面以"Signal Generator"和"Random Number"信号发生器模块为例说明模块的使用:双击"Signal Generator"模块打开参数设置对话框,如下图所示,在"Wave form"下拉列表中选择需要的波形,包括a sine wave (正弦波), square wave (方波), sawtooth wave (锯齿波), or random wave (随机信号,在离散模块中应该使用"Random Number"模块);"Time (t)" 中选择"Use external signal",这样才能在离散的Simulink 文件中使用。
其中正弦波的产生也可以用"Sine Wave"模块产生。
图4.3 Signal Generator参数设置对话框根据"Signal Generator"模块的"Use external signal"要求,搭建如下所示Simulink文件(文件的搭建方法请参照第五章),"Counter Free-Running"是计数器模块,经过一个采样周期的时间计数值增加1,输出是计数值,"Sample Time" 是采样时间的值,本文件的采样时间为0.005s,故"Sample Time"增益模块的增益为0.005,模块的输出就是实际的时间,并且作为"Signal Generator"模块的"Use external signal"。
图4.4 信号发生器Simulink文件启动仿真,在Scope模块中显示的信号的如下:图4.5 "Signal Generator"模块产生的正弦信号设置"Signal Generator"模块的波形输出为锯齿波,Scope模块中显示的信号的如下:图4.6 "Signal Generator"模块产生的锯齿波信号随机信号的发生采用"Random Number"模块,以下为设置的参数:图4.7 "Random Number"模块参数设置对话框搭建如下所示Simulink文件,观测随机信号:图4.8 随即信号发生Simulink文件下图分别为在仿真时Scope观测的随即信号和模块生成代码后由DSP发送到上位机监控界面接收到的随机信号。
图4.9 仿真和实时运行时观测到的随机信号对于Commonly Used Blocks中的模块,有些模块需要设置采样时间,如"Random Number"和"Counter Free-Running"模块,这时需要设定相应的采样时间,并且所有模块的采样时间要一致;有些模块不需要设置采样时间,如"Gain"增益模块,采样时间设置的值为"-1"即可,表示继承其它模块的采样时间。
推荐设置的采样时间为0.005s。
模块更详细的使用请参照MATLAB的帮助文档。
4.2 Hardware Interface子工具箱打开WM-cSPACE /Hardware Interface子工具箱,可以看到以下cSPACE控制卡的Simulink硬件接口模块,每个模块均对应控制卡上的硬件接口,这些模块包括MATLAB自带的TI TMS320F2812DSP模块和微纳科技开发的cSPACE 模块,模块在simulink中的位置如下图所示。
图4.10 WM-cSPACE /Hardware Interface子工具箱白色背景的模块是MATLAB自带的TI TMS320F2812DSP模块,其中PWM有已经扩出的6通道,实际上是独立的三通道,如下图所示:图4.11 MATLAB自带的TMS320F2812DSP硬件接口模块“ADC”模块对应控制卡的接口如下:图4.12 AD硬件接口把“ADC”模块拖到simulink算法文件中,具体的设置方法为:ADCINA7ADCINA0公共地图4.13 AD 模块参数设置图4.14 AD 模块参数设置这时AD 模块没有加滤波器,采集的信号干扰比较大,"ADC_Filter"模块是自带平均值滤波模块的AD 采样模块,即每个采样周期内,AD 先进行40次AD 采样,把40个采样值的平均值作为本次采样的值,如此AD 采样的精度极大地提高。