ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:616.91KB ,
资源ID:8228470      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8228470.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机智能小车毕业设计论文Word格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机智能小车毕业设计论文Word格式.docx

1、4.4.2 超声波测距模块程序的设计 254.5 显示模块程序的设计 264.5.1 显示模块流程图 264.5.2 显示模块程序的设计 26第5章 系统软硬件的调试 295.1 软件程序的调试 295.2 硬件电路的焊接与调试 30参考文献 31附录1 原理图 32附录2 源程序 33附录3实物图 43致 谢 .44作品(软件)使用说明书 .45第1章 绪论1.1 智能小车的意义和作用智能的出现,为我们的生活和生产带来了很大的便利,同时也是以后的发展方向,智能就是可以在一个特定的环境中按照我们前面设定好的模式去自动的运作,它并不需要我们去人为的管理,就可以达到我们前面设定的目标,它的应用领域

2、很广,如可以应用于工业控制、科学勘探、智能家居等领域。而智能小车就是智能的一个简单的应用,智能小车就是智能化玩具中的一种,由于这类智能玩具具有较好的交互性,可控性,能够按照人们设定的模式去自动运作也深受人们的喜欢。另外,智能小车还可以应用于危险搜索、机器人等许多方面,尤其在机器人方面具有很好的发展前景。因此,智能化小车的研究不仅具有很大的现实意义,还具有极为广阔的应用前景和市场价值。1.2 智能小车的现状智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域1。众所周知机器人技术的发展是一个国家

3、高科技水平和工业自动化程度的重要标志和体现。因此目前世界各国都在开展对机器人技术的研究。机器人由于有很高的灵活性、可以帮助人们提高生产率、改进产品质量等优点,在世界各地的生产生活领域得到了广泛的应用2。智能小车正是模仿机器人的一种尝试。它是一种以汽车电子为背景,涵盖多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块组成。这种智能小车能够自动搜寻前进路线,还能爬坡,感知前方的障碍物,并自动寻找前进方向,避开障碍物。另外如果加入相关声光讯号后,更能体现出智能化和人性化的一面。第2章 方案设计与论证2.1 主控系统由于单片机具有价格低廉,资源丰富、有较为强大的控制功能,

4、故本次设计采用STC89C52单片机作为整个系统的核心,用其控制行进中的小车以实现其既定的性能指标。STC89C52是一个超低功耗的增强型51单片机,和标准51系列单片机相比较它的运算速度更快,有超强的抗干扰能力,同时还支持ISP在线编程,片上集成了512字节的随机存取数据存储器(RAM),并且片内含8k字节空间的可以反复擦写1000次的Flash只读存储器, 32个I/O口,以及3个16位可编程定时计数器。其指令系统和传统的8051系列单片机指令系统完全兼容,降低了系统软件设计的难度,电路设计简单、价格低廉,在后来的实验中我们发现,STC 89C52精确度和运算速度也都完全符合我们系统的要求

5、。2.2 电源模块由于本系统需要给整个智能小车系统供电,考虑了以下几种方案:方案一:采用4节1.2V可充电电池组。在电充满时4节电池电压可以达到5v且可充电电池组具有较强的电流驱动能力及稳定的电压输出性能,但是直流电机工作时会对LCD1602显示造成干扰,使其显示不稳定。故放弃此方案。方案二:使用双电源供电,将9v可充电方块电池电压降压、稳压到5V后给单片机系统和LCD1602及其它芯片供电。另外采用4节1.2V可充电电池组为直流电机供电,经测试在用此种供电方式下,单片机和传感器工作稳定,直流电机工作良好,LCD显示也很稳定,小车也能长时间工作。综上考虑,我们选择了方案二来完成智能小车整个系统

6、的供电。2.3 电机驱动模块2.3.1 电机模块选择与论证使用步进电机作为智能小车系统的驱动电机,因为步进电机的转动角度可以精确的定位,这样就可以比较精确的定位小车的前进距离和位置。但是由于步进电机的输出力矩偏低,并且会随着电机转速的升高而下降,在达到较高的转速时其输出的力矩会急剧下降,因此不适于小车等对速度有着一定要求的系统。经过综合分析比较决定放弃此方案。使用直流减速电机作为智能小车系统的驱动电机。直流减速电机的转动力矩比较大,而且体积较小,重量也很轻,使用方便。另外小车电机内部还装有减速齿轮组,所以并不需要去考虑调速的功能,可以很方便的通过单片机来控制直流减速电机的正传、反转、停止操作。

