APP下载

基于Linux系统的旋转门检票机设计与研究

2018-01-03

计算机应用与软件 2017年12期
关键词:旋转门检票伺服电机

周 向 争

(上海普天邮通科技股份有限公司 上海 200233)

基于Linux系统的旋转门检票机设计与研究

周 向 争

(上海普天邮通科技股份有限公司 上海 200233)

设计的旋转门检票机是基于Linux系统的一个实例。从旋转门检票机硬件设计方面,详细介绍了旋转门检票机构成、关键模块旋转门模块的设计和通道逻辑处理模块的实现。从旋转门检票机的软件设计方面,详细介绍了旋转门检票机软件架构和基于Linux操作系统的检票机应用程序开发。为城市轨道交通自动售检票系统终端设备的自主研发提供经验。

旋转门检票机 Linux系统 电机驱动

0 引 言

自2000年起,全球城市轨道交通进入新一轮发展阶段,中国已经成为全球增长最快、规模最大的市场。随着提倡低碳环保、大力发展公共交通的今天,轨道交通以其营运准点率高,输送客流大、低污染等优点,迅速成为城市解决交通问题的首选方案。目前在国内已形成了以地铁、高架轻轨和快速公交系统等为主的多元化发展趋势。2015年,中国大陆地区共26个城市开通的城市轨道交通共计有116条,运营线路总长度达3 618千米,投资额高达3 683亿元。预计“十三五”期间,我国城市轨道交通建成投运线路将超过3 000千米,城市轨道交通在城市发展和城市交通中的作用将进一步显现。城市轨道交通将成为城市公共交通的主体,支持并引领城市可持续发展。

与国外许多发达国家相比,我国城市轨道交通起步较晚,目前发展却十分迅猛。在自动售检票系统的自动检票机发展上,经历了从早期全套引进的三杆式检票机,到后期被广泛采用的剪式门检票机的过程。但直到在高铁建设中,选用了方便携带行李、并能提供快速通过率的进口旋转门检票机后,这种在国外的新型旋转门检票机才慢慢被大家所认识,并在国内开始研发、并装备到我国的城市轨道交通自动售检票系统中。

1 需求分析

1.1 旋转门检票机

旋转门检票机安装于车站付费区与非付费区的交界处,实现乘客自助式进/出站检票。旋转门检票机能接受轨道交通专用车票、公共交通一卡通车票等车票,并满足乘客右手持票快速通过的需求。

旋转门检票机相对其他类型的自动检票机具有:箱体更加纤薄、时尚,在同等站台空间宽度内,可安装更多的检票机设备,从而间接提高通过率;检票机的门翼启闭门方式,使乘客使用起来更加易用、友好和安全;门翼上下高度可很好地阻止乘客钻和跳的不正常通行行为;为满足不同营运需求的通道宽度,可直接调整检票机的门翼宽度,而无需受箱体的限制等众多优点。

1.2 嵌入式操作系统

考虑到自动售检票系统中终端设备的特殊性,它直接会影响到乘客对城市轨道交通服务水平的满意程度。其中在终端设备上运行的嵌入式操作系统,对设备的运行高可靠性、高可用性和强实时性等作用已渐渐引起各个生产厂家的重视[1]。嵌入式操作系统具有运行效率高,模块化程度高、可扩展性强和内核开销小等诸多优点;可以提供多任务、多进程和多线程处理,它具有支持设备种类多、支持网络、支持图形窗口以及用户界面等功能。

目前可供选择、并已经被国内厂家广泛使用的嵌入式操作系统有:最常使用的Windows XPe操作系统、基于开源的Linux操作系统、高可靠性的VxWorks和微内核的QNX操作系统。由于Windows XPe 操作系统易受攻击,有巨大的安全隐患,而VxWorks和QNX开发软件价格极其昂贵,所以在城市轨道交通自动售检票系统的终端设备中,应用Linux操作系统变得越来越普及。因此,开发基于Linux系统的旋转门检票机是必然趋势。

2 硬件设计

2.1 旋转门检票机构成

旋转门检票机设备主要由主控单元、乘客显示器、车票读写器、通道乘客通行感应器、旋转门阻挡装置、单程票回收单元、方向指示器、警示灯和蜂鸣器、语音辅导、维护键盘、电源模块等模块组成。图1所示的为典型的双向旋转门检票机模块分布图。

图1 双向旋转门检票机模块分布图

旋转门检票机设备内部硬件模块(部件)均为模块化设计,模块间采用标准的RS232接口,这也为应用软件实现参数配置、实现智能识别设备内部主要硬件模块提供了条件。图2所示为典型的旋转门双向检票机内部模块连接方框图。

图2 旋转门式双向检票机模块连接方框图

2.2 旋转门模块设计

