基于LM3S6432的电梯故障采集器设计

2014-03-12 18:43李小康范延滨
现代电子技术 2014年5期

李小康 范延滨

摘 要: 针对电梯老龄化导致的电梯安全隐患问题,设计了一款电梯故障信息采集器。采集器基于LM3S6432处理器和RT?Thread操作系统设计,详细分析了系统的硬件设计和软件设计。软件设计包括传感器信号采集、电梯主状态生成、电梯故障判别和信息传输几个模块。经过现场测试,该设备运行良好。

关键词: 电梯故障; 电梯远程监控; lwIP; LM3S6432; RT?Thread

中图分类号: TN710?34; TP274+.2 文献标识码: A 文章编号: 1004?373X(2014)05?0110?04

0 引 言

电梯是高层建筑必不可少的组成部分,是与人们生活密切相关的垂直交通工具,然而,电梯老化的数量在逐年增加。大量缺乏安全保养的电梯每天不停的运转,存在极大的安全隐患,电梯故障造成的事故呈高发态势[1]。在这种背景下,国家质量监督检验总局与2009年发布了两个新标准《电梯远程报警系统》[2]及《电梯、自动扶梯和自动人行道数据监视和记录规范》[3],全国各地利用物联网技术建设电梯远程监控系统[4],通过为电梯安装多种传感器和数据采集终端设备,实现对电梯运行状态的实时监控和统计分析。

电梯远程监控系统中都有一个专门用来采集电梯信息的电梯故障采集器。本文基于TI公司的LM3S6432处理器和RT?Thread[5]实时系统,设计了一个电梯故障信息采集器。

1 电梯远程监控系统

图1给出了一个电梯远程监控系统的结构框图。数据库服务器安装数据库管理软件,用来存储、处理电梯故障信息。每个轿厢安装一台主机,故障采集器、信息发布面板、摄像头、麦克风、扬声器都连接到主机上。主机实现信息发布、视频监控、语音通信、本地存储各种数据信息,并负责将故障采集器采集到的数据通过3G网络传输到远程数据库服务器。管理终端可以通过私有网络连接到数据库服务器,进行系统监控和管理。

2 功能分析

电梯故障信息采集器通过各种传感器记录电梯发生故障时轿厢和控制系统的各种运行和故障状态,并通过以太网口发送到轿厢主机。上下平层传感器可以用来判断电梯的上行、下行和停止状态,结合基站信号计算电梯所在楼层。门开关传感器可以检测门的开关状态。红外人体传感器可以检测轿厢内是否有人。上极限和下极限传感器用来判别冲顶和蹲底故障。加速度传感器可以采集电梯的加速度值,并根据加速度计算出速度值,在电梯加速度或者速度超常时给出报警。面板上的LED指示灯指示当前电梯运行状态。提供RS 485通信功能以连接电梯维保设备,使用以太网接口与轿厢主机进行通信。

3 硬件设计

系统的整体硬件框图如图2所示。核心MCU使用的是集成ARM Cortex?M3内核的LM3S6432,它具有50 MHz性能和96K快速单周期片上闪存及32K SRAM内存,并集成了片上10/100 MB以太网MAC和PHY。

检测的信号都是开关量信号,通过光耦隔离可以保护核心MCU电路和提高电路抗干扰能力。因为驱动LED需要较大电流,LED不是直接连接到MCU的GPIO引脚,而是在中间添加了LED驱动电路。LM3S6432的IO口有限,LED驱动电路采用两片74HCT245级联实现,并链接到LM3S6432的SSI接口。分别采用MAX3232和MAX3485芯片实现TTL电平和RS 232C、 RS 485电平的转换。系统采用12 V开关稳压电源供电,在板内使用开关型集成稳压芯片LM2596S?5.0将12 V电源转换成5.0 V,再使用低压差线性稳压器LM1117将5.0 V转换成3.3 V。

4 软件设计

RT?Thread实时操作系统是一款由国内RT?Thread工作室开发的免费、开源实时操作系统。它实现了在LM3S8962上的lwIP[6]的移植实现,可以很容易的移植到LM3S6432处理器。

4.1 软件总体框架

电梯故障采集器的软件总体框架结构如图3所示。传感器信号处理模块和电梯主状态生成模块主要是通过中断处理程序获取各个传感器信号的状态,并生成电梯主状态。电梯故障判别模块根据电梯的主状态,根据一定的判别方法,对电梯发生的故障进行判别。信息传输模块的功能包括信息发送和信息接收两个方面。

4.2 传感器信号检测

电梯故障采集器的传感器信号根据信号特点和处理方式的不同可以按照表1进行分类。