7、综合以上考虑选择方案二的直流减速电机作为整个智能小车的驱动电机。2.3.2 电机驱动模块选择与论证采用继电器对电动机进行控制,通过切换电动机的开关来调整小车的速度。这个方案的优点是电路相对比较简单,但是它的缺点也比较多,如:继电器的响应时间偏慢, 寿命较短,容易损坏,可靠性也不是很高。故决定放弃此方案。 方案二:采用专用的电机驱动芯片L298N来控制直流减速电机, L298N芯片(如图2-3)是一个具有高电压大电流的全桥驱动芯片,一片L298N芯片可以分别的控制两个直流减速电机,在646V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠。该芯片是利用TTL电平

8、进行控制的。通过单片机的IO口输出高低电平来改变芯片控制端的输入电平,即可以实现对电机进行正转、反转和停止操作。另外为了保证L298N的正常工作,我还安装了8个续流二极管1N4007。用该芯片作为电机驱动,驱动能力大、操作方便、稳定性好、性能优良。综合以上分析与论证我们选择方案二的驱动芯片L298N作为整个智能小车系统的电机驱动电路。图2-3 L298N2.4 循迹模块用光敏电阻来探测。光敏电阻的阻值会随着周围环境光线的变化而变化6。因此当光敏电阻在黑色轨迹的上方和白色轨迹的上方时,阻值会发生较为明显的变化。将阻值的变化值输入到电压比较器就可以输出高低电平。单片机就可以根据反馈来的不同的电平信

9、号,发出相应的控制操作命令来控制小车的左转,右转,前进或者停止。但实际效果并不理想,误测几率偏大、容易受外界的光线环境的影响,不能够稳定的工作。因此考虑其它更加稳定的方案。采用红外反射式光电管完成系统循迹3。TCRT5000(如图2-4)是一种一体化反射型光电探测器,传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。它是利用了光的反射原理,当光线照射在白纸上,反射量会比较大,反之,当光照射在黑色物体上,反射回去的量比较少,因为黑色会吸收光,这样就可以判断黑胶带带轨道的走向。采用红外线发射,外面可见光对接收信

10、号的影响较小,利用红外对管对黑线边界进行检测,再用LM393对检测信号进行比较,取反,送单片机进行处理。此光电对管电路简单,工作性能稳定。经测试方案二不论是在黑暗或者是强光照射下,智能小车系统均可以很稳定的工作,对外界环境的适应能力比较强。因此我们选择方案二。图2-4 TCRT50002.5 测速模块采用霍尔传感器检测轮子上的小磁铁从而给单片机中断脉冲,通过单位时间内对脉冲的计数通过公式就可以算出实时的车速,达到测量速度的作用。霍尔元件具有体积小,动态特性好,频率响应宽度大,对外围电路要求简单,使用寿命长,安装方便,价格低廉等特点。但是需要和磁钢配对使用比较麻烦。采用光电码盘,即透射式光电传感

11、器(凹槽型如图2-5)进行测速。槽型光耦是由红外发光管和光敏三极管构成的,工作时红外发光管发出红外光线透过光耦的槽投射到光敏三极管上,光敏三极管导通,集电极输出低电平。当红外光线被检测物遮断时,光敏三极管截止,集电极输出高电平。遮挡一次槽型光耦输出一个脉冲,因此脉冲的个数就是被检测物的数量。车轮转动时带动码盘转动,单片机内部计时可测出给定的时间内通过的脉冲数,从而测出小车的实时速度。使用方便,抗干扰性较强。通过比较方案一和方案二的优缺点,综合多方面因素决定选用方案二。图2-5 槽型光电传感器2.6 显示模块采用LED数码管显示。数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位

12、数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗,而且LED数码管也无法显示字符。由于我们计划要显示小车运行的速度和路程,LED数码管没办法显示这么多的内容,因此考虑其它的方案。采用LCD1602液晶(如图2-6)显示。LCD1602液晶具有功耗低,显示内容丰富清晰,显示信息量大,显示速度较快,界面友好,使用简单等特点而得到了广泛的应用。并且外围电路也比较简单,因此我们选择此方案。通过以上方案论述我们选择方案二,显示小车运行速度和路程的任务。图2-6 LCD1602液晶显示器2.7 壁障模块用漫反射式光电开关进行避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收

