基于MATLAB的DSP快速控制原型开发系统.docx

上传人:b****6 文档编号:8261110 上传时间:2023-01-30 格式:DOCX 页数:29 大小:2.31MB
下载 相关 举报
基于MATLAB的DSP快速控制原型开发系统.docx_第1页
第1页 / 共29页
基于MATLAB的DSP快速控制原型开发系统.docx_第2页
第2页 / 共29页
基于MATLAB的DSP快速控制原型开发系统.docx_第3页
第3页 / 共29页
基于MATLAB的DSP快速控制原型开发系统.docx_第4页
第4页 / 共29页
基于MATLAB的DSP快速控制原型开发系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于MATLAB的DSP快速控制原型开发系统.docx

《基于MATLAB的DSP快速控制原型开发系统.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的DSP快速控制原型开发系统.docx(29页珍藏版)》请在冰豆网上搜索。

基于MATLAB的DSP快速控制原型开发系统.docx

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

微纳科技cSPACE快速控制原型开发系统

(基于MATLAB的DSP快速控制原型开发系统)

一.产品简介1

二.系统组成2

三.硬件资源3

四.应用案例5

4.1.直线电机驱动的二级倒立摆的控制5

4.2.磁悬浮球系统的控制7

4.3.三容水箱过程控制实验系统的控制8

4.4.采用磁流变液阻尼器的1/4车辆振动实验系统的控制9

1.产品简介

