自动往返电动小汽车

更新时间:2023-10-02 17:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

自动往返电动小汽车的设计

学生: 指导老师:

摘 要: 本文采用了基于单片机的小车控制系统的硬件设计和软件设计。自动控制系统是电子系统和机械系统必不可少的纽带,它的存在具有着非常重要的作用。本文研究的重点是小车运行控制系统,而该系统硬件部分的重心在于单片机,黑线检测采用了光敏传感器和电压比较器来实现。单片机采用STC89C51来实现,硬件部分是以单片机为核心,还包括电机驱动器模块,数码显示模块等部分。该小车通过检测地面黑线来实现对应的流程控制,按照预先设定好的程序,实现全速前进,减速前进,倒退等功能。并用数码显示器来显示当前运行到的位置的结果。

关键词:89C51单片机;光敏电阻 ;自动小车

绵阳师范学院2014届本科毕业设计(论文)

The Designing of Automatically Back and Forth Electric Car

Undergraduate: Supervisor:

Abstract: In this paper, the hardware design and software design of control system based on MCU. Automatic control system is the necessary connection of electronic system and mechanical system, it has an very important role. This paper is focused on the trolley control system, the hardware of the system focuses on MCU, line detection using a photosensitive sensor and a voltage comparator to achieve. Single chip microcomputer using STC89C51 to achieve, the hardware part is a single-chip microcomputer as the core, also includes a motor driver module, digital display module etc. The car through the detection of ground line to achieve process control corresponding, according to the preset program, to achieve full speed ahead, slow forward, rewind. With digital display to display the current operation to the location of the results.

Key words: 89C51 MCU; photosensitive resistance; automatic car

绵阳师范学院2014届本科毕业设计(论文)

目 录

第一章 绪论 ................................................................. 1

1.1 研究背景及其目的意义 ................................................ 1 1.2 该课题研究的设计思路 ................................................ 1 第二章 本课题方案论证 ...................................................... 2

2.1 主控制器部分 ........................................................ 2 2.2 小车运行状态显示部分 ................................................ 2 2.3 小车驱动方案选择 .................................................... 3 2.4 电机驱动方案选择 .................................................... 3 2.5 电机调速方案选择 .................................................... 3 2.6 电源模块的选择 ...................................................... 4 2.7 检测黑线设计方案比较与选择 .......................................... 4 2.8 本章总结 ............................................................ 4 第三章 硬件设计 ............................................................. 6

3.1电源部分 ............................................................. 6 3.2数据显示部分 ......................................................... 7

3.2.1 七段数码管(LED)显示电路选择 ................................... 7 3.2.2 七段数码管(LED)静态显示方式 ................................... 7 3.2.3 LED动态显示方式 ................................................. 7

3.3黑线检测部分 ......................................................... 8 3.4 电机调速部分芯片简介 ................................................ 9 第四章 软件设计 ........................................................... 10

4.1 简介KeilUvision2 ................................................... 10 4.2 程序设计 ........................................................... 14 第五章 PROTUES仿真设计 ..................................................... 16 结论 ....................................................................... 19 致 谢 ..................................................................... 21 附录1 系统硬件图 ........................................................... 22 附录2 程序源代码 ........................................................... 23

绵阳师范学院2014届本科毕业设计(论文)

第一章 绪论

1.1 研究背景及其目的意义

随着历史的发展,那些采集系统原本由小规模的数字逻辑电路及硬件程序控制器组成,而现在微处理器控制的采集系统取代了原本的这些采集系统。用微处理器去实现数据处理,程序控制以及大部分的逻辑操作,可以大大提高系统的灵活性和可靠性,同时可以大大的降低系统硬件成本和系统的重建费用。

小车控制系统,是实现电子控制机械装置的基本纽带。目前,常见的小车控制系统有: (1) 自动壁障小车 (2) 循迹小车

1.2 该课题研究的设计思路

采用反射式光电传感器构成的黑线检测电路,我们用红外管替代普通可见光管,这样做能够可靠的削弱环境光源的干扰,质量轻、尺寸小、灵敏度高,于人的眼睛无伤害,同时对于辅助设备的要求也最少,采用不调制的反射式红外发射-接收器完全可以有效的降低干扰,而且方便可行,能够准确的实施检测。但是在黑线检测电路中黑线色度调节范围小,无法大范围的应用,且设计较为简易,是一种近似理想模型系统,忽略了很多现实中存在的问题。另外检测程度有限,需黑线距离达到一定程度才可使用,这是由ST188管的参数决定的。