旋转门模块是旋转门检票机的关键模块,它可通过设置,使其工作在常开或常闭状态。在常开状态下,旋转门检票机若处于正常服务模式时,旋转门将保持开放状态。当设备的车票读卡器识别到一张无效车票或乘客企图无票通过时,将关闭旋转门。旋转门检票机若处于关闭、故障和暂停服务等状态时,旋转门会关闭。在常闭状态下,旋转门检票机处于除紧急状态外的任何服务模式状态时,旋转门均处于关闭状态。旋转门检票机在正常服务模式时,当车票读卡器识别到一张有效车票后,旋转门打开,在乘客通过后,若后续没有再接收到下一张有效车票或检测到有乘客企图无票通过时,旋转门将关闭。

2.2.1 旋转门模块工作原理

旋转门模块一般由旋转门机构、电机驱动(伺服控制器)、控制模块(机构驱动控制器)和电源模块四部分组成。其中,旋转门机构则由门翼、转杆、制动器、机构复位装置、扭力限制器和直流伺服电机组成。在直流马达伺服控制器与机构驱动控制器间采用CAN总线结构。机构驱动控制器与上位机的控制接口既可以采用光电隔离的数字接口,也可以是CAN总线结构。图3所示的是旋转门模块原理示意图。

图3 旋转门模块原理示意图

在旋转门检票机通道两侧,分别安装左、右两个旋转门机构。伺服控制器驱动旋转门机构中的直流伺服电机,带动旋转门机构上的门翼运动。通过伺服电机内的编码器,识别门翼运动情况,实现对旋转门机构精确运动控制(闭环结构)。

当发生火灾等紧急情况下,旋转门模块中的控制模块在接收到由站台控制室下发的紧急按钮信号后,旋转门模块立刻处于打开状态,方便受控区域内的人员快速通过旋转门检票机。另外,当旋转门模块供电被切断时,旋转门模块在无电的情况下,通过弹簧(或扭簧)方式,将旋转门机构的门翼拉开至打开状态。

2.2.2 旋转门模块的伺服电机控制

旋转门阻挡模块的心脏部件:直流伺服电机一般可分直驱型和非直驱型电机两种。直驱型电机采用慢速、大扭矩直流电机来直接驱动旋转门机构的转杆,电机转速控制在0至150 r/min范围内,电机产生的扭矩可达0~7 N·m范围。图4所示的是直驱型旋转门机构。而非直驱型电机的转速一般采用为3 000 r/min,电机提供的扭矩仅为0.65 N·m,为了达到能正常驱动旋转门机构,需要通过在电机输出轴上加装前置星型齿轮箱,来降低转速、并提升扭矩。图5所示的是非直驱型电机组件。

图4 直驱型旋转门机构 图5 非直驱型电机组件

直驱型驱动电机的控制是通过空间矢量算法,使电流以正弦方式换相,因而达到驱动无刷电机、转矩大、纹波小和噪声低的功能。另外,直驱型因无需额外的齿轮箱就能提供很高的扭矩,从而就无需添加任何润滑油和无须维护,提供几乎没有噪声、并具有更低能耗的性能。

非直驱驱动机构的控制是通过直流无刷电机,加装星型减速机(一般为1∶20左右)的结构。随着免维护星型齿轮箱和一体化直流伺服电机模块的出现,该方案同样可达到直驱型电机的功能。同时,非直驱驱动机构的控制,对旋转门机构的门翼的配重也不敏感。使配合不同应用场所对旋转门检票机通道宽度的需要时,只需更换不同宽度的门翼,在调整旋转门机构的开启/关闭门速度后,就可轻松实现。

为实现适用位置的控制,电机控制模式采用数字化速度控制、电流(力矩)控制和位置控制方式,同时结合伺服电机内的编码器反馈,可以高速精确地驱动电机。图6所示的是非直驱型电机输出扭矩曲线图。图中黑色实线为额定输出扭矩与速度曲线,虚线为伺服电机峰值输出扭矩与速度曲线(短时工作区域)。

图6 电机输出扭矩与速度曲线

2.2.3 旋转门模块设计

1) 旋转门模块伺服电机选择 鉴于安全和可控性考虑,旋转门机构采用低压直流无刷伺服电机。旋转门机构的门翼在启闭时保持同步运动、不产生振动(抖动)。在一个开门或关门周期中,旋转门机构的门翼运动速度为先增大后减小方式。通过对速度和方向信号的动态控制,可以减少电机对机械系统运动的瞬变,使电机运行更加平滑,同时减少机械的磨损。图7所示的是电机速度控制曲线图。图中选用的伺服电机额定转速为3 000 r/min,通过计算,设置电机速度限制为15 r/s和峰值电流CP,这时加减速度必须达到500 r/s,才可实现旋转门模块开/关门时间在0.3秒以内。

图7 电机速度控制曲线图

