单片机遥控车的课程设计.doc_第1页
单片机遥控车的课程设计.doc_第2页
单片机遥控车的课程设计.doc_第3页
单片机遥控车的课程设计.doc_第4页
单片机遥控车的课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

编 号: Z04611034学 号: 201230410108 课 程 设 计教 学 院计算机学院课程名称单片机课程设计题 目智能小车专 业计算机应用技术班 级12计算机应用姓 名同组人员指导教师2014年6月20日2 课程设计任务书 20132014学年第二学期学生姓名: 专业班级: 12计算机应用 指导教师: 工作部门: 计算机学院 一、课程设计题目 单片机遥控智能小车的设计二、课程设计内容(含技术指标)1要求学生按照设计要求用PROTEUS做出智能小车原理图。2在KEIL-C环境下完成程序设计,并且调试成功,将仿真功能实现。3按照要求完成课程设计论文并且答辩。三、进度安排第一周前1天 进行系统功能分析与设计;(2学时) PROTEUS软件的学习和设计分析;(2学时) KEIL-C软件的学习和设计;(2学时)第一周第2天 用PROTEUS软件进行原理图的设计;(2学时) KEIL-C软件进行驱动程序的编写和调试;(2学时)第二周第1天 进行驱动程序和烧写;(2学时) 将写好的驱动程序对仿真原理图进行仿真驱动;(4学时)第二周第2天 演示程序并且调试成功;(2学时) 论文的撰写准备和答辩答疑等;(2学时)四、基本要求1按照本组分工完成自己的设计内容。2完成仿真原理图的设计。3原理图与代码顺利连接。课程设计报告 摘 要51系列单片机是各单片机中最为典型和最有代表性的一种。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。本次设计的智能遥控小车采用了AT89C52芯片,主要有单片机模块、驱动模块、电池模块、遥控模块、液晶显示屏模块组成,从而实现了一个四驱小车的前后左右转弯和液晶显示屏上能显示Intelligent car love you。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。应用Proteus软件实现了单片机智能小车系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。关键词:51单片机、 L298N、液晶显示屏、遥控器等等。AbstractWith The 51 Series SCM is the most typical and the most representative one. By RAM, ROM, CPU, timing, counting and variety of interface integrated micro controller. Intelligent remote control car of this design uses the AT89C52 chip, mainly composed of single-chip module, driver module, a battery module, remote control module, liquid crystal display module, thus achieved after a 4WD car turn around and the LCD screen can display Intelligent car love you.这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。应用Proteus软件实现了单片机智能小车系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。The curriculum design through its study, application, thus reach the study, design, development of the soft, hard. Application of Proteus software to realize the design and Simulation of intelligent car system. The method of simulation results is true, accurate, save the hardware resources.关键词:51单片机、 L298N、液晶显示屏、遥控器等等。Keywords: 51 singlechip, L298N, LCD display, remote control and so on.目 录1 绪论11.1 课题的背景和意义11.2 系统的相关领域与进展11.3 论文的主要内容12 系统分析22.1 问题的提出及定义22.2 可行性分析22.3 需求分析33 系统设计63.1 系统总体设计64 软件实施104.1 相关知识简介104.2 系统实施中的关键技术124.3 系统测试135 总结15参考文献16课程设计报告1 绪论1.1 课题的背景和意义伴随着计算机技术的不断发展,单片机也得到了相应的发展,而且其应用的领域也得到更好的扩展。我们生活中广泛使用的各种智能卡、数码产品,工业自动化过程的实时控制和数据处理,以及军备中涉及到的重要系统控制都离不开单片机。通过本课题的研究,我们应当充分认识到单片机的发展趋势以及应用前景,也好在社会主义经济飞速发展的道路上能够大步向前,做出应有的贡献。1.2 系统的相关领域与进展现在可以说单片机是百花齐放,百家争叫的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。1.3 论文的主要内容本论文系统地介绍了利用Keil uVision3和ISIS 7 Professional这两个软件实现了智能小车的调试和液晶显示屏实现的功能。有效的将所学的理论知识通过实践表现出来。首先,对系统的研究背景和意义,相关领域的进展情况进行了阐述。对系统需求分析和可行性分析及系统的数据流图和数据字典进行了介绍。之后从硬件出发,收集材料到最后代码的调试实现特定的功能。 2 系统分析2.1 问题的提出及定义2.1.1小车需要的器材1.遥控车底板部分:四个轮子、一张底板、四个电机、若干螺母。2.电机驱动部分:需要若干导线和杜邦线。3.单片机部分:12MHZ晶振一个、10uf电容一个、二极管一个、AT89C52芯片一个、开关一个、1k电阻两个。4.遥控部分:2262/2272遥控器一个,接收器一个。5.电池部分:一块5v的电池和一块12v的电池。2.1.2智能小车的基本结构1. 电机驱动模块:由于单片机输出的电流有限,无法直接驱动电机进行工作,因此需要通过专用的电路进行驱动,只要单片机给出相应的控制信号,便可控制电机工作,本次用的是常用的H桥驱动芯片L298N。2.单片机模块:本次使用的是AT89C52的单片机。这个模块包含最小系统,通过STC-TSP-15xx-v6.67C.exe软件把代码烧写到89C52单片机中,这样就可以实现想要的功能。 3.电源模块:由于小车采用电池供电,因此合理的设计一个电源模块是小车稳定运行的前提。本次用了两块电源,给驱动提供的电源为12v的电池组,给单片机提供的电源为5v的电池组。4.遥控模块:采用2262/2272遥控器。5.液晶显示模块:QC1602C2.2 可行性分析2.2.1电源的选择1.电源的选择取决于单片机的供电和驱动的供电。2.考虑到电源的大小以及实际中的可操作性。2.2.2小车的速度实现1.小车电源的选择直接影响到小车的速度。2.发射器发射到电平的次数也影响小车的速度。2.3 需求分析2.3.1液晶显示仿真图通过protues仿真可以实现液晶屏幕显示的内容。仿真图如下:2.3.2小车实物图通过器件的组合和代码的调试,实现了小车的运动,具体的图形如下:3 系统设计3.1 系统总体设计3.1.1 电源模块设计电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,对于小车来说电源设计应注意两点:1.单片机的电源一般在5V左右,和常规的电源基本没有多大区别。2.驱动供电与一般的稳压电源不同,小车的电池电压一般在6-12V 左右,还要考虑在电池损耗的情况下电压的降低,因此采用大一点的电源相对比较好。3.1.2 单片机最小系统设计单片机是小车的控制中心,单片机最小系统的合理设计是小车平稳运行的前提,所谓最小系统,就是能够保证单片机运行的最精简的硬件设计,由于设计时间有限,不可能设计一块统一规划,功能刚好符合要求的电路板,因此需要设计若干系统板组合使用。本次选择的是AT89C52芯片。在设计单片机最小系统时需要注意以下几点:1. 需要合理考虑调试过程中的扩展需要,正常情况下需要将所有IO 口引出,同时需要注意单片机电源设计,保证最小系统能够稳定供电。2. 合理集成相应的外围模块,如几个LED 显示,电阻、晶振、电容值的选择等,这些小部件可能觉得无关紧要,但是在调试的时候能够带来很大方便。3. 最好将程序的下载接口集成在最小系统上,这样会极大的方便小车的调整与测试。这一点对于贴片式封装的单片机不考虑,但是对于51、AVR 等单片机却经常让初学者忽略。如下图所示,为51 单片机的最小系统参考电路图。图 51单片机最小系统上图中的51 单片机最小系统由以下几个部分组成:1. 晶振电路,单片机要想工作必须有一个外部的时钟源,这个时钟源由外部晶振产生,具体电路为图中的Y1、C1、C2,在做电路板时应注意晶振和电容要靠近18 脚和19 脚放置,如果放置过远可能会造成晶振不能起振,或工作不稳定。典型值为C1、C2为30pF,Y1为12MHZ。2. 复位电路,复位电路包括加电复位和外部复位两部分,51 系列单片机多为高电平复位,也就是说RST(9)脚上只要有持续两个机器周期以上的高电平就能使单片机复位,因此上电复位的原理就是利用电容充电的一段时间将复位脚拉至高电平,使单片机完成复位,R1 在电容充电结束后将复位脚拉至低电平,保证单片机正常工作。3. ISP 下载接口,改下载接口在实际制作时可以用双排的5*2 的排针代替,电路是根据标准的ISP下载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP 下载线兼容,只需将下载线接口插到本接口上就可以直接向单片机烧写程序,免去了不断拔插单片机芯片的烦恼。ISP 的下载接口在设计时应注意以下两点,否则可能会造成程序下载的失败。1. 下载线接口中的电源尽量和单片机共用一个电源。2. 下载线接口中用到的P1.5P1.7 脚不要连接数码管等外部器件,如果要连接外部器件可以设计为可插拔的方式,防止影响程序的下载,或者将P1 口分配为读取按钮开关状态等方式。对于下载线有几点说明:1. 51 和AVR 常用的是ISP 下载方式,也就是上面介绍的接口,实物接口如图3.4 所示,常用的有分为并口下载线,串口下载线和USB 下载线,一般台式机建议使用并口下载线,速度快而且稳定,图3.5 为并口下载线实物图。2. 购买并口下载线时应注明51/AVR ISP 下载线或stk200/stk300 下载线,购买USB 接口的下载线时一般的名称为USBASP。3.1.3四轮电机驱动模块设计电机常用的驱动芯片很多,在本设计中我们选用硬件设计简单,驱动效率较高的L298N 作为电机驱动芯片,在用L298N 之前有必要介绍一下H 桥电路。 H 桥驱动电路是较为常见的一种,图 所示为一个典型的直流电机控制电路。电路得名于“H 桥驱动电路”是因为它的形状酷似字母H。H 桥式电机驱动电路包括4 个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。由于H 桥电路可以很方便的实现电机正反转的驱动因此应用广泛。由于车的构造不能像一般的车那样转弯,因此只能采用原地转弯,使得两个轮向前走,两个轮向后转,从而实现向左向右转弯。H 桥式电机驱动电路包括4 个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。由于H 桥电路可以很方便的实现电机正反转的驱动因此应用广泛。3.1.4常用H桥集成电路芯片L298H 桥电路虽然有着诸多的优点,但是在实际制作过程中,由于元件较多,电路的搭建也较为麻烦,增加了硬件设计的复杂度。由于H 桥电路有诸多的优点,但是在实际制作过程中电路又比较麻烦,因此在本设计中我们采用H 桥集成电机驱动芯片L298。L298N 的工作原理和以上介绍的H 桥相同。L298N 是ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15 脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电 压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。在本次设计中用的是直流电机,步进电机可以准确的控制速度和转角的度数。L298 的参考电路图如下图所示。图 L298 参考电路图对于以上电路图有以下几点说明:1. 电路图中有两个电源,一路为L298 工作需要的5V电源VCC一路为驱动电机用的电池电源VSS 6-12V左右。2. 1脚和15脚有的电路在中间串接大功率电阻,可以不加。3. 图中连接了两路电机,P2 和P5 是一一对应关系,如果只驱动一路电机可以连接对应的12 或者34 引脚。 4. 八个续流二极管是为了消除电机转动时的尖峰电压保护电机而设计,简化电路时可以不加。5. 6脚和11 脚为两路电机通道的使能开关,高电平使能,所以可以直接接高电平,也可以交由单片机控制。6. 由于工作时L298 的功耗较大,可以适当加装散热片。4 软件实施4.1 相关知识简介本次设计主要用到Keil uVision3和ISIS 7 Professional这两个软件。KeilSoftware公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。ISIS 7 Professional是一个可以实现元件仿真的软件,在单片机实物未成之前可以检查错误,并且观察结果。4.1.1 程序总体的设计对于简单的智能小车程序设计来说,直接的定义然后实现向前、向后、左转右转等功能。具体是设计各有不同如简单的while语句轮流判断就可以实现类似的功能,本次设计在这个基础之上还加了液晶显示屏,在小车运行的时候可以显示:“Intelligent car love you”代码如下:#include reg52.hsbit D0=P00 ;sbit D1=P01 ;sbit D2=P02 ;sbit D3=P03 ;sbit IN1=P10;sbit IN2=P11;sbit IN3=P12;sbit IN4=P13;#define uint unsigned int /预定义一下#define uchar unsigned charsbit RS=P35; /1602的数据/指令选择控制线sbit RW=P36; /1602的读写控制线 sbit EN=P37; /1602的使能控制线/*P2口接1602的D0D7,注意不要接错了顺序,我以前可在这上面吃过亏*/ uchar code table=Intelligent car; /要显示的内容1放入数组uchar code table1=love you;/要显示的内容2放入数void delay(uint n) /延时函数 uint x,y; for(x=n;x0;x-) for(y=110;y0;y-); void lcd_wcom(uchar com) /1602写命令函数 RS=0; /选择指令寄存器 RW=0; /选择写 P2=com; /把命令字送入delay(5); /延时一小会儿,让1602准备接收数据 EN=1; /使能线电平变化,命令送入1602的8位数据口 EN=0; void lcd_wdat(uchar dat) /1602写数据函数 RS=1; /选择数据寄存器 RW=0; /选择写 P2=dat; /把要显示的数据送入delay(5); /延时一小会儿,让1602准备接收数据 EN=1; /使能线电平变化,数据送入1602的8位数据口 EN=0; void lcd_init() /1602初始化函数 lcd_wcom(0x38); /8位数据,双列,5*7字形 lcd_wcom(0x0c); /开启显示屏,关光标,光标不闪烁 lcd_wcom(0x06); /显示地址递增,即写一个数据后,显示位置右移一位 lcd_wcom(0x01); /清屏 main ()uchar n,m=0; lcd_init(); /液晶初始化 lcd_wcom(0x80); /显示地址设为80H(即00H,)上排第一位 for(m=0;m16;m+) /将table中的数据依次写入1602显示 lcd_wdat(tablem); delay(200); lcd_wcom(0x80+0x44); /重新设定显示地址为0xc4,即下排第5位for(n=0;n8;n+) /将table1中的数据依次写入1602显示 lcd_wdat(table1n); delay(20); while(D0=1)/前 IN1=1; IN2=0; IN3=1; IN4=0;while(D1=1)/后 IN1=0; IN2=1; IN3=0; IN4=1;while(D2=1)/左 IN1=0; IN2=1; IN3=1; IN4=0; while(D3=1)/右 IN1=1; IN2=0; IN3=0; IN4=1; IN1=0; IN2=0; IN3=0; IN4=0;4.2 系统实施中的关键技术液晶显示屏、发射器、接收器的使用、驱动和STC-TSP-15xx-V6.67C.exe软件对89C52芯片的烧写等等。4.3 系统测试4.3.1 测试的目标软件测试是系统质量保证的主要活动之一。测试虽然不是质量保证的“安全网”。但它是不可缺少的,而且是重要的环节。因为,在系统开发的过程中,涉及一系列的活动,而在这个活动过程中,人们可能犯很多错误,错误可能发生在设计阶段,也可能发生在整个过程的开始阶段。系统测试的目标是:测试是一个程序的执行过程,其目标在于发现错误。一个好的测试用例能够发现至今尚未察觉的错误。一个成功的测试则是发现至今尚未察觉的错误的测试。总之,测试是发现错误,这不只是从技术角度测试下定义。软件测试中最为重要的是,实际工作中人们的心理学和经济学问题。4.3.2测试的方法对于小车的整体来说测试要按照模块来进行,一般我认为应分为以下几个步骤:1.首先测试电源的工作情况,各个模块能否得到良好供电。2.检查单片机能否正常的烧写程序和工作。3.测试四轮电机的工作情况,观察左边两个和右边两个轮子转的方向,看能否实现向左转和向右转等功能。4编写好程序测试转向情况。5.编写程序让小车初步运行。6.反复测试各参数变化对小车的影响,找出最有效的配置。7.对小车运行过程中各种可能出现的情况进行测试,发现问题、找出解决方法。8.整理数据,优化算法和程序设计。4.3.3测试总结在整个设计中测试和调试显的尤为重要,首先是测试,测试就是检验元件好坏,电路能否正常工作,因此特别是在硬件设计中,开始一个模块设计之前和完成一个模块设计之后都要进行测试。在初学阶段不要盲目的焊接板子,在每个模块调试完后可以把所有的器件焊接在一起,在本次设计没有用到洞洞板,也就是说不需要焊接。在稍微复杂一点的电路设计之前可以先搭建其中的一部分电路,测试一下是否正常,然后在进行总的电路设计。这样循序渐进的进行设计可以节省时间保证电路的正确性。同样,程序方面的设计也是如此。要试着去写,从简单的程序开始,慢慢的调试和扩充。电路设计之后的测试也同样重要,特别是和程序有关的外围检测、驱动等模块,如果不排除硬件故障在调试的时候很难让你分清到底是硬件还是软件的问题,因此硬件设计完成之后首先需要测试硬件能够正常工作,这样在遇到问题时才能够排除硬件的干扰找出问题的所在。测试完成之后再看调试部分,调试就是在基本功能实现的基础之上调整参数,实现最佳的性能。调试其实是一个难点也是一个重要的阶段,通过调试使得性能优化。车的速度可以达到最大速度,就如刚开始我用的是9v的干电池,由于干电池的电量不充足,最终导致了小车在刚开始运行时就出现速度慢和不能动的情况。从总的角度上来说我们在做的时候可以先做一个个模块,进行测试,基本功能实现后可以去尝试在原有的基础之上去扩展并提高性能,最后根据前一阶段的测试结果有针对性的重新设计电路板,最终将硬件部分测试下来,后面的时间主要就可以从软件的角度去调整参数。5 总结历时两周的课程设计,终于做出来我想要的遥控小车,这些最终也归于老师的耐心的指导和组员们不懈的努力和密切的配合。其实在做这个小车的过程碰到了种种困难,比如,前期的的器材选择到中期的器件组装到后期的小车调试阶段。尤其是在调试阶段,根本不知道错误到底在哪儿,虽然各个模块测试是成功的,但所有的东西组装在一起后轮子还是不能转,当时有一种莫名其妙的感觉,但这些问题并没有让我失去信心,我觉的只要用心一切都会迎刃而解。测试中遇到以下几点问题:1.为什么遥控接受模块,测试的时候有高电平,但在真正在遥控车上却无法检测到信号?原因:通过查阅资料和请教同学,原来接收端的信号太微弱。解决办法:在接受器上加一个稍微长一点的铜丝就可以解决此问题。2.为什么单片机和驱动不能用同一块电源,并且两者的负极要接在一起?原因:两者接在一起产生电势差,不能正常供电。解决方案:用独立的电源,5v的电源给单片机供电,12v的电池组给驱动供电。3.为什么用5v的电池组和9v并联的电池组却只能让小车慢速的前进,过一会只有一个轮子在转动?原因:驱动的电压过于低,不能带动电机转动,干电池的电量不充足很快会消耗完。在刚开始时由于干电池的电量匮乏,只有一个轮子在转,后来经过电压表测试后发现已经低于5v了,因此无法带动电机转动。解决方案:买一组充电的电池组,本次用的是12V的电池组,明显可以让小车轮子快速的转动。本次设计中不足之处:在刚开始选用电机时,选用的是一般的直流电机,导致了小车在运行时

温馨提示

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

评论

0/150

提交评论