付曦东++龙庄++鲁瑛
摘 要:乐高NXT机器人作为一种相当优秀的实验平台,能对将多种资源进行整合,满足实验要求。就如何利用乐高NXT机器人创建自动控制水温实验平台的实验目标、实验步骤、软件运行等进行了介绍。
关键词:温度控制;机器人;传感器;图形化编程
中图分类号:TP242 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.23.127
乐高NXT机器人可以将信息、机械、电子、传感器等多学科知识整合,帮助我们实现难度大的创新实验。
许多化学、生物方面的研究中都涉及水温精确控制问题,比如化肥过磷酸钙中有效磷的提取测定,细菌、真菌的液体培养等。以下就利用NXT乐高机器人的功能,在精确控制水温方面进行探讨。
1 实验目标
控制水温在25±0.1 ℃,并需要对装有提取剂的三角瓶进行30 min振荡;调整水温精确控制在30±0.1 ℃、35±0.1 ℃、40±0.1 ℃、45±0.1 ℃等;绘制出温度曲线。
2 实验设备及准备
制作简易隔热式水浴恒温箱,装载自动控制水温平台,以微型振荡器(尺寸为210 mm×160 mm×110 mm)带动。恒溫箱内装有2 L的水(25℃),水中架子上放有提取剂和提取物的三角瓶;乐高温度传感器固定在箱内,以数据线连接到乐高NXT主机。
恒温箱用聚苯乙烯泡沫塑料泡沫来制作,尺寸为286 mm×166 mm×186 mm,厚度为20 mm,内涂有防水涂料。实验时盖子要盖严实,以防与空气热量交换过多。聚苯乙烯泡沫恒温箱的导热系数一般小于0.05 W/(m·℃),因此,水、空气分别与聚苯乙烯泡沫的热交换量很少。如果恒温箱不盖盖子(假设水温与室温相差10 ℃),则常温下空气与水表面的的换热基本为自然对流,对流换热系数为5~10 W/(m2·K),而水与空气接触的面积约为0.045 m2,由此可以计算出20 s热交换最多为90 J。而2 L水每次升降温0.1 ℃的热量交换约为840 J。因此,恒温箱盖好盖子计算温差较大时,也不必考虑水与空气的热交换。
搭建伺服马达转动控制1~2 ℃低温水开关系统(由伺服马达B控制),即制作一个用乐高凸轮控制吊瓶软管流量控制的开关系统(吊瓶用医用500 mL输液吊瓶,软管用医用软管,内径为5 mm);固定好伺服马达及流量控制开关,伺服马达带动凸轮正反转一定角度开关软管流量控制开关(吊瓶内装有调好1~2 ℃的水,类似医院打吊针),软管水阀软管水阀软管水阀冰水流至恒温箱内。
搭建伺服马达转动控制开关加热的装置(由伺服马达C控制),即建立一个通过自动控制开关加热装置(300 W的加热管放置恒温箱水中),温度计检测到温度低于25 ℃时加热器(300 W)开始加热(由伺服马达C上联接一个“X”型乐高把手轮,可左右转动控制开关及加热时间,开关连接加热管,开关用普通的灯开关面板;固定好伺服马达及开关面板)。
通过乐高NXT-G编程软件(2.0或以上版本)在电脑上编好程序,下载到NXT主机上并控制整个平台运行;通过乐高NXT温度传感器(NXT温度传感器测量范围在-20~120 ℃)测量水温并将数据反馈至NXT主机,主机根椐温度状况采取不同的动作。
主机通过数据线接至电脑并将数据下载至电脑,通过NXT-G软件可以对数据进行分析。
乐高把手轮如图1所示,乐高凸轮如图2所示,流量控制开关如图3所示。
3 用图形化编程软件NXT-G编程及运行
由于2 L水每次升降温0.1 ℃的热量交换约为840 J,因此,设定好每次升温的动作时间及降温的动作时间就可达到目的。考虑到有一定的热量散失,因此,程序时间上可放宽0.1~0.2 s。
温度计接NXT主机端口2,图标参数设定为“是否高于25 ℃”,即检测恒温箱内温度高于25 ℃时,伺服马达B正转60°,凸轮推开软管调节器,冰水流至恒温箱8.66 s后伺服马达B再反转60°,凸轮压迫软管调节器关停软管内流水;经过11 s后温度计重测温度,同时,在开始数据日志模块记录实验数据。一个周期约为20 s,冰水一次流出9 g左右,每次降温约为0.1 ℃。
温度计检测到温度低于25 ℃时,伺服马达C设定等待6.56 s,再控制把手轮正转40°,打开加热管(300 W)开关开始加热,然后伺服马达C反转40°复位。加热3 s后,伺服马达C带动把手轮反转40°关闭加热管开关,然后将伺服马达再正转40°复位;经过11 s后温度计重测温度,同时,在开始数据日志模块记录实验数据。一个周期约为20 s,加热管开关用普通的墙壁灯开关,每次升温约0.1 ℃。
整体程序如图4所示。
主程序循环周期设定为1 800 s(实验周期为30 min),步骤为:机器人先等待11 s,然后温度计测试水温,水温高于25 ℃时执行上半部程序降温,记录水温至NXT主机中;水温低于25 ℃时,执行下半部程序加温,记录水温至NXT中;实验完成后,可下载NXT中的数据日志至电脑中分析。
数据日志模块设定参数为:持续时间可设为1 800 s,采样时间间隔设为20 s,即每升降温一次后就采样一次。
根据需要调整程序参数可控制水温。比如,如果要将水温由25 ℃升至30 ℃,并精确控制在±0.1 ℃范围内,其操作步骤如下:调整主控程序中温度计的参数设定为“是否高于30 ℃”;将温控箱中的2 L水先加热至约30 ℃(2 L水由25 ℃升至30 ℃需要167 s,可先将程序中的加热时间从3 s调为167 s,温度升至30 ℃后再调回3秒);调整主控程序中的温度计的参数为30 ℃,使其每20 s升高0.1 ℃,直至30 ℃左右。值得注意的是,每次程序更改要重新下载至NXT主机。同理,可以精确控制35±0.1 ℃、40±0.1 ℃、45±0.1 ℃等范围内的水温。
整个实验反复调整了很多次,一次升降温数值不宜过大,即需要控制好升降温时间,以便于较精确地控制温度。一个周期设定在20 s的原因是为了方便控制升降温的频率和水温的曲线记录。
4 结论
本实验采用了较为简单的搭建及编程实现了最初的实验目标,可以较精准地自动控制水温(±0.1 ℃),可以随时通过调整程序中的参数来控制温度,室温对本实验的影响不大。理论上。可以控制水温在2±0.1 ℃~99±0.1 ℃。总之,达到了用简单的方法完成水温恒定或水温自动控制实验的目的。在没有专业技术背景的情况下,实现了需要较高级设备下才能做到的温控实验。
参考文献
[1]翟克勇.电离原理在超级恒温系统中的应用[J].实验技术与管理,2003(04).
[2]傅庸厚.碳酸氢钠法测定土壤速效磷时的水浴恒温提取法[J].江西农业科技,1983(11).
[3]郝晓光.物理化学实验中温度测控的教学扩展[J].实验科学与技术,2009(02).
[4]荣骏.NXT-G全功能介绍[J].计算机硬件及网络,2013(02).
[5]贺萍等.基于工作过程的高职课程方案设计[J].深圳职业技术学院学报,2008(03).
[6]王宁,陈永志.基于LabVIEW的LEGO NXT机器人在控制类教学应用上的探索[J].国外电子测量技术,2013(04).
〔编辑:张思楠〕