没有合适的资源?快使用搜索试试~ 我知道了~
2013年8月28日至30日,国际自动控制联合会第10届IFAC研讨会控制教育进展。英国谢菲尔德Raspberry Pi和Arduino板在控制教育中的应用JaroslavSobotacampaignfromanPislbankruptcyavelBaldabankruptcyMilosSchlegel欧洲卓越中心NTIS -信息社会应用科学学院,西波希米亚大学比尔森分校Univerzitn′s8,30100Plzen,CzechRepublic(电子邮件:jsobota@kky.zcu.cz)电子邮件:rpisl@kky.zcu.cz电子邮件:pbalda@kky.zcu.cz电子邮件:schlegel@kky.zcu.cz控制教学;控制设备;实时;闭环控制翻译后摘要:如今的控制教育通常在很大程度上依赖于可用的仿真软件包和虚拟实验室,这两者都有其不可替代的地位,在教育过程中。但不幸的是,闭环实验往往局限于这些虚拟领域,学生缺乏关于控制算法及其参数影响的物理反馈。原因可能是硬件设置的价格,以物理方式演示控制算法或从仿真到实时平台的复杂过渡本文介绍了一个非常便宜,简单和令人惊讶的强大的平台,用于实现实时控制算法。 该平台由Arduino板和运行REX控制系统的Raspberry Pi组成。Arduino板用于通过其输入和输出与物理世界进行交互。REX控制系统允许学生在Simulink中开发和验证控制算法,然后通过点击几下鼠标实时运行然而,REX控制系统并不依赖于Simulink,即使没有Simulink许可证,它也能完全发挥作用该平台进一步弥合了虚拟世界和物理世界之间的差距,因为它与PIDlab.com和Contlab.eu门户网站紧密相连,这使其成为控制教育目的的理想选择1. 介绍目前的控制教学主要依靠现有的仿真软件和虚拟实验室,它们在教学过程中有着不可替代的地位。但不幸的是,闭环实验往往局限于这些虚拟领域,学生缺乏关于控制算法及其参数影响的物理反馈原因可能是硬件设置的价格,以演示控制算法的物理或从模拟到实时平台的复杂过渡。本文介绍了一个非常便宜的平台,它解决了所有上述问题。该平台是在一所大学开发的,最初用于内部使用,但它很快就找到了其他大学,高中,甚至业余爱好者和DIY社区,这是Arduino1本文得到了捷克共和国技术署(项目编号TA 02020414)和欧洲研发基金会(ERDF)的支持,项目名称为“N T I S -新技术”树莓派生态系统2平台所基于的上述微型计算机形成了控制教育的完美结合,结合了Raspberry Pi的计算能力,板载内存和以太网连接以及Arduino板相对丰富的输入输出功能。所提出的平台的组成部分和主要优点是软件,其将这两个板变成工业可编程控制器(至少从教育的角度来看),因为它允许学生/用户使用相同的软件工具和工作流概念来创建控制算法,这些软件工具和工作流概念在为真正的工业控制器和控制系统开发控制算法时使用。虽然当前版本的MATLAB/Simulink或LabVIEW在一定程度上支持Arduino和Raspberry Pi板,但本文中介绍的平台提供了额外的功能和更广泛的输入可能性。“社会经济学”,欧洲经济共同体CZ.1.05/1.1.00/02.00901Arduino是Arduino Team的商标。2Raspberry Pi是Raspberry Pi Foundation的注册商标。© IFAC 7 10.3182/20130828-3-UK-2039.00024第十届IFAC ACE2013年8月28日至30日。英国谢菲8Fig. 1. REXduino教育平台2. 平台的结构教育控制平台由Arduino微控制器板和安装了REX控制系统运行时的Raspberry Pi计算机组成[Balda等人,2005年]。该平台被称为REXduino,其在图1中描绘。以下各节将讨论各个组件。2.1 Arduino板Arduino是一个著名的开源电子原型平台,它是许多嵌入式控制应用的中央控制单元,从交互式服装到机器人和3D打印机。在我们的例子中,电路板被编程为充当从机,其输入和输出用于与物理世 界 进 行 交 互 目 前 支 持 Arduino UNO , ArduinoMEGA2560和Seeeduino Mega板,但草图3可以很容易地修改为其他板。Arduino通过USB连接从主机接收命令,执行请求的操作并响应主机。响应可能只包含确认或请求的数据。下面更详细地描述通信协议。就像所有工业从站设备一样,可以在Arduino中启用看门狗定时器是一个3在Arduino环境中使用的术语,用于形成要编译的项目的文件集安全机制的情况下,当失去与主人的通信和每个学生的自动控制应该在使用这种机制的经验。2.2 Raspberry PiRaspberry Pi是一款功能齐全的信用卡大小的计算机,能够像标准桌面PC一样运行应用程序该器件基于Broadcom BCM2835 SoC,其中包含一个700MHz的ARM1176JPENDIX CPU与硬件浮点单元。板载内存为512 MB。虽然最初的开发是为了增加编程和软件工程的兴趣,但它很快就被接受为许多机器和M2M应用的通用可编程控制单元。几个操作系统已经移植到Raspberry Pi,Debian Linux的优化版本Rasp-bian可能是最受欢迎的一个。35元模型因此,B提供了现代可编程控制器所需的一切-足够的计算能力和内存,互联网连接和SD卡上的永久数据存储。在我们的例子中,Raspberry Pi充当主控制单元。它是Arduino的大师Arduino在使用USB电缆连接到Pi时显示为标准串行端口,因此命令一旦写入相应的串行设备就立即发送虽然有几个Raspberry Pi的扩展板,如Gertboard [TheRaspberryPiFoundation , 2012a] , Pi-Face[University of Manchester,2012]或Quick 2 Wire Inter-face Board [Quick 2 Wire,2012],但Arduino的主从组合模仿了具有远程I/O单元的大型工业控制系统的标准结构。此外,它还有其他优势,我们将在后面讨论。2.3 REX控制系统REX控制系统是一个开放的、可扩展的系统,非常适合嵌入式控制。REX可以通过C和C++语言编译器轻松移植到不同的平台上,从专用控制卡和简单的实时执行器到配备标准操作系统的过程站。最近它被移植到Raspbian。REX控制系统由一系列用于工业控制系统设计、开发和部署的产品组成通过安装REX控制系统的运行时RexCoreRexCore负责各个控制任务的定时和执行,这些任务可以具有单独的优先级和执行周期。单 个 控 制 任 务 可 以 在 RexDraw 图 形 开 发 环 境 或Simulink中创建。在这两种情况下,控制算法都是通过互连RexLib工业模块集(模拟信号处理、逻辑控制、调节等)的各种库中的功能块来创建的。还提供了一个名为REXLANG的用户可编程模块,该模块已用于实现REX-duino通信协议的主部分。但所有这些细节可以第十届IFAC ACE2013年8月28日至30日。英国谢菲9睡眠3.7CNR_设定点关闭CNB_MAN_MODE郫都过程值Arduino_UNODVMVSPpv dmv电视HV德曼IH坐iE错误码错误子码状态DI2DI3DI4DI5DI6DI7DI8DI9DI10DI11DI_A0DI_A1DI_A2DI_A3DI_A4DI_A5AI0AI1AI2AI3AI4AI5CNT2CNT3OW_2_3_dataOW_4_5_dataOW_6_9_dataOW_10_11_dataOW_A0_A1_dataOW_A2_A3_datauserRecvDO2DO3_PWMDO4DO5_PWMDO6_PWMDO9_PWMDO10_PWMDO11_PWMDO12DO13DO_A0DO_A1DO_A2DO_A3DO_A4DO_A5CNT2RCNT2ECNT3RCNT3E用户发送DO2DO3_PWMDO4DO5_PWMDO6_PWMDO9_PWMDO10_PWMDO11_PWMDO12DO13DO_A0DO_A1DO_A2DO_A3DO_A4DO_A5CNT2RCNT2ECNT3RCNT3E用户发送iE错误码错误子码状态DI2DI3DI4DI5DI6DI7DI8DI9DI10DI11DI_A0DI_A1DI_A2DI_A3DI_A4DI_A5AI0AI1AI2AI3AI4AI5CNT2CNT3OW_2_3_dataOW_4_5_dataOW_6_9_dataOW_10_11_dataOW_A0_A1_dataOW_A2_A3_datauserRecvArduino_UNO图二. Arduino UNO功能块及其参数图四、使用REXduino主模块的PID控制回路3.2第一次物理交互图三.模拟PID控制回路功能块使用 RexLib只要仿真结果符合所有要求,我们就可以从仿真切换到物理世界。为此目的,只使用Arduino板,它通过USB电缆直接连接到台式机PC或笔记本电脑。该方案中的模型被REXduino主块取代,并且必 须 执 行 SLEEP 块 以 在 “real-time” 中 运 行CONTRAL或ITH(见图10)。4)。定步长离散数值求解器用户只需使用功能块并设置其参数(参见图2),这些参数定义了Arduino板的各个IO引脚的行为。更多详情请参见第4节。REX控制系统与PIDlab.com和Contlab.eu门户网站紧密相连,REXduino平台是在现实世界中测试这些门户网站提供的所有算法的最便宜和最直接的方法。3. 工作流REXduino教育平台的使用非常简单,尤其是对于熟 悉 Simulink 的 用 户 。 但 是 , 无 论 是 知 识 还 是Simulink的许可证都不需要开始开发实时控制系统。如果Simulink许可证不可用,则仅仿真阶段会受到影响控制算法开发过程中的典型步骤在以下章节中描述。3.1纯模拟创建控制系统的第一步涉及受控系统的分析,然后是控制算法的设计。控制算法由RexLib工业模块集的功能块构成。不需要编程技能,用户只需拖放块和连接线。一个简单的PID控制回路的基础上,行业证明的算法可以创建在几个鼠标点击(见图3)。受控系统以数学模型的形式存在功能块的行为和内部结构在REX Controls [2013 a]中有更详细的描述必须使用与SLEEP块中相同的值。步长定义了控制算法的采样周期。然后,用户可以执行Simulink方案,就像在纯仿真的情况下一样,只有PID控制算法现在由从Arduino板的模拟输入获取的真实数据提供,并且操纵变量(控制器的输出)被发送到PWM输出。从仿真到物理世界的这一简单而直接的步骤对于控制教育目的特别有用,因为学生仍然处于他们熟悉的Simulink环境中。此外,参数的调整或更新控制算法非常快,既不需要编译项目也不需要传输任何文件。可使用高达50 Hz的采样频率限制采样频率的主要因素是在标准PC上运行的Simulink的非实时行为。使用Raspberry Pi专用接口板无法实现此步骤,这就是Arduino板对于REXduino教育平台如此有价值的原因。3.3实时控制创建实时控制系统的最后一步是在目标平台上部署算法。这一步在REXduino平台上也非常容易,用户唯一要做的就是配置REX控制系统的实时执行器。控制算法与前一步相同。执行程序的配置包括定义目标平台(在Raspbian的情况下是Linux)和3.7CNR_设定点DVSPMVpvdmv电视HV德曼IH坐郫都uyMDL过程值关闭CNB_MAN_MODE第十届IFAC ACE2013年8月28日至30日。英国谢菲10控制算法的执行周期。上一步的控制算法由连接到Level0输出的ASK模块参考(见图7)。一般来说,可以有更多的控制任务,并且每个控制任务它们可以有自己的执行周期和优先级。在Raspbian中,REXduino平台允许高达200 Hz的采样频率,具体取决于控制算法的复杂性和输入/输出信号的数量。然 后 , 该 项 目 由RexComp 编 译 器 编 译 并发 送 到Raspberry Pi , 在 那 里 由 REX 控 制 系 统 的 运 行 时RexCore执行。REX控制系统的自然部分是能够实时监控控制算法并改变各个功能块的参数。通过TCP/IP连接的在 线 监 测 可 在 RexView 诊 断 程 序 中 或 直 接 在RexDraw开发工具中使用。因此,允许用户在循环中调整控制算法,而无需停止它并再次编译它。REX控制系统还提供先进的数据存储和进一步处理 工 具 。 控 制 算 法 的 测 量 数 据 和 变 量 存 储 在Raspberry Pi的内存中,可以使用RexTrend实用程序从中检索。该实用程序读取数据并以各种格式导出,包括用于生成Matlab图形的M文件。4. REXDUINO议定书REXduino协议是一组非常简单的命令,它定义了各个Arduino引脚的操作模式,设置输出和读取输入。每个命令都由一个子命令终止。在初始化阶段,REXduino主机开始通信并发送命令将引脚模式更改为所需模式。一旦REXduino从机报告所有引脚都已切换到请求的模式,主机就开始轮询数据并更新输出。4.1 引脚模式Arduino的引脚可以配置为几种模式:I-数字输入此模式用于读取开/关值。J-带上拉的数字输入此模式用于读取例如按钮或开关,这些按钮或开关仅在按下时将引脚连接到地如果没有连接,引脚被拉到高状态。O-数字输出,默认低电平此模式用于生成开/关信号,并可用于为低功耗电路供电初始化时,引脚Q-数字输出,默认高电平在这种情况下,输出引脚默认设置为高电平A-模拟输入此模式用于读取Arduino的10位模拟输入(引脚A0至An)。P-PWM输出在此模式下,引脚产生高频脉冲,其占空比可定义为8位精度。仅适用于标有“”的引脚。C -计数器计数器模式在引脚2和3上可用它采用中断并对引脚上出现的上升沿进行计数。B模式下的引脚4和5分别定义引脚2和3的计数方向。E-编码器信号A此模式用于评估编码器信号。它可以在引脚2和3上使用。信号A的上升沿和下降沿都触发中断程序。B模式下引脚4和5上的信号用于确定旋转方向。B-编码器信号B或计数器此模式在引脚4和5上可用,必须分别用于引脚2和3上的计数器/编码器模式的正常功能W - 1-导线温度在此模式下,引脚用作1-Wire总线上的数据输入/输出支持温度传感器DS18B20、DS18S20和DS18224.2 REXduino命令表1列出了REXduino协议的一些命令和响应。为了清楚起见,没有列出通过一个命令读取或完整描述参见REX Controls [2013 b]。用户定义的命令是为方便定制平台的个别情况下( 自 定 义 功 能 , 与 I2C 或 SPI 设 备 通 信 等 ) 。REXduino主设备和从设备都是开源的,因此添加任意命令和功能非常容易。大多数命令都有两个版本。第一种是由计算机使用的,已经在表1中列出。另一个版本的命令是小写的,并且是人类可读的。它旨在用于串行线路监视器,这是有用的硬件连接到个别传感器的验证,如图所示。五、5. 示例5.1角速度控制第一个可以由REXduino平台控制的系统一个直流电机由Arduino的PWM输出控制,该输出连接到NPN晶体管的基极,通过电机开关电流。另一个直流电机由第一个通过弹性带驱动,并在旋转时产生电流(见图1)。(六)。第十届IFAC ACE2013年8月28日至30日。英国谢菲11第十届IFAC ACE2013年8月28日至30日。英国谢菲12
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功