现代智能温室控制系统的应用,大大提高了各种动植物养殖的自动化程度,在这个控制系统中,我们要用到大量的温度、湿度、气体浓度等控制设备。温度和湿度的调节主要靠空调系统来完成,而在当今的空调品牌中,大部分采用了HBS(Home Bus System)总线,尤其是日本的诸如三洋、日立等空调,这些设备想要加入到温室控制中,单靠其现有的空调遥控是不能实现的,因为一般的温室控制系统和HBS总线是不兼容的,本控制器就是通过单片机和MM1192(HBS总线通信模块)将空调系统融合到温室控制系统中来,进而实现对空调系统的自动控制。
1 系统总体结构设计
HBS由日本电子工业联合会/无线工程电子协会HBS标准委员会制定,以双绞线和同轴电缆为介质,控制通道最多可有64个节点,由物理层、数据链路层和网络层组成,其协议内容包含了如何通过传输介质将家庭设备、电话、音频/视频装置连接达到控制,他在现代家居系统中较为常见。
不论是哪种协议,其物理层通信载体都是网络布线,有了这个物理载体,完全可以通过单片机实现日常所需的控制。
1.1 电源电路
家庭总线通过变压器产生一个12 V直流载波,这个直流载波在总线上对于任何一个控制器都是一个回路。对整个电路设计而言,总控制器和各家电控制器均采用家庭总线直流载波供电,通过电平转换模块将12 V电压转换为单片机需要的5 V。对于电源电路而言,通过电感将交流信号阻断,将控制信号滤出,更重要的是隔离开电源电路对总线上控制信号的干扰。
电平转换芯片选用62AB,电路简图如图1所示。
1.2 控制模块
控制模块选用一般AT89C51单片机即可,AT89C51是一种带4 kB字节闪烁可编程可擦除只读存储器(FlashProgrammable and Erasable Read Only Memory,FPER-OM)的低电压、高性能CMOS 8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.3 HBS通信模块
MM1192总线控制模块是日本MITSUMI公司专门为HBS总线设计开发的适配器芯片,其本身自带编码解码电路,可应用于智能家居系统的电信、安全监控、影音设备、空调设备等,通过MM1192可将单片机控制信号附加到HBS总线的直流载波上进行传输,在接收端,同样利用MM1192将载波上滤出的信号进行还原,其控制时序如图2所示。
采用MM1192收发模块,可直接与单片机连接,另外,考虑到一些干扰和失真,在单片机和收发模块之间加入了整形电路74HC00,有效降低了误码率。
在单片机I/O控制口的设计中,将P1口作为各种控制的按键控制口,不同的按键代表不同的控制功能,具体分为:开机、关机,高温、低温,送风、除湿、制冷、加热。P2口作为控制状态显示输出,8个LED发光管代表不同的当前命令状态。
整个控制模块的电路简图如图3所示。
2 系统软件设计
2.1 空调工作过程
空调控制器研制过程中,有一个必不可少的环节是空调命令码的获取,从空调主机的HBS端口,还有扩展的232接口和485接口,都不能直观地获得这些命令码,虽然大部分空调通信都遵循HBS协议或485协议,但在传输过程中都是加密的。尽管如此,通过实验发现每次控制器发给空调主机的都是一个完整的报文,其工作过程如下:
在日立空调的控制系统中,每当系统上电,控制器和空调主机之间都会进行信息交互,也就是常说的系统初始化,其过程有至少七次信息握手,首先是控制器向空调主机发送信息码,主机回应,然后空调主机向控制器发送索取信息,之后控制器确认,空调主机再次向控制器发送索取信息,控制器再次确认,如此反复7次直到完成控制器与空调主机之间的信息同步。初始化完毕之后,控制器发送的每一条控制命令中都包含了当前的控制器状态及发生改变的状态,还有当前室温等参数(由控制器终端的传感器采集得到),空调主机记下其状态并根据控制命令和控制器发来的状态参数自动调节室内温度、湿度等。
从实验中得到,在空调主机未经过初始化的情况下,给其发送控制命令,亦可实现控制,即将原来的双向通讯方式改为单向,控制器改为单片机控制,只发送控制码,不接收和识别空调主机的状态参数,只在收到主机的确认信息后对其进行各种控制。
2.2 数据采集
命令码的采集需要采集设备,本文所用虚拟仪器型号DSO2902,具体参数为:20 Gb/s等效采样,250 MHz或500 MHz实时采样速率,采样速率从1 Hz/s~20 GHz/s。测量带宽80 MHz,用数学插值计算提高带宽;通过计算机并口或USB 2.0口连接计算机;最大512 kB/1 MB存储深度;多种先进触发方式;采集和通道参数能自动设置;带125 MHz或200 MHz的频谱分析仪功能/FFT,8通道250 MHz/s逻辑分析仪;外触发既可用正负电平也可外部时钟触发,示波器与逻辑分析仪可交叉触发;带XY绘图功能;计算机屏幕进行彩色显示,并能多屏幕显示;对采集波形进行运算,10多种自动测量参数;显示数据可存储的计算机硬盘,以便事后分析。用户可编制LabVIEW驱动,连接LabVIEW图形化设计。
空调命令码的采集端应该在命令码进入MM1192总线控制模块之前(控制器端)或者MM1192解码之后(主机端),因为控制器端的MM1192是将命令码编码发送,其码形是不可读的,主机端的MM1192将总线上的命令码解码,解码之后的码形和进入控制端MM1192之前的码是一样的。如图4所示。
图像采集使用双通道,分别标以不同的颜色,在显示区域以可自定义的上下两部分对应显示,可清晰的看出发送码与回复码,采集到的图像如图5所示。
采集到的命令码通过软件可放大成百上千倍,将图5展开便可得到清晰可读的控制码与回复码,如图6所示。
从放大后的波形图可以清楚地看到上下两个波的具体信息,下面的码是命令码,上面长出命令码的部分是空调主机的回复码,命令码的结束部分为00-0000,回复码为0101000。
2.3 软件流程
为了达到控制系统的最优化,软件设计是至关重要的,简洁有效的程序能节省单片机的运行时间从而提高系统稳定性和准确率,同时使CPU工作在掉电或者空闲模式下,也能有效降低功耗。掉电模式时功耗要比空闲模式更低,但由于掉电模式需要硬件复位唤醒,所以设计中选用CPU空闲模式。
软件整体设计流程:上电后单片机进入空闲模式。用户通过外部按键中断唤醒处理器,处理器扫描按键,得到要发送的命令码并将其发送到HBS总线上,HIBS总线上的空调主机会收到这个命令码并执行。控制器在一定时间里没有发送命令的话则进入空闲模式。
空调控制器软件设计流程图如图7所示。
3 结语
通过MM1192总线控制器,利用单片机能够对中央空调系统进行包括开关机、制冷、除湿、加热等常规控制,大大降低了控制成本,使基于HBS总线的空调设备很方便地安装到温室控制系统中,通过对日立空调系统进行试验,达到了预期效果。本控制单元有较强的可移植能力,在HBS系统总线上,只要有控制目标的命令码,就可以通过本文设计的控制器控制总线上不同的目标设备。
|