智能公交报站系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北斗卫星的智能公交报站系统设计城市公共交通是城市建设和发展的重要组成部分,随着城市的扩建,人们生活节奏的加快,公共交通问题显得日益重要。在我国城市里,公交车仍然是城市交通的主体,它的服务质量与市民们的生活息息相关,也是衡量一个城市的文明指标。而国内大多数城市现有的公交车还是采用传统的公交系统,没有实现完全的智能化,比如公交车报站只能由人工按键来实现,离不开驾驶员的相应操作,公交车司机要一边开车一边按键报站,这就增加了驾驶员的操作负担,驾驶员开车时为报站而分散精力,存在一定的安全隐患,同时也往往出现误报、漏报甚至干脆不报等现象,给乘客带来了很大的不便。因此,公交车对自动报站系统的需求也日益强烈。
北斗卫星导航系统是中国自行研制的全球卫星定位与通信系统(BDS),是继美全球定位系统(GPS)和俄GLONASS之后第三个成熟的卫星导航系统。公交车在行驶时,安装在车身上的北斗卫星定位模块实时采集汽车所在的经纬度数据,与站点的经纬度数据进行对比、分析,判断是否需要LED显示屏和语音模块报站,使公交车自身具备自动报站的功能,解决传统公交手动报站而产生的误报、漏报等问题。一般公交车对车辆定位的精度要求在20米左右,北斗卫星导航系统远远可以满足这个定位精度的要求。
1系统方案设计
整个北斗卫星智能公交报站系统由主控芯片、北斗卫星模块、MP3语音模块、LCD显示模块、LED点阵显示模块、控制按键、温湿度传感器、电源模块等8部分组成。
报站系统的结构框图如图2所示。在公交车的行进过程中,安装在车身上的北斗卫星模块不断的采集当前公交车所处地点的经纬度,与事先测量的每个站点的经纬度对比,通过计算得出公交车是否已经进入站点附近,如果已靠近站点,则通过LED点阵显示屏和MP3语音模块向乘客发出到站的提示,在车辆出站之后,立即向乘客预报下一站点的名称,同时驾驶员可以通过LCD液晶屏观察车辆行驶情况。当北斗卫星模块失效时(损坏或者公交车进入隧道无法接收到信号),才由驾驶员手动控制报站。在汽车行进过程中,LED点阵屏也会滚动显示车内的一些情况(如温湿度情况)。
图1 智能公交报站系统系统框图
2系统平台构成
2.1 硬件部分
处理器选用宏晶科技(STC)的STC12C5A60S2芯片,机器周期1T,速度是传统8051单片机的8-12倍,有64K的应用程序空间和1280字节的RAM,具有双串口,运算能力强,主要负责对解析北斗卫星发送到单片机的数据包并对数据进行处理,以及控制屏幕显示和语音播报。
北斗卫星模块采用和芯星通公司的UM220芯片,定位精度可以达到3m,速度精度为0.1m/s,支持单系统独立定位和多系统联合定位,先进的多路径抑制技术,在弱信号环境下有卓越的信号接收能力和快速的第一次定位时间(TTFF) 同时具有能耗低(仅350mW)的特点,非常适合用于公交车定位。
图2 北斗卫星定位模块
MP3语音模块采用BAT系列MP3 语音模块,可以选择的工作模式有MP3 模式、直放模式、并行模式和串行模式,单片机通过串口与该模块进行通讯,只要将事前录好的语音按照规定的格式存储到flash中,通过单片机发送相关的命令,就能对其进行控制。
图3 BAT系列MP3 语音模块
LED点阵显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。本设计点阵显示屏由6块16*16点阵屏拼接而成,采用动态扫描的显示方法(将发光二极管逐个点亮,只要速度足够快,由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形),通过PCtoLCD2003取模软件可以将希望显示的文字转换成字模。
图4 LED点阵模块
LCD12864是带中文字库的液晶显示屏,具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
图5 12864LCD 液晶显示模块
2.2 电路设计
智能公交报站系统的原理图如图所示,北斗卫星模块、语音模块、显示系统及能均通过
STC 单片机进行数据处理和控制,系统输入电压为7.3V 通过LM7805降压芯片将至5V 。整个系统电路设计过程中采用大面积接地、滤波和电源隔离等优化设计,以增加电路的稳定性和抗干扰能力。
图6 智能公交报站系统电路原理图
(b)
)
2.3 软件程序设计
检测系统的程序设计采用C语言,程序设计包括串口初始化、LCD液晶屏初始化、MP3语音模块初始化及数据采集分析程序等编程。系统设计中,首先对各个模块进行连接检测和初始化,如果初始化成功,串口1开始采集北斗模块发送过来的数据包(如图7),并解析得到需要的经纬度信息,处理器通过将实时数据与原有数据进行对比,分析公交车进站、出站情况。当公交车将要进站时,通过MP3语音模块和显示屏预报即将到达的站点提醒乘客,当公交车出站之后预报下一个将要到达的站点。若在车车行驶途中突然失去北斗卫星信号,则启用按键控制模式,手动控制报站,并且继续监测是否有信号,当信号恢复后,继续试验自动报站。
图7 北斗定位信息数据包
图8 程序流程图
3 测试结果及分析
我们选取4个点模拟为公交站点,在系统中设定公交车进入站点附近20左右进行报站,开始播报到达站点,公交车驶出站点20米范围为出站,开始预报下一个站。测试实际报站离站点的距离和设定值的误差。经过实际测试,得出如下数据。
站点
站点1 站点2 站点3 站点4
测试次数
到站出站到站出站到站出站到站出站
1 21.3(米) 19.
2 19.4 20.
3 19.9 20.0 19.7 20.0
2 19.5 20.
3 17.
4 19.3 20.4 18.6 18.8 21.5
3 17.1 19.2 18.5 18.6 20.9 19.0 20.7 19.4
4 20.9 21.
5 20.3 22.9 19.9 19.3 18.
6 22.3
平均值19.7 20.3 19.65 20.3 20.3 19.3 19.4 20.8 误差 1.5% 1.5% 3.75% 1.5% 1.5% 3.5% 3.0% 4.0%