数据驱动建模和控制系统设计案例研究

数据驱动建模和控制系统设计案例研究

ID:5791736

大小:1.94 MB

页数:12页

时间:2017-12-24

数据驱动建模和控制系统设计案例研究_第1页
数据驱动建模和控制系统设计案例研究_第2页
数据驱动建模和控制系统设计案例研究_第3页
数据驱动建模和控制系统设计案例研究_第4页
数据驱动建模和控制系统设计案例研究_第5页
资源描述:

《数据驱动建模和控制系统设计案例研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据驱动建模和控制系统设计案例研究MotorControlCaseStudyinData-DrivenModelingandControlDesign迈斯沃克软件公司作者:PravallikaVinnakota摘要:本文以简单的直流电机控制系统为例,介绍如何从输入输出数据辨识对象模型,使用辨识的模型来设计控制器并予以实施。工作流程包括以下步骤:采集数据,辨识线性和非线性对象模型,设计和仿真反馈控制器以及在嵌入式微处理器上实施这些控制器以便实时测试。在物理原型或对象硬件上调节控制器可能造成不安全运行状态甚至损坏硬件。一种更可靠的方法是构建一个对象模型并进行仿真,在不同的运行条件下验证控制器,以

2、便无风险地运行假设情景。当机理建模不可行时,备选方法是通过对象的输入输出数据来开发模型。一个低阶的线性模型可能足以用来设计基本控制器。但较高性能的控制器的详细分析和设计需要一个具有较高精度的模型,且可能是非线性模型。直流电机:控制设计目标物理系统是通过电机驱动连接到ArduinoUno板卡上的一台直流电机(图1)。我们想为这台电机设计一个用于跟踪参考位置的反馈控制器。该控制器将基于电机位置参考数据生成合适的电压命令。此电压作用于电机时,会促使电机产生扭转电机轴的扭矩。我们将使用电位计测量电机轴旋转的角度,然后将此角度反馈给控制器。图1.连接直流电机的Arduino板卡电机驱动集成电路(IC)

3、增加了驱动电流并能够双向驱动电机。我们通过Arduino板卡上的“模拟输入”引脚接收电机位置数据,然后计算参考位置与实际位置(控制器输入)之间的误差。我们将一个电压命令(控制器输出)发送到板卡上的两个“模拟输出”引脚,为PWM信号。这些信号连接到驱动电路,为电机提供适当的驱动电流。控制器必须保持系统稳定,并以最小的稳态误差和超调量提供快速参考跟踪。1010MathWorks加快工程和科学的发展步伐采集和处理数据我们使用Simulink的一项功能将PC与Arduino板卡连接,该功能允许您生成一个可执行文件并在选定的硬件上运行。图2为与Arduino硬件结合使用的Simulink库。图2.Si

4、mulink模块库:与Arduino目标硬件结合使用要收集数据,Arduino板卡会向电机发送电压命令并测量产生的电机角度。我们创建一个Simulink模型来进行数据收集。PC机必须与Arduino板卡通信,发送电压命令并接收返回的角度数据。我们创建第二个模型来启用此通信。将要在ArduinoUno板卡上运行的模型中(图3),MATLAB函数“VoltageCommandToPins”从串行端口读取电压命令,并将命令传送给相应的引脚。我们使用串行通信协议来保证主机与Arduino面板的通信。在CreateMessage子系统中,将从板卡上其中一个模拟输入引脚中获取的电机位置数据生成完整的串行

5、消息。图3.将要在Arduino板卡上运行的Simulink模型我们通过选择“Tools”>“RunonTargetHardware”>“Run”从模型创建实时应用程序。然后可以使用将要在主机上运行的模型(图4)采集输入/输出数据。图4.将要在主机上运行的模型1010MathWorks加快工程和科学的发展步伐我们发送不同的电压来激励系统,然后记录相应的位置数据。仿真结束时,Simulink中的信号记录功能将在工作间内创建Simulink数据集,这个时间序列对象包含了记录的所有信号。接下来,我们为估计和验证准备收集到的数据。通过以下命令,我们将数据转换为iddata对象,以便导入到System

6、IdentificationToolbox中的SystemIdentificationTool。>>logsoutlogsout=Simulink.SimulationData.DatasetPackage:Simulink.SimulationDataCharacteristics:Name:'logsout'TotalElements:2Elements:1:'Voltage'2:'Angle'-UsegetElementtoaccesselementsbyindexorname.-UseaddElementorsetElementtoaddormodifyelements.Method

7、s,Superclasses1010MathWorks加快工程和科学的发展步伐>>u=logsout.getElement(1).Values.Data;>>y=logsout.getElement(2).Values.Data;>>bounds1=iddata(y,u,0.01,'InputName','Voltage','OutputName','Angle',......'InputUnit','V',

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。