煤矿机械CoalMineMachineryVol.36No.03Mar.2015第36卷第03期2015年03月中。部分源码如下:printf("%s",""AT+CMGF=1\n"");delay_ms(200);printf("%s",AT+CSCS=GSM/n);……(3)lcd源程序实现将筛选出的有效的定位信息在显示屏上显示。部分源码如下:if(GPS.NS=='N')Lcd_DispLine(2,0,beiwei);elseif(GPS.NS=='S')Lcd_DispLine(2,0,nanwei);……4结语本系统可以实时显示接收模块所在点的经纬度和具体的时间等一些定位信息,并在接收到发送短信命令时可以将定位信息发送到相关联的手机中。废除井下用户平时用不到的附加功能,完善最基本的实用定位功能。能够准确、实时地确定出接收点所在的具体定位信息,本系统具有抗干扰能力强、生产成本低廉、可靠性高等优点,能够满足井下用户对于定位的一般需求和矿用GPS市场的发展趋势,具有相对良好的经济效益,拥有较大的推广和应用的价值。作者简介:靳栋栋(1992-),山东济宁人,研究生,控制工程专业,电子信箱:jindongdong1992@126.com.责任编辑:武伟民收稿日期:2014-10-13!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!doi:10.13436/j.mkjx.2015031110引言煤矿井下的有害气体对井下工作人员的生命具有很大的威胁,由于矿山检测系统不能实时对有害气体浓度检测,导致煤矿事故频繁发生。如果气体检测系统能够实时对矿井下的有害气体进行多点多路的有效检测,必然会避免事故的发生。1总体方案设计针对目前井下气体检测系统在通讯方式、单点检测和检测气体单一等方面的不足,提出了一种基于Zigbee和Matlab串口通信的多路矿井气体检测系统。系统中包括多个以C8051F020单片机为主控芯片对模拟信号进行A/D转换并进行温度补偿,将信号处理后通过RS-232串口发送到上位机,Matlab采用中断的方式实时接收下位机传输的数据信号,同时对数据进行保存、动态显示和记录等。多个C8051F020单片机和上位机Matlab之间通过串口接Zigbee无线通讯模块,实现数据的无线传输。系基于Zigbee串口通信的多路气体检测系统*钱程,殷志祥(安徽理工大学,安徽淮南232001)摘要:针对目前矿井安全监测系统在通讯方式和单台监控等方面的不足,介绍了一种采用Zigbee无线通讯方式进行Matlab和C8051F020单片机之间通信的多路矿井气体检测系统。以半导体气敏传感器对气体检测,Matlab对检测到的气体浓度数据通过GUI界面进行实时的动态显示。系统能够在井下多个地点对多路气体同时进行实时有效的检测,有效预防事故的发生,保障井下工作人员的安全。关键词:气体检测;Zigbee无线通讯;Matlab;事件驱动中图分类号:TD76文献标志码:A文章编号:1003-0794(2015)03-0257-04GasDetectionSystemBasedonZigbeeSerialCommunicationQIANCheng,YINZhi-xiang(AnhuiUniversityofScienceandTechnology,Huainan232001,China)Abstract:Forcurrentcoalminesecuritymonitoringsystemisofdifferentincommunicationwayandsinglemonitoringsystem,introducedamulti-channelgasdetectionsysteminthecoalmine.ThecommunicationbetweenMatlabandmicorcontrollerC8051F020throughZigbee.Usegassensorstestgasconcentration,thegasconcentrationdataisdisplayedonman-machineinterfacedesignedbyMatlabGUIinrealtime.Systemcantestmulti-channelgasatthesametimeinmanyplacesofcoalmine,preventaccidentinjurieseffectivelyandensurethesafetyofpeople.Keywords:gasdetection;Zigbeewirelesscommunication;matlab;eventdriven*国家自然科学基金项目(61170172)257
统结构如图1所示。图1系统结构图2气体检测电路设计当敏感元件接触到待测气体CO、CH4时会发生还原反应,同时释放出大量的热量,使得敏感元件的温度升高,造成其电阻值相应的变化。表1可看出CO和CH4不同浓度时对应的气敏器件的阻值,电阻值与浓度关系见表1。表1电阻值与浓度关系根据表1可看出,对于不同的气体浓度变化时,敏感元件阻值的变化是不同的。一般随着气体浓度的增大,元件的阻值也增大,在一定的范围内呈线性变化。气敏元件需要工作在200℃以上高温,一般需要通过加热电路中的加热电阻为气敏元件提供必要的工作温度。而气敏传感器对气体的敏感度随着温度的变化而变化,为了减弱温度对气敏传感器的影响,设计检测电路时需针对温度进行补偿。图2为设计的温度补偿电路,通过Pt热电阻和集成运算放大器组合构成温度自动补偿电路。Rw电位器用来调节放大器的电压放大倍数,它与R3和铂热电阻Rt构成电压负反馈电路,调节Rw电位器改变其电阻值的大小,但通过的电流保持不变。图2温度补偿电路3下位机与上位机的的串口通讯(1)下位机软件设计系统采用C8051F020单片机为主控检测气体数据,C8051F020是一种混合信号系统级单片机,具有强大的多路数据采集功能。其内部同时具有一个12位A/D转化器和8位A/D转换器,可分别用于本系统中对CO和CH4气敏传感器检测信号转换后输入,同时其可靠性和运行速度与以前的51单片机相比有很大提高。下位机程序流程如图3所示,系统初始化过程中首先将系统时钟、数字I/O和ADC初始化同时设置与上位机相同的波特率。初始化程序之后,系统进入循环阶段,在每一次循环过程中系统都会对气体信息进行实时采集,气敏传感器检测到的信号经温度补偿后再经过A/D转换器,将转换后的数据存入寄存器待发送。由于串口通讯每次只能发送一个字节的数据而气敏传感器测量到的结果为4个字节,为保证通讯端的可靠性,降低通讯的误码率,上位机和下位机之间需要设定相应的握手协议。在数据包中加入0xFFH作为标识符,当单片机接收到上位机Matlab发送来的访问信号时,单片机接收到的握手信号为FFH,则分别向上位机传送2个A/D转换后的采样数据包,上位机接收数据包时也会检测数据包中的第1个字节是否为FFH,若不是则丢弃该数据包同时要求下位机重新发送一次,若是则表示握手成功。图3下位机程序流程图(2)无线通讯电路设计本系统采用Zigbee无线通讯模块用于单片机与上位机Matlab之间的通讯。使用的是WLT2408NZ无线通讯模块,该模块具有体积小、数据传输距离远、通讯可靠等特点。除标准Zigbee的16通道外,还有9个扩展频段,有效地避开了WiFi、蓝牙等其他2.4G信号的干扰。同时提供mesh对等无线路由协议,没有组网延时,在井下复杂地形和恶劣环境中具有良好的使用价值。WLT2408NZ无线通讯模块接线如图4所示。将WLT2408NZ无线通讯模块的VCC_3引脚短接,上电后进入编程模式。打开配置软件获取模块的信息,设置串口的参数包括本机地址、目标地址、无线速率、工作频率以及串口通讯超时时间等。主要参数:网络类型为星形网;数据通讯模式为主从模式;数据位为8;波特率为115200;无奇偶校验CH4浓度/%12345R/kΩ3.456.25.34.8CO浓度/%246810R/kΩ10.217.820.522.123.2R1R3RwV1V0R2Rt1kΩ2kΩA43kΩ10kΩ第36卷第03期Vol.36No.03基于Zigbee串口通信的多路气体检测系统———钱程,等CO传感器CH4传感器气敏传感器CO传感器CH4传感器C8051F020单片机AIN0AIN1C8051F020单片机AIN0AIN1气敏传感器Zigbee中继路由节点Zigbee中继路由节点Zigbee中心节点上位机MatlabRS-232开始系统初始化,设置波特率接收寄存器空?接收握手信号(FFH)数据打包串口发送数据包继续?结束是否258
位;将与单片机相连的设备设置为终端设备,与上位机PC相连的设置为中心节点,设置中心节点的本机地址为8001,其他终端的本机地址在0000~0xFFFE可任意设置。图4WLT2408NZ无线通讯模块接线图在主从模式下,终端设备不需要设置其目标地址,系统默认为中心节点的本机地址。在接收和发送数据时,需要选中“HEX发送”和“HEX”显示,终端向主机发送数据时其格式为AAD1+终端地址+55,这样主机就可以清楚地知道接收到的数据包是来源于哪个终端。其中AAD1是设置的随机数据,自定义的通讯协议,只有当主机检测到数据包的头为AAD1时,才会接收数据,保证了数据的准确性。4基于Matlab上位机的串口通讯设计(1)Matlab对串口RS232的编程Matlab软件中提供的设备控制箱可支持RS-232通讯标准的串口通讯,通过调用设备控制箱的serial类函数来创建串口对象,对串口对象的访问就可以访问串口数据。Matlab封装的串口对象支持对串口的异步读写操作,使得计算机对串口对象进行访问的同时后台其他操作同时进行,计算机执行率显著提高。以下提供主要的串口通讯函数:①建立串口对象,实现该功能的函数为obj=serial("port","PropertyName",PropertyValue,…)。其中port为串口名称,PropertyName为串口通讯参数,主要对波特率、数据位、校验方式以及终止位进行设置。也可以在初始化时使用set函数进行设置;②fopen(obj),%用于连接打开串口设备对象;③fwrite(obj,255),%向串口发送握手信号0xFF;④fclose(obj),%该函数用于关闭串口。要想释放串口对象占用的存储空间需要使用delete(obj)函数;⑤set(obj,"BytesAvailableFcnMode","byte")和set(obj,"BytesAvailableFcn-Count",3),%该函数用于设置触发串口中断的方式,当串口检测到缓冲寄存器中到达3个字符数据时,触发端口中断;⑥receivedate,%该函数用于串口读中断处理,可以将缓冲寄存器中的数据读到用户指定的存储区域中,用于数据处理或保存。(2)基于Matlab下的串口通讯编程为了实时处理气敏传感器检测到的CO和CH4的浓度数据,系统在Matlab环境下采用中断方式对串口进行控制,也就是事件驱动的方法实现的。Matlab提供instrcallback(obj,event)回调函数,用户可以根据系统的实际需要自行设置具体的串行中断触发事件。Matlab常用的串行口通信中断事件有4种,分别是bytes-availableevent、break-interruptevent、pin-statusevent及outputemptyevent等。图5是Matlab实时串口通讯流程图,当串口上有响应事件发生时,Matlab会自动调用回调函数相当于中断服务子程序进行通讯事件的处理。图5Matlab实时串口通讯流程图系统采用bytes-availableevent中断触发事件读取数据采集板采集到的气体浓度数据,具体的编程步骤:①建立一个serial.m文件,在主程序中对串口设备进行初始化设置,指定串口中断触发事件和回调函数;②Matlab中有一个待用户修改的程序模块,它存在于toolbox\Matlab\iofun\@instrument目录中,修改instreallback(g,event)回调函数添加相应的服务代码。以下给出主要的程序语句:functionmain(),%主函数;g.recordMode='overwrite',g.recordDetial='verbose',%定义数据记录及记录格式;g.BytesAvaibleFenMode='byte',%中断触发事件为'bytes-availableevent';g.BytesAvaibleFenCount=3,%设计接收缓冲区每接收3个字节时触发回调函数;g.BytesAvaibleFenCount=@instrcallback;%得到回调函数句柄;第36卷第03期Vol.36No.03基于Zigbee串口通信的多路气体检测系统———钱程,等U1MCUIOTXDRXDRXDSLEEPBATTERYGNDGNDWLT-2408NZ12345678910191817161514131211AD0ISPRESETBOOTDETTXDRXDPWM3PWM2/CLKVCC-3VRUN_LEDNET_LEDALM_LEDWDT485ENSLEEPSPIDISPIDOGNDTXDR1R2R3GND接收缓冲器空?发送握手信号(FFH)开始系统初始化,设置参数是否等待串口中断时间发生调用回调函数数据实时显示接收下位机测量数据259
f.open(g);连接串口设备对象;f.write(g,255),%发送握手信号;functionmyTimerCallback(g,eventime),%建立定时器中断回调函数;functionEvenErrorCallback(g,even),%建立中断回调函数;Out=fread(g,Datacount),%将Datacount中的数据读出。(3)MatlabGUI的界面设计利用Matlab的GUI设计整体的控制界面,界面中包括对串口参数进行设置,如端口号、波特率、数据位、校验位、气体浓度串口显示等。设计的GUI控制界面如图6所示。图6GUI控制界面5结语本文介绍了基于Zigbee和Matlab串口通信的多路矿井气体检测系统的实现方法,利用气敏传感器和单片机组成的下位机对CO和CH4气体浓度采集,同时利用Matlab环境下的上位机以事件驱动的方式对采集到的数据进行实时获取并以图形形式显示出来,上位机和下位机之间采用Zigbee无线通讯模块进行数据传输。实验证明基于Zigbee无线通讯方式下的Matlab和单片机之间的通讯,可以满足对气体浓度的实时检测且通讯稳定可靠,在矿山安全检测系统中有很高的使用价值。参考文献:[1]朱延凯,李振璧,卢军,等.基于Zigbee技术的煤矿井下监控系统[J].煤矿机械,2014,35(4):212-215.[2]阮殿旭,唐大放,张晓光,等.Zigbee技术无线传感器网络在煤矿井下环境监测中的应用研究[J].煤矿机械,2008,29(6):163-164.[3]于洋,张东伟,崔建军.基于Zigbee技术的井下人员定位系统的设计[J].煤矿机械,2009,30(12):19-21.[4]郭中会.基于单片机的中小型煤矿瓦斯监测装置设计[J].煤矿机械,2014,35(7):261-263.[5]高敏,张烁.基于AVR的煤矿瓦斯监测仪的设计[J].煤矿机械,2013,34(6):237-238.[6]王彰云.基于AT91RM9200的嵌入式矿井瓦斯监测系统的设计[J].煤矿机械,2013,34(4):252-254.[7]顾星辰,胡仁杰,马智勇.AVR单片机和Matlab串口通信的计时器系统[J].单片机与嵌入式系统应用,2013,13(3):25-27,31.作者简介:钱程(1990-),江苏泰州人,安徽理工大学在读硕士研究生,研究方向:控制科学与工程,电子信箱:qiancheng4019@163.com.责任编辑:武伟民收稿日期:2014-10-09!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!基于自动化控制的采煤机滚筒调高策略耿秀明1,2(1.内蒙古科技大学,内蒙古包头014010;2.内蒙古电子信息职业技术学院,呼和浩特010070)摘要:主要研究了基于自动化控制的采煤机滚筒调高策略。建立了采煤机调高系统的闭环传递函数,通过闭环传递函数得到了采煤机滚筒调高系统的状态空间方程,通过对采煤机滚筒调高系统中调高控制器进行设计,引入了滑模变结构控制器,得到了采煤机滚筒调高系统的滑移面切换函数。在此基础上对采煤机调高系统进行模拟仿真。关键词:采煤机滚筒;调高;传递函数;滑模变结构控制器中图分类号:TD421.6文献标志码:A文章编号:1003-0794(2015)03-0260-03ShearerDrumHeightAdjustmentStrategyBasedonAutomaticControlGENGXiu-ming1,2(1.InnerMongoliaUniversityofScienceandTechnology,Baotou014010,China;2.InnerMongoliaElectronicInformationVocationalTechnicalCollege,Hohhot010070,China)Abstract:Mainlystudiestheshearerdrumheightadjustmentstrategybasedonautomaticcontrol.Thefirstloopshearerregulatingsystemtransferfunctionisestablished,throughtheclosedlooptransferfunctionoftheshearerdrumtunethestatespaceequationsystem,basedontheshearerdrumheightadjustmentcontrollerwasdesignedinthesystem,theslidingmodevariablestructurecontroller,theshearerdrumadjustableslipplaneswitchingfunctionsystemthe.Onthebasisoftheshearerhydraulicsystemsimulation.Keywords:shearerdrum;heightadjustable;transferfunction;slidingmodevariablestructurecontroller煤矿机械CoalMineMachineryVol.36No.03Mar.2015第36卷第03期2015年03月doi:10.13436/j.mkjx.201503112气体浓度监测系统020406080100020406080100%t/st/sppm151413120.90.80.70.60.5260