智能超声波避障小车的设计与制作范本模板Word下载.docx
- 文档编号:17015410
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:33
- 大小:839.07KB
智能超声波避障小车的设计与制作范本模板Word下载.docx
《智能超声波避障小车的设计与制作范本模板Word下载.docx》由会员分享,可在线阅读,更多相关《智能超声波避障小车的设计与制作范本模板Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
设计控制部分:
主要由AT89S52单片机的外部中断扩展电路组成。
直流电机PWM控制实现部分主要由电机和L298直流电机驱动模块组成。
设计显示部分:
LCD数码显示部分,实现对超声波测的距离的实时显示。
4应用场合和功能:
应用场合:
智能小车是一种能够通过编程手段完成特定任务的小型化机器人,它具有制作成本低廉,电路结构简单,程序调试方便等优点.由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高校学生的喜爱。
同时在玩具的应用上深受小朋友的青睐。
功能:
本小车使用AT89S52单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用LED显示出来,当小车与障碍物的距离大于40cm时,小车会沿直线前进,当小车与障碍物的距离小于30cm时,小车转弯以避开障碍物,并且此时蜂鸣器报警.在避开障碍物后,小车会沿直线前进。
第二章总体方案
2。
1总体方案概述:
本小车使用AT89S52单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用LCD显示出来,当小车与障碍物的距离大于40cm时,小车会沿直线前进,当小车与障碍物的距离小于30cm时,小车转弯以避开障碍物,并且此时蜂鸣器报警。
在避开障碍物后,小车会沿直线前进。
简要框图如图2-1.
图2。
1:
简要框图
2.2总体电路原理图:
第三章各模块功能介绍
3。
1障碍物测距系统:
方案一:
超声波视觉
优点:
价格合理,夜间不受影响。
易于多目标测量和分类,分辨率好.缺点:
测量范围小,对天气变化敏感。
不能直接测量距离,算法复杂,处理速度慢。
方案二:
激光雷达MMW雷达
夜间不受影响,不受灯光、天气影响.缺点:
对水、灰尘、灯光敏感、价格贵。
探测障碍的最简单的方法是使用超声波传感器,它是利用向目标发射超声波脉冲,计算其往返时间来判定距离的.算法简单,价格合理。
所以我们选择超声波传感器。
超声波测距原理:
首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。
时序图如图1所示。
由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:
S=VT/2,通过单片机来算出距离。
图3。
1:
超声波测距原理
3.2显示模块:
方案一:
用LCD显示。
优点:
辐射小、显示内容多、低耗能、散热小、显示的画面稳定不闪烁。
缺点:
不适合做图,图像还原不好、有可视范围限制。
用LED显示。
亮度高、成本低,缺点:
不能显示汉字,显示内容较少.
对于本课题的要求,我们选择LCD实现功能,显示内容多,低功耗,显示画面稳定不闪烁,硬件电路设计简单。
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图:
图3。
2.1:
1602字符型液晶显示器
2.11602LCD主要技术参数:
显示容量:
16×
2个字符
芯片工作电压:
4。
5—5。
5V
工作电流:
0mA(5。
0V)
模块最佳工作电压:
5。
0V
字符尺寸:
2.95×
35(W×
H)mm
3.2.2引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-2-1所示:
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
表3-2—1:
引脚接口说明表
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线.
第15脚:
背光源正极。
第16脚:
背光源负极。
2.31602LCD的指令说明及时序:
1602液晶模块内部的控制器共有11条控制指令,如表3-2-2所示:
序号
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
*
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到CGRAM或DDRAM)
要写的数据内容
从CGRAM或DDRAM读数
读出的数据内容
表3—2—2:
控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的.(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移.高电平表示有效,低电平则无效.
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置.
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
与HD44780相兼容的芯片时序表如下:
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
无
读数据
RS=H,R/W=H,E=H
D0—D7=数据
写数据
RS=H,R/W=L,D0—D7=数据,E=高脉冲
表3-2—3:
基本操作时序表
读写操作时序如图3。
2.2和3。
2.3所示:
2.2:
读操作时序
图3.2.3:
写操作时序
3.3驱动模块:
采用ULN2003驱动,它是由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,一般用于高速大功率驱动电路。
所以我们不采用这个方案。
采用由双极性管组成的H桥电路(L298N)。
用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。
这种电路由于工作在管子的饱和截止模式下,则效率非常高;
H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。
而且它有更强的驱动能力。
L298N有过电流保护功能,当出现电机卡死时,可以保护电路和电机等.
L298N有过电流保护功能,当出现电机卡死时,可以保护电路和电机
等。
所以我们选择L298N.
下图为L298内部图:
3:
L298内部原理图
L298各引脚功能,如下表。
引脚
功能
1、15
SEN1、SEN2
分别为两个H桥的电流反馈脚,不用时可以接地
2、3
1Y1、1Y2
输出端,与对应输入端(IN1、IN2)同逻辑
VS
驱动电压,最小值需比输入的低电平电压高2。
5、7
IN1、IN2
输入端,TTL电平兼容
6、11
EN1、EN2
使能端,低电平禁止输出
GND
地
逻辑电源,4。
5~7V
10、12
IN3、IN4
输入端,TTL电平兼容
13、14
2Y1、2Y2
输出端,与对应输入端(IN3、IN4)同逻辑
表3—3—1封装引脚及功能
驱动电机的运行,I/O端口状态与电机制动对照表,如下。
IN1
IN2
IN3
IN4
EN1
EN2
转速
正转
反转
停止
X
表3-3-2I/O端口状态与电机制动对照表
4电源模块:
我们选择采用5v的独立的稳压电源.
优点:
稳定可靠,且有各种成熟电路可供选用;
缺点:
各模块都采用独立电源,会使系统复杂,且可能影响电路电平.
综合电源模块的缺优点,和电路的实际需求,我们采用了两块独立稳压电源,一块给小车的电机驱动供电,一块给小车的芯片供电,这样弥补了单个独立电源供电出现电力不足的情况.
第四章软件设计
1程序设计流程图
本设计系统软件采用模块化结构,由主程序﹑定时子程序、电机驱动子程序﹑中断子程序、显示子程序﹑算法子程序构成.主程序流程图如图4。
1所示.
图4.1:
主程序流程图
2关键程序设计:
1.PWM产生程序设计:
voidTimer2(void)interrupt5
{
TF2=0;
RCAP2H=0x0fe;
RCAP2L=0x33;
++click;
if(click〉=100)click=0;
if(click〈=ZK1)
PWM1=1;
else
PWM1=0;
if(click<
=ZK2)
PWM2=1;
PWM2=0;
}
超声波的发射与接受程序设计:
voidzd3()interrupt3
{
TH1=0x0f8;
TL1=0x30;
timer++;
if(timer〉=200)
{
timer=0;
TX=1;
_nop_();
_nop_();
TX=0;
}
1602的初始化程序的设计:
voidini_lcd1602()
write_lcd1602(0x38,0);
delay
(1);
write_lcd1602(0x0c,0);
delay
(1);
write_lcd1602(0x06,0);
write_lcd1602(0x01,0);
1602的写程序的设计:
voidwrite_lcd1602(ucharcmd,uchari)
lcd_mang();
rs=i;
rw=0;
e=0;
_nop_();
e=1;
P0=cmd;
_nop_();
e=0;
5.1602的判忙程序的设计:
voidlcd_mang()
{
rs=0;
rw=1;
e=1;
_nop_();
_nop_();
while(P0&
0x80);
e=0;
}
第五章系统调试
5.1调试的思路:
本设计的智能避障小车,一共分为四大模块.分别是:
L298驱动模块,超声波测距模块,LCD显示模块以及蜂鸣器报警模块。
调试的时候我们可以把四大模块分别调试,最后再把所有模块组合起来再进行最后的整机调试这样一个调试的思路。
5.2各模块的调试:
1LCD的调试:
首先根据电路图将显示模块焊好,再用万用表检查电路是否出现短路.一切都正常的情况下,将LCD测试程序烧到芯片中,观察LCD的显示是否正确,如图5。
2.1。
一开始可能什么都不显示,这个时候我们只需调整LCD3脚的变阻器阻值即可。
图5。
LCD测试图
2.2超声波的调试:
超声波模块一共有四个脚,一个是VCC,一个是GND,还有两个分别是超声波的发射和接收引脚。
连接电路时候只需引出四根插线,分别连接到89S52的对应引脚,烧制好测试程序,测试结果图如5.2。
本设计四根插线分别连接到VCC,GND,还有发射和接收引脚分别为:
P3。
0和P3.2口.
2:
超声波测试图
5.2.3蜂鸣器报警调试:
蜂鸣器的连接很简单,只需用一个PNP管来做驱动,当低电平到来时蜂鸣器发出声音,当高电平到来时没有声音.本设计中,蜂鸣器连接到P3。
4口,如图5。
3所示。
图5。
蜂鸣器报警电路
5.3调试心得:
通过系统的调试,我们可以学到更多的知识,我们也可以发现仿真和实物调试不同的地方。
程序设计的结果可能往往和实物调试出的结果不一样,这就需要我们去思考,去斟酌,去改进,以达到预期效果。
通过程序和硬件的调试,我们可以更深刻的理解各功能模块之间的联系,也可以明白各调试的步骤.
在调试的过程中,我也遇到许多问题,例如:
我在宿舍调试好小车之后,带到班级时候在插上电源试图让小车跑起来时候,发现超声波模块失去了作用,LCD不再显示数据了,后来我用电脑USB口供电发现也不可以,检查了许久才发现是超声波模块上的电源线和地线的两根插线出现了断路,换线之后LCD正常显示数值,小车正常行驶。
整个调试过程需要硬件和软件结合起来调试,要仔细检查电路,认真思考程序。
硬件部分调试的步骤:
1)检查原理图连接是否正确
2)用万用表检查是否有虚焊,引脚短路现象
3)检查原理图与电路板上引脚是否一致
4)各模块逐个调试,看看各模块是否能用
5)整合在一起调试,用电脑USB口供电
6)在5的基础上用电池供电
第六章结论与展望
6.1结论:
历时三个月的设计过程中,我首先边查资料,边在实验室焊接小车的线路板。
在焊接过程中,我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情.有时是“虚焊”的原因,有时可能是阻值选错.在焊接显示电路时,我就错将680欧的电阻焊成了6。
8千欧。
这使我深深感受到理论与实际间的差距。
在调试过程中,发现插上编程器后不能烧制程序,通过检查电路发现,AT89S52芯片的使能端没有接VCC。
改好之后重新烧制,发现还是不可以,通过再次检查,发现是共阴管的驱动芯片74LS245的引脚出现焊接错误.通过这些调试,提高了我检查电路的能力,以及巩固了电路图的知识。
通过这样的设计,提高了我的动手能力。
每天在实验室除了焊接线路板,还可以上机编程,使我软件调试知识也提高了.本设计采用的是89S52单片机,这主要是因为该单片机的稳定性比较好。
还可以采用其它系列的单片机。
比如采用陵阳单片机,就可以简化编程,但其稳定性不是很好.
6.2展望:
1、在本课题的基础上,我们可以在小车的底座下面装一个吸尘装置,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 超声波 小车 设计 制作 范本 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)