对[Sk]累计求和即可以得到即时的速度值。因为加速度传感器在初始化时存在一定的误差,在计算积分时,会使得这个误差累积,导致计算的速度值不准确。为减小累积误差对速度计算带来的影响,在平层判断出电梯停止后,将计算的速度归零。

4.3 电梯主状态生成

所有的电梯状态变化都会通过事件通知主线程。主线程完成的任务是修改电梯当前运行状态和根据运行状态判断故障类型,并将故障信息和电梯运行状态信息封装成信息包,传递给通信线程。

主线程定义了一个事件main_event,在没有信号需要处理时,主线程阻塞在事件main_event上。当任意一个事件发生,主线程被唤醒,对相应的事件进行处理。

为实现程序的模块化,每个事件对应一个相应的事件处理程序。在程序中定义了一个函数指针数组void (*event_handler[31])(void)以实现事件到相应的事件处理程序的映射。每个事件处理函数的原型声明为void xxx_handler(void)。数组中的每个元素对应了一个事件如event_handler[0]对应上极限有效事件,event_handler[1]对应上极限无效事件。当任意一个事件发生时,主线程扫描main_event中的各个位,只要相应的位变为1,就调用相应的事件处理函数。

在程序中定义一个32位的变量main_stat用来存储电梯主状态。各个事件的处理函数的主要功能是更改LED状态和main_stat变量的值。

4.4 故障判别

电梯主状态只要发生变化,就调用故障判别模块根据主状态生成故障信息。故障采集器支持以下故障类型:冲顶:上极限传感器信号有效;蹲底:下极限传感器信号有效;非门区开门:轿厢在非门区开门;非门区停止:轿厢在非门区停止;运行时间超长:轿厢从离开一个平层到到达另一个平层的时间过长;困人:轿厢里面有人,但是经过一段较长的时间没有开门;加速度异常:加速度值过大;速度异常:速度值过大。

为了识别电梯发生的故障,在主程序中定义一个16位的current_errs变量,标志当前发生的故障,电梯故障判别就是根据main_stat变量对current_errs变量进行修改。current_errs中的每一位表示一个故障。

通信管理线程负责连接的建立,连接建立后,则启动发送线程和接收线程。通信管理线程检测到连接断开,则停止发送线程和接收线程。

主线程在封装好消息包后,通过消息队列发送给发送线程。发送线程不断等待消息队列有新的数据,如果消息队列中有消息,则调用lwIP中的发送函数,将消息发送出去。

接收线程则不断等待网络上有新的数据,如果接收到数据,就对数据包进行分析,如果是命令包,如设置加速度阈值、设置速度阈值等,则对相应的变量进行修改。

5 系统测试

使用Qt开发了一个简单的测试程序,对该设备测试。在仿真教学电梯中安装了故障采集器和各种传感器,用来模拟真实的电梯运行环境。图6为测试程序界面。

进行的测试包括如下几个方面:

(1) 通信功能测试:保证通信正常,可以建立TCP连接,当TCP连接掉线时,可以重新恢复连接。

(2) 故障识别功能测试:模拟各种电梯可能出现的运行故障,保证能够正常识别出故障,并且将故障信息发送到主机。

(3) 电梯传感器信号采集功能测试:当传感器信号变化时,故障采集器将传感器信号发送给主机,主机端可以实时显示传感器信号状态。

(4) 参数设置功能测试:在主机端设置参数值,观察故障采集器的参数是否改变。

6 结 语

本文使用LM3S6432处理器和RT?Thread实时系统设计了一款电梯故障信息采集器。按照硬件设计制板、调试发现,系统硬件运行良好。RT?Thread操作系统具有丰富的功能,并且接口简单,针对lwIP也进行了不少优化,网络性能较好。LM3S6432结合RT?Thread可以较好的实现系统功能。

参考文献

[1] 国家质量监督检验检疫总局.2009年全国特种设备安全状况白皮书[S].北京:中国标准出版社,2009.

[2] 国家质量监督检验检疫总局.GB/T 24475?2009电梯远程报警系统[S].北京:中国标准出版社,2009.

[3] 国家质量监督检验检疫总局.GB/T 24476?2009电梯、自动扶梯和自动人行道数据监视和记录规范[S].北京:中国标准出版社,2009.

[4] 宗群,宋鼎,王朝阳.电梯远程监控系统的研制[J].仪器仪表学报,2002,23(6):609?611.

[5] 邱祎.嵌入式实时操作系统RT?Thread的设计与实现[D].成都:电子科技大学,2007.

