基于ATS51单片机的智能超声波避障小车
姓名:________洼__________
班级:08电子二班
学号:200810330219
指导老师: 张儒
目录
摘要.....................................................3
一、总体方案概述........................................3
二、总体电路原理图......................................3
三、各模块功能介绍......................................4
(一)...................................、超声波测距模块 4
(二)...................................、数码管显示模块 4
(三).................................、步进电机控制模块
6
(四).....................................、语音提示模块 7
(五).....................................、速度自控模块 8
(六).....................................、信号提示模块
8
(七)...................................、单片机控制模块 8
四、系统软件设计........................................9五、元件清单...........................................10六、应用前景...........................................10六、参考文献............................................11
摘要:现今发达的交通在给人们带来便捷的同吋也带来了许多的交通事故。发生交通事故的因素有很多。卅然,如果我们的汽车能够更加智能,就是说事先能预测并显示前面障碍物离车的距离,当障碍物距离很近时汽车会自动采取一些措施避开障碍物,这样就能够在很人程度上避免这些事故的发生。在本论文屮,我们将会看到能够实现这一?功能的智能小车。
关键字:超声波、测量、避障、单片机、语音一、总体方案概述
本小车使用一台ATS51单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用数码管实吋的显示出来,在小车与障碍物的距离小于安全距离(用软件设定)吋,小车会发出“在距您车前方x(数码显示的实吋距离)米的地方有一?障碍物,请您注意避让”的语音提示,并且拐弯,以避开障碍物,同时会点亮相应侧边的发光二极管作为提示信号。在避开障碍物后,小车会沿直线前进。
本系统设计的简易智能小车分为几个模块:单片机控制系统、超声波路面检测系统、前进、转弯控制电机以及方向指示灯系统。它们之间的相互关系如下图1所示。
超声波 |
| 单片机系统 | “ 丿 | 电机 |
显示与报警装置 8 | ||||
总体电路原理图三、各模块功能介绍
vcc | PIO I | P10 | O | we | PIO |
| anri | 18 CXJTI | VCX' | om | | | QI SECOND |r Q2 TH【RL> |
| | | |||||||||
PI I 2 | |||||||||||||||||||||||||
PH | PO | ||||||||||||||||||||||||
PI2 3 | |||||||||||||||||||||||||
PI2 | FOI | | 17 (NTH | ||||||||||||||||||||||
| PL; 4 | am | | ?5CT | | FIRST | RJRTH | | |||||||||||||||||
P13 | P02 | 16 orri | |||||||||||||||||||||||
i\ (5 | T | ||||||||||||||||||||||||
PI4 5 | 6 | PI4 | 4 | P03 | 6lT3 | ||||||||||||||||||||
| 一 | 匚 | |||||||||||||||||||||||
PI 5 | PIS | PD | (XT4 | 14 | OC心 | | |||||||||||||||||||
| PI 6 | 7 | | | | | | | | | |||||||||||||||
| | Id OUT6 | | | | | | | |||||||||||||||||
| P16 | P05 | OLT5 | | | | | | | ||||||||||||||||
| | | | | | | | ||||||||||||||||||
| P门 & | PI7 | F06 | <X*I6 | | OLT5 | | | | | |||||||||||||||
OLT7 | |||||||||||||||||||||||||
RST 9 TRIG | RSI7VPD | P07 | (XJI8 | ||||||||||||||||||||||
| |||||||||||||||||||||||||
| 10 ECHO II | P.WRXD | E.WPP | OLT8 | 10 | | , OTT6 | | | | | ||||||||||||||
| |||||||||||||||||||||||||
| LCD.; 12 | P.H/TXD | ALE/PROG | CM | | our? | | | | | |||||||||||||||
|
| 13 | P32/IXT0 | 7 | PESN | | | | | | | | |||||||||||||
」R9 | | | | | | 、J | -3 | | |||||||||||||||||
P3.V1NTI | P2 | ||||||||||||||||||||||||
CiM>d|| | - | II | | | | | | | ||||||||||||||||||
P.U/TO | P26 | ||||||||||||||||||||||||
| 15 | | | 12 | | | | ||||||||||||||||||
P⑹T1 | P25 | ||||||||||||||||||||||||
| I CPI 16 | | TRIG 2 | VCC | | | | ||||||||||||||||||
P/WR | P24 | ||||||||||||||||||||||||
L(*D2 17 | TRIG | ||||||||||||||||||||||||
P37/RD * | P23 | ECIK) 3 | |||||||||||||||||||||||
| | | EGIO | | | | |||||||||||||||||||
KTAL2 9 | P22 | ||||||||||||||||||||||||
our | |||||||||||||||||||||||||
XTAL0 箋 | P21 | ||||||||||||||||||||||||
GND | |||||||||||||||||||||||||
岳r 隔6 r 寅L「L5 rl L 1 ri 寸-u ?? | |||||||||||||||||||||||||
GM) | |||||||||||||||||||||||||
RE「 | RESET | ||||||||||||||||||||||||
PLAY | LED | L | |||||||||||||||||||||||
FWD WL | ^Vccd 5 | ||||||||||||||||||||||||
R20 | FT & | VS5d 三 | |||||||||||||||||||||||
SCI.K | Vcca | 21 | |||||||||||||||||||||||
MIC J | | | | | | 0B | LCD | | |||||||||||||||||
MISO | Vssa | 14 | |||||||||||||||||||||||
Veep | 16 | ||||||||||||||||||||||||
\sspl \' | |||||||||||||||||||||||||
卸2 | |||||||||||||||||||||||||
MKJ | |||||||||||||||||||||||||
M1C- | SP- | ||||||||||||||||||||||||
Aiialn | AIJD'AI^C | B | | ||||||||||||||||||||||
Ros: | IXT/RDY | 27 | |||||||||||||||||||||||
(一)、超声波测距模块 |
| ||||||||||||||||||||||||
首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,
超声波在空气屮传播,途屮碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回
应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计吋。时序图如图1所示。由于超声波在空气屮的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:S二VT/2,通过单片机来算出距离。
10uS的TTL
妙信号
循环发出8个40KHz脉冲
模块内部发
出信号
输出回响________________________________回响电平输出
信号 图1:超声波模块时丿予图
(二)、数码管显示模块
1、数码管显示原理
数码管有一位、双位、四位等儿种。而不管将儿位数码管连在一起,数码管和显示原理都
是一样的,都是靠点亮内部的发光二极管来发光。数码管的内部电路结构如下页图所示:从(a)
可看出,一位数码管的引脚数是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚。而它们的公共端又分为共阳极和共阴极。上页图的(b)和(c)分别为共阳极和共阴极数码管的原理图。
本小车的数码管采用的是4位共阳极数码管。所谓“共阳”就是指其内部的8个发光二极管的阳极全
部接在一起,而它们的阴极是的,通常在设计电路吋一般把阳极接VCC,当我
们给数码管的任一个阴极加低电平吋,对应的那个发光二极管就点亮了。
当使用多位一体数码管吋,它们内部的公共端是的,而负责显示什么数字的段线全部都是连
在一起的,的公共端可以控制多位数码管屮哪一?位点亮。通常我们把公共端叫做“位选线”,连
在一起的段线叫做“段选线”。
g | d dp | A |
|
A | |||
dp |
2、显示部分C源程序的编写:
由于在本电子钟屮4位数码管的段选线是直接接在单片机的P0口的,所以我们首先应该计算出显示各个数字所对应的P0口输岀的二进制编码。例如如果要显示一个“0”,对照丄而的(a)图,我们需要点亮数码管屮的a、b、c、d、e>f,而g和dp不点亮,故a、b、c、d、e、f、g、dp对应的二进制编码就为:00000011。再对照数码管段选线与单片机连接的顺序就可得要赋给单片机P0口的值应为10200000,转换为十六进制就是aOo同理可以得到其它数字对应的十六进制编码:
ucharcode table[10]={0xa0,0xbe,0x6乙0x2a,0x3c,0x29,0x21,0xba,0x20,0x28};
ucharcodetable_dot[10]二{0x80,0x9e,0x42,0x0a,0xlc,0x09,0x01,0x9a,0x00,0x08};〃带小数点的数字段码表
FIRST | VCC |
| ||
SECOND |< Q2 THIRD | < Q3 FORTH | K Q4 | ||
、 | ||||
图3:指示灯与数码管显示电路 | ||||
3、数码管实时显示距离
用单片机控制四位共阳7段数码管來动态显示出测量距离。在总体电路图屮是通过单片机的P1I/O 口来控制数码管的段选,通过P3.0到P3.3四个I/O口来控制四位数码管的位显示,具体的显示是通过单片机的软件来控制数码管的数据显示,把单片机计算出来的数据距离实时的显示出來。
(三)、步进电机控制模块
此模块是用來作为小车前进的动力和控制小车的避障。
步进电机是通过脉冲来驱动的,其步距角和转速只与输入的脉冲频率有关,频率越快,-K转速越
快,因此,只需要控制驱动步进电机的脉冲频率来控制步进电机的工作,而步进电机的驱动脉冲可
以通过单片机來输出。但由于步进电机工作时需要较人的工作屯流,因此需要用步
VCC
U1
9 P10 1 | 18 OUT1 | OUT] |
| |||||||
| ||||||||||
OUT5 OUT6 OUT7 OUT8 |
| |||||||||
10 | ||||||||||
GND | TRIG 2 | |||||||||
U2 | ||||||||||
VCC | ||||||||||
TRIG | ||||||||||
ECHO 3 | ||||||||||
ECHO otrr GND | ||||||||||
GND
图4:步进电机张动模块原理图 |
|
进电机驱动芯片来驱动,如图4所示,我们用ULN2803芯片来驱动步进电机,并且用单片机的P0I/O 口来给ULN2803芯片输入不同频率的脉冲,再通过ULN2803来驱动步进电机。
本小车使用的是两个四相五线的步进电机来驱动。我们知道,四相五线步进电机共有五根线,其屮红色的接电源的正极,剩下的四根分别接在了ULN2803芯片的四个输出端,其对应的输入端则接在了单片机的P1.0-P1.3端口,要使电机工作,则只需让四个I/O口依次输出高电平。电机励磁表如下所示:
励磁顺序 | A | A | B | B |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
小车的前而两个轮子分别用两个步进电机来驱动,当两个步进电机的转速一样的时候,车子将沿直线前进,血两个步进电机的转速不一?样的时候,车子就会拐弯,例如,左边的步进电机转速比右边的快的话,车子将向右边拐弯,只要控制好两个步进电机的转速比和不同转速的时间,就可以精确的控制小车的避障行为。
(四)、语音提示模块
此模块是用来提供语音提示的,半小车距离障碍物距离(这个距离可以IH行设定)很近吋,
小车的控制系统会发出“在距您车前方x米的地方有一?障碍物,请您注意避让”的语音提示。
此功能是用ISD1760语音芯片来实现,预先给语音芯片录入“在距您车前方”,有一障碍物,请您注意避让”,“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,等语音信息,在通过单片机程序"9”,“10”来控制语音芯片的定点放音,来实现语音提示。
GND
| VCC亠 | RECL— | ULJ | I] | REC | RESET | 3 | | | VCC | ||
PLAYI | ||||||||||||
PLAY | LED 翠 | |||||||||||
RASE | ;J5_ | |||||||||||
ERASE | ||||||||||||
GND | ||||||||||||
Veed Q Vssd | I R | |||||||||||
| ||||||||||||
(iNDd| | JR20 | VOL | FWD | 28 | vgco:ijf ~ | TC6T4 | ||||||
VOL FT | ||||||||||||
_=— “ | -Vcca | 21 | ||||||||||
86 二 | g | |||||||||||
nfii | SCLK | Veep | 14 | C8 | ||||||||
GND | 更7 | |||||||||||
MQS[ | V;?pl |
12 w L, | 7uf | 4,7uf CiND | ||||||||
MISO | V?p2 | |||||||||||
P3 | SCLK> | |||||||||||
N/KJS5 | MIC+ | SP+ | ||||||||||
| ||||||||||||
| R22 | MIC- | SP- | 15 | GND | GND | ||||||
10 | Analn | ALOAUX | J7 | CW | ||||||||
ZZjp1 H - OJuT^ | Rose | |||||||||||
W/RDY | 27 | |||||||||||
7K | AGC | |||||||||||
—L | 47uf | |||||||||||
CND
图5:语音模块原理图
由总体电路图,用单片机的P2.2到P2.5四个I/O口来控制ISD1760语昔芯片的定点放昔。
ISD17601作原理:如图所示,通过REC键来进行录音,录音时要一?直按住REC键,录完—?段语音后松开REC键,按动PLAY键可以对刚才的录音播放出来;VOL键可以加减音量,每按动一次VOL键,声音就增大一级,由于只有8级音量调节,所以在第9次按动VOL键时,声音又回到了最小音量;ERASE键可以对己经录入的语音进行擦除,短按此键可以擦除上一段录音,长按此键可以擦除所有录音;通过SS、SCLK、MISO、MOSI脚与单片机进行SPI通信,单片机就是通过这几个脚实现对ISD1760的定点放音。
(五)、速度自控模块
此模块的功能是通过按键自行输入-?个速度后,小车就会按照输入的速度进行直线前进,直到遇
到障碍物。
如图所示,通过S2、S3来输入设定的速度,此吋是通过数码管来显示输入的数字,设定结束后,小车就会按照此速度前进,不过这只是一个象征性的速度,实际前进速度并不是输入的速度,
而是以速度的快慢来反映这一功能的。
(六)、信号提示模块
此功能就是相当于汽车的转向灯和刹车灯。
把L2、13、L4、L5四个发光二极管分别安装在小车的四个角上,当小车在拐弯时相应侧边的发
光二极管点亮,并且闪动;当小车在减速吋小车后而的发光二极管点亮且闪动。
(七)、单片机控制模块
此模块是小车的最重耍部分,它控制着超声波测距模块、数码管显示模块、步进电机控制
GND | 复位换各____ | 0 | | ATS5I | 40 | vcc | LED6 | 模块、语音提示模块、速度自控 模 | |
PI.0 | 块和信号提示模块的工作。 | ||||||||
39 | |||||||||
P1.1 | |||||||||
R15 | 2 |
| LEDIO | 单片机通过计吋器记录超声 | |||||
P1.2 | |||||||||
3 | LED5 | ||||||||
PI.3 | |||||||||
LED9 | |||||||||
5 | P1.4 | ||||||||
LEIXj | 波发射和接受的时间差,来计算 出 | ||||||||
P1.5 | |||||||||
LE512 | |||||||||
P1.6 | |||||||||
1.7 | |||||||||
LED7 | |||||||||
PI.7 | |||||||||
RST/VTD | LEDII | 小车距离障碍物的距离,控制 P1 | |||||||
I | |||||||||
16K | P3.U/RXD | LEW | |||||||
P3.1/TXD | 口的高低电平来控制数码管 显示, | ||||||||
P3.2/INH) | |||||||||
円3INT1 | |||||||||
LF.Dl | |||||||||
| |||||||||
| |||||||||
| XTAI- | |
| P3.4/T0 | 6 | | LED2 | 通过输出不同频率的脉冲 来控制步 | |
| |||||||||
| |
| P3.5/T1 | 5 | | LED3 | | ||
| |||||||||
| |
| P3.6/WR | 4 | | BF.LL | | ||
| |||||||||
| =±=C3 | | P3.7/RD | 3 | | | 进电机的工作,通过SPI 协议与 | ||
XIAL2 | |||||||||
XTAL1 | ISD1760语音芯片进行通 信,来控制 | ||||||||
VSS | |||||||||
| C2 | ||||||||
20pF | 语音芯片的定点放音, 实现语音提 | ||||||||
GNI) | 示功能。 | ||||||||
振荡酬
图6:单片机最小系统
U! | 、系统软件设计 |
本设计系统软件采用模块化结构,由主程序、定时子程序、电机驱动子程序、屮断子程序、显示
子程序、调速子程序、算法子程序构成。主程序流程图如图2所示。其屮:避障屮断服务子程序完成对
超声波探测器产生的外部屮断进行处理,如果超出预定的危险距离就左转进行避障。遥控屮断服务子程
序完成对遥控信号产生的外部屮断进行处理,对不同的遥控信号产生相应的控制信号。在定时小断服务
子程序,完成定时与里程的计算。
图7:程序流程图
五、原件清单
序号 | 元件名称 | 元件 | 数量 | 参数 |
1 | ATS51 -单片机 | U1 | 1 | |
2 | 电解电容 | C1 | 1 | lOuf |
3 | 电解电容 | C5, C7, C8, CIO, Cll, C16 | 6 | 4.7uf |
4 | 瓷片电容 | C2,C3 | 2 | 20pf |
5 | 瓷片电容 | C4, C6, C9, C12, C13, C14, C15 | 7 | O.luf |
6 | 弹性按键 | ERASER PLAY1, REC1,S1^S7, VO LI | 11 | |
7 | ISD1760 | U2 | 1 | 8550(2N3960) |
8 | 电源插座 | JI | 1 | PWR2.5 |
9 | 发光二极管 | L2, L3, L4, L5, L6, L7 | 6 | |
10 | LED数码管 | U3 | 1 | 4位共阳 |
11 | 三极管 | QI, Q2, Q3, Q4 | 4 | 8550(2N3960) |
12 | 电阻 | Rl~R10zR14~R18 | 14 | 470k Q |
13 | 电阻 | R19~R22 | 4 | 4.7k Q |
14 | 电阻 | | | 10k Q |
15 | 电阻 | ww.taodocs.c | m | 80k Q |
16 | ULN2803 | U4 | 1 | |
17 | 晶振 | Y1 | 1 | 11.0592MHz |
18 | 电机接口 | P1?P2 | 2 | 排针 |
19 | 超声波模块接口 | P5 | 1 | 排针 |
20 | 驻极体接口 | P3 | 1 | 排针 |
21 | 扬声器接〕1 | P4 | 1 | 排针 |
五、应用前景
本智能小车系统最诱人的前景就是可用于未來的智能汽车上了。当驾驶员因疏忽或打嗑睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离吋,汽车就会发出报警,提醒驾驶员注意,如果驾驶员没有及吋作出反应,汽车就会自动减速或停靠于路边。
这样的小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更多的信息,让我
们更加的了解月球,为将来登月做好充分准备。
这样的小车在科学考察探测车上也有广阔的应用前景。在科学考察小,有许多很危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它丄而装丄摄像机,代替人们进行许多无法进行的工作。
六、参考文献
[1]郭天祥?新概念51单片机C语言教程——入门、提高、开发、拓展全攻略?北京:电子工业出版社,2009
[2]宋戈,黄鹤松,员玉良,蒋海峰?51单片机应用开发范例大全?北京:人民邮电岀版社,2010 [3]阎石?数字电子技术基础(第四版)?北京:高等教育岀版社,1998
[4]刘伏文,王春华?MCS?51单片机存储器结构详解.电子制作,2007,(10)