基于单片机的被控对象仿真装置的设计与开发
2018-01-15孙良,张欣,涂玲
孙 良,张 欣,涂 玲
实验教学是工科院校人才培养必不可少的一个环节,不仅有助于理论知识的理解和应用,更是在培养学生实践能力和创新能力等方面发挥着巨大的作用。自动化专业的实践教学不仅包括各种专业课如过程控制工程、过程控制仪表与装置、计算机控制等专业课的实验教学,还包括许多实践环节如综合实验和专业课程设计等,在这些实践教学中,被控对象是必不可少的,尤其目前在自动化专业认证中特别强调了对复杂工程问题的分析和解决,这些都对被控对象的复杂性、灵活性和多样性提出了更高的要求。
目前现有的被控对象主要有全实物仿真装置、半实物仿真装置和全软件仿真装置。全实物仿真装置如青岛金博士过程控制实验装置。全实物仿真装置[1-3]直观形象,但是占地面积大,接线固定,无法移动,且维护量大,仪表和器件容易损坏,故障率高。半实物仿真装置[4-6]价格昂贵,同样也是体积庞大,不便于移动,使用灵活性差。全软件仿真装置[7-9]需占用一台计算机,成本高,且没有输入输出接线,导致学生的动手能力难以得到训练。
基于上述工艺对象的局限性,本文开发了基于单片机的被控对象仿真装置,该装置采用Arduino单片机对常见的被控对象如线性液罐、非线性液罐和液体混合装置进行数学建模,结合模拟量和开关量的输入输出接口和触摸屏等外围设备和器件,构建一个复杂性可选、灵活性强、直观形象的被控对象仿真装置。
1 整体方案设计
本装置的总体架构如图1所示。采用Arduino单片机[10-12]分别对线性液罐、非线性液罐和液体混合装置进行数学建模,以满足不同实践环节对工艺对象复杂程度的需求。触摸屏可用于显示工艺流程,单片机通过模拟量输入接口、模拟量输出接口和开关量输出接口与外部控制装置相连,如集散系统(DCS)、可编程控制器(PLC)和数字调节器等控制装置,可实现闭环控制和报警连锁等功能,如图2所示。
图1 仿真装置的总体架构
图2 仿真装置与控制装置连接示意图
控制装置输出的控制信号(模拟量输出)4~20 mA通过模拟量输入接口进入单片机,与仿真装置中各调节阀开度相对应;被控对象的液位、浓度等信号通过模拟量输出接口转换为4~20 mA信号,作为控制装置的测量信号(模拟量输入)。被控对象的液位的上下限位可通过开关量输出接口转换为接点信号,作为控制装置的开关量输入,完成报警或连锁等功能。
2 硬件设计
本仿真装置在硬件方案设计时,尽量购置成熟的模块,如电压电流转换模块、继电器输出模块、TTL转232模块等,以保证硬件电路工作的可靠性,同时也能大大降低硬件调试的工作量。
2.1 单片机
本装置采用Arduino UNO单片机,如图3所示。该款单片机的优势在于其内部封装了大量的函数库,编程语言类似C语言,无须关注内部存储器,使用简单,入门快,大大缩短了开发的周期,程序的可读性和可维护性增强。该单片机具有数字量输入/输出端口共14个,其中6路可作为PWM输出;模拟量输入/输出端口共6个。
图3 Arduino UNO正面图
2.2 模拟量输入和输出接口
模拟量输入和输出接口的接线示意图如图4所示。模拟量输入接口将输入的电流信号4~20 mA转换为1~5 V电压信号送入Arduino的模拟量输入输出端口A0、A1和A2,这3个端口的信号分别对应调节阀的开度0~100。电阻R1和C起到硬件滤波的作用,电阻R2将电流信号转换为电压信号。
Arduino的PWM输出端口可以作为模拟量输出端口,但由于只有8位,精度较低,因此本装置另外采用2片12位的DAC器件MCP4725,该器件是I2C串行接口,其中SCL是时钟引脚,SDA是数据引脚,A0为地址选择端,两片器件可通过将A0接高电平或地进行地址分配。该器件将数字量转换为1~5 V,再通过电压/电流转换模块转换为4~20 mA。
图4 模拟量输入和输出接口
2.3 开关量输出接口
开关量输出接口是用于模拟液位开关的接点信号,本装置采用带光电耦合的继电器输出模块与开关量输出端配合,用继电器的触点信号模拟液位开关的接点信号,作为各种控制装置的开关量输入。如图5所示,为继电器输出模块的接线图。
图5 继电器输出模块连接示意图
继电器输出模块的S端为信号端,与Arduino的开关量输入输出端2和4相连,当2/4端输出为高时,继电器常开触点闭合,为低时继电器常开触点断开。
2.4 触摸屏
本装置采用7寸触摸屏ET070作为人机界面,完成工艺流程显示,并控制程序运行,进行参数的设置。该触摸屏有一个串行端口COM0,分辨率800×400像素,可通过自带的组态软件HMIware对触摸屏进行变量设置和画面规划,单片机通过MODBUSRTU协议与触摸屏进行通信,完成数据的交换和传递,如图6所示,由于单片机的通信信号为TTL电平,所以需要一个电平转换模块,实现TTL到232信号的转换。
图6 触摸屏通信接口示意图
3 软件设计
3.1 软件方案设计
主程序设计流程如图7所示。开机后首先进行初始化,对引脚进行定义,并打开显示中断,定时进行触摸屏显示的刷新。进行实验前,可选择液罐的类型,并对调节阀和罐的尺寸进行设置,该功能可用于防止多组学生实验结果的雷同。模型运行后,等待按钮的动作,判断是否停止。定时采样中断以100 ms的间隔采集模拟量输入作为阀位开度,经数学模型运算,计算出当前液位,并将液位作为模拟量输出,如图8所示。
3.2 被控对象的机理建模
需要建模的仿真装置包括线性液罐、非线性液罐和液体混合罐。这里以液体混合罐为例进行介绍。
图7 主程序设计流程
图8 采样中断程序
液体混合罐采用圆筒形液罐,如图9所示,A液体入口流量为QA,浓度为NA;B液体入口流量为QB,浓度为NB;得到混合后的液体为C,流量QC,浓度为NC。LV1、LV2和LV3分别为3个调节阀,阀的开度与输入的模拟量信号相对应。
图9 线性液罐示意图
LV1和LV2均为入口阀,且流量特性为直线特性,通过LV1流量可表达为[12-13]:
式中:Δp为阀两端的压降,单位为kPa,本实验设为恒定100 kPa;c1为阀的流量系数;k1为阀的开度;ρ为液体密度,本实验设为700 kg/m3;QA单位为m3/s。通过LV2的流量QB与QA的计算完全相同。
LV3为出口阀,通过LV3的流量QC可表达为:
式(2)中Δp与液位有关,即:
综合式(2)和式(3),可得:
根据物料守恒,当前时刻n的液位可表达为:
式中,A为液罐的面积,TS为采样时间。
流出产物C的浓度可表达为:
4 仿真装置运行
仿真装置开机后首先需要选择实验类型,如图10所示,实验类型包括线性罐、非线性罐和液体混合罐,选择后即可进入如图11所示的模型参数设置界面。
图10 实验类型选择
图11 模型参数设置界面
模型参数包括3个阀的流量系数和罐的尺寸,通过设置不同的参数,可以让每组实验的数据不同,避免了实验结果的雷同。如图12所示,为非线性罐运行界面,按下停止按钮即可返回图10的实验类型选择界面。
图12 运行界面
5 结束语
本仿真装置以Arduino单片机为核心,结合模拟量和开关量的输入输出接口和触摸屏等器件,实现对线性液罐、非线性液罐和液体混合罐工作过程的仿真和模拟。本装置可与数字调节器、PLC、DCS等控制装置或仪表配合,方便地进行控制装置的测试或控制方案的调试,如完成PID参数的整定、非线性对象控制方案的调试、开停工过程的顺序控制、安全仪表系统的设计和调试等。由于液罐的尺寸和阀的流量系数可进行设置,在进行综合实验或课程设计时可以保证每个组实验对象参数不同,从而避免了实验结果的雷同,有利于学生独立思考能力的培养。整个装置体积小、重量轻,显示直观形象,使用灵活方便,具有较强的推广性和实用性。目前已将该装置应用于过程控制仪表与装置、可编程控制技术和专业综合实验等课程的实验和实践环节,后续还将对模型进行进一步的扩展,增加加热炉、分离器等常见设备,以便应用于更多的实践环节。
[1]邓晓刚,陈卫红,杨明辉.过程控制实验装置实时监控软件开发[J].实验科学与技术,2014,12(6):60-63.
[2]王钊,陈卫红,齐丽萍,等.基于过程控制实训装置的单容水箱建模与控制[J].中国校外教育,2013(12):149.
[3]陈卫红,马士腾,邓晓刚,等.创建综合实验平台培养新型控制人才[J].实验技术与管理,2017,34(3):20-24.
[4]彭倩,李红岩.半实物仿真装置在过程控制实验课程中的应用[J].高校实验室工作研究,2013,115(1):49-50.
[5]汪雪琴,张贝克,吴重光.开展控制技能仿真实训,培养学生创新能力[J].中国大学教学,2008(7):37-38.
[6]高哲,李旭东,王珊,等.SMPT-1000实验平台的蒸发器控制系统设计[J].实验室研究与探索,2016,35(3):100-104.
[7]杨锡运,徐大平,张玉铎.一种控制系统的实时仿真装置[J].自动化仪表,2002,23(5):31-34.
[8]邢丽娟,李胜玉.工艺对象仿真装置的设计[J].山西电子技术,2004(1):19-20.
[9]涂玲,张晓东,孙良.仿真教学资源在测量仪表及自动化课程中的应用[J].价值工程,2013(7):182-184.
[10]杨振乾,张旭东,王子城,等.基于Arduino单片机的迈克尔逊干涉仪测量改进[J].实验室研究与探索,2016,35(1):50-53.
[11]刘文杰,朱明,覃振权.基于Arduino的物联网温控实验设计[J].实验技术与管理,2017,34(1):50-52.
[12]龚飞鹰,刘传君,何衍庆.控制阀实用手册[M].北京:化学工业出版社,2015.
[13]吴重光,吕崇德.系统建模与仿真[M].北京:清华大学出版社,2008.