2) 旋转门模块安全性控制 为了确保旋转门机构的门翼不会伤害到乘客,旋转门模块在执行开关门动作时,考虑到人体的承受能力,旋转门模块在关闭过程中,旋转门机构的门翼的最大冲击力不会大于150 N(门翼中间部位)。伺服电机通过电流(力矩)控制方式,在门翼运动中如遇到大于该阻力时(达到设定的电流时),门翼会立刻向相反方向运动(弹开)。当旋转门关闭后,一旦检测到旋转门机构的门翼受到外力(冲撞)情况下,旋转门机构中的制动器将启动动作,将门翼锁定在当前位置。

若门翼承受的冲击力超过200 N(暴力开门)时,出于保护旋转门模块不被人为损坏的目的,旋转门机构中的扭力限制器会自动开启。当外力消失、且在旋转门模块设立的安全区内空闲(无遮挡物),旋转门模块将恢复关闭状态。另外,配合通道通行策略软件,在旋转门机构的门翼开启/关闭过程中,一旦在旋转门模块设立的安全区内检测到物体(运动)时,旋转门机构的门翼将会立即急停,避免伤及乘客。

在断电或紧急的情况下,旋转门机构的门翼会自动打开,确保受控区域内的人员可以快速通过。

2.2.4 通道逻辑处理模块

旋转门检票机内嵌的通道逻辑处理模块的正确实现,是衡量旋转门检票机的又一个重要考核指标。旋转门检票机的通道逻辑处理模块(乘客通行逻辑处理)主要负责乘客在旋转门检票机通道内的通行检测。它根据主控单元的要求,进行放行或关闭通道。它不仅是一个非常重要模块,同时它还涉及到乘客安全。

通行逻辑处理模块的主要工作流程是:旋转门检票机的读卡器采集乘客的车票信息,主控单元处理该车票信息,然后把是否允许通过旋转门检票机的信息提供给乘客通行逻辑处理模块,乘客通行逻辑处理模块根据该信息,监控乘客在通道内的活动并控制其通行。乘客通行监控一方面检测乘客是否进入付费区还是非付费区,另一方面保证乘客不会受到旋转门模块门翼的伤害。图8所示的是通行逻辑处理功能框图。

图8 通行逻辑处理功能框图

3 软件设计

3.1 旋转门检票机软件架构

基于Linux系统的旋转门检票机软件包括:初始化处理模块、底层驱动模块、与站台控制计算机通信模块、票务处理模块、检票控制模块和维护模块组成。表1所示列出了旋转门检票机软件功能划分表。

表1 旋转门检票机软件功能划分表

续表1

3.2 基于Linux的应用程序开发

