基于89C51单片机的智能小车设计Word文档下载推荐.docx
《基于89C51单片机的智能小车设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于89C51单片机的智能小车设计Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
1.2整体方案的流程图
基于单片机STC89C52整体设计的智能小车,根据原来设计的思路上画出了相对应的流程路,由于是整体结构图,就只是画出了大致的结构流程,而细节将在后面做出介绍。
图1整体方案的流程图
二智能小车系统概况
2.1恒压恒流桥式2A驱动芯片L298N
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;
可以直接用单片机的IO口提供信号;
而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB连接控制使能端,控制电机的停转。
表1是L298N功能逻辑图。
In3,In4的逻辑图与表1相同。
由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。
同为低电平电机停止,同为高电平电机刹停。
等。
图2单片机利用L298控制电机的原理图
15脚是输出电流反馈引脚,其它与L298相同。
在通常使用中这两个引脚也可以直接接地。
上图是其与51单片机连接的电路图
2.2直流电机简介
2.2.1直流电机的应用
电动机简称电机,是使机械能与电能相互转换的机械,直流电机把直流电能变为机械能。
作为机电执行元部件,直流电机内部有一个闭合的主磁路。
主磁通在主磁路中流动,同时与两个电路交联,其中一个电路是用以产生磁通的,称为激磁电路;
另一个电路是用来传递功率的,称为功率回路或电驱回路。
现行的直流电机都是旋转电驱式,也就是说,激磁绕组及其所包围的铁芯组成的磁极为定子,带换向单元的电驱绕组和电驱铁芯结合构成直流电机的转子。
直流电机有以下4方面的优点:
1)调速范围广,且易于平滑调节。
2)过载、启动、制动转矩大。
3)易于控制,可靠性高。
4)调速时的能量损耗较小。
所以,在调速要求高的场所,如轧钢机、轮船推进器、电机、电气铁道牵引、高炉送料、造纸、纺织、拖动、吊车、挖掘机械、卷扬机拖动等方面,直流电机均得到广泛的应用。
2.2.2直流电机的基本工作原理
直流电机工作原理:
当电刷A,B接在电压为U的直流电源上时,若电刷A是正电位,B是负电位,在N极范围内的导体ab中的电流是从a流向b,在S极范围内的导体cd中的电流是从c流向d。
载流导体在磁场中要受到电磁力的作用,因此ab与cd两导体都受到电磁力的作用。
根据磁场方向和导体中的电流方向,利用电机左手定则判断,ab边受力的方向是向左的,而cd边则是向右的。
由于磁场是均匀的,导体中流过的又是相同的电流,所以ab边和cd边所受电磁力的大小相等。
这样,线圈上就受到了电磁力的作用而按逆时针转动。
当线圈转到磁极的中性面上时,线圈中的电流等于零,电磁力等于零,但是由于惯性的作用,线圈继续转动。
线圈转过半周之后,虽然ab与cd的位置调换了,ab边转到S极范围内,cd边转到N极范围内,但是由于换向片和电刷的作用,转到N极下的cd边中电流方向也变了,是从d流向c,在s极下的ab边中的电流则是从b流向a。
因此电磁力的方向仍然不变,线圈仍然受力按逆时针方向转动。
可见,分别处在N,S极范围内的导体中电流方向总是不变的,因此线圈两个边的受力方向也不变,这样线圈就可以按照受力方向不停地旋转,通过齿轮或皮带等机构的传动,便可以带动其他机械工作。
从以上分析可以看到,要使线圈按照一定的方向旋转,关键问题是当导体从一个磁极范围转到另一个异性磁极范围时(也就是导体经过中性面后),导体中电流的方向也要同时改变,换向器和电刷就是完成这一任务的装置。
在直流电机中,换向器和电刷把输入的直流电变为线圈中的交流电。
可见,换向器和电刷是直流电机中不可缺少的关键部件。
当然,在实际的直流电机中,不只有一个线圈,而是有许多线圈牢固地嵌在转子铁芯槽中,当导体中通过电流在磁场中因受力而转动时,就带动整个转子旋转,这就是直流电机的基本工作原理。
2.2.3直流电机的参数
转矩-电机得以旋转的力矩,单位为㎏•m或N•m。
转矩系数-电机所产生转矩的比例系数,一般表示每安培电驱电流所产生的转矩大小。
摩擦转矩-电刷、轴承、换向单元等因摩擦而引起的转矩损失。
启动转矩-电机启动时所产生的旋转力矩。
转速-电机旋转的速度,工程单位为r/min,即转每分。
在国际单位制中为rad/s,即弧度每秒。
电枢电阻-电枢内部的电阻,在有刷电机里一般包括电刷与换向器之间的接触电阻,由于电阻中流过电流时会发热,因此总希望电枢电阻尽量小。
电枢电感-因为电枢绕组由金属线圈构成,必然存在电感,从改善电机运行性能的角度来说,电枢电感越小越好。
电气时间常数-电枢电流从零开始达到稳定值的63.2%时所经历的时间。
测定电气时间常数时,电机应处于堵转的状态并施加阶跃性质的驱动电压。
工程上,常常利用电动机转子的转动惯量J、电枢电阻Ra、电机反电动势系数Ke和转矩系数Kt求出机械时间常数:
…1-1
转动惯量-具有质量的物体维持其固有运动状态的一种性质。
反电动势系数-电机旋转时,电枢绕组内部切割磁力线所感应的电动势相对于转速的比例系数,也称发电系数或感应电动势系数。
功率密度-电机每单位质量所能获得的输出功率值。
功率密度越大,电机的有效材料的利用率就越高。
转子-rotor;
定子-stator;
电枢-armature;
励磁-excitation。
2.3显示模块的综合概括
显示模块包括:
LCD1602,温度传感器DS18B20,时钟芯片DS1302三个部分组成。
2.3.1LCD1602的简介
1602B可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
该模块也可以只用D4-D7作为四位数据分两次传送。
这样的话可以节省MCU的I/O口资源。
1602B引脚说明如下:
表2.3LCD液晶显示器各引脚功能及结构
编号
符号
引脚说明
1
VSS
电源地
9
D2
双向数据口
2
VDD
电源正极
10
D3
3
VL
对比度调节
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
模块使能端
14
D7
7
D0
15
BLK
背光源地
8
D1
16
BLA
背光源正极
注意事项:
从该模块的正面看,引脚排列从右向左为:
15脚、16脚,然后才是1-14脚(线路板上已经标明):
VDD:
电源正极,4.5-5.5V,通常使用5V电压;
VL:
LCD对比度调节端,电压调节范围为0-5V。
接电源的正极时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;
RS:
MCU写入数据或者指令选择端。
MCU要写入指令时,使RS为低电平;
MCU要写入数据时,使RS为高电平;
R/W:
读写控制端。
R/W为高电平时,读取数据;
R/W为低电平时,写入数据;
E:
LCD模块使能信号控制端。
写数据时,需要下降沿触发模块。
D0-D7:
8位数据总线,三态双向。
如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。
本充电器就是采用4位数据传送方式;
BLA:
LED背光正极。
需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;
BLK:
LED背光地端。
三模块方案比较与论证:
3.1电机模块的选择
方案1:
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。
经综合比较考虑,我们放弃了此方案。
方案2:
直流电机:
直流电机的控制方法比较简单,只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。
对于直流电机的速度调节,可以采用改变电压的方法,也可采用PWM调速方法。
PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。
基于以上分析,我们选择了方案二,使用直流电机作为电动车的驱动电机。
3.2电机驱动模块的选择
方案1:
采用SM6135W电机遥控驱动模块。
SM6135W是专为遥控车设计的大规模集成电路。
能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。
采用电机驱动芯片L298N。
L298N为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。
通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。
调试时在依照上表,用程序输入对应的码值,能够实现对应的动作。
表1是其使能、输入引脚和输出引脚的逻辑关系。
表3.2L298N的引脚和输出引脚的逻辑关系
ENA(B)
IN1(IN3)
IN2(IN4)
电机运行情况
H
L
正转
反转
同IN2(IN4)
快速停止
X
停止
基于以上分析,我们选择了方案二,用L298N来作为电机的驱动芯片。
3.3控制器模块的选择
采用凌阳的SPCE061A小板作为主控制芯片,而且可以采用凌阳的小车模组,可以很快的完成其基本功能,当是用该小板存在一定的局限性,较难扩张功能,而且各个模块的拼凑,没有比集成在一块板的稳定性高。
方案2:
采用STC89C52作为主控制芯片,该芯片有足够的存储空间,可以方便的在线ISP下载程序,能够满足该系统软件的需要,该芯片提供了两个计数器中断,对于本作品系统已经足够,采用该芯片可以比较灵活的选择各个模块控制芯片,能够准确的计算出时间,有很好的实时性。
基于以上分析,我们选择了方案二,用STC89C52作为电机的主控制芯片。
四系统硬件电路设计
系统采用存储空间较大的STC89C52作为主控制芯片,电动车电机驱动芯片采用L298N;
并利用直流电机驱动小车,能较有效的控制其在特定位置转弯及行驶出错处理,该系统无论在结构和技术上都具有较好的科学性。
4.1显示模块的设计
4.1.1显示模块的仿真图
显示模块中主要考虑的是显示什么,综合考虑后,我想到的首先是时间的显示,于是我采用时钟芯片DS1302来实现时间的显示,单纯的显示时间似乎很无趣,于是我加入了温度的显示,温度传感器DS18B20结构完善,连接简单,功能齐全,易于控制。
合并以上的思路,我确定出了显示的模块,具体的仿真图如下:
图3显示模块的电路原理图
4.1.2显示模块的流程
显示模块是智能小车额外增加的功能,但它仍然是重要的组成部分,显示模块是如何工作的呢?
其实,先是由按键控制时钟芯片DS1302,进行时间的调节,在调节的过程中,信号传递给STC89C52,单片机将其翻译后发送信号给时钟芯片DS1302,时钟芯片DS1302会将时间的改变显示在LCD1602上,同样的道理,温度传感器DS18B20也是先将检测到的信号传递给单片机,单片机再传递给LCD1602
4.2直流电机的驱动模块
4.2.1直流电机驱动模块的仿真图
图4直流电机驱动模块的仿真图
4.2.2直流电机驱动模块的流程图
电机驱动模块的核心是电机的驱动芯片及电机,电机选择了直流电机,这样可以方便控制,而电机的驱动芯片L298可以同时控制两个直流电机,其中芯片中连接单片机的5引脚和7引脚用于控制直流电机1,而芯片中的10引脚和12引脚用于控制直流电机2.电机1接的是小车的左轮,电机2接的是小车的右轮,当两个电机一起正向转动时,小车前进;
当两个电机一起反向转动时,小车后退;
当电机1正转,电机2反转时,小车右转;
当电机1反转,电机2正转时,小车左转。
由于无线模块只能控制锁存的4条线路,不能将功能都进行有效控制,只能控制前进和后退,所以额外采用按键来控制左转和右转。
图5直流电机驱动模块的流程图
五软件的简单介绍
在这次研究中,主要用到了keil,protues,proter和STC_ISP_V480等软件
5.1Keil的简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的C语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
5.2protues的简介
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
Protues软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
(1)原理布图
(2)PCB自动或人工布线(3)SPICE电路仿真。
支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。
软件仿真功能如下:
1)提供软件调试功能2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
这样很接近实际。
在训练学生时,可以选择不同的方案,这样更利于培养学生。
3)提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。
4)具有强大的原理图绘制功能。
电路功能仿真特点如下:
在PROTUES绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。
PROTUES是单片机课堂教学的先进助手。
PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTUES也能获得愈来愈广泛的应用。
软件缺点:
器件库溃乏,库中缺少很多重要芯片,严重影响电路仿真软件出错或乱码,此时仿真效果不及硬件仿真。
5.3STC_ISP_V483的简介
在运行STC_ISP_V483下载软件之前,应该先给出ISP的C程序源代码ISP.C.要注意的是:
此程序是在Keil-C中要建立工程文件,包含IAP.C函数,并且在IAP.C和ISP.C中都要保留STC的定义.传入用户代码时,需要与计算机进行通信,一般采用RS232串行通信,数据协议采用简单协议。
具体的使用方法:
一、先把学习实验板和计算机连接好(接好串口线和电源)
二、打开STC-ISPv483,在MCUType栏目下选中单片机,如STC89C52RC:
根据您的9针的数据线连接情况选中COM端口,最好把波特率适当下调一些,按图示选中各项:
图6STC-ISPv483的界面图
三、先确认硬件连接正确,按下图点击“打开文件”并在对话框内找到您要下载的HEX文件:
四、选中两个条件项,这样可以使您在每次编译KEIL时HEX代码能自动加载到STC-ISP,点击“Download/下载”:
五、手动按下电源开关便即可把可执行文件HEX写入到单片机内,下图是正在写入程序截图:
图7单片机程序下载截图
六结论
根据本次设计要求,我们认真分析了设计课题的需求,还系统学习了51系列单片机的工作原理及其使用方法,并独自设计智能小车的整个项目。
虽然条件艰苦,但经过不懈钻研和努力,购买到了所有所需的元器件,并系统的进行了多项试验,最终做出了整个小车的硬件系统,然后结合课题任务和小车硬件进行了程序的编制,本系统能够基本满足设计要求,能够较快较平稳的是小车沿引导线行驶,但由于经验能力有限,该系统还存在着许多不尽人意的地方有待于进一步的完善与改进。
通过本次课题设计,不仅是对我们课本所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。
本次毕业设计使我们对一个项目的整体设计有了初步认识,还认识了几种传感器。
本次毕业设计使我们意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。
还有以前对程序只是一个很模糊的概念,通过这次的课题设计使我对程序完全有了一个新的认识,并能使用Keil软件熟练的进行编程了。
通过本次课题设计,极大的锻炼了我们的思考和分析问题的能力,并对单片机有了一个更深的认识。
总之,在课题设计的过程中,无论是对于学习方法还是理论知识,我们都有了新的认识,受益匪浅,这将激励我们在今后再接再厉,不断完善自己的理论知识,提高实践运作能力。
七致谢
本设计能够顺利完成,还承蒙何老师以及身边的组队同学的指导和帮助。
在设计过程中,何老师给予了悉心的指导,最重要的是给了我们组队解决问题的思路和方法,并且在设计环境和器材方面给予了大力的帮助和支持,在此,我对何老师表示最真挚的感谢!
同时感谢所有帮助过我的同学!
参考文献
[1]康华光.电子技术基础模拟部分[M].(第四版).北京:
高等教育出版社,1999.
[2]康华光.电子技术基础数字部分[M].(第四版).北京:
高等教育出版社,2000.
[3]陈大钦.电子技术基础实验[M].(第二版).北京:
[4]谢自美.电子线路设计•实验•测试[M].(第三版).武汉:
华中科技大学出版社,2006.
[5]胡乾斌李光斌李玲等.单片微型计算机原理与应用[M].(第二版).武汉:
[6]郭天祥.新概念51单片机C语言教程[M].电子工业出版社,2009.
[7]谭浩强.C语言设计[M].(第三版).清华大学出版社,2005.
[8]崔炳哲.电子控制入门[M].北京:
科学出版社,2003.
[9]樊昌信曹丽娜.通信原理[M].(第六版).北京:
国防工业出版社,2009.
[10]全国大学生电子设计竞赛组委会编.全国大学生电子设计竞赛[M].北京理工大学出版社,1999.
[11]郭强.液晶显示应用技术[M].北京:
电子工业出版社,2003.
[12]郁有文常健程继红.传感器原理及工程应用[M].(第二版).武汉:
西安电子科技大学出版社,2006.
[13]许纪倩.机械工人速成识图[M].(第二版).北京:
机械工业出版社,2009.
[14]高军.电动智能小车[D].http:
//www.sf-
[15]Zhi-HongJiang.51MCUtechnologyandapplicationdeve