一、 系统的设计要求
设计并制作一个自动导航的小车,其行驶路线示意图如下:
(图1—1)
说明:路面为白色普通纸张铺置而成,障碍物为随机放置的1L矿泉水瓶(6个),表面贴有深色纸张;边框为宽度等于2cm的黑色粗线;光源为一个25W白炽灯。
1、基本要求
(1) 启动区位于距离有障碍物路面的1米处的最中间的位置。小车从启动区
出发,先扫描路况,并在液晶上面显示当前未被阻挡障碍物的分布情况,并找出一条最佳路径顺利到达对面。 (2) 小车行使过程不得超过两边的边界。
(3) 小车完成上述任务后应寻找对面光源的位置,找到后碰撞该光源并立即
停车,但全程行驶时间不能大于120秒。
2、发挥部分
(1)记录小车的运动轨迹,并在液晶上面显示;
1
小车导航系统设计报告
(2)记录小车的运动距离,并算出平均运动速度,并在液晶上面显示; (3)小车能够用语音实时报告路况; (4)其他。
二、 方案的选择与论证
1、 电动机的驱动调速模块
方案一:采用电阻网络或数字电位器调整电动的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。跟主要的问题在于一般的电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、
机械结构易损坏、寿命简短、可靠性不强。
方案三:采用有L298N组成的H型PMW电路。用单片机控制L298N使之工作在占空比可调节的开关状态,精确调整电动机的转速。
由于方案三的电路采用集成片L298N,其控制电机能力较强,输出电流较大,工作状态稳定,故在此选择方案三。
2、 探测障碍物,并自动避障模块 方案一:采用小车前置反射式红外对管,根据红外对管的发射管发送的红外线被障碍物被反射回来,当接受管接受到反射光时产生一个脉冲的原理,通过单片机来控制小车避障。该方案的优点是:电路简单、程序易设计;缺点是:理论性太强,易受到外界的干扰,导致单片机收到错误的信息,以致发生错误的判断,故舍弃不用。
方案二:采用超声波探测障碍物,并自动避障。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。
由于超声波具有测量精度高,使用方便,测量结果直观等特点,它是一种非接触式的检测方式,故在此选用超声波模块。
3、 语音播报路况模块
方案:使用ISD1420系列单片永久性语音录放系统电路,可以按地址来分段回放事先录制好的语音。我们使用的ISD1420,具有20S的语音存储功能。我们预先把每一段语音的地址编成一个地址码表,存储在ROM中,使用时,只需从地址码表中查出相应的地址码,赋值给ISD1420,再发出放音指令即可。由于ISD1420具有这种能播放多段语音的功能,在不同的状态下,可以调用不同的语音来适合于不同的道路状况。
故我们在此选用ISD1420完成此功能。
2
小车导航系统设计报告
4、 行驶距离测量模块
方案一:采用霍尔集成片。该器件内部由三片霍尔金属板组成,当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通,因此可以在车轮上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行车速的检测与对行驶总路程的计算。
方案二:受鼠标的工作原理启发,采用光电码盘测量。我们在车轮一边安装间隔均匀的黑白编码盘,通过反射式红外对管检测,当其转过一个白色区域时,产生一个脉冲,通过对脉冲数的计数进行车速的检测与对行驶总路程的计算。精确度高。
以上两种都是比较可行的转速测量方案。尤其是霍尔元件,在工业上得到广泛的采用。但是本题中,小车的车轮较小,方案一的磁片密集安装十分困难,容易产生相互干扰。相反,方案二适用于精度较高的场合,可以在车轮上装上较多的黑白相间的条纹来满足脉冲计数的要求,因此拟采用方案二。
5、 寻找光源模块
方案:采用前置两两成固定角度的三个光敏电阻及LM324比较芯片构成寻找光源系统。用LM324比较光敏电阻上两端的电压值,两两进行比较,从而得到其所对应方向上光强的比较,进而控制小车的行驶方向。该电路简单,稳定性强,且小车的行驶方向是通过对多路电压(即多方向上光强)比较的所得到的结果,故其可靠型强,不易发生错误的判断,且是动态的改变小车的行驶方向,使得小车行驶的路程较小。
6、 扫描障碍物分布电路
方案一:采用CCD单色摄像头,配计算机主板及图像采集卡。对白背景下,深色瓶子的识别,效果相当好。但成本高,很难找到合适的载体。
方案二:采用超声波探测瓶子距离并同时记录下相对角度即可计算出瓶子的分布情况。该方案成本底易于实现。故我们采用第二方案。
7、 小结
经过一番仔细的论证与比较,我们决定了系统各个主要模块的最终方案如下:
电动机的驱动调速模块:采用L298N及H型PWM电动机驱动电路。 探测障碍物,并自动避障模块:超声波测距模块。 语音播报路况模块:ISD1420模块。
行驶距离测量模块:采用红外反射式对管对编码盘上条纹的计数。 寻找光源模块:不同方向上光敏电阻对光的感应寻找光源。
三、 系统的具体设计与实现
系统的组成原理框图如图3—1所示,以下分为硬件和软件两方面进行具体
3
小车导航系统设计报告
分析:
1、 系统的硬件设计
光源寻找(3只光电传感)从单片机对语音信号的控制 反射示红外对管(转速测量) 一对超声波探头扫描障碍物 主控单片机( 电机驱动电路 2只电机 LCD 拐弯灯指示 AT89S52 超声波 )电源电路(图3—1)
1) 光源寻找以及避障模块
图3—2三个光敏电阻共同检测光源的电路
我们在小车的前边呈发射状的放置三个光敏电阻,电阻之间的夹角由我们实际调试时确定的是相邻电阻间大约60度夹角。当小车驶入光源区后,三个光敏
4
小车导航系统设计报告
电阻两端的电压会出现大中小三个不同的值,通过电压比较器进行比较(如图3—2所示的电路),在比较器LM324的1、7脚输出4组不同的高低电平组合即可判断小车哪侧的光较强,这组信号送入单片机的P3.2和P3.3引脚,小车不断趋向光强最强的方向运动即可找到光源。
同时,当小车出现在阴影区时,小车会自动朝向光强的地方运动,这个方法有效的实现了避障,在我们的实际调试时发现这样的电路工作非常可靠。
2) 单片机对语音信号的控制模块
小车能够用语音实时报告路况,我们通过单片机对语音芯片的控制进行分段放音。语音芯片ISD1420参数如下:图3—3是ISD 芯片引脚图
使用方便的单片20秒语音录放 高质量、自然的语音还原技术 边沿/电平触发放音 自动节电,维持电流0.5uA 不耗电信息保存100年(典型值) 100,000次录音周期(典型值) 多段信息处理,分1至160段
片内免调整时钟,可选用外部时钟 图3—3 ISD 芯片引脚图 无需开发系统 5V单电源工作
COB,DIP,SOIC封装及工业级
ISD1110/ISD1420系列单片录放时间8至20秒,音质好。芯片采用CMOS技术,内含震荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及EEPROM阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅0.5uA。
ISD1110/ISD1420系列有唯一的录音控制和边缘/电平触发两种放音控制。不分段时外围线路最简,也可按最小段长为单位任意组合分段,参见表1-1“最大段数”芯片提供若干操作模式,大大提高了控制的灵活性。
芯片采用多电平直接模拟量存储专利技术,每个采样直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调各效果,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率从
5
小车导航系统设计报告
5.3,6.4到8.0KHz,对音质仅有轻微影响。片内信息可保存100年(无需后备电源),EEPROM单片可反复录音十万次。
图3—4语音信号的控制模块电路
基于该芯片的这些优点我们对它分5段进行录音,在行驶过程中我们用单片机给出各段语音地址个ISD1420的地址输入端和播放信号即可调用相应各段语音进行路况播报。电路如图3—4所示。
3) 路程测量控制模块
图3—5转速测量转动角度控制电路
该电路的反射式红外对管ST168放在小车车轮内侧,在小车车轮内侧我们还放有打印有黑白相间条纹的圆盘。因为红外对管发出的红外光照在白色条纹
6
小车导航系统设计报告
上比黑色上反射强。因此在接收管的电压变化就随着转过条纹的数量的变化而变化。通过LM324和一参考电压比较后输出高低电平的变化给单片机。
4) 扫描路况模块
图3—6 超声波测距模块
在设计扫描路况的电路时,我们最初采用自己制作的超声波收发电路模块,可是工作不太稳定。现在我们改用如图3—6所示的工作非常稳定的超声波模块电路对物体距离的测定。这个模块的具体参数如下:图3—7为模块电路图。
7
小车导航系统设计报告
图3—7模块电路图
当需要测量物体距离时,发送一条指令给图6所示的模块的10脚和11脚数据输入和输出端。这时模块会返回一组测好的距离数据给主控单片机。
同时在小车没有进入光源区时采用超声波进行避障。根据小车小车离前方物体的距离来判断障碍物的情况。来控制小车的转向。超声波探测器的选型:
8
小车导航系统设计报告
超声波探测技术主要用于中程测距、结构探伤等领域,超声波换能器是其核心部件,换能器按其工作介质可分为气相、液相和固相换能器;按其发射波束宽度可分为宽波束和窄波束换能器;按其工作频率又可分为38KHz、40KHz等不同等级。根据据体要求和实用性选用气相、窄波束、38KHz的超声波换能器。
对于距离较短和要求不高的场合我们可认为空气中的声速为常数,通过测量回波时间T,利用公式[其中,S为被测距离、V为空气中声速、T(TT1T2)为回波时间],可以计算出路程。这种方法不受声波强度的影响,直接耦合信号的影响也可以通过设置\"时间门\"来加以克服,因此这种方法非常适合较远距离的测距,如果对声速进行温度修订,其精度还可进一步提高。
TT图3—8反射时间法示意图
由此可见,利用超声波传感器可对障碍物的距离进行精确测量,但由于超声波具有较强的指向性,使其应用受到极大的限制。由此,我们对此做出了改进,由马达带动超声波传感器做360°旋转,用电位器反馈角度信息,用发射、接受声波的时间差测量障碍物距离,再通过软件编程处理采集到的障碍物信息,由此可精确定位障碍物,进而控制小车做出灵活的避障动作。此二维超声雷达的转速需要仔细调整,过快会导致测量、定位不准确,过慢则会产生较大的盲区且形成的二维平面图会因小车的行进产生较大的失真。
5) 电动机驱动模块
图3—9 采用L298芯片的左右两路电机驱动电路
小车电动机PWM驱动模块的电路设计与实现,具体电路图见图3—9,
9
小车导航系统设计报告
我们采用L298芯片保证电动机启动瞬间的4A电流要求,我们采用的PWM控制电机的转动速度和小车转动角度的控制。
2、 系统的软件设计
单片机控制电路主要由两片89S52组成:一片89S52主要完成小车障碍物探测、避障、行驶路线显示、行驶状态显示、光源检测、电动机控制及对另一片单片机发送信号的功能,作为本设计的核心;另一片单片机主要依据上一片单片机发来的信息进行语音控制,可在此单片机上开发其它功能,充分开发全智能的小车,给小车的开发留下了广泛的开发空间,作为本系统的辅助部分。
具体的原理图如图(3—10)所示:
(图3—10)
核心单片机的中断和定时器资源的配置如下表(3—1): 资源名称 功能 外部中断INT0 没用 外部中断INT1 没用 定时/计数器T0 超声波测距 定时/计数器T1 车速控制 定时/计数器T2 行驶路程测量 总时间计时 (表3—1 )
10
小车导航系统设计报告
(1)、超声波探测障碍物并在lcd 上显示子程序
超声波探测障碍物,我们通过小车的转动来确定障碍物的方向,超声波模块返回来的数据确定障碍物距起点的位置。方向是通过装在小车车轮上光电编码盘产生的脉冲,然后用计数器2来对脉冲计数,进而确定小车转过的角度,通过该角度和超声波模块传回的数据,通过计算确定障碍物的坐标,最终在液晶上显示。(见图3—11)
进入 进入 无 判断前方20cm是否有障碍物 无 判断有无障碍有 计算并记录障碍物位置,Lcd显示 有 调用避障程序 无 C/T2是否中断 有 返回 有 无 C/T2是否中断
(图3—11)
(2)、超声波避障子程序
返回
(图3—12)
在远离光源的行驶过程中,仅采用超声波程序避障。首先判断小车正前方20cm处是否存在障碍物,若无,小车向前行驶;如有,小车先左转90度,向前行驶,并判断有无障碍物,如果有:采用上面步骤;如果没有:行驶10cm后,计数器2中断,小车左转90度,向前行驶,并不断判断有无障碍物,不断循环上面程序,直至到达3mx线处,计数器2中断,出来。
该程序采用循环调用模式,使得小车能够自动避开障碍物,安全到达光强较强区。流程图见图3—12所示。
11
小车导航系统设计报告
(3)、光敏电阻寻找光源程序
在光强相对较强区,通过对3方向上光强值的两两比较,我们得到左方、前方及右方光强的排列,进而控制小车的行驶方向。
为了让小车尽可能在短的时间,短的路程类找到光源,我们循环的采集数据,对光源强度进行比较,动态确定小车的正确行驶方向,达到目的 。流程图如图3—13所示。 进入 直 走 中强 采集LM324数据 比较,并判断哪方光强较强 左强 右强 左转程序 判断有无障碍物 右转程序 无 有 停 止 图3—13 (4)、PWM控制车速程序
为了提高效率,我们将多个需要定时的模块放在一个定时服务程序中,根据不同的需要,调用不同占空比的PWM。程序流程图如图3—14所示。
12
小车导航系统设计报告
进 入 调节pwm占空比 系统时钟加一 返 回
图3—14 (5)、行驶路程测量程序
小车总的行驶路程是根据装在小车轮上的反射式红外对管产生的脉冲数来计算得到的。其中用计数器2对脉冲进行计数。程序流程图如图3—15。
进 入 计数器二计数 调用中断程序,保存当前值 继续计数,与上指相加 返 回
(图3—15)
(6)、语音程序设计
辅助单片机主要用于对语音的控制,等待中断1发生,若中断发生,立
即查询主单片机发来的信号,根据信号播发相应的语音。 程序流程图如图3—16所示。
13
小车导航系统设计报告
进 入 等 待 否 中断1是否中断 是 查询主单片机发来的信号 调用相应的语音播发程序 返 回
(图3—16)
3、 系统的程序流程图
系统初始化 语音播报 左转90度 右转180度 Lcd 显示障位置左转90度面向正前 全速前进1米进入有障区 开超声波,探测障碍物 超声波工作指示灯亮
14
小车导航系统设计报告
判断前方20cm处是否有障碍物 有 右转90度 播报语音 判断前方20cm处是否有障碍物 无 左转90度 播报语音 有 判断前方20cm处是否有障碍物 无 全速前进 有 判断前方20cm处是否有障碍物 无 无 计数器2是否中断 有
15
小车导航系统设计报告
过3m线,开光敏寻光源 功能指示灯灭 判断光源强度 左强 中强 右强 相同 左转45度 右转45度 判断是否有障碍物 无 直走 有 找到光源停止 播放语音lcd显示总路程和平均速度
(图3—17)
4、 软件特色
远离光源时,系统采用超声波避障;靠近光源时,用超声波和光敏
电阻共同避障和寻找光源。减少程序复杂度的同时,提高了避障、寻光源的精确度。
5、 其它功能的设计与实现
功能指示灯:当仅用超声波避障时,后两红灯亮;同时使用超声波
和光敏电阻时,两灯灭。清楚地显示小车当前做出行驶判断的依据。 语音播报:当小车行驶过程中遇到意外路况时,语音给出提示,使
得小车更加智能化。
16
小车导航系统设计报告
四、 实际测试
1、 测试设备
模拟场地:4m长,2m宽
障碍物:6个1L矿泉水瓶,外面包上一层灰色纸张 光源:25W白炽灯 测量工具:卷尺,秒表
2、 实际测试
直线行驶测试(轨道长4m) 试验次数 1 2 3 4 偏离距离(cm) 10 12 9 15 误差主要来源:电动机的机械结构存在差异,道路不可能绝对一样。 通过测试,总体上误差较小,我们在此可以认为小车是直线行驶。
全速行驶时速度测试(轨道长度4m) 试验次数 1 2 3 4 时间(s) 14 15 13 14 通过实际测试,我们适当的调整小车在各个时间段的速度,以致精确控制小车。
小车行驶时间测试路程测试 试验次数 1 2 3 4 计算时间(s) 26.82 29.23 25.64 23.10 实测时间(s) 25.30 30.24 25.10 22.08 显示路程(cm) 456 489 443 439 实测路程(cm) 450 490 439 432 显示速度(cm/s) 17 15 17 19 实计速度(cm/s) 17.78 16.20 17.49 19.57 通过上述测试结果,可以看出所得误差很小,符合我们的要求。故我们在此采用该软件我们可以认为可以精确控制小车。
五、 结束语
本设计在硬件上使用超声波探测障碍物,抗干扰能力强,受外界影响小;而PWM技术的使用则解决了电动机驱动与调速的效率问题。在软件上,充分利用了89S52的灵活方便,实现了对障碍物的成功避让与光源的检测,与碰撞。利用红外对管经过黑白区域时产生脉冲完成对小车行驶路程与当前状况的控制,并利用LED,LCD,ISD1420给人以可视性、可读性,增添了小车的智能化。
通过以上设计,我们体会到要非常精确控制小车的行驶是不容易的。
17
小车导航系统设计报告
六、 参考文献
[1] 全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品汇编。北京:北京理工大学出版社,2004
[2] 丁元杰。单片微机原理及应用。北京:机械工业出版社,2005 [3] 船仓一朗,土屋 尧等(日)。机器人控制电子学。宗光华,杨 洋,唐伯雁译。北京:科学出版社,2004
[4] 郑郁正。单片机原理及应用。成都:四川大学出版社,2003。 [5] 21IC中国电子网。www.21ic.com
[6] 万方数据资源统一服务系统。www.wanfangdata.com.cn
18
小车导航系统设计报告
七、 附录:
系统原理图:
19
因篇幅问题不能全部显示,请点此查看更多更全内容