智能小车设计论文_第1页
智能小车设计论文_第2页
智能小车设计论文_第3页
智能小车设计论文_第4页
智能小车设计论文_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计题 目智能小车的设计学生姓名饶晓东院(系) 机械与电气工程学院班 级10机械电子工程01班学 号2010100548指导老师于祯完成日期2013 年 5 月 31 日南昌工程学院课程设计(论文)任务书I、课程设计(论文)题目:智能小车的设计II、课程设计(论文)使用的原始资料(数据)及设计技术要求:通过Intel8253和1298N实现汽车的加速、减速、刹停,并可通过两个电机的不同转速实现左转和右转等功能III、课程设计(论文)工作内容及完成时间:1、查阅资料,确定硬件系统框图组成。(5月20日5月22日)2、设计完整电原理图。(5月23日5月25日)3、设计软件结构流程框图。(

2、5月26日5月27日)4、按流程编写各功能模块程序。(5月28日5月29日)5、完成课程设计报告(5月30日5月31日)W主要参考资料:1、张俊漠,单片机中级教程一原理与应用北京航空航天大学出版社20022、郭天祥,51单片机c语言教程机械与电气 系10机械电子(本)专业类01班学生:饶晓东日期:自2013 年 5月20日至2013 年5 月31 日指导教师:于祯助理指导教师(并指出所负责的部分):教研室主任附注:任务书应该附在已完成的课程设计说明书首页。摘要智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在 一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。

3、智能 电动车就是其中的一个体现。本次设计的简易智能电动车,采用AT89C52单片机作 为小车的检测和控制核心;在小车行驶的过程中能够根据不同的要求通过改变PWM 输出改变小车的行驶速度。本设计结构简单,较容易实现,但具有高度的智能化、 人性化,一定程度体现了智能。采用的技术主要有:1、通过AT89C52自带的定时器设置PWM输出来控制小车的速度;2、电机驱动芯片L298N控制两个直流电机的转向;3、数码管显示测量数据目录设计任务: 5 TOC o 1-5 h z 方案设计、选择与确定52.1电源模块5方案 15方案 252.1.3方案选择 52.2数据显示模块6方案 16方案 262.3测速模

4、块:62.3.1 方案 1:6方案 2: TOC o 1-5 h z HYPERLINK l bookmark27 o Current Document 2.4控制模块72.4. 1 方案 17方案 27方案 37 HYPERLINK l bookmark30 o Current Document 2.5总体方案7 HYPERLINK l bookmark33 o Current Document 2.6人员分工8硬件电路设计83.1锁存器模块83.2单片机模块83.3显示模块93.4驱动模块9 HYPERLINK l bookmark37 o Current Document 3.5整体模块

5、10 HYPERLINK l bookmark40 o Current Document 系统程序:10心得体会171.设计任务:设计并制作了一个智能小车,实现小车的加速、减速、前进、后退,并可通 过两个电机的不同转速实现左转和右转。方案设计、选择与确定2.1电源模块直接使用一般5号电池串联给单片机电机供电,该方案优点是方案比较简单 方便,价格便宜。2.2数据显示模块用数码管及时显示小车的数度档位,共有四档,1档最低,4档最高,从而显示数 度等级。2.4控制模块使用STC89C52单片机。STC89C52单片机价格便宜,片内资源也比较丰富, 但是外部中断口较少,而且使用其定时器模拟PWM输出是

6、占用太对CPU时间,使用 起来不方便。使用Mega128单片机。Mega128片内资源也比较丰富,但是外部中断口较 多,功能强大,但是价格比较贵,而且其封装只有贴片封装不方便使用。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反 复擦写的Flash 只读程序存储器和256 bytes的随机存取数据存储器(RAM),器 件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系 统,片内置通用8位中央处理器和Flash存储单元。所以最终选择AT89C52。2.5总体方案整个电路系统分为AT89C52控制、滤波电路、L298N电机驱动、LCD

7、液晶显示 六个模块。首先利用输出相应的信号给驱动芯片驱动电机转动,从而控制整个小 车的运动过程。2.6人员分工由于该系统设计的工作量比较大,我们选择人员分小组分模块设计调试方 式。既可以发挥各个队员的优势又能发挥团体协作的力量。我们组有10个人,分成:主要负责硬件设计调试以及相关资料的搜索。负责软件设计调试以及相关资料的搜索。硬件电路设计3.1锁存器模块3.2单片机模块3.3显示模块3.4驱动模块33.5整体模块从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电 机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能 够根据需要控制电机转动。根据驱动功率大小以及

8、连接电路的简化要求选择 L298N,其外形、管脚分布如图所示。从图中可以知道,一块L298N芯片能够驱动 两个电机转动,它的使能端可以外接高低电平,也可以利用单片机进行软件控制, 极大地满足各种复杂电路需要。另外,L298N的驱动功率较大,能够根据输入电压 的大小输出不同的电压和功率,解决了负载能力不够这个问题。系统程序:按照预定的功能,系统实现预定的功能的程序如下所示:#include #define uchar unsigned charsbit dula=P30;数码管显示段选I/O 口定义sbit pwml=sbit pwml=P16;sbit pwm2=P17;sbit jia_ke

