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

下载本文档

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

文档简介

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

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

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

4、速模块:62. 3. 1方案1:62.3.2方案2:62.4控制模块72.4. 1方案172.4.2方案272.4.3方案372. 5总体方案72. 6人员分工83.硬件电路设计83. 1锁存器模块83.2单片机模块83. 3显示模块93. 4驱动模块93. 5整体模块104.系统程序:105.心得体会171.设计任务:设计并制作了一个智能小车,实现小车的加速、减速、前进、后退,并可通 过两个电机的不同转速实现左转和右转。2.方案设计、选择与确定2.1电源模块直接使用一般5号电池串联给单片机电机供电,该方案优点是方案比较简单 方便,价格便宜。2. 2数据显示模块用数码管及时显示小车的数度档位,

5、共有四档,1档最低,4档最高,从而显示数 度等级。2. 4控制模块使用STC89C52单片机。STC89C52单片机价格便宜,片内资源也比较丰富, 但是外部中断口较少,而且使用其定时器模拟PWM输出是占用太对CPU时间,使用 起来不方便。使用Megal28单片机。Megal28片内资源也比较丰富,但是外部中断口较 多,功能强大,但是价格比较贵,而且其封装只有贴片封装不方便使用。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反 复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器 件采用ATMEL公司的高密度、非易失性存储技术

6、生产,兼容标准MCS-51指令系 统,片内置通用8位中央处理器和Flash存储单元。所以最终选择AT89C52。2. 5总体方案整个电路系统分为AT89C52控制、滤波电路、L298N电机驱动、LCD液晶显示 六个模块。首先利用输出相应的信号给驱动芯片驱动电机转动,从而控制整个小 车的运动过程。2. 6人员分工山于该系统设计的工作量比较大,我们选择人员分小组分模块设计调试方 式。既可以发挥各个队员的优势乂能发挥团体协作的力量。我们组有10个人,分成:主要负责硬件设汁调试以及相关资料的搜索。负责软件设汁调试以及相关资料的搜索。3.硬件电路设计3.1锁存器模块3. 2单片机模块LE13. 3显示模

7、块3. 4驱动模块0回3. 5整体模块从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电 机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能 够根据需要控制电机转动。根据驱动功率大小以及连接电路的简化要求选择L298N,其外形、管脚分布如图所示。从图中可以知道,一块L298Y芯片能够驱动 两个电机转动,它的使能端可以外接高低电平,也可以利用单片机进行软件控制, 极大地满足各种复杂电路需要。另外,L298N的驱动功率较大,能够根据输入电压 的大小输出不同的电压和功率,解决了负载能力不够这个问题。4.系统程序:按照预定的功能,系统实现预定的功能的程序如下所示:n

8、clude #define uchar unsigned charsbit dula二F3P;数码管显示段选I/O口定义sbit wela=P3l;/数码管显示位选I/O口定义sbit b5二P1/5;sbit pwml二F6;/I号电机输出脉冲sbit pwm2二Pl7;/2号电机输出脉冲sbit jijkey二P26;/加速键sbit jian_key=P27;/减速键sbit zuozhuan_key=P24;/左转键sbit youzhuan_key=P25;sbit qianjing_key=P22;sbit houtui_key=P23;sbit kaiqi_key=P20;sbi

9、t zt_key二P2l;sbit bO二P0;/右转请进按钮/后退按钮/开启按钮/停按钮控制1号电机正转sbit bl=Pri;控制1号电机正转sbit b2二P2;控制2号电机正转sbit b3二F3;/控制2号电机反转sbit b4二P4;控制L298的开关uchar numlO, num2=0, show_num=0, gao_numl=0, di_numl二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 x7

10、7, 0 x7c,0 x39, 0 x5e, 0 x79, 0 x71;/数码管显示的数据表格void delay(uchar sj)/延时程序uchar j, k;for(j=sj; j0; j)for(k=U0;k0;k);void displayO/显示程序dula=0;P0=tableshow_num;dula=l;dula=O;numl二1;/让1号电机到一档wela=O;PO二Oxfe;wela=l;wela=0;delay (5);void key()/按键检测处理函数辻(kaiqi_key=0&b4=0&b5=0)delay (5);/消抖辻(kaiqi_key

11、0)/开启键b4=l;/开启L298驱动器b5二1;num2=l;/2号电机至2档bO二1;/让1号电机正转bl二0;b2二1;/让2号电机反转b3=0;while(kaiqi_key0);辻(z t _key0&b4 l&b 51)/暂停delay (5);if (zt_key=0)b4=0;b5=0;bO二0;bl二0;while(jia_key=0);/等待按键松开b2=0;b3二0;while(zt_key=0);辻(j i a_key=0&b4= 1 &b 5= 1)/加速delay (5);if(jia_key=0)numl+;/加速键按下,速度标志

12、加1num2+;辻(numl=5)已达到最大3,则保持num1=4;if(num2=5)num2=4;辻(j ian_keyz:0&b4lfeftbS!)delay (5);if (jian_key0)if(numl!=1)numl;/减速键按下,速度标志位减1elsenuml=l;辻(num2!=l)num2一一;elsenum2=l;while(jian_key=0);辻(qianj i ng_key0&b4l&b 51)delay (5);if (qianj ing_key0)bO二1;bl二0;b2二1;b3=0;while(qianjing_key0);辻(h

13、outui_key0&b4l&b5l)delay (5);if (hou tui _key0)/后退键bO=O;bl二1;b2=0;b3=l;while(houtui_key=0);辻(zuozhu3n_key=:z0&b4二二l&b5二二1)delay (5);if(zuozhuan_key=0)numl=l;num2=2;辻(youzhuan_key=0&b4=l&b5=l)/右转标志delay (5);if(youzhuan_key=0)num1=2;num2=l;while (youzhuan_key=0);void dispose()/

14、根据速度标志进行处理switch(numl) case 1:/档的时候高电平占1/4show_num=l;gao_numl=l;di_numl=3;break;case 2:show_num=2;/二档的时候高电平占2/4gao_numl=2; di_numl=2;break;case 3: show_num二3; gao_numl=3; di_numl=l;break;case 4:show_num=4; gao_numl=4; di_numl=O;break; switch(num2) case 1: gao_num2=l; di_num2=3; break;case 2: gao_num

15、2=2; di_num2=2; break;case 3: gao_num2=3; di_num2=l; break;case 4: gao_num2=4; di_num2二0;break;void main()uchar m;uchar n;b0=0;bl二0;b2=0;b3=0;b4=0;b5=0;pwml二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=l;displayO ;pwm2二0;if(di_numl!=

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

温馨提示

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

评论

0/150

提交评论