此系统所采用的芯片之所以是STC89C51单片机是因为其功能比较强大,能够比较恰当的满足本次设计要求。

1

绵阳师范学院2014届本科毕业设计(论文)

第二章 本课题方案论证

2.1 主控制器部分

方案一:

此方案主要采用STC89C51单片机来实现,此种单片机软件编程具有很大的自由度,能够使用编程方法来实现各种各样的控制算法以及逻辑控制。STC89C51应用简单,便于操作,很容易进行编程应用,同时也不需要使用者外接太多复杂的电路,仅仅需要基本的晶振电路和基本的复位电路就行了[1]。因此,相对而言,电路比较简单。假若我们让声光报警功能增加至系统当中,此时我们就只需外接蜂鸣器,声音报警功能就能通过软件得以实现了。另外,考虑到性价比问题,51单片机相对而言更加合理,较其他多功能的单片机便宜而言要便宜许多[2]。但实现软硬件调试需用仿真器来实现。

方案二:

此方案主要采用SPCE061A单片机来实现,此种内置了8路ADC,2路DAC的单片机,各种语音播放函数被包含于其中,可以极为方便的实现语音播放(用SPCE061A )。与此同时,此芯片还内置编程接口,在线仿真、使在线调试更为方便快捷[3]。但也存在如下不足:这样虽可提高系统设计的效率,但是此单片机(SPCE061A)的软件设计极为复杂。自带的软件开发语言相较于普通的汇编语言指令有些许不同之处,因此对于没有用过它(SPCE061A)或者是不熟悉它(SPCE061A)的软件编程系统情况下使用困难是非常大的,这样设计工作就变的很复杂了[4]。

方案三:

此方案主要采用AVR单片机来实现。AVR单片机可单独设定为输入/输出、可设定(初始)高阻输入、I/O线全部带可设置上拉电阻、驱动能力特别强(可省去功率驱动器件)等许多特性,使得I/O口的资源灵活简便、可被用户更加充分的利用、功能强大。同时此AVR单片机具有具有包含32个通用工作寄存器的超功能精简指令集(RISC),此指令集(RISC)克服了像8051 MCU那样的瓶颈现象(用单一ACC进行处理)[5]。

方案选择:由于对C51单片机比较熟悉,所以选择方案一。

2.2 小车运行状态显示部分

方案一:

此方案主要采用LED数码管来实现本设计的显示功能。LED数码管可以对现在小车的运行状态进行比较准确的显示,与此同时采用LED数码管显示也具有硬件电路简单的优点,显示小车现在的运行状态是通过将相应的段选端连接到单片机的P0口来加以实现的。采用LED数码管显示具有使用方便,性价比高,软件控制数码显示容易等优点[6]。

方案二:

此方案主要采用液晶显示器件LCD(Liquid Crystal Display)来实现本设计的显示功能。虽然液晶器件使显示使得软件算法变的复杂,但它能够对各种不同的符号和图形进行显示。无污染、长寿命、低压、无辐射、微功耗,易于彩色化、显示信息量大是液晶显示器(LCD)的诸多优点,而且液晶的价位相对也比较高[7]。

2

绵阳师范学院2014届本科毕业设计(论文)

的I/O口线对各位的共阳极或共阴极分别进行控制实现[3]。

此时,位选线占用一个4位I/O口,而段选线占用一个8位I/O口[5]。在同一时刻,由于各位的段选线并联而使各位位选线都处于选通状态,这时候,对各位来说段码的输出都是相同的,4位LED也将显示相同的字符。采用扫描显示方式可以使各位LED显示出与本1位相应的字符,也就是某一时刻使某一位的位选线处于选通状态,而处于关闭状态是其他各位的位选线。对于段选端来说要显示字节的段码要准确的设置在段选线上的相应输出位上。由于发光二极管中具有一定的延时(从导通到发光),导通时间相对较短,发光弱使人的眼睛无法看清LED的显示结果,因此不同位显示的时间间隔在确定LED显示时,不能太短,但也不能太长,因受限于临界闪烁频率的限制,时间越长,对CPU时间的占用也越多,同时,增多了的显示位数,也将会对CPU执行时间造成一定的影响。因此,以牺牲DCPU时间来达到元件的减少的目的是动态显示实质。 所以,由于本系统只涉及到1位数码显示输出当前小车的位置信息,故采用LED静态显示方式。 23.3黑线检测部分 根据课题要求,需要检测出六条黑线。采用电压比较器芯片是本设计的思想,LM393构成黑线检测电路。具体电路如图3-3所示。