13、电路据此做出判断反应,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。操作简单但是测量的距离不远。用超声波传感器进行测距避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,然后再被超声波传感器接收8。超声波传感器在避障的设计中被广泛应用。为了使用方便,便于操作和调试,采用集成超声波测距模块HC-SR04(如图2-7)。综合考虑本系统只需要检测障碍物,没有十分复杂的环境。为了使用的方便,便于操作和调试,最终选择了方案二。图2-7 HC-SR04超声波测距模块第3章 硬件设计3.1 总体设计智能小车采用

14、前轮驱动,前轮左右两边各用一个电机驱动,通过电机驱动芯片L298N来控制前面两个轮子的转动与停止从而达到控制转向的目的,后轮是万向轮,起支撑转向作用。将4个红外光电传感器装在车体底盘的前端,小车根据传感器检测的情况来循迹前进。小车速度的检测通过槽型光电传感器,将码盘装在电机的轴上,码盘跟随电机一起转动,将检测到的数据传回单片机进行处理。小车的避障用超声波避障模块HC-SR04,将其置于车头,检测到障碍物时,小车做出相应的反应。总体设计框图如图3-1。图3-1 总体设计框图3.2 驱动电路电机驱动芯片采用L298N,是一款承受高压大电流的全桥型直流/步进电压驱动器,如下图3-2。图3-2电机控制

15、芯片L298N的引脚排列其中L298N各引脚的编号与功能和内部逻辑如下表3-1和图3-3。表3-1 L298N引脚编号与功能引脚编号名称功能1电流传感器A在该引脚和地之间接小阻值电阻可用来检测电流2输出引脚1内置驱动器A的输出端1,接至电机A3输出引脚2内置驱动器A的输出端2,接至电机A4电机电源端电机供电输入端,电压可达46V5输入引脚1内置驱动器A的逻辑控制输入端16使能端A内置驱动器A的使能端7输入引脚2内置驱动器A的逻辑控制输入端28逻辑地9逻辑电源端逻辑控制电路的电源输入端为5V10输入引脚3内置驱动器B的逻辑控制输入端111使能端B内置驱动器B的使能端12输入引脚4内置驱动器B的逻

16、辑控制输入端213输出引脚3内置驱动器B的输出端1,接至电机B14输出引脚4内置驱动器B的输出端2,接至电机B15电流传感器B图3-3 L298N内部原理图电机驱动A/B的控制逻辑如下表所示。表3-2 电机驱动A/B的控制逻辑输入信号电机运动方式使能端A/B输入引脚1/3输入引脚2/4前进后退紧急停车X自由转动L298N可直接对电机进行控制,不需要隔离电路。通过单片机的I/O输入改芯片控制端的电平,即可以对电机进行正反转,停止的操作,操作非常方便,亦能满足直流减速电机的大电流要求4。调试时依照上表,用程序输入对应的码值,即可以实现对应的操作。其驱动电路原理图如下图3-4所示。图3-4 L298

17、N驱动原理图3.3 信号检测电路小车循迹的原理是在铺有约四厘米宽黑胶带的白纸 “路面”上行驶,由于黑纸和白色路面对光线的反射系数不同,可以根据接收的反射光的强弱来判断道路黑纸轨迹。本设计采用简单易用,应用也较为普遍的红外探测法。红外探测法,即用红外线在不同颜色的物表面具有不同的反射性质的特点7。在小车行驶过程中传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,当红外线遇到白色地面时发生漫反射,红外线被反射回来反射光被装在小车上的接收管接收且强度足够大,光敏三极管饱和,此时模块的输出端为高电平;如

18、果遇到黑纸则红外光被吸收,小车上的接收管接收不到信号,再通过LM393作比较器来采集高低电平,从而实现信号的检测。避障亦是此原理。通过设计了如图3-5所示的电路来检测,图中R18为限流电阻,当有光反射回来时,光电传感器的三极管导通,在LM393的2脚出产生低电平电压,通过LM393处理后在P1.0出产生高电平,返回给单片机,从而达到检测的目的。并通过变阻器RV1可调节传感器的灵敏度。图3-5循迹原理图3.4 测速电路采用透射式光电传感器(凹槽型)进行测速。槽型光耦是由红外发光管和光敏三极管构成的,将码盘安装在电机轴上,当电机转动时,码盘也随之转动。工作时红外发光管发出红外光线透过光耦的槽投射到

