基于MATLAB的DSPace快速控制原型开发系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微纳科技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工具的开发流程图。
图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系统硬件成本底,控制系统设计好后,可以把生成的目标代码烧写进控制卡,从而构成脱离计算机而独立运行的嵌入式控制系统,控制被控对象,整个过程用户不需进行硬件和C语言或汇编语言的开发,极大减小用户构建控制系统时间和降低成本。
四.应用案例
4.1. 直线电机驱动的二级倒立摆的控制
倒立摆是一个典型的快速、多变量、非线性、强耦合、自然不稳定系统,必须采取有效的控制算法才能使之稳定。
倒立摆在控制过程中,能有效反映诸如镇定性、鲁棒性、随动性以及跟踪等许多关键问题。
因此人们常常利用倒立摆检验各种控制算法对不稳定性、非线性和快速系统的控制能力,以及各种控制算法的有效性。
倒立摆的控制研究具有理论意义,多级摆控制是控制领域研究的难点。
其中二级倒立摆的实物图如下图所示:
图5 直线电机驱动的二级倒立摆
二级摆包括直线电机、上摆杆和下摆杆以及测试摆杆角度的编码器、测试电机直线位移的光栅。
cSPACE 快速控制原型系统接收来自光电编码器的摆杆角度信号和光栅输出的直线电机的工作台位移信号,并对信号进行处理得到1212,,,,,x x φφφφ六个状态变量,然后根据最优控制算法计算得到精确的控制量,经过DA 转换后输出模拟控制信号,再经伺服驱动器放大后驱动直线电机输出相应的力来控制摆杆倒立平衡。
下图为硬件组成的原理框图。
图6 二级倒立摆控制系统硬件框图
对于二级倒立摆的控制,采用最优控制算法控制二级倒立摆,下图为最优控制算法的cSPACE 框图
图7 二级倒立摆最优控制算法
图中encoder1、encoder4、encoder3分别是DSP 控制卡采集电机位置、下摆杆角度和下摆杆角度的正交编码信号处理的模块,WM-DAC1是cSPACE 系统的DA 转换模块。
编译模块后生成针对控制卡的目标代码,运行程序后控制卡就能采集传感器的信号,处理这些信号经过得到控制量,控制量经过DA 转换后得到模拟控制信号,驱动器对模拟控制信号进行放大后驱动直线电机使二级摆能保持稳定。
4.2. 磁悬浮球系统的控制
图8 磁悬浮实验系统
磁悬浮实验装置由被控对象钢球、电磁铁、LED 平行光源、硅光电池传感器、cSPACE 控制卡以及驱动系统组成,它的原理是采用LED 平行光源和光电传感器测量被控对象钢球与电磁铁之间的距离变化,控制系统采集变化的信号并进行PID 、超前校正等控制器的运算,得到控制信号,通过放大器控制电磁铁绕组中的电流,使之产生与钢球的重力相平衡的电磁力,
这样钢球就可以悬浮
在空中而处于平衡状态。
微纳科技的磁悬浮球实验系统采用cSPACE快速控制原型系统开发,具有MATLAB/Simulink 图形化开发、自动生成可行性代码、参数在线调节、变量在线观测和自动存储的功能,使磁悬浮球电控单元的开发和控制算法的实现变得更加简捷和高效。
系统控制效果直观,富有趣味性,能够很好地培养学生的学习兴趣,是自动控制、计算机控制技术、机电一体化等课程很好的实验装置,也是控制理论研究的很好的实验平台。
以下为磁悬浮球系统的PID控制算法框图:
图9 磁悬浮球实验系统PID控制算法
4.3. 三容水箱过程控制实验系统的控制
微纳科技三容水箱过程控制实验系统是学习和研究过程控制原理的实验系统,由三容水箱和微纳科技cSPACE控制系统组成,用户可以在MATLAB/Simulink环境下采用PID算法对三容水箱的液位、压力、流量进行控制,实验系统还附带有温度控制实验。
图10 过程控制实验系统
4.4. 采用磁流变液阻尼器的1/4车辆振动实验系统的控制
磁流变液阻尼器是利用磁流变液的流变效应而制作的结构简单、功耗小、可控性强、阻尼力可实时调节的智能型阻尼器。
此类阻尼器在机械、汽车以及土木工程等领域的振动控制方面具有广阔的应用前景。
为研究磁流变阻尼器和半主动控制算法的有效性,采用一套完整的模拟车辆系统试验平台,包括模拟车辆系统、数据采集系统、控制系统和程控电流源等,采用cSPACE系统,分别实现on-off 控制、连续控制和模糊控制三种控制策略,对磁流变减振器进行半主动控制实验。
图11 磁流变液阻尼器振动实验平台
采用模糊控制的cSPACE控制算法框图如下图所示:
图12 磁流变液阻尼器模糊控制算法
图中ADC模块为cSPACE的AD模块,用于采集上质量块(车体)和下质量块(转向架)的速度信号;“A1”和“A3”模块用于对采集的速度信号进行变换,得到实际的速度信号,用车体的速度信号减去转向架的速度信号得到相对速度信号;“WM-Read1ab”模块用于在计算机上观测车体的速度和车体和转向架之间的相对速度信号;“ifsystem1”和“ifsystem”模块用于对速度信号设置阈值,当速度大于一定的值才施加控制,防止在速度为0附近行程振荡;“WM-DAC1”模块把“On-off控制”算法的输出转变为实际的电压信号,“Fuzzy”模块实现模糊控制方法。
对模块编译自动生成代码并且下载到DSP控制卡,运行后就能在DSP控制卡相应的接口实现相应的功能,从而对磁流变液阻尼器进行控制。
当调试好程序,可以把程序烧写进DSP,这样能使控制系统脱离计算机运行,构成嵌入式的控制系统。