基于自动寻迹的智能公交车系统省.docx
《基于自动寻迹的智能公交车系统省.docx》由会员分享,可在线阅读,更多相关《基于自动寻迹的智能公交车系统省.docx(19页珍藏版)》请在冰豆网上搜索。
基于自动寻迹的智能公交车系统省
基于自动寻迹的智能公交车系统
——设计报告
摘要:
本设计采用单片机STM32F103VCT6和STM32F103C8T6作为智能公交车系统的检测和控制核心,通过结合稳压电源模块、无线通信模块nRF24L01、电机驱动模块以及语音模块实现公交车自动识别运行轨迹并随轨迹行驶、提前语音提示下车、公交站点精确停位等功能。
设计中通过利用反射式光电传感器通过感知与地面颜色有较大差别的导引线实现轨迹识别,同时利用透视式光电传感器通过感知编码器的旋转来实现车速的测量;然后将得到的检测信号通过控制核心来产生相应的PWM波控制两边轮子的速度,实现小车转弯,从而达到准确的寻迹功能。
电子站台可实时显示公交车运行速度、距公交站点距离及预计到站时间等信息。
关键词:
智能公交车无线模块语音模块光电传感器PWM波
目录
1设计要求4
1.1设计任务4
1.2基本要求4
1.3发挥部分5
2方案论证5
2.1总体方案5
2.1.1整体框图5
2.1.2工作原理6
2.2电机驱动模块6
2.2.1方案一:
采用电路网络或数字电位器调整电机的分压6
2.2.2方案二:
采用继电器对电机的开关控制7
2.2.2方案三:
采用双电源驱动L298N模块7
2.3轨迹检测模块7
2.3.1方案一:
使用已经成品的红外发光管进行轨迹检测7
2.3.2方案二:
使用TCRT5000红外一体化收发管7
2.4路程测量模块8
2.5语音驱动和信号传输模块8
3单元电路设计8
3.1电机驱动电路8
3.2轨迹检测电路9
3.3路程测量电路10
3.4语音和传输模块10
4软件设计10
4.1软件设计平台11
4.1.1软件设计平台:
KeiluVision411
4.1.2设计语言:
C语言11
4.2主程序设计11
4.3子程序设计12
4.2.1小车寻迹子程序12
4.2.2测速和计程子程序13
4.2.3键盘扫描子程序14
5系统测试14
5.1测试条件14
5.2测试结果15
6结论15
6.1作品的整体评价15
6.2可改进性15
7参考文献16
8附录17
8.1元器件清单17
8.2完整电路图18
8.3系统使用说明19
1设计要求
1.1设计任务
设计并制作一套用电池供电的智能公交车系统,包括一台能沿着黑色引导线自主行驶的公交车和两个电子公交站,公交车行驶线路如下图所示。
公交道路宽为60cm,公交道路用光滑平整的白纸制作,黑色小车引导线和状态标识线(可用电工胶带)宽度为1.8±0.1cm,站台停靠标识线长为20cm。
起点与终点之间公交车道总长约25m,公交站点B、C、D的位置在示意图位置附近任意放置。
图1-1整体路线
1.2基本要求
(1)电子公交站具有数据输入和显示功能,能在电子公交站上输入站台号以及本站与起始站间的距离。
(2)公交车从起始站点A出发,沿着黑色引导线,经站点前下车提示、停靠动作后,自动驶到终点站C,行驶过程中不允许驶出公交车道,要求在1分钟内完成全程行驶;
(3)公交车行驶到离站点100cm±10cm处时(以公交站台标识线为基准),应提前发出下车提示声5s;
(4)公交车驶入站台停靠时,其车身中心标识线与站台停靠标识线间误差应不超过10cm,站台停靠时间为5s。
1.3发挥部分
(1)把5s下车提示声改为下车语音提示(如:
“B站到了,旅客请下车”,播报的站名必须是B站或C站);
(2)撤消C站(将站台移动到D点),要求公交车能在2分钟内从起始点A出发自动驶到D点(需要经过环行车道,不允许直接在十字路口右转弯),经过B站点时仍应有下车语音提示及停靠动作(公交车下车语音提示的距离及站台停靠的位置要求仍同基本部分的相关要求);
(3)通过无线传输,公交站台上能实时显示驶向本站公交车的当前车速(单位米/秒)、到站时间(单位秒)及两者的距离(单位米),误差要求不超过5%;
(4)其它。
说明:
站台可设置在公交线路上的任意位置。
2方案论证
2.1总体方案
2.1.1整体框图
根据题目要求,智能公交车系统可以划分为两个子系统:
公交车系统和公交站台系统。
公交车系统可以划分为公交车数控模块、到站时间检测、速度检测、路程测量、轨迹检测、语音驱动、电机驱动和信号传输模块;公交站台系统可以划分为站台数控模块、LCD显示、键盘和信号传输模块。
系统框图如图2-1所示。
图2-1系统总体框图
2.1.2工作原理
公交车数控模块采用STM32F103C8T6单片机为核心控制器,与到站时间检测、速度检测、路程测量、轨迹检测、语音驱动、电机驱动和信号传输模块连接;站台数控模块采用STM32F103VC单片机为核心控制器,与LCD显示、键盘和信号传输模块连接,两个系统通过信号传输模块传递信息和合适的算法完成整个系统的设计。
操作人员可通过键盘输入本站与起始站之间的距离,公交车沿着黑色轨迹行驶,在站点前1m处提前发出下车提示音,停靠5s后再起动驶向终点站后停车。
系统工作需要+12V、+5V直流稳压电源。
2.2电机驱动模块
电机驱动模块一般可采用以下几种方案:
2.2.1方案一:
采用电路网络或数字电位器调整电机的分压
采用电路网络或数字电位器调整电动机的分压,从而达到调整速度目的。
但是组织网络只能是有极调速(只能调出几个特定的速度,有一定的局限性),而数字电阻的元器件价格也比较昂贵,且可能存在干扰。
更主要的问题在于一般电动机的电阻比较小但电流很大,分压不仅会降低效率,而且实现很困难。
2.2.2方案二:
采用继电器对电机的开关控制
采用继电器对电动机的开关控制,通过控制开关的切换速度实现对小车的速度进行调整。
这个电路的优点是电路较为简单,缺点是继电器的响应时间长,易于损坏,寿命较短、可靠性小。
2.2.2方案三:
采用双电源驱动L298N模块
采用双电源驱动L298N集成芯片控制输出,采用PWM波控制导通和截止,用单片机控制使之工作在开关状态,使输出高低电平变化,进而控制电机的运行。
该控制电路由于单片机的运行速度很快,效率高,稳定性也极强,是一种广泛采用的电路。
基于以上方案的比较,我们选择方案三。
2.3轨迹检测模块
轨迹检测模块实现公交车跟随黑色轨道自动行驶。
由于轨道是白纸上的一条黑线,可采用红外光电探测器辨认黑白两种不同状态。
红外光电探测器的工作原理为:
在一定的波长范围内,红外光子可以把材料的束缚态电子激发成传导电子,由此引起电信号输出,其信号的大小与所吸收的光子数成比例。
轨迹检测模块一般可采用以下几种方案:
2.3.1方案一:
使用已经成品的红外发光管进行轨迹检测
使用已经成品的红外发光管进行轨迹检测,当检测到轨迹时,输出高电平信号。
其优点为:
电路设计中只需提供电源和地,设计简单;其缺点为:
当两个红外发光管位置较近时会发生串扰,而位置较远时则会存在较大的“盲区”。
2.3.2方案二:
使用TCRT5000红外一体化收发管
使用TCRT5000红外一体化收发管,自行设计电路。
其优点为:
通过精心设计,整套电路干扰小,且位置、反射距离可以根据需要进行调整,使用灵活;其缺点为:
电路设计较为复杂。
基于上述比较,本设计采用方案二,以争取得到较好的性能。
红外探测器可以考虑使用5个光电传感器。
中间的传感器起到预判的作用,在公交车轻微偏离轨道时可以调整车轮小幅度偏转;一旦公交车中等幅度偏离轨道时,则可以根据次外面2个光电传感器的信息调整行驶轨迹;而根据最外面的2个传感器的信息,则可以判断严重偏离轨迹的状态并进行相应的调整。
据此,可保证公交车的稳定度和速度。
2.4路程测量模块
该模块用来测量公交车与公交站之间的距离。
公交车在行驶过程中,车轮旋转一圈所经过的距离为车轮的周长C,因此,通过对公交车始发后车轮所转过的圈数n,可以计算得出行驶的路程S1=n×C。
由于公交站距离起始站的距离S2可由外部输入,因此,可以得到公交车与公交站之间的距离L=S2–S1。
可采用透射式光电传感器来完成路程的测量。
由于透射式光电传感器是沟槽结构,可以将其置于车轮固定轴上,再在车轮上安装编码器滚轴,让其恰好通过沟槽,车轮转动时,透射式光电传感器会产生一个个脉冲。
通过对脉冲计数,实现对圈数的测量。
2.5语音驱动和信号传输模块
该二模块主要采用现成的模块系统,根据要求及实验室的器件情况分别选择516秒智能型语音单片机和基于nRF2401射频芯片的无线收发模块。
这种语音单片机具有音质好,电压范围宽,应用灵活等优点;nRF2401无线收发模块则具有收发可靠,应用简单的优点。
3单元电路设计
3.1电机驱动电路
电机驱动模块采用的是直流电机的专用驱动芯片L298。
L298是SGS公司的产品,本设计采用的是15脚封装的L298N,内部包含四通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机,本设计在实际应用中用LM298来控制两路直流减速电机。
LM298芯片引脚如图3-1所示。
图3-1L298芯片引脚图
用L298芯片的电路图如图3-2所示。
图3-2L298端口接线
3.2轨迹检测电路
轨迹检测模块使用TCRT5000红外一体化收发管,由于是自行设计电路,可以通过调整电路结构使得抗干扰能力增强,灵敏度提高,原理图如图3-3所示:
图3-3红外寻迹电路
3.3路程测量电路
路程测量模块采用光电码盘,可以提高测量的准确度。
光电码盘如图3-4所示。
图3-4光电码盘
实际中采用透射式光传感器进行信号的检测,采用和轨迹检测相同的电路来完成路程测量的功能。
通过将所产生的电平信号输入单片机结合软件来得出路程的测量数据。
3.4语音和传输模块
设计中语音我们采用了WT588D模块,无线信号传输采用NRF24L01模块。
4软件设计
本次系统软件设计包括公交车及站台两部分设计,由主程序、小车寻迹子程序、测速和计程子程序、键盘扫描子程序等组成。
4.1软件设计平台
4.1.1软件设计平台:
KeiluVision4
图4-1软件平台
4.1.2设计语言:
C语言
4.2主程序设计
主程序主要完成以下几个任务:
1初始化。
小车部分包括对单片机的各外设初始化,设置成无线模块发送方。
公交站部分包括对单片机的各外设、LCD液晶显示进行初始化,以及设置成自动应答带数据的无线模块接收方。
2公交站输入站点距离,并通过无线模块nRF24L01发送给小车。
3小车寻迹,并根据赛道标志位进行相应处理。
图4-3主程序流程图
4.3子程序设计
4.2.1小车寻迹子程序
本次小车寻迹是利用5个红外传感器通过检测地面黑线来确定小车位置的,而小车的转弯是通过差动方式实现的,即通过给小车两边车轮不同占空比的PWM波,从而得到不同速度,从而实现转弯。
具体思路是:
当只有正中间的传感器照到黑线时,保持两轮子速度相同;若有其他传感器照到黑线,则根据传感器状态确定不同PWM波,其中原则为,当黑线越偏离正中间传感器,两边轮子速度差别越大。
图4-4小车寻迹中断流程图
4.2.2测速和计程子程序
小车速度是通过传感器对轮子编码器状态进行测量,测量方法是利用stm32的滴答时钟中断计时以及定时器对外部脉冲计数的功能,只需知道单位时间内计数个数,然后进行一定的处理即可获得车速,而计程只需对将总脉冲数进行处理即可得到。
图4-5测速和计程流程图
4.2.3键盘扫描子程序
键盘扫描获得键值主要是通过对单片机GPIO进行处理,获得按键所按的行列位置,从而获得键值。
图4-6键盘扫描流程图
5系统测试
5.1测试条件
表5-1主要仪器设备
仪器
型号
数量
作用
PC机
1台
电路设计仿真以及编程
示波器
Agilent54621A
1台
设计中观察检测信号波形
稳压源
HY3003D-3
1台
提供+5V的电压
万用表
MS8200G
1只
用于检查电路以及测量输出电压
5.2测试结果
启动公交车后,系统实现的功能:
1.自动寻迹行驶;
2.到站点前1m左右开始发出声音提示;
3.在行驶到站点的过程当中能够实时显示车速、到站时间和到站距离的信息,如下图所示。
4.进入公交站后,自动停靠5s后继续出发;
5.公交车能够按照正确的路线在1分钟之内从起点站行驶到终点站。
6结论
6.1作品的整体评价
本系统以单片机STM32芯片为核心部件,利用光电检测技术等实现了公交车的自动跟踪黑线行驶,行驶到站点前100cm左右提前播放下车语音提示,以及精确的站点停靠,在无线传输模块的配合下,公交站点能实时显示公交车的行驶速度,距站点的距离以及预期到达的时间等。
在系统的设计当中,采用了测量公交车轮胎的转数来计算小车行驶路程,并将该信息传送至站点以使得站点能显示相关信息。
为使行驶里程的运算更为精确,减小数据误
差,采用了车轮压黑线的轨迹运行方式,取得了良好的效果。
同时,增加了外部遥控公交车启动的功能,使得自动寻迹行驶的电子公交车系统智能化程度得到进一步提升。
6.2可改进性
1.能够增加一个车辆任意位置停止和启动的控制的功能,使得智能化更加地合理。
2.至此的智能公交车系统还可以增加往返的功能,往返都能够正确地完成相应的基本要求和发挥部分的功能。
7参考文献
【1】电子设计实践指南第一版阮秉涛著浙江大学电工电子基础实验教学中心2011年12月
【2】STM32系列ARMCortex-M3微控制器原理与实践第一版王永虹著北京航空航天大学出版社2008年7月
【3】基于MDK的STM32处理器开发应用第一版李宁著北京航空航天大学出版社2008年10月
【4】全国大学生电子设计竞赛系统设计黄智伟著北京航空航天出版社2006年12月
8附录
8.1元器件清单
简易数字存储示波器
品名
型号/参数
数量
备注
电阻
200
6
电阻
5.1k
6
电位器
10k
6
电位器
2k
1
电位器
5k
1
电位器
10k
1
电位器
20k
1
电位器
200k
1
电解电容
100uF
1
电解电容
047uF
1
反射式光传感器
TCRT5000
5
透射式光传感器
HK21
1
运放
LM339
2
插座
DIP-14
2
无线通信模块
NRF24L01
2
语音模块
WT588D-16PV1.1
1
电机驱动
L298N
1
电源稳压模块
1
喇叭
1
小车模型
1
单排插针
2.0mm间距
1
杜邦线
16
实验板
165×130
1
8.2完整电路图
8.3系统使用说明
装置实物图
小车上电,系统整个启动后,通过键盘输入站点的距离信息如300(cm)后按【OK】键,小车便会启动并且完成整个过程。
重新开始需要进行复位即可。