19、光敏三极管上,光敏三极管导通,集电极输出低电平。其电路原理图与循迹原理图类似。如图3-6所示。图3-6 测速电路原理图3.5 显示电路用LCD1602来显示数据,LCD液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快等特点。其中用滑动变阻器RV0来调节显示器的背光亮度。电路原理图如下图3-7。图3-7显示电路原理图3.6 主控电路单片机是控制单元的核心。起着控制小车所有运行状态的作用。单片机控制模块使用的是宏晶公司生产的STC89C52,使用该芯片很容易实现对其它模块的控制。通过对单片机STC89C52写入程序,可以方便的用软件来控制,整个过程的控制部分如图3-8所示。图3-8

20、单片机最小系统STC89C52单片机最小系统包括了晶振电路,电源电路以及复位电路,其中复位电路的复位按键用于小车的复位。P1.3P1.7分别控制电机驱动。其它P口用外接控制小车的各种控制开关,P0口外接上拉电阻,可用于外接LCD1602。STC89C52 单片机介绍5:STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。2. 工作频率范围:040MHz,相当于

21、普通8051的080MHz,实际工作频率可达48MHz。3. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)4. 片上集成512字节RAM。5. 用户应用程序空间为8K字节。6. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。7. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。8. 具有看门狗功能。9. 具有EEPROM功能。10. 共

22、3个16位定时器/计数器。即定时器T0、T1、T2。11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。12. 通用异步串行口(UART),还可用定时器软件实现多个UART。13. 工作温度范围:-40+85(工业级)/075(商业级)14. PDIP封装。STC89C52单片机的引脚图如下图3-9。图3-9 STC89C52RC引脚图另外STC单片机有两种时钟模式,一种是单倍速,也就是12时钟模式,在该模式下,STC单片机与其他公司51系列单片机具有相同的机器周期,即12个振荡周期为一个机器周期;另一种是双倍速,又称6时钟模式,在该模

23、式下,STC单片机比其他公司的51单片机运行速度快一倍。第4章 软件设计4.1 主程序模块的设计4.1.1 主程序的流程图图4-1 主程序流程图在图4-1主程序流程图中,开始时先是单片机的初始化,包括定时器初始化,外部中断的初始化,液晶的初始化。然后调用循迹子程序,小车循迹前进,如果定时时间到了则调用超声波模块子程序,判断前方50cm处是否有障碍物,如果有的话led闪烁,如果检测到停止线则小车停止。4.1.2 主程序的设计void main() Timer_Init(); /定时器初始化 INT0_Init(); /外部中断初始化 LCD_Init(); /LCD1602初始化 TR1=1;

24、/启动定时器 lcd_write_cmd(0x80); LED1 = 1; LED2 = 1; while(1) PWM(); /pwm调速 track(); /调用循迹子程序 lcd_write_cmd(0x80+0x09); lcd_write_dat(qian); lcd_write_cmd(0x80+0x0a); lcd_write_dat(bai2); lcd_write_cmd(0x80+0x0b); lcd_write_dat(shi2); lcd_write_cmd(0x80+0x0c); lcd_write_dat(ge2); lcd_write_cmd(0x80+0x47)

25、; lcd_write_dat(bai1); lcd_write_cmd(0x80+0x48); lcd_write_dat(shi1); lcd_write_cmd(0x80+0x49); lcd_write_dat(ge1); if(flag1=1&flag2=1) csb(); /调用超声波子程序 flag1=0; 4.2 电机驱动程序的设计4.2.1 电机驱动程序流程图图4-2 电机驱动程序流程图电机驱动程序流程图如上图4-2,开始先检测小车的状态如果相对黑线是直的,则调用直走子程序,即左右两个电机都正转;如果小车偏向黑线的左边则调用向右走子程序,即左电机正转右电机反转;如果小车偏向黑

26、线的右边则调用向左走子程序,即左电机反转右电机正转;如果小车完全偏离黑线则调用向后退子程序,即两个电机都反转;如果小车到终点了则调用停止子程序,即两个电机都不转。4.2.2 电机驱动程序的设计void goahead() /小车直走 IN1 = 1; IN2 = 0; IN3 = 1; IN4 = 0;void goback() /小车后退 IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1;void turnright() /小车向右转void turnleft() /小车向左转void zw_turnright() /用于转弯时的左转void zw_turnleft() /用于转弯时的右转void stop() /小车停止void PWM(void) /小车调速 PWM_ENA = 1; PWM_ENB = 1; delayXms(H); PWM_ENA = 0; delayXms(L); PWM_ENB = 0; del

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2