实验室智能空调管理系统的设计
2018-04-11彭辉丽孙伟华余善恩陈张平
李 真, 彭辉丽, 孙伟华, 余善恩, 陈张平
(杭州电子科技大学 a.自动化学院;b.理学院, 杭州 310018)
0 引 言
目前,高校实验室各类机房以及各专用实验设备间都大量使用了各式各样的空调,以保证实验设备及仪器运行在适当温度范围内。现有的空调控制主要是人为进行开关以及温度的设置。由此,将会带来一系列的问题,如:许多实验室的空调因为无人及时管理造成能源的不必要浪费,人为对空调不合理地操作使空调在过低或过高的设定温度下运行,空调出现故障却没能及时发现和修理等。为解决以上问题,设计了一个对实验室空调进行网络化、集中化管理的智能空调集中管理系统[1]。
1 系统总体设计方案
智能空调管理系统主要由系统主控端、分控端、主控端与分控端之间的通信总线、系统上位机监控软件这几部分组成[2]。整个智能管理系统的结构如图1所示。主控端负责对分控端的信息进行接收处理,完成决策参数的传递以及同上位机监控的数据交互。分控端则主要实现由微控制器通过温度传感器和热释电传感器等采集测量信息数据,通过RS-485实现与主控制器之间的信息交流,实现用红外遥控控制空调。系统上位机监控软件是智能空调集中管理系统主要的人机交互界面,它通过计算机上的串口与主控端进行数据交互。这样,使用该智能空调管理系统只需用一台电脑就可以对一栋楼甚至是几栋楼的空调进行监控和管理,从而实现了楼宇自动化控制中的空调系统智能管理[3]。
图1系统结构图
2 硬件设计与实现
2.1 主控端硬件
主控端硬件主要分为主控芯片、电源管理模块、液晶和按键等交互设备模块、RS-485通信模块[4]、串口通信接口模块等几个部分,主控端硬件框图如图2所示。
选择STM32F103RBT6作为主控制芯片。该款微控制器可以支持本次设计实现其各项功能,且它拥有3个USB模块能充分满足本次设计的通信模块方面的需求。该主控制芯片基本的外围电路包扩复位电路、时钟电路、滤波电路、串口电路等等[5-6]。
液晶和按键等交互设备的驱动电路中OLED液晶、按键和LED灯都使用了主控制芯片GPIO的输入输出模式进行单独控制,其中主要使用了主控制芯片的GPIOA、GPIOB和GPIOC 3种引脚。
图2主控端硬件框图
RS-485通信模块是主控制芯片的串口2与RS-485芯片相连,再由RS-485芯片的2个输出口设置为对外接口,用于和双绞线相连与分控端通信。
由于主控端的各个模块的工作电压不尽相同,为了使它们能稳定工作,必须有可靠的电源管理。电源部分负责将外部输入的5 V直流电压通过电源芯片AMS1117转换为稳定的5 V电压和3.3 V电压输出,为主控制芯片、RS-485芯片以及OLED液晶等提供稳定的电源电压。主控端的5 V电压是由AC/DC电源适配器从外面引入的。而3.3 V电压的稳压输出是通过AMS1117-3.3芯片得到的。该芯片是一个低漏失电压调整器,属于一款易于使用的三端稳压系列产品,它的稳压调整管是由一个PNP驱动的NPN管构成的。电源管理电路如图3所示[7]。
图3 电源电路原理图
2.2 分控端硬件
空调管理系统分控端由信息采集、红外控制、实时显示这3个部分功能构成。空调集中管理系统分控端的整体设计结构图如图4所示[8-10]。
(1) 数据采集模块。主要功能是采集房间内的信息,传感器将采集到的信息数据送往主控模块进行数据处理。本设计在数据采集模块中主要采用了两个传感器,一个是检测室内温度的温度传感器DS18B20,另一个是基于BISS0001的热释电红外检测传感器。 BISS0001是一款高性能信号处理器,在本分控端的设计中,将热释电红外传感器和BISS0001还有少量的外接元器件可构成被动式的热释电红外检测装置[11]。
(2) 红外控制模块。红外控制部分包括一个红外发射模块和红外接收模块。红外接收空调遥控器的脉冲指令,将接收到的信号存储起来,并通过红外发射部分将数据重新发送出去,从而实现了空调管理系统控制端的空调控制部分。红外接收部分如图5(左)所示,红外接收采用HS0038作为探头,接收红外信号频率为38 kHz,这其实就是一个软件解码部分。图5的右边部分为红外发射装置,采用一个三极管S9013来驱动红外发射灯D1,三极管主要是起到开关的作用,通过单片机输出的控制信号来关断或是接通,电阻R1和电阻R2是限流电阻,主要作用是调节红外LED灯D1的电流[12]。
图4分控系统整体结构图
图5红外发射和接收装置图
(3) 实时显示模块。实时显示部分包括5110LCD显示屏和多彩LED灯。在液晶显示屏上显示实时温度和房间的人员情况,显示从主控端接收到的设置命令信息,并通过LED的不同颜色直观表示空调正在加热、制冷等运行状态。
5110液晶显示屏的电路连接包括电源线和地线,还有5根I/O控制线,1条高亮LED背光控制线。5110采用的5 V电压供电。人机交互部分还包括3个不同颜色的LED灯,软件控制不同颜色的LED表示分控端空调的运行状态,具体是:红色LED表示空调的加热状态,蓝色表示制冷,白色表示室内温度和空调设置温度一致。显示模块电路如图6所示。此外,还设计4个独立按键,可在分控端直接设定空调温度等,完善人机交互部分。即使脱离主控制端的控制,分控端也能自行人为输入控制。
图6 显示模块电路图
2.3 通信模块设计
数据传输部分是整个系统主控制端和分控制端进行数据交互的枢纽。本设计的主控端和各个分控端,采用一款由Maxim公司开发出的RS-485芯片MAX485,作为系统通信的收发器。该芯片支持5 V供电,额定电流为300 μA,能起到将TTL电平转换为RS-485电平的功能。
系统数据传输部分采用RS-485总线进行硬件连接。主控制端需要将温度设定范围、时间设定范围和控制温度等控制信息发往分控端,将这些信息进行协议编码,通过RS-485发往分控端;分控端将自己的空调编号和传感器采集的数据信息进行协议编码,同样通过RS-485回传给主控端,这里的软件部分就要和主控端制定一个传输协议,实现主控向某一分控机组发送命令,其他的分控制端不接受此信息;或是向所有分控端机组群发控制命令,所有机组都接收并处理此命令。根据本设计的系统要求,使用的是典型的RS-485半双工通信。基于RS-485控制理论,系统设计控制电路如图7所示[13]。
图7RS-485控制电路图
系统在硬件电路上,用2根导线分别将2个RS-485的A端、B端相互连接,RS-485的理想传输介质是双绞线,相当于120 Ω阻抗,如果是想要实现长距离传输通信时,就需要在A线B线之间加上一个阻值120 Ω大小的电阻,空调集中管理系统连接相邻教室间的空调分控制器,距离不是很远,所以没有外加电阻。
3 软件设计与实现
3.1 主控端软件设计
对于整个主控端的软件设计来说,首先要做的是对系统时钟、系统延时函数、LED灯与按键的GPIO引脚、OLED液晶以及RS-485和主控制芯片上串口的初始化;然后程序进入一个循环,开始运行主控端的各个功能模块,如接收上位机监控软件通过串口发送的信息,将该信息通过RS-485总线以广播的方式发送给所有分控端,接收分控端发送回主控端的信息,将该信息通过主控制芯片的串口转发给上位机监控软件进行人机交互,在测试阶段可以将该信息解码并调用液晶显示函数显示,也可以通过按键进行测试参数的设置。总体软件设计流程框图如图8所示[14]。
图8主控端总体软件设计流程图
3.2 分控端软件设计
整个分控系统的软件设计,基于对空调的控制而设计。软件的总体流程是:① 系统初始化,包括对主控芯片STM32的系统时钟的设置;波特率的初始化;各个I/O口的初始化;定时器、计时器等的初始化;RS-485总线通信的初始设置;LCD5110液晶显示屏、LED灯和按键的初始化;还有PWM等初始设置。② 分控端在主函数中一直接收RS-485总线上来自主控制端发来的设置命令,包括温度设置范围、控制时间范围和设定温度等信息,要对其进行解码,按照接收到的设置信息对空调进行初始设置。③ 主函数中一直保持对两个传感器,温度传感器和热释电的采集处理,通过热释电传感器返回信息判断房间内是否有人。④ 在房间内没有人的情况下,空调被设定为不允许打开,即软件控制关闭空调的运行,当然这需要软件上的进一步处理,不可能因为一个人暂时地离开房间而将空调立马关闭,频繁的开启空调电源和切断电源,将导致的结果是没有起到节能的效果,反而更加浪费电能。⑤ 如果检测到房间内有人,则根据上述从RS-485总线上获取的设置命令进行温度的设置。不是简单将室内空调的温度设置成主控端设置的温度,需要将判断设置温度是否在合理的设置范围内,也要判断现在的时间是否是合理的设置时间。⑥ 分控端的实时监测空调的运行状态和房间状态,并在5110上实时显示出来;控制不同颜色LED灯表示空调的不同运行状态,并可以按键手动输入控制温度,拓展了可行性。⑦ 软件采用单片机一路PWM作为38 kHz频率的控制信号作为红外发射的载波信号,将红外接收装置接收的脉冲信号如实发出去。总体的软件流程如图9所示。
图9分控端软件流程图
3.3 上位机监控软件设计
为了提高系统人机交互能力,本设计还有一个供人机交互使用的上位机监控软件。上位机监控软件能够设置并发送给分控端控制参数以及显示分控端发回的各种传感器信息和空调运行状态信息。该上位机的设计主要有:串口设置部分,分控器参数显示部分,参数设置与发送部分,室内温度绘图部分以及通信测试部分。上位机监控软件的整体界面如图10所示。该软件的主要功能是当串口设置完成并打开串口后,在分控端参数显示区和室内温度绘图区显示各个分控端的环境参数,同时可以在发送设置区设置分控端的各种参数经参数发送按钮发送。为了方便调试,在上位机界面的右下角还设计了通信调试区域[15]。
(1) 串口设置模块。对于整个上位机来说,串口技术是其中最为关键的。本系统采用微软在.NET下推出的一个串口控件SerialPort(串口),基于.NET的P/Invoke调用方法实现。除了SerialPort控件之外,还使用到了Button控件、ComboBox控件以及GroupBox控件。为了能让上位机进行串口通信,首先,对串口的端口号进行选择,也就是选择计算机上可以用以通信的端口。然后,是选择合适的波特率,当选择的波特率和主控端串口的波特率一致时两者便可以进行通信了。当这两项设置好以后,就可以按下打开串口按钮进行通信了。
图10 上位机监控软件界面
(2) 分控器参数显示模块。主要用于显示由主控端传回的分控端的环境参数。当计算机的串口接收到数据时,将会触发SerialPort类的DataReceived事件,这时候再通过事先编写好的功能函数将数据读出来,然后利用实现编写好的解码函数对数据进行解码后,便可用于参数显示之用。该模块中主要使用了TextBox控件,只要将解码后的参数修改对应TextBox控件的Text属性即可。和上位机分控器参数显示模块功能类似,室内温度绘图模块是将串口接收到的分控端信息中的室内温度分理出来用来在PictureBox控件上绘制温度曲线。这样将能更为直观地向管理者展示室内温度的变化情况。
(3) 参数设置与发送模块。该模块主要用于上位机监控软件对分控端参数的设定与发送。本设计提供了两种分控端地址的设置,一种是广播地址N000,当发送的数据以该地址开头那么所有的分控端都需要接收并将自身的所有参数按该调指令信息的内容设置;另一种是分控端自身的地址,如N001、N002等,当发送的数据以该类地址开头,只有相应地址的分控端才能接收并设置参数,其他分控端将该信息忽略。这样做的好处是不仅可以设置单个分控端的参数,而且可以批量设置多个所处环境相似的分控端的参数。
接下来是对空调工作时间范围的设置,只有在此时间段内分控端才能控制空调运行,该段信息由8个字符组成。然后是对空调的温度范围进行设置,即分控端对空调温度的设置不能超过该范围,该段信息由4个字符组成。最后是设置当前空调的实际运行温度,当环境温度达到该设定的温度,空调便停止运行,低于该设定温度便开启。当所有参数都设定完成后,只要按下参数发送按键,内部程序就会将所有参数组合成一串字符串信息经串口发送给主控端。
(4) 上位机通信测试模块。该模块是为了在上位机开发初期进行串口的接收与发生的测试之用,以提高开发时对串口功能正确性的把握。如图10中通信测试区,其中第一个文本框是测试接收区,第二个是测试发送区。当在发送区输入文本后,按下测试发送按钮,如果串口收发功能正常,则在接收区将会接收到发送区的文本。同时,在软件投入使用时,在接收框中还能连续显示由主控端发回的信息,这样也能从另一方面监控上位机监控软件是否正常接收数据。
4 结 语
本设计实现了一个完整的智能空调集中管理系统。其中主控制端与各个分控端通过总线连接进行数据交流,实现对各个分控端数据的实时监控及分控端参数的实时设定;系统分控制端通过在系统分控机组安装不同的监测及执行设备,通过RS-485总线接收主控端的控制信息,实现实时控制的功能,并且通过RS-485总线将信息数据发送回给主机;上位机软件则实现了人机交互和与主控端进行数据交互。
该系统实施后,仅用1台电脑就可以对1栋楼甚至是几栋楼的空调进行监控和管理,从而实现了实验室空调系统智能化、集中化管理,加强了对实验室大功率电器空调的管理力度,在一定程度上降低了实验室大功率用电器的安全隐患,对高校实验室管理和建设有一定的借鉴作用。同时该系统亦可应用于各类企事业单位及工厂,在节能减排方面有较高实用价值[16]。
参考文献(References):
[1]吴蓬勃, 李学海, 杨斐,等. 基于物联网的智能实验室研究与实践[J]. 实验室研究与探索, 2015, 34(3):78-85.
[2]朱峰. 嵌入式技术在中央空调集中控制系统中的应用研究[D].长沙:中南大学,2007.
[3]戴康娣. 高校机房监控管理系统的设计与研究[J]. 信息与电脑(理论版),2012(7):37-38.
[4]Maxim Semiconductor MAX485 datasheet[EB/OL].http://www.waveshare.net/Datasheet_PDF/MAX485-PDF.html.
[5]宋奇兵. 基于嵌入式技术的中央空调控制器设计[D].合肥:合肥工业大学,2010.
[6]孙书鹰, 陈志佳, 寇超. 新一代嵌入式微处理器STM32F103开发与应用[J]. 网络新媒体技术, 2010, 31(12):59-63.
[7]张超. 嵌入式中央空调智能控制系统的研究[D]. 广州:华南理工大学, 2010.
[8]郑珊珊. 基于ARM+Linux的中央空调集中控制系统的研究[J]. 科技创新导报, 2012(10):12.
[9]李开国, 康志亮, 丁武伟,等. 基于TCP/IP协议的家电远程控制系统设计[J]. 测控技术, 2011, 30(7):41-45.
[10]刘同法. ARM Cortex-M3内核微控制器快速入门与应用[M]. 北京:北京航空航天大学出版社, 2009.
[11]刘晨. 物体运动姿态检测系统的数据采集与处理技术研究[D]. 哈尔滨:哈尔滨工程大学, 2012.
[12]黄卫其. 人体红外感应及光传感器在空调控制器中的应用[D]. 上海:上海交通大学, 2008.
[13]Joseph Yiu. 从8位微控制器转向ARM Cortex微控制器[J]. 电子设计技术, 2009(9):107.
[14]宫艳雪, 武智霞, 郑树泉,等. 面向智慧社区的物联网架构研究[J]. 计算机工程与设计, 2014, 35(1):344-349.
[15]吴文华, 施镇江, 朱娟娟,等. 智能管理系统在高校实验室管理中的应用[J]. 实验室研究与探索, 2014, 33(11):259-264.
[16]余善恩, 李真, 陈张平,等. 基于校园一卡通的开放实验室节能系统研究[J]. 实验技术与管理, 2016, 33(12):263-265.