快速控制原型(RapidControllerPrototyping,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工具的开发流程图。

图1cSPACE开发流程图

2.系统组成

微纳科技cSPACE快速控制原型和硬件在回路开发系统根据国际上控制系统设计常用的快速控制原型和硬件在回路原理进行开发,硬件功能与德国dSPACE公司的DS1104卡相当,拥有dSPACE-DS1104所具备的大部分接口功能和快速控制原型开发、硬件在回路仿真技术,具体包括以下三大部分:

一、cSPACE系统的控制卡采用高性能的TMS320F2812DSP开发,并且外扩高性能的AD、DA和正交编码信号处理模块,具有丰富的硬件接口,可以同时控制多台电机。

图2cSPACE的DSP控制卡

二、cSPACE系统的开发环境是基于广大科研人员所熟悉的MATLAB/Simulink进行开发,方便用户使用,同时能充分利用MATLAB强大的科学计算、信号分析处理、图形处理功能。

图3cSPACE的MATLAB开发环境

三、cSPACE系统的控制界面采用MATLAB/Simulink进行开发,能在线修改10个变量和实时显示4个变量,自动存储数据,结构简单,方便用户使用。

图4cSPACE的监控界面

3.硬件资源

cSPACE的硬件资源如下所示:

●主处理器为TMS320F2812DSP,处理能力为150MIPS

●16通道的12bitAD,转换时间为250ns,输入范围为(0,3V)

●6通道的16bitAD,转换时间为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

●三个32bit的系统定时器,4个16bit通用定时器

用户额外可扩充的功能:

●5通道PWM信号,分辨率为16位

●1路RS232串口

●多达20个可单独编程的复用口,亦可用作通用I/O口

●三个外部中断口,并有外围中断扩展模块,可支持多达45个外围中断

我公司cSPACE控制系统与国外同类系统主要性能对比

表1cSPACE与国外同类产品对比表格

硬件模块

cSPACE

dSPACE

主处理器

采用TMS320F2812DSP开发,时钟频率为150M,指令周期为6.67ns

采用TMS320F2407DSP开发,时钟周期为40M

AD

6路高性能的16bitAD模块

8路高性能的16bitAD模块

DA

4路高性能的16bitDA模块

8路高性能的16bitDA模块

正交编码信号处理模块

4路

2路

RS232接口

1路

2路

PWM信号输出模块

8路

8路

IO接口

8路IO接口

16路

软件功能

cSPACE

dSPACE

变量在线修改模块

10个

多达数十个

变量实时显示模块

4个

多达数十个

使用变量在线修改模块和实时显示模块的个数限制

 

可以在10个变量在线修改模块和4个变量实时显示模块之间由用户任意组合

由用户任意组合

数据保存

自动保存

自动保存

变量显示方式

图形化显示

图形化显示

cSPACE系统硬件成本底,控制系统设计好后,可以把生成的目标代码烧写进控制卡,从而构成脱离计算机而独立运行的嵌入式控制系统,控制被控对象,整个过程用户不需进行硬件和C语言或汇编语言的开发,极大减小用户构建控制系统时间和降低成本。

4.MATLAB/Simulink工具箱

以下WM-cSPACE是cSPACE在MATLAB中的工具箱:

安装好软件后,打开MATLAB/Simulink,如图2.5可以看到WM-cSPACE工具箱。

在WM-cSPACEToolbox目录下有Commonly_Used_Blocks,Hardware_Interface,Parameters_Tuning,System_Blocks和Variables_Display子目录,如图3.1,下面将分别介绍这些子目录模块。

图4.1WM-cSPACE工具箱

4.1CommonlyUsedBlocks子工具箱

CommonlyUsedBlocks子工具箱中的模块是从MATLAB/Simulink工具箱中选出来的常用的模块,包括代数、关系和逻辑运算模块、信号发生模块、离散微分积分等模块,方便用户使用,模块的功能由模块旁边的英文说明所示(如图3.2)。

图4.2CommonlyUsedBlocks子工具箱

下面以"SignalGenerator"和"RandomNumber"信号发生器模块为例说明模块的使用:

双击"SignalGenerator"模块打开参数设置对话框,如下图所示,在"Waveform"下拉列表中选择需要的波形,包括asinewave(正弦波),squarewave(方波),sawtoothwave(锯齿波),orrandomwave(随机信号,在离散模块中应该使用"RandomNumber"模块);"Time(t)"中选择"Useexternalsignal",这样才能在离散的Simulink文件中使用。

其中正弦波的产生也可以用"SineWave"模块产生。

图4.3SignalGenerator参数设置对话框

根据"SignalGenerator"模块的"Useexternalsignal"要求,搭建如下所示Simulink文件(文件的搭建方法请参照第五章),"CounterFree-Running"是计数器模块,经过一个采样周期的时间计数值增加1,输出是计数值,"SampleTime"是采样时间的值,本文件的采样时间为0.005s,故"SampleTime"增益模块的增益为0.005,模块的输出就是实际的时间,并且作为"SignalGenerator"模块的"Useexternalsignal"。

图4.4信号发生器Simulink文件

启动仿真,在Scope模块中显示的信号的如下:

图4.5"SignalGenerator"模块产生的正弦信号

设置"SignalGenerator"模块的波形输出为锯齿波,Scope模块中显示的信号的如下:

图4.6"SignalGenerator"模块产生的锯齿波信号

随机信号的发生采用"RandomNumber"模块,以下为设置的参数:

图4.7"RandomNumber"模块参数设置对话框

搭建如下所示Simulink文件,观测随机信号:

图4.8随即信号发生Simulink文件

下图分别为在仿真时Scope观测的随即信号和模块生成代码后由DSP发送到上位机监控界面接收到的随机信号。

图4.9仿真和实时运行时观测到的随机信号

对于CommonlyUsedBlocks中的模块,有些模块需要设置采样时间,如"RandomNumber"和"CounterFree-Running"模块,这时需要设定相应的采样时间,并且所有模块的采样时间要一致;有些模块不需要设置采样时间,如"Gain"增益模块,采样时间设置的值为"-1"即可,表示继承其它模块的采样时间。

推荐设置的采样时间为0.005s。

模块更详细的使用请参照MATLAB的帮助文档。

4.2HardwareInterface子工具箱

打开WM-cSPACE/HardwareInterface子工具箱,可以看到以下cSPACE控制卡的Simulink硬件接口模块,每个模块均对应控制卡上的硬件接口,这些模块包括MATLAB自带的TITMS320F2812DSP模块和微纳科技开发的cSPACE模块,模块在simulink中的位置如下图所示。

图4.10WM-cSPACE/HardwareInterface子工具箱

白色背景的模块是MATLAB自带的TITMS320F2812DSP模块,其中PWM有已经扩出的6通道,实际上是独立的三通道,如下图所示:

图4.11MATLAB自带的TMS320F2812DSP硬件接口模块

“ADC”模块对应控制卡的接口如下:

图4.12AD硬件接口

把“ADC”模块拖到simulink算法文件中,具体的设置方法为:

选择double输出

设置采样时间

选择A

图4.13AD模块参数设置

选择,使能多路输出

根据实际需要选择通道数

图4.14AD模块参数设置

这时AD模块没有加滤波器,采集的信号干扰比较大,"ADC_Filter"模块是自带平均值滤波模块的AD采样模块,即每个采样周期内,AD先进行40次AD采样,把40个采样值的平均值作为本次采样的值,如此AD采样的精度极大地提高。

但这个模块8路AD同时使能,用户需要用哪路把相应的接口引出即可。

图4.15带平均值滤波功能的AD模块

QEP模块是TMS320F2812DSP自带的正交编码信号处理模块,参数设置如下图所示,其中"Module"中选择"A"或"B",对应控制卡的接口分别为"Encoder2"和"Encoder4",初始值一般设置为32768,因为该计数器的长度为16位,总的计数值为216=65532,计数器的初始值设置为32768,可以增加和减少,防止溢出,当计数值过大时,会产生溢出,需要用以下介绍的由微纳科技公司开发的模块。

图4.15QEP模块参数设置

以下是微纳科技开发的cSPACE模块,包括3路DA模块、四路编码器模块、IO控制模块(可以用于启动电机)模块。

图4.16DSP控制卡硬件接口模块

微纳科技开发的cSPACE模块介绍如下:

模块

功能

16bit的DA模块,控制卡上“DA1”接口,输入的范围为(-10,+10),输出与输入对应

12bit的DA模块,控制卡上“DA2A”和“EA”接口

“DA2A”和“DA2B”的输入为(-10,+10),对应输出为(0,4.096)

“EA”和“EB”输入的范围为(-10,+10),输出与输入对应;

三路DA模块自带有限幅功能。

12bit的DA模块,控制卡上“DA2B”和“EB”接口

当要同时使用“WM-DAC2”和“WM-DAC3”时,使用这个模块,用法一样,不能同时把以上两个模块放到同一个mdl文件里,否则会编译出错

第一路正交编码信号模块,控制卡上“Encoder1”接口

输出为编码信号经过解码后的脉冲个数,是A相或B相信号四倍频以后的值

第三路正交编码信号模块,控制卡上“Encoder3”接口

当要同时使用“Encoder1”和“Encoder1”时,使用这个模块,用法一样,不能同时把以上两个模块放到同一个mdl文件里,否则会编译出错

第二路正交编码信号模块,控制卡上“Encoder2”接口

输出为编码信号经过解码后的脉冲个数,是A相或B相信号四倍频以后的值,计数器长度为32bit,工作频率为6M

第四路正交编码信号模块,控制卡上“Encoder4”接口

注:

以上模块为cSPACE外扩的硬件电路的模块,TMS320F2812DSP自带的资源MATLAB自身均有相应的模块,具体使用方法请参照MATLAB说明文档

4.3ParametersTuning子工具箱

ParametersTuning子工具箱包括以下10个变量在线修改模块,使用这些模块可以在程序运行时通过cSPACE界面实时修改变量的值,请参照4.2.3节了解变量在线修改模块的使用。

图4.17变量在线修改模块

4.4VariablesDisplay子工具箱

下图中"WM-Read1","WM-Read2","WM-Read3","WM-Read4"是四个变量显示模块,使用这些模块可以在程序运行时采用cSPACE界面实时观测变量的值,并且可以选择保存相应的数据,请参照4.2.2节了解变量观测模块的使用。

图4.18变量实时显示模块

4.5SystemBlocks子工具箱

系统模块用于标志采用的DSP板卡是TMS320F2812DSP芯片,并且能控制Simulink文件的编译和运行,如下图所示。

图4.18系统模块

模块的功能说明如下:

WMModelBuilder

Simulink控制算法文件编译生成可执行代码按钮

WMModelRun

生成的代码下载到DSP卡并自动运行、启动监控界面按钮

F2812eZdsp

TMS320F2812DSP控制卡模块,每一个simulink控制算法文件均需要添加这个模块

 

5.应用案例

5.1.直线电机驱动的二级倒立摆的控制

倒立摆是一个典型的快速、多变量、非线性、强耦合、自然不稳定系统,必须采取有效的控制算法才能使之稳定。

倒立摆在控制过程中,能有效反映诸如镇定性、鲁棒性、随动性以及跟踪等许多关键问题。

因此人们常常利用倒立摆检验各种控制算法对不稳定性、非线性和快速系统的控制能力,以及各种控制算法的有效性。

倒立摆的控制研究具有理论意义,多级摆控制是控制领域研究的难点。

其中二级倒立摆的实物图如下图所示:

上摆杆

编码器二

下摆杆

编码器一

光栅

图5直线电机驱动的二级倒立摆

二级摆包括直线电机、上摆杆和下摆杆以及测试摆杆角度的编码器、测试电机直线位移的光栅。

cSPACE快速控制原型系统接收来自光电编码器的摆杆角度信号和光栅输出的直线电机的工作台位移信号,并对信号进行处理得到

六个状态变量,然后根据最优控制算法计算得到精确的控制量,经过DA转换后输出模拟控制信号,再经伺服驱动器放大后驱动直线电机输出相应的力来控制摆杆倒立平衡。

下图为硬件组成的原理框图。

图6二级倒立摆控制系统硬件框图

对于二级倒立摆的控制,采用最优控制算法控制二级倒立摆,下图为最优控制算法的cSPACE框图

图7二级倒立摆最优控制算法

图中encoder1、encoder4、encoder3分别是DSP控制卡采集电机位置、下摆杆角度和下摆杆角度的正交编码信号处理的模块,WM-DAC1是cSPACE系统的DA转换模块。

编译模块后生成针对控制卡的目标代码,运行程序后控制卡就能采集传感器的信号,处理这些信号经过得到控制量,控制量经过DA转换后得到模拟控制信号,驱动器对模拟控制信号进行放大后驱动直线电机使二级摆能保持稳定。

5.2.磁悬浮球系统的控制

图8磁悬浮实验系统

磁悬浮实验装置由被控对象钢球、电磁铁、LED平行光源、硅光电池传感器、cSPACE控制卡以及驱动系统组成,它的原理是采用LED平行光源和光电传感器测量被控对象钢球与电磁铁之间的距离变化,控制系统采集变化的信号并进行PID、超前校正等控制器的运算,得到控制信号,通过放大器控制电磁铁绕组中的电流,使之产生与钢球的重力相平衡的电磁力,这样钢球就可以悬浮在空中而处于平衡状态。

微纳科技的磁悬浮球实验系统采用cSPACE快速控制原型系统开发,具有MATLAB/Simulink图形化开发、自动生成可行性代码、参数在线调节、变量在线观测和自动存储的功能,使磁悬浮球电控单元的开发和控制算法的实现变得更加简捷和高效。

系统控制效果直观,富有趣味性,能够很好地培养学生的学习兴趣,是自动控制、计算机控制技术、机电一体化等课程很好的实验装置,也是控制理论研究的很好的实验平台。

以下为磁悬浮球系统的PID控制算法框图:

图9磁悬浮球实验系统PID控制算法

5.3.三容水箱过程控制实验系统的控制

微纳科技三容水箱过程控制实验系统是学习和研究过程控制原理的实验系统,由三容水箱和微纳科技cSPACE控制系统组成,用户可以在MATLAB/Simulink环境下采用PID算法对三容水箱的液位、压力、流量进行控制,实验系统还附带有温度控制实验。

图10过程控制实验系统

5.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,这样能使控制系统脱离计算机运行,构成嵌入式的控制系统。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1