[6] DUNKELS A. Design and implementation of the lwIP TCP/IP stack [EB/OL]. [2001?02?20]. http://images.wikia.com/mini6/images/0/0e/Lwip.pdf.

[7] 刘松国,韩树新,李伟忠,等.电梯运行状态监测与故障远程报警系统研究[J].自动化与仪表,2011,26(10):42?46.

[8] 茅卫娟.电梯远程监控系统的设计与实现[D].上海:上海交通大学,2004.

[9] 尹苏东,薛季爱.一种新型电梯远程监测报警系统[J].起重运输机械,2009(8):19?22.

[10] 任诗渡,吕嘉宾,陈则来.基于网络通信的电梯远程故障诊断系统[J].机电工程技术,2009,38(1):57?59.

[11] 万健如,陈超,孙洋建.采用双串口单片机的电梯远程监控系统[J].计算机测量与控制,2006,14(7):900?901.

在程序中定义一个32位的变量main_stat用来存储电梯主状态。各个事件的处理函数的主要功能是更改LED状态和main_stat变量的值。

4.4 故障判别

电梯主状态只要发生变化,就调用故障判别模块根据主状态生成故障信息。故障采集器支持以下故障类型:冲顶:上极限传感器信号有效;蹲底:下极限传感器信号有效;非门区开门:轿厢在非门区开门;非门区停止:轿厢在非门区停止;运行时间超长:轿厢从离开一个平层到到达另一个平层的时间过长;困人:轿厢里面有人,但是经过一段较长的时间没有开门;加速度异常:加速度值过大;速度异常:速度值过大。

为了识别电梯发生的故障,在主程序中定义一个16位的current_errs变量,标志当前发生的故障,电梯故障判别就是根据main_stat变量对current_errs变量进行修改。current_errs中的每一位表示一个故障。

通信管理线程负责连接的建立,连接建立后,则启动发送线程和接收线程。通信管理线程检测到连接断开,则停止发送线程和接收线程。

主线程在封装好消息包后,通过消息队列发送给发送线程。发送线程不断等待消息队列有新的数据,如果消息队列中有消息,则调用lwIP中的发送函数,将消息发送出去。

接收线程则不断等待网络上有新的数据,如果接收到数据,就对数据包进行分析,如果是命令包,如设置加速度阈值、设置速度阈值等,则对相应的变量进行修改。

5 系统测试

使用Qt开发了一个简单的测试程序,对该设备测试。在仿真教学电梯中安装了故障采集器和各种传感器,用来模拟真实的电梯运行环境。图6为测试程序界面。

进行的测试包括如下几个方面:

(1) 通信功能测试:保证通信正常,可以建立TCP连接,当TCP连接掉线时,可以重新恢复连接。

(2) 故障识别功能测试:模拟各种电梯可能出现的运行故障,保证能够正常识别出故障,并且将故障信息发送到主机。

(3) 电梯传感器信号采集功能测试:当传感器信号变化时,故障采集器将传感器信号发送给主机,主机端可以实时显示传感器信号状态。

(4) 参数设置功能测试:在主机端设置参数值,观察故障采集器的参数是否改变。

6 结 语

本文使用LM3S6432处理器和RT?Thread实时系统设计了一款电梯故障信息采集器。按照硬件设计制板、调试发现,系统硬件运行良好。RT?Thread操作系统具有丰富的功能,并且接口简单,针对lwIP也进行了不少优化,网络性能较好。LM3S6432结合RT?Thread可以较好的实现系统功能。

参考文献

[1] 国家质量监督检验检疫总局.2009年全国特种设备安全状况白皮书[S].北京:中国标准出版社,2009.

[2] 国家质量监督检验检疫总局.GB/T 24475?2009电梯远程报警系统[S].北京:中国标准出版社,2009.

[3] 国家质量监督检验检疫总局.GB/T 24476?2009电梯、自动扶梯和自动人行道数据监视和记录规范[S].北京:中国标准出版社,2009.

[4] 宗群,宋鼎,王朝阳.电梯远程监控系统的研制[J].仪器仪表学报,2002,23(6):609?611.

[5] 邱祎.嵌入式实时操作系统RT?Thread的设计与实现[D].成都:电子科技大学,2007.

[6] DUNKELS A. Design and implementation of the lwIP TCP/IP stack [EB/OL]. [2001?02?20]. http://images.wikia.com/mini6/images/0/0e/Lwip.pdf.

[7] 刘松国,韩树新,李伟忠,等.电梯运行状态监测与故障远程报警系统研究[J].自动化与仪表,2011,26(10):42?46.

[8] 茅卫娟.电梯远程监控系统的设计与实现[D].上海:上海交通大学,2004.