国内绝大多数的自动售检票系统中的设备应用软件都是在Windows和Linux操作系统平台上运行。由于Windows操作系统的易用性较强,基于.Net架构的开发语言很多(常见的有C#、VB、VC等),所以多数的设备生产商都选择了在Windows操作系统上开发并运行其应用程序。但从安全性方面考虑,由于自动售检票系统是一个大的网络系统,一旦某个节点感染病毒,病毒将会快速传播到整个网络,造成不可预知的后果,这一切都成为Windows操作系统被继续使用的重要障碍。

3.2.1 Linux应用的移植

为了快速实现基于Windows应用开发的自动检票机应用程序,平滑地迁移到Linux操作系统平台上,我们可采用Wine来运行基于Windows的应用软件。Wine不是像虚拟机或者模拟器一样模仿内部的Windows逻辑,而是將Windows API调用翻译成为动态的POSIX调用,降低了性能和一些其他行为的内存占用。这样能快速将Windows应用移植到Linux系统上。

3.2.2 Linux应用的开发

在Linux系统中的X Windows下编程还有很多库可使用。首先是最基础的Gtk+库,它是一个小型而高效的控件库。但它的缺点是不易上手使用,而且文件比较缺,架构又非常复杂[5]。第二种常用方法是基于wxWidgets库,它是一个用C++编写的、提供gui开发的框架,提供类似MFC的功能。在Windows上编写的程序,经过很少修改,就可以在Linux平台上重新编译[6]。还有一种流行的开发方法是使用Qt库。Qt是一个跨平台的C++图形用户界面库,面向对象机制以及丰富的API,资源也比GTK+ 或wxWidgets多得非常多。所以选择Qt是开发人员仅需要学会一种API来写入应用程序[7]。

4 测试及评价

4.1 测试环境及对象

为了积累国内对新型旋转门检票机使用经验,我们选择了上海轨道交通一号线、上海南站站作为实验场所。通过现场实地使用来检验旋转门检票机关键的旋转门模块硬件设计方案。在上线的4个通道的旋转门进站检票机中,实验样机的旋转门模块驱动电机涵盖了直驱型直流伺服电机和带减速箱的非直驱型电机。旋转门模块制动方式涵盖了离合器制动方式和插销式制动方式。旋转门模块的扭力限制器涵盖了数控扭力限制器和机械扭力限制器。而在软件设计中的通行策略上,则统一采用了自主软件设计。

4.2 测试结果与分析

由于旋转门检票机箱体比较纤薄(宽度一般小于180 mm)。在中间机上。为了能在机箱内并排放置两套旋转门模块,要求旋转门模块驱动直流伺服电机的直径必须小于80 mm。但我们在设备生产制造过程中发现,由于直驱型伺服电机电气和结构特性,虽然直驱型伺服电机旋转门模块中单个电机的直径为80 mm,但并排放置的两台电机模块,会在旋转门检票机箱体中间形成一道“墙”,阻断了旋转门检票机设备左右两端模块间的线缆排布。而采用带减速箱的非直驱型电机,由于采用功率和马达直径更小的直流伺服电机,或采用带直角的减速箱等方案,就不存在这个问题。

在使用初期,我们还发现当旋转门检票机通道内,有乘客频繁闯关(制动器启动)时,旋转门模块制动方式中,采用插销式制动的方案,会经常出现卡死的情况。后来通过修改底层软件,先带动门翼做左右微动一下来加以解决。为了实现有效制动,对于采用离合器制动方式的旋转门模块,模块的功耗则相对较大,并会出现磁化现象,造成动作延迟。

在旋转门模块的扭力限制器使用上,采用数控扭力限制器方案的旋转门模块,会随着旋转门检票机设备的使用,限制器的技术参数会发生漂移,需要定期进行调整。而采用机械扭力限制器方案的旋转门模块效果则很好。另外,在采用Windows XPe嵌入式操作系统的旋转门检票机上,不久就发现感染的病毒,出现设备显示界面异常弹窗情况出现。

在软件开发过程中,我们在三种库(方法)的使用经验上,建议如果需要快速移植基于MFC应用程序,可采用wxWidgets库的方案,但它在支持64位Linux系统上会存在兼容性问题。但从长远的可持续发展角度考虑,Qt的优秀的跨平台特性是一个不错的选择。

5 结 语

经过一年多的使用情况来看,旋转门检票机能很好地应对大客流和火车站需要携带大量行李场合的要求,乘客通行速度也较其他类型的自动检票机要快。另外,在国产化自主可控的大背景下,我们还尝试使用国产普华Linux操作系统和具有自主知识产权的ReWorks操作系统[8]作为自动售检票系统设备的操作系统,并取得了很多的经验,为彻底打破国外在自动售检票终端设备上的技术垄断,为城市轨道交通建设的健康发展打下坚实的基础。

[1] 周向争.基于多平台应用软件的轨道交通终端设备研发[J].有线通信技术,2009(1).

[2] DGJ08-1101-2005上海市工程建设规范:城市轨道交通自动售检票系统通用技术规范[S].2005.

[3] DGJ08-1102-2005上海市工程建设规范:城市轨道交通单程票非接触集成电路(IC)卡通用技术规范[S].2005.

[4] DGJ08-1103-2005上海市工程建设规范:城市公共交通非接触集成电路(IC)卡通用技术规范[S].2005.

[5] 宋国伟.GTK+2.0编程范例[M].清华大学出版社,2002.

[6] 王强译.使用wxWidget进行跨平台程序开发[OL].2006.http://www.phptr.com.

[7] 陆文周.Qt5开发与实例[M].2版.电子工业出版社,2015.

[8] 周向争.基于ReWorks操作系统的自动检票机研究[J].计算机应用与软件,2013,30(5):211-215,286.

DESIGNANDRESEARCHOFREVOLVINGFLAPGATESYSTEMBASEDONLINUX

Zhou Xiangzheng

(ShanghaiPostandTelecommunicationCo.,Ltd.,Shanghai200233,China)

The design of revolving flap gate in this paper is an instance based on a Linux system. From the aspects of hardware, the paper elaborated key modules design, the realization of the flap door module and the logic processing module. From the aspect of software, software architecture of revolving flap gate and computer application development based on Linux operating system was introduced in detail. It provides experience for independent research and development of terminal equipment of urban rail transit automatic fare collection system.

Revolving flap gate Linux system Motor control

2017-03-28。上海市软件和信成电路产业发展专项资金项目(150614)。周向争,教授级高级工程师,主研领域:计算机与应用工程。

TP39

A

10.3969/j.issn.1000-386x.2017.12.024

猜你喜欢

旋转门检票伺服电机
旋转门的技术发展概况和专利分布
“佳联”检票系统为影院开业保驾护航
人形辅助锻炼 助力机器人
检票
迷宫
伺服电机选型的原则和注意事项
生产线中的伺服电机定位控制
让电动旋转门不再伤人
报警等2则
伺服电机驱动的连铸结晶器振动位移系统模糊自整定PID控制