VCCCR58光电收发管2VCCR31kR610k3U1A1LM393R710k图3-3 电源部分波形图 根据此电路可以实现: (1)采用一个红外发光二极管,正对地面发光,再采用一个红外接收二极管,接受返B回的光线强度。 (2)如果地面是白色,则反光强度比较强,所以红外接收二极管的电阻值会比较小,引起电压比较器LM393的正输入端电压比反向输入端电压高,则电压比较器输出高电平。 (3)如果地面是黑色,则反光强度比较弱,所以红外接收二极管的电阻值会比较大,

8 4绵阳师范学院2014届本科毕业设计(论文)

引起电压比较器LM393的正输入端电压比反向输入端电压低,则电压比较器输出低电平。 由以上三点,分析得出:

(1)小车处于白线上方时,电压比较器输出高电平。也就是逻辑1。

(2)小车在碾入黑线的时候,电压比较器的输出电平将会由原来输出的高电平变为低电平,也就是说产生了一个信号的下降沿。

(3)小车碾过黑线时,电压比较器输出低电平。也就是逻辑0。

(4)小车在碾出黑线的时候,电压比较器的输出电平将会由原来的输出低电平变为高电平,也就是产生了一个信号的上升沿。

由于stc89c51具有外部中断0和外部中断1两个外部中断,可以设置为低电平触发方式和下降沿触发方式[1]。考虑到上述第(2)点,可以将LM393电压比较器的输出信号直接接到单片机的外部中断引脚。每次引起中断时,也就是单片机进入了下一个黑线区域。由此在软件设计中,每次进入中断服务程序后,对应进行相应的服务子程序。

3.4 电机调速部分芯片简介

L9110 是一种专用集成电路器件,其功能是对控制和驱动电机设计的两通道推挽式功率进行放大。对于该器件的使用,我们可以实现更加稳定的电机方向控制,与此同时,内部集成的保护电路也不会像三极管构成的H桥那样,因为误操作导致芯片烧毁。我们可以通过将在单片 IC中集成分立电路,来降低外围器件的成本,提高整机的可靠性。该芯片具有良好的抗干扰性能,其结构是由有两个电平兼容的 TTL/CMOS实现输入;电机的正反向运动由两个输出端来直接驱动,其电流驱动能力较大,其工作要求:800mA 的持续电流, 1.5A峰值电流;同时它具有较低的输出饱和压降;感性负载的反向冲击由电流内置的钳位二极管来释放, 使它在直流电机、步进电机、驱动继电器或者开关功率管的使用上安全可靠。玩具汽车电机驱动、开关功率管、步进电机驱动、以及脉冲电磁阀门驱动等电路上都有L9110 广泛应用。

图3-4 芯片引脚图

9

绵阳师范学院2014届本科毕业设计(论文)

第四章 软件设计

4.1 简介KeilUvision2

Keil软件是一个功能强大的仿真调试器。它提供了包括C编译器(VC)、库管理、连接器、宏汇编等在内的完整开发方案,这些功能通过一个集成开发环境(UVISION)组合在一起。

Keil有以下几个特点:

(1)全功能的源代码编辑器;

(2)项目管理器用来创建和维护用户的项目;

(3)可汇编、编译和连接用户嵌入式应用集成的MAKE工具; (4)真正的源代码级的对CPU和外围器件的调试器;

(5)所有开发工具的设置都是对话框形式的; (6)设置器件库,用来配置开发工具; 其使用的过程为:

首先我们打开KeilUvision2,每做一个独立的程序,在KEIL系统中都可以被视为工程。首先要执行的步骤是从菜单中的工程中选择“新建工程”,再工程项目:

图4-1 KEIL新建工程截图

接下来我们要在Keil环境中为12工程选择来一个单片机型号(如stc89c51)。点击 “确定”后我们所需要的工程就建立好了。

10

绵阳师范学院2014届本科毕业设计(论文)

图4-2 KEIL选择单片机截图

在建立了我们所需要的工程项目以后,就应该为刚刚所建立的工程添加相应的程序。操作方法如下:

首先点击“文件”中的新建,来新建一个空白文档,我们将在这个空白的文档中编写单片机程序。在这场所中我们可以进行编辑、修改等基本操作。接下来我们根据设计思路及要求,在当前的文档中写入代码,写完代码后再仔细检查一下。切记要点击保存,防止文

11

绵阳师范学院2014届本科毕业设计(论文)

件的丢失。紧接着就该将保存好的文档添加到如下所示的工程中。

图4-3 KEIL新建C文件截图

12

绵阳师范学院2014届本科毕业设计(论文)

