公共自行车租赁系统的下位机研究
2015-01-27兰传博高俊林
杨 帆 ,兰传博 ,高俊林 ,刘 圆
(1.武汉工程大学 电气信息学院,武汉430073;2.湖北省智能机器人重点实验室,武汉430073)
随着经济社会的发展,城市变得越来越拥堵,空气质量也变得越来越差,造成这些现象的主要原因之一便是汽车的不断增多[1]。因此社会各界均在大力倡导更多地使用低碳环保的出行方式,自行车便是其中的首要选择。公共自行车租赁系统在国外已经运行了很长一段时间,并且事实证明该系统的运行对于环境的保护和提高市民的身体素质都有积极的作用。所以国内越来越多的政府开始在自己的城市中运行公共自行车租赁系统,市民在本城市的租借网点之间使用自行车几乎是免费。由于此项公益事业在国内开始的时间不是很长,公共自行车就遭受不同程度的损坏,甚至有人把自行车借出去后不归还等一系列问题。因此在很多城市公共自行车租赁系统的运行是失败的。本设计中的公共自行车租赁下位机系统会将IC卡与其身份信息联系起来,并且根据真实生活来设计系统,在给市民带来便捷的同时,保证国家财产的安全[2]。
1 下位机设计
自行车租赁系统主要包括上位机系统和下位机系统2部分,这里只针对下位机进行研究。本设计将以MSP430F149单片机为核心对公共自行车租赁系统的下位机进行设计[3]。如图1所示是本次设计的下位机系统总体结构图。
图1 下位机总体结构图Fig.1 Overall structure of the lower computer
该系统采用一台电脑作为上位机来与下位机进行通讯,在周期内依次对下位机进行查询,检测其状态是否正常。下位机在该系统中每一次接收到有借车或者还车的信号,都会与上位机进行通讯,以此来智能化进行自行车的租借。直流电机收到借车信号时给自行车解锁,收到还车信号给自行车上锁。光电传感器检测自行车钥匙和锁头的完整,然后将采集到的各类信息传送给控制器,以此检测自行车的状态。当借车者刷IC卡后系统会迅速验证其身份,以此决定本次借车是否能成功[4]。
如图2所示是借、还自行车的总体流程图。系统对下位机的周期查询是一直进行的,首先进行系统初始化,然后查询ID卡信息和钥匙状态,最后查询直流电机位置。借车开始,系统先检测此IC卡是否符合借车条件,如果通过检测,提示借车成功,请取车;如果此IC卡不符合借车条件,语音提示请稍后借车。从图2中还可以看出还车过程和借车过程的主体循环一样,不同之处就在于选择是否是还车。如果选择还车,插入锁头然后查询各个部分无误,语音提示还车成功;如果不是还车,则循环下一次系统查询。
图2 借、还自行车总体流程Fig.2 Total flow chart of borrow and return the bike
2 各模块的功能设计及实现
2.1 控制模块的设计
如图3所示是下位机控制模块硬件原理结构示意图。
图3 控制模块硬件结构示意图Fig.3 Schematic diagram of the control module hardware
上图中对应的实际操作中传感器检测到信号输入引脚是P5.0~P5.3,音频输出引脚是P1.0~P1.4,CAN总线连接引脚是P1.5~P1.7以及P2.0~P2.2,IC卡信息引脚是 P6.3~P6.7,ID卡信息输入引脚是P4.0~P4.2,LED 显示引脚控制是 P5.4~P5.6,串口通信引脚为P3.4和P3.5,直流电机驱动引脚为P4.4~P4.7,P3.2脚为看门狗定时器喂狗输出脚。此外还有一些控制部分接到对应控制引脚上。
MCU要与收发器进行双向通信,将其他模块采集的信息传送给收发器,然后将收发器传送的信息转换为控制指令,并根据指令控制模块正常运行。因此,控制模块与系统各个部分之间的电气原理框图如图4所示。
图4 控制模块电气原理框图Fig.4 Block diagram of the electrical control module
2.2 锁头模块设计
在该模块中,光电传感器用来检测钥匙和锁头是否在机箱中,以此来确定自行车的状态[5]。ID卡用来记录该辆自行车的信息,每张ID卡和每辆自行车一一对应。只要在系统运行中,主机都会定时循环检测每个机箱,对ID卡、钥匙、锁头的状态信息进行检测,以确保系统的正常运行。在借车环节中,当钥匙和锁头被拔出机箱,传感器也会立即将此状态上传。在还车过程中,当还车者将自行车的钥匙、锁头插入机箱后,光电传感器立即将其检测到,然后将信息上传给上位机,在确认无误之后,保存该车的信息,提示还车成功[6]。如果没有检测到ID卡或者光电传感器没有检测到钥匙或者锁头的信息,本次还车是不能正常进行的。
如图5所示为系统对锁头模块的周期性查询,每一个部分在不同时刻状态都可能不同,因此该查询是持续进行的。只有其中的检测元件高效、准确地工作才能确保整个系统正常工作下去。首先查询有无ID卡,如果有则此ID卡的数据就等于查寻值;如果没有ID卡,则该自行车的ID卡数据将清零。之后查询有无钥匙,查询结果在有和无的状态下分别置1和0[7]。
图5 初始化过程中检测ID卡和钥匙的状态Fig.5 In the process of initialization to detect the state of ID cards and keys
2.3 直流电机模块设计
直流电机模块在本设计中,借车流程收到开锁信号电机左转给自行车及时解锁;还车流程收到还车信号电机右转给自行车及时上锁。在此模块中主要用到了光电传感器和直流电机[8-9]。传感器是用来检测电机转轴的位置,以此来确定自行车是否上锁,如果上锁,是否是安全状态;电机用来驱动转轴对自行车进行上锁和解锁,还车时接收到控制信号电机右转,转轴伸长将锁头固定,完成对自行车上锁;借车时则电机左转,转轴后缩,锁头便能拿出机箱,完成自行车解锁。
图6 借车、还车流程Fig.6 Process of borrow and return the bike
2.4 IC卡模块的设计及实现
IC卡是要通过读卡来获取其中的信息,然后上传给数据库,通过数据处理,发送命令,再由执行器执行命令中包含的动作,以达到人们想要的结果。
在公共自行车租赁的下位机系统中,采用了应用于13.56 MHz非接触式通信中高集成度读写卡芯片RC522。IC卡模块只用于市民借车环节中,还车时不用刷卡。借车时,市民先将自己的IC卡在机箱上的IC卡读卡机上刷一下,当读卡成功后,IC卡会保存到新的IC号里面,然后语音提示刷卡人的卡号[10]。接着系统会判断刷卡的机位有没有车辆,如果没有,提示到其他车位借车,如果此车位有车,将与中控连接,等待1 s后无回应,语音提示系统忙,请稍后借车;如果连接成功回应,且是正确回应则语音提示刷卡成功,请稍后;如果是错误回应则语音提示忙,请稍后借车。如图7所示为IC卡模块工作主要流程。
图7 IC卡模块工作主要流程Fig.7 Main process of the IC card module work
3 测试验证
本次设计的下位机系统在实验室模仿真实环境下可能出现的如语音出错、重复读卡、一次刷卡可以取多辆车等情况,通过不断修改程序来调试系统,最后验证该设计成功避免了上述问题的出现,且在实验室模拟运行过程中情况稳定、可靠。测试验证的具体操作为该下位机系统通过在实验室以1台电脑作为上位机,10个下位机机箱作为下位机系统进行实验并调试。调试通过模拟刷卡借车,将锁头插入机箱来模拟还车,并依次验证系统中可能出现的各类情况。调试结果表明,该设计符合公共自行车租赁系统所需要达到的无信号传送错误、无系统指令错误、无机箱硬件错误等要求,并且能够长时间稳定运行。自行车租赁系统下位机实物图如图8所示。
图8 自行车租赁系统下位机实物图Fig.8 Real figure of lower computer of bike rental system
4 结语
本设计是根据某城市自行车租赁系统的设计需求而自行研发的公共自行车租赁下位机系统。在元器件选择上遵循了简单、实用的理念,比如其中容易学习的16位MCU、容易控制的直流电机、实用安全的锁头等,因此对于该设计的理解和后期大规模生产都相对便捷。设计过程中借鉴了其他设计的很多优点,也改进了其设计中出现问题的环节。在程序设计上采用了时下应用最广泛并且实用易懂的C语言作为编程语言,程序设计采用的是分块编写的设计理念,以减少在后期系统调试时修改程序的工作量。本设计最后将和公共自行车租赁上位机系统结合,为城市公共出行带来方便。
[1]周小华.无桩式公共自行车租赁系统的研究与实现[D].长沙:湖南大学,2013.
[2]戴俊源,袁红兵,吴昌东.智能公共自行车系统前端设计[J].机械制造与自动化,2014(4):52-54.
[3]陈秘,徐凯华.基于MSP430F149的车载监控终端系统设计与实现[J].计算机工程与设计,2008,29(17):33-36.
[4]杨帆,吴晗平.传感器技术及其应用[M].北京:化学工业出版社,2010.
[5]Zheng Chun jiao.The application and development of photoelectric sensor[J].Energy Procedia,2011,11(1):1936-1941.
[6]Wu Qi yan,Miao Chang yun,Wu Zhi gang.The design of voice alarm terminal based on MSP430[J].Applied Informatics and Communication,2011(8):140-147.
[7]吴道悌,刘晓辉,郑明.非电量电测技术[M].西安:西安交通大学出版社,2004.
[8]徐洋,王宏华,周强,等.基于MSP430单片机的无刷直流电机实验测试平台设计[J].机械制造与自动化,2010,39(4):169-171.
[9]杜红.基于MSP430的直流电机控制器设计[J].信息系统工程,2013(10):81-86.
[10]张永生.非接触式IC卡智能门禁系统[D].河北:燕山大学,2012.