毕业设计基于STC89C52单片机控制的智能超声波壁障小车设计.doc
《毕业设计基于STC89C52单片机控制的智能超声波壁障小车设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STC89C52单片机控制的智能超声波壁障小车设计.doc(29页珍藏版)》请在三一办公上搜索。
1、基于STC89C52单片机控制的智能超声波壁障小车设计【摘要】本文介绍一个基于STC89C52单片机控制的智能超声波壁障小车设计。本次设计采用STC89C52单片机作为小车的检测和控制核心;采用LCD1602显示行驶路程、剩余路程、行驶时间、模式设置、壁障参数等信息;采用3144霍尔传感器测量行驶路程;采用TDL-9915无线遥控发送、接受模块遥控小车;采用M325SP-7NP型5轴步进电机带动超声波探头转动;采用L298N电机专用驱动芯片驱动小车电机行驶。实现了集自动壁障、测距、定时定路程控制功能为一体的智能小车设计。 关键词:超声波;单片机;壁障;测距;遥控 目 录1 设计要求 32 总体
2、设计方案 32.1系统控制模块设计方案论证 32.2 超声波壁障设计方案论证 32.3 显示模块设计方案论证 43 元器件介绍 43.1 L298N电机专用驱动芯片 43.2 CX20106A超声波接收芯片53.3 3144霍尔传感器73.4 ULN2003达林顿驱动器 74 系统硬件电路 94.1 超声波发送接收电路 94.2 步进电机驱动电路 94.3 串口下载电路104.4 整体系统硬件电路104.5系统PCB图 115 系统软件设计115.1 设计思路115.2步进电机带动探头测距壁障流程图125.3主程序流程图135.4系统总程序 14 6 总结与体会147设计实物图 14 参考文献
3、15附录15 一、设计要求1、自动壁障,且壁障距离可调;2、测距精度为1cm;3、可遥控小车行驶;4、可测小车行驶路程5、可以定时、定路程控制小车停止或启动二、设计方案2.1系统控制模块设计方案论证方案一:采用STC12C5410单片机控制系统。STC12C5410单片机带有PWM脉宽调制输出端口,可直接用来控制电机转速,且其运行速度是8051单片机的812倍;但其I/O口少,即使是32管脚的芯片也只有27个,不够用时需要扩展I/O口,比较麻烦。方案二:采用STC89C52单片机控制系统。主要是通用I/O口多,一般不需要扩展,而且控制指令简单。由于对8051系列单片机应用比较熟悉,且系统需要用
4、到的I/O口较多,而控制电机转速的PWM信号用1个定时器即可模拟。所以此次设计选择采用STC89C52单片机来控制。2.2超声波壁障设计方案论证方案一:采用多方向超声波测距分析来实现壁障。分别在小车的左、中、右三方向放置超声波探头,通过对三个方向超声波的测距数据分析对比确定障碍物位置,再通过调节小车左右电机转速差控制小车行驶方向实现壁障。方案二:通过步进电机带动一对超声波探头旋转进行各方向测距,将各方向测得数据通过单片机对比分析可得到障碍物方向,然后也是通过调节小车左右电机转速差控制小车行驶方向实现壁障。方案一需要3对的超声波探头,为了防止信号相互干扰各个超声波发送信号要相互间隔,显得繁杂,而
5、且当障碍物与左右侧的超声波探头大于一定角度时将不能接收到超声波信号,方案二通过180度扫描可以很好地检测到各个方向的障碍物,障碍物判断更可靠,壁障效果更好。因此选用方案二设计。2.3 显示模块设计方案论证方案一:采用七段LED数码管显示相关数据。数码管显示具有高亮、可视距离远、寿命长的优点,但是一位数码管只能显示一位数据,要想同时显示多个数据,只能增加数码管数目来实现,而且数码管的PCB布线繁杂,数目越多布线越困难。方案二:采用LCD1602液晶显示。液晶显示具有耗能少、可同时显示数据多、控制指令简单、PCB布线简单等优点。通过对比两种显示方案的优缺点,本次设计决定采用方案二。三、 元器件介绍
6、3.1 L298N电机专用驱动芯片:L298是SGS(通标标准技术服务有限公司)公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如上图中所示。L298N的引脚9为LOGIC SUPPLY VOLTAGE Vss,即逻辑供应电压。引脚4为SUPPLY VOLTAGE Vs,即驱动部分输入电压。Vss电压要求输入最小电压为4.5V,最大可达36V;Vs电压最大值也是36V,但经过我的实验,Vs电压应该比Vss
7、电压高,否则有时会出现失控现象。它的引脚2,3,13,14为L298N芯片输入到电动机的输出端,其中引脚2和3能控制两相电机,对于直流电动机,即可控制一个电动机。同理,引脚13和14也可控制一个直流电动机。引脚6和11脚为电动机的使能接线脚。引脚5,7,10,12为单片机输入到L298N芯片的输入引脚。下表是其使能、输入引脚和输出引脚的逻辑关系:EN A(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN1(IN3)快速停止LXX停止 控制使能引脚ENA或者ENB就可以实现PWM脉宽速度调整。1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号
8、,也可以直接接地。在可设计中就将它们直接接地。引脚8为芯片的接地引脚,它与L298N芯片的散热片连接在一起。由于本芯片的工作电流比较大,发热量也比较大,所以在本芯片的散热片上又连接了一块铝合金,以增大它的散热面积。该芯片的一些参数如下:(1) 逻辑部分输入电压:67V(2) 驱动部分输入电压Vs:4.846V(3) 逻辑部分工作电流Iss:36mA(4) 驱动部分工作电流Io:2A(5) 最大耗散功率:25W(T=75)(6) 控制信号输入电平:高电平:2.3VVinVss,低电平:-0.3VVin1.5V(7) 工作温度:-25130(8) 驱动形式:双路大功率H桥驱动3.2 CX20106
9、A超声波接收芯片(1)CX20106A内部结构图:(2)管脚说明:3.3 3144霍尔传感器3端输出需要接上拉电阻。当有磁铁靠近时,霍尔传感器输出低电平。3.4 ULN2003达林顿驱动器ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。 输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。ULN2003具有电流增益高
10、、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。 ULN2003芯片引脚图ULN2003芯片引脚介绍引脚1:CPU脉冲输入端,端口对应一个信号输出端。 引脚2:CPU脉冲输入端。 引脚3:CPU脉冲输入端。 引脚4:CPU脉冲输入端。 引脚5:CPU脉冲输入端。 引脚6:CPU脉冲输入端。 引脚7:CPU脉冲输入端。 引脚8:接地。 引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入
11、端。 参考电路接法引脚11:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。 引脚16:脉冲信号输出端,对应1脚信号输入端。四、硬件设计4.1 超声波发送接收电路4.2 步进电机驱动电路4.3 串口下载电路4.4 系统整体硬件电路4.5系统PCB图五、软件设计5.1设计思路 本次设计软件部分主要包括测距壁障程序、遥控参数设置程序、显示程序、定时器及相关中断程序。本次设计采用外部中断0接收超声波信号,外部中断1接收霍尔
12、传感器信号测行驶路程,定时器0结合外部中断0为超声波发送接收计时进行测距,定时器1用来产生PWM信号控制小车转速,定时器2为小车行驶计时。为了避免中断冲突造成错误处理,应该对某些中断设为高优先级,且中断执行程序不应过长。为了提高壁障灵敏度,步进电机带动超声波探头进行180度来回旋转,且对于占用时间的显示程序能少的应尽量少。遥控要能实现对小车左右轮控制、定路程停止点调节、定时停止及启动点调节,以及对壁障距离调节。5.2步进电机带动探头旋转测距壁障流程图开始发送第i个步进电机脉冲信号发射超声波信号延时读定时器T0值,计算障碍物距离,并记录到ai中i+i=48i=0比较ai,取得最小值以及对应i值(
13、记为j)=dis障碍物超过设定的距离,两轮全速行驶0=j=24(左半边)左灯亮,左轮加速,右轮减速右灯亮,右轮减速,左轮加速YNYNNYY24=j=2Num=5步进电机停止、小车停止、计时停止Num=0Num=0Num=1;num=3;Num1=4Kk=0;右灯亮左灯亮Zkb1=0Zkb1=0keyC按下,Zkb1-=10keyD按下,zkb1+=10Zkb2=0Zkb2=99999All+=100All=0Fen1=59?Miao1=59?Fen2=59?Miao2=59?KeyC按下:Num1=0, fen1+;Num1=1,miao1+;Num1=2,fen2+;Num1=3,miao2
14、+KeyD按下:Num1=0, fen1-;Num1=1,miao1-;Num1=2,fen2-;Num1=3,miao2-Num1=0,fen1=0;Num1=1,miao1=0;Num1=2,fen2=0;Num1=3,miao2=0Dis=99Dis=0keyC按下:dis+keyD按下:dis-NYNYYYNYNkeyA按下YNNNNkeyB按下NNY小车启动、计时启动步进电机启动、小车启动、计时开始YYNum=1步进停NNum=3Num=1NKk=kkNYNum1=0YkeyC或keyD按下NYNum1+Num=1Num=2Num=3Num=4NYZkb1=40Zkb1=40NYNY
15、Zkb2=40Zkb2=40YNYNYNYNY5.3 主程序流程图5.4 系统总程序:见附录六、总结体会本次电子系统设计前期实现定时器控制PWM输出编程,步进电机驱动控制,超声波发送接收模块;设计后期画原理图和PCB图,然后腐蚀、焊接电路板;最后程序整合及改善以及调试,同时发现调试出现的问题并寻找解决办法。经过不断的努力,提前完成了设计任务,并且各个预期功能基本实现。前期通过观看网上壁障小车相关视频,有了用步进电机带动超声波探头转动的构思。但是网上视频基本上都是超声波探头横着放的,我通过调试发现探头竖着放效果更好,准确度更高。遥控模块直接采用TDL-9915*RF和TDL-9915*TF,遥控
16、发射模块TDL-9915*RF按键后,接收模块TDL-9915*TF对应输出高电平,没按键时输出低电平。这样可方便控制小车各种模式。整个系统设计进行了半个多月,主要在编程和调试上花了很长时间,从中积累了许多编程经验,同时提高了自己的编程能力。由于对51单片机及lcd1602液晶都比较熟悉,所以调试在这两模块问题不大。而对于L298N电机驱动芯片和超声波模块以前都没接触过,因此调试时出现的问题较多,特别是超声波模块,网上相关资料对cx20106a的2脚电阻取值都在10欧姆以下,而自己设计的超声波模块最少也要120欧姆才能有效接收信号,否则小了会有自激信号。这个问题最后是在网站解决的,许多网友也遇
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 STC89C52 单片机 控制 智能 超声波 小车 设计
链接地址:https://www.31ppt.com/p-3975280.html