[9] 尹苏东,薛季爱.一种新型电梯远程监测报警系统[J].起重运输机械,2009(8):19?22.

[10] 任诗渡,吕嘉宾,陈则来.基于网络通信的电梯远程故障诊断系统[J].机电工程技术,2009,38(1):57?59.

[11] 万健如,陈超,孙洋建.采用双串口单片机的电梯远程监控系统[J].计算机测量与控制,2006,14(7):900?901.

在程序中定义一个32位的变量main_stat用来存储电梯主状态。各个事件的处理函数的主要功能是更改LED状态和main_stat变量的值。

4.4 故障判别

电梯主状态只要发生变化,就调用故障判别模块根据主状态生成故障信息。故障采集器支持以下故障类型:冲顶:上极限传感器信号有效;蹲底:下极限传感器信号有效;非门区开门:轿厢在非门区开门;非门区停止:轿厢在非门区停止;运行时间超长:轿厢从离开一个平层到到达另一个平层的时间过长;困人:轿厢里面有人,但是经过一段较长的时间没有开门;加速度异常:加速度值过大;速度异常:速度值过大。

为了识别电梯发生的故障,在主程序中定义一个16位的current_errs变量,标志当前发生的故障,电梯故障判别就是根据main_stat变量对current_errs变量进行修改。current_errs中的每一位表示一个故障。

通信管理线程负责连接的建立,连接建立后,则启动发送线程和接收线程。通信管理线程检测到连接断开,则停止发送线程和接收线程。

主线程在封装好消息包后,通过消息队列发送给发送线程。发送线程不断等待消息队列有新的数据,如果消息队列中有消息,则调用lwIP中的发送函数,将消息发送出去。

接收线程则不断等待网络上有新的数据,如果接收到数据,就对数据包进行分析,如果是命令包,如设置加速度阈值、设置速度阈值等,则对相应的变量进行修改。

5 系统测试

使用Qt开发了一个简单的测试程序,对该设备测试。在仿真教学电梯中安装了故障采集器和各种传感器,用来模拟真实的电梯运行环境。图6为测试程序界面。

进行的测试包括如下几个方面:

(1) 通信功能测试:保证通信正常,可以建立TCP连接,当TCP连接掉线时,可以重新恢复连接。

(2) 故障识别功能测试:模拟各种电梯可能出现的运行故障,保证能够正常识别出故障,并且将故障信息发送到主机。

(3) 电梯传感器信号采集功能测试:当传感器信号变化时,故障采集器将传感器信号发送给主机,主机端可以实时显示传感器信号状态。

(4) 参数设置功能测试:在主机端设置参数值,观察故障采集器的参数是否改变。

6 结 语

本文使用LM3S6432处理器和RT?Thread实时系统设计了一款电梯故障信息采集器。按照硬件设计制板、调试发现,系统硬件运行良好。RT?Thread操作系统具有丰富的功能,并且接口简单,针对lwIP也进行了不少优化,网络性能较好。LM3S6432结合RT?Thread可以较好的实现系统功能。

参考文献

[1] 国家质量监督检验检疫总局.2009年全国特种设备安全状况白皮书[S].北京:中国标准出版社,2009.

[2] 国家质量监督检验检疫总局.GB/T 24475?2009电梯远程报警系统[S].北京:中国标准出版社,2009.

[3] 国家质量监督检验检疫总局.GB/T 24476?2009电梯、自动扶梯和自动人行道数据监视和记录规范[S].北京:中国标准出版社,2009.

[4] 宗群,宋鼎,王朝阳.电梯远程监控系统的研制[J].仪器仪表学报,2002,23(6):609?611.

[5] 邱祎.嵌入式实时操作系统RT?Thread的设计与实现[D].成都:电子科技大学,2007.

[6] DUNKELS A. Design and implementation of the lwIP TCP/IP stack [EB/OL]. [2001?02?20]. http://images.wikia.com/mini6/images/0/0e/Lwip.pdf.

[7] 刘松国,韩树新,李伟忠,等.电梯运行状态监测与故障远程报警系统研究[J].自动化与仪表,2011,26(10):42?46.

[8] 茅卫娟.电梯远程监控系统的设计与实现[D].上海:上海交通大学,2004.

[9] 尹苏东,薛季爱.一种新型电梯远程监测报警系统[J].起重运输机械,2009(8):19?22.

[10] 任诗渡,吕嘉宾,陈则来.基于网络通信的电梯远程故障诊断系统[J].机电工程技术,2009,38(1):57?59.

[11] 万健如,陈超,孙洋建.采用双串口单片机的电梯远程监控系统[J].计算机测量与控制,2006,14(7):900?901.