程序文件添加完毕后,要执行的操作是:

首先编译当前程序、然后重新编译所有文件同时要求生成应用程序、接下来编译修改过的文件同时要求生成应用程序,最后我们再点击TARGET,执行此操作的显示页面为:

图4-4 KEIL配置文件截图

再点击图案上的Output键

图4-5 KEIL配置文件截图

13

绵阳师范学院2014届本科毕业设计(论文)

接下来执行点击select folder for objects键的操作步骤,得到以下界面,同时我们将此操作产生的HEX文件存储在E盘zh文件夹中。

图4-6 KEIL配置文件截图

最后一步就是利用烧录软件将HEX文件烧录到单片机里。

4.2 程序设计

程序部分,按照题目给定的要求,程序结构设计为,每次进入外部中断,也就是每次检测到黑线,则增加过程变量值1。则主程序中判断过程变量的值,进入不同的处理程序。

主程序对系统进行初始化,主要是进行外部中断1初始化,然后判断过程变量的值,然后根据过程变量值的大小,来决定运行哪一段程序,是驱动电机正转,还是驱动电机反转,或者是控制电机停转,以及具体的控制速度大小。同时,将本次运行的过程变量值显示在数码管上面。其流程图见图4-7。

14

绵阳师范学院2014届本科毕业设计(论文)

开始 系统初始化 开启外部中断,下降沿有效 N 产生下降沿? Y 过程变量加1,刷新数码管 过程变量>13? Y 程序结束 图4-7 中断处理流程图

N

15

绵阳师范学院2014届本科毕业设计(论文)

第五章 PROTUES仿真设计

Protues软件是一种EDA工具软件,它是由英国的Labcenter electronics公司出版的。其它EDA工具软件的仿真功能Protues软件也具有,而且Protues软件还能对单片机以及外围器件进行仿真。目前,Protues软件是单片机及外围器件的工具中最好的。Protues软件在国内推广刚起步,就已经受到了广大单片机爱好者、致力于单片机开发应用的科技工作者的青睐。

Protues软件的特点是:支持当前的主流单片机的仿真,如51系列、AVR系列[9]。 1)提供软件调试功能 2)提供丰富的外围接口器件及其仿真 3) 提供丰富的虚拟仪器 4) 具有强大的原理图绘制功能

在使用PROTUES软件绘制好仿真原理图后,已经被编译好的目标代码文件(*.HEX)被调入后就可以看到模拟的实物运行状态和过程[10]。

PROTEUS可以将许多单片机实例运行过程以及实例运行功能形象化,单片机的实例运行过程可以达到实物演示实验难以达到的效果,单片机的实例运行功能形象化可以得到实物演示实验的效果。PROTEUS具有的大量的元器件库是实验室无法比拟的,PROTEUS为使用者提供了很多方便,如:电路设计修改的灵活性、实验室在质量、数量上难以比拟的各种各样的虚拟仪表、仪表器等,在这样的平台下可以培养学生的实践精神、创造精神。随着科学技术的发展,许多设计部门重要的前期设计手段都已经采用“计算机仿真技术”。 “计算机仿真技术”的特点是设计灵活,结果、过程的统一。同时缩短设计时间、减少耗资、降低工程制造风险也是其一大特点。

计算机多媒体技术和虚拟仿真技术的综合运用是Proteus 软件而进行单片机系统仿真设计的方法,对于学生的仿真软件的操作能力以及电路设计能力有很大的帮助;通过实践可以得出,Proteus 有较高的推广利用价值[12],在设计过程中我们先使用在 Proteus 进行系统仿真,仿真成功之后,即确定了设计的可行性,再进行实际制作焊接相应的电路,能使单片机系统设计效率大大提高。

经过精心设计,反复调试,最终调试成功,系统的功能完全达到了最初的设计要求。硬件电路如图5-1至图5-3。

16

绵阳师范学院2014届本科毕业设计(论文)

C130pC230pX1U219XTAL1AT89C51P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161717404CRYSTAL18XTAL2C3910uFRSTU1:A2R210k293031PSENALEEAU1:B3740440%RV110k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7U3光敏电阻R310kR1OPAMP1kU3(NEG_IP) 图 5-1 小车预备前进仿真图

C130pC230pX1U219XTAL1AT89C51P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161717404CRYSTAL18XTAL2C3910uFRSTU1:A2R210k293031PSENALEEAU1:B374044100%RV110k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7U3光敏电阻R310kR1OPAMP1kU3(NEG_IP) 17

本文来源:https://www.bwwdw.com/article/jjxd.html

Top