9、y=P26;sbit jian_key=P27;sbit zuozhuan_key=P2”sbit youzhuan_key=P2”sbit qianjing_key=P2”sbit houtui_key=P23;sbit kaiqi_key=P20;sbit zt_key=P21;sbit b0=P10;sbit b1=P11;sbit b2=P12;sbit b3=P13;sbit b4=P14;/2号电机输出脉冲/加速键/减速键4;/左转键5;右转2;请进按钮后退按钮开启按钮/停按钮控制1号电机正转控制1号电机正转控制2号电机正转控制2号电机反转/控制L298的开关sbit b5=P1

10、5;ucharnum1=0,num2=0,show_num=0,gao_num1=0,di_num1=0,gao_num2=0,di_num2=0;uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/数码管显示的数据表格void delay(uchar sj)/延时程序(uchar j,k;for(j=sj;j0;j-)for(k=110;k0;k-);void display()/显示程序(dula=0;P0=tabl

11、eshow_num;dula=1;dula=0;wela=0;P0=0 xfe;wela=1;wela=0;delay(5);void key()/按键检测处理函数(if(kaiqi_key=0&b4=0&b5=0)(delay(5);/消抖if(kaiqi_key=0)/开启键(b4=1;/开启L298驱动器b5=1;b0=1;让1号电机正转b1=0;b2=1;让2号电机反转b3=0;while(kaiqi_key=0);if(zt_key=0&b4=1&b5=1)暂停(delay(5);if(zt_key=0)(b4=0;b5=0;b0=0;b1=0;b2=0;b3=0;while(zt_

12、key=0);if(jia_key=0&b4=1&b5=1)/加速(delay(5);if(jia_key=0)(num1+;/加速键按下,速度标志加1num2+;if(num1=5)已达到最大3,则保持num1=4;if(num2=5)num2=4;while(jia_key=0);/等待按键松开if(jian_key=0&b4=1&b5=1)(delay(5);if(jian_key=0)(if(num1!=1)速度标志位减1numl-;/速度标志位减1elsenum1=1;if(num2!=1)num2-;elsenum2=1;while(jian_key=0);if(qianjing_

13、key=0&b4=1&b5=1)(delay(5);if(qianjing_key=0)(b0=1;b1=0;b2=1;b3=0;while(qianjing_key=0);if(houtui_key=0&b4=1&b5=1)/后退键(delay(5);b0=0;b1=1;b2=0;b3=1;while(houtui_key=0);if(zuozhuan_key=0&b4=1&b5=1)(delay(5);if(zuozhuan_key=0)(num1=1;num2=2;if(youzhuan_key=0&b4=1&b5=1)右转标志(delay(5);if(youzhuan_key=0)(n

14、um1=2;num2=1;while(youzhuan_key=0);void dispose()根据速度标志进行处理(switch(num1)( case 1:一档的时候高电平占1/4show_num=1;gao_num1=1;di_num1=3;break;case 2:show_num=2;/二档的时候高电平占2/4gao_num1=2;di_num1=2;break;case 3:show_num=3;gao_num1=3;di_num1=1;break;case 4:show_num=4;gao_num1=4;di_num1=0;break;switch(num2)( case 1:

15、gao_num2=1;di_num2=3;break;case 2:gao_num2=2;di_num2=2;break;case 3:gao_num2=3;di_num2=1;break;case 4:gao_num2=4;break;void main()(uchar m;uchar n;b0=0;b1=0;b2=0;b3=0;b4=0;b5=0;pwm1=0;pwm2=0;while(1)key();dispose();if(di_num2!=0)(for(n=0;ndi_num2;n+)(pwm2=0;display();for(n=0;ngao_num2;n+)(pwm2=1;dis

16、play();pwm2=0;for(n=0;ndi_num1;n+)(pwm1=0;display();for(n=0;ngao_num1;n+)(pwm1=1;display();pwm1=0;4.系统程序以及流程图:按键检测Y开启键是否按下Y速度标志至1速度标志清0暂停键是否按下速度标志至1速度标志清0_2SJ加(减)速键Y是否最高N 速度标志自加(减)是否按下(低)速YNx|前进(后退)速Y速度标志为正(负)键是否按下左(右)转键Y左(右)转键Y两速度标志不同是否按下NX I通过速度标识,从而达到控制输出脉冲的占空比来控制电机的转速速码管显示速度值心得体会通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好 地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战 胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成 为真己的东西。这个设计过程中,我们通过学习,参考资料学会了编程,绘图, 小车组装等过程。设计结果能够符合题意,成功完成了此次实习要求,我们不只在 乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精 力,更重要的是,我们在学会创新的基础

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论