基于51单片机的自动往返小车设计刘桐_第1页
基于51单片机的自动往返小车设计刘桐_第2页
基于51单片机的自动往返小车设计刘桐_第3页
基于51单片机的自动往返小车设计刘桐_第4页
基于51单片机的自动往返小车设计刘桐_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、忻忻 州州 师师 范范 学学 院院计算机系本科毕业(设计)论文计算机系本科毕业(设计)论文二零一六年五月课题名称基于 51 单片机的自动往返小车设计专 业网 络 工 程姓 名刘 桐 学 号2 0 1 2 0 8 5 1 1 0 2 5指导教师胡 国 华2目 录1 引引 言言.21.1 开发或研究背景及现状.21.2 本人主要工作.31.3 论文组织与结构.32 系统方案及论证分析系统方案及论证分析.42.1 小车车体选择.42.2 主控单片机选择.42.3 电机选择.52.4 电源选择.52.5 显示设计.63 自动往返小车硬件设计自动往返小车硬件设计.73.1 总体设计.73.2 信号检测模

2、块.73.3 主控电路.83.4 电机驱动电路.94 系统软件设计系统软件设计.94.1 KEIL 编程软件介绍.94.2 主程序模块.94.3 电机驱动程序.114.4 循迹程序.124.5 系统程序的烧录.134.6 PROTEUS .145 测试结果分析测试结果分析.156 结论结论.177 结束语结束语.18致致 谢谢.19参考文献参考文献.20忻州师院计算机系本科学士学位论文5基于 51 单片机的自动往返小车设计摘 要:自动往返小车,是一种以电子汽车技术为背景,包含小车控制、传感技术、电子技术、计算机、机械等多学科的科技创意性设计。主要组成模块有以下几部分:路径识别、行驶时间控制及车

3、速管制等模块组成。该设计以 51 单片机为唯一主要控制模块,充分利用了自动检测技术、单片机最小系统、模块电路,以及声光信号的管控、电机的驱动电路。通过 51 单片机的仿真,通过实践调试与操作,实现小车在直线上的自动往返设计。综合应用单片机技术、自动控制理论、检测技术等。使小车能在无人操作情况下,借助传感器辨认路面环境,由单片机主控行进,完成初步的无人控制。本设计以单片机为核心,附以外围电路,采用光电检测器进行检测信号实现小车的自动加速、和循线运动。运用单片机的运算和处理能力来加速、减速、急刹车、掉头、返回、显示行驶路程、行驶时间等智能控制系统。关键词:51 单片机、检测技术、自动Abstrac

4、t:Automatic car back and forth, it is a kind of electronic automotive technology as the background, containing the car control, sensor technology, electronic technology, computer, machinery, and other multi-disciplinary science and technology creative design. Main composition module has the followin

5、g several parts: path identification, time control, speed control module, etc.With 51 single-chip microcomputer as the main control module for the design, make full use of the automatic detection technology, module circuit, single chip microcomputer minimum system, as well as the acousto-optic signa

6、l control, the motor drive circuit. By 51 MCU simulation, debugging and through practice operation, from design to realize automatic car on a straight line. Integrated application of single-chip computer technology, automatic control theory, detecting technology, etc. Can make the car in the case of

7、 unattended operation, with the aid of sensors to identify the road environment, by single-chip microcomputer control, complete preliminary without control.This design with the single chip processor as the core, attached to the peripheral circuit, adopting photoelectric detector for testing signal t

8、o achieve the automatic acceleration, and followed the movement of the car. Using single chip microcomputer operation and processing power to acceleration, deceleration, brakes, turn around, return, show the intelligent control system such as travel, travel time.Keywords:51 single-chip microcomputer

9、, automatic detection technology基于 51 单片机的自动往返小车设计1 1 引引 言言伴随着现代汽车行业的飞速发展,作为汽车的电子控制系统也势必得到更大的发展机会,以满足人们对汽车的安全性、智能化的要求,本文对自动往返小车控制系统的研究是对一些问题的初步思考。自动往返小车是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统。它集中地运用了计算机、传感器、信息、通讯、自动控制等技术是典型的高新技术综合体。本次毕设的自动往返小车就是这种综合体的一种尝试。小车以 51 单片机为核心,附以外围电路,采用光电传感器进行检测信号和循线运动。运用单片机的运算和处理能力来

10、实现小车的自动加速、限速、减速、前进、后退等功能。本次毕业设计要求设计并制作一个能自动往返于起跑线与终点线间的小汽车。小车从起跑线出发,到达终点线后自动返回起跑线,往返一次的时间应力求最短。到达终点线和返回起跑线时,停车位置离起跑线和终点线偏差应最小。在限速区小车往返均要求以低速通过,且不允许在限速区内停车。自动往返小车设计的核心思想在直线方向上实现小车在行驶过程中对跑道上的黑线能够自动检测与识别,通过对黑线检测确定小车与跑道的相对位置关系,通过执行机构调整小车与跑道的相对位置,使小车在规定线路上准确稳定行驶的同时又兼顾车速,尽量缩短往返时间,从而达到“稳”和“快”的协调。智能小车采用一块 5

11、1 单片机作为其检测和控制核心。选 SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片 L298 作为小车电机驱动,利用 PWM 技术动态控制电动机的转速。路面金属线线检测、车速和距离检测使用电感式接近开关金属传感器进行信号的采集,接近开关反馈的信号送入单片机处理,由控制单元处理信号并控制小车的运行模式及液晶数据显示。实现了小车在直线方向上的启动、加速、减速、急刹车、停车等功能。1.1 开发或研究背景开发或研究背景及现状及现状自动往返小车是智能小车的一种,随着汽车工业的迅猛发展,关于智能小车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都

12、有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义很大。智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖智能控制、模式识别、传感技术、电子电气、计算机、机械等多学科的科技创意性设计。忻州师院计算机系本科学士学位论文5一般主要由路径识别、时间控制及车速控制等模块组成。本设计就是在这样的背景下提出的,设计的自动往返小车应该能够实现直线方向上的启动、加速、减速、急刹车、停车、掉头返回到起点等功能。1.2 论文主要工作论文主要工作基于 51 单片机的自动往返小车对技术要求不高,但是涉及的硬件设施相对比较多,例如小车的组装,传感器的安放等,前期需要足充分的准备。设计者不只要对

13、程序编写熟悉,同时还要熟悉电路。使程序在单片机上运行,结合电路图,使小车的各项功能得以实现。1.3 论文组织与结构论文组织与结构 第一章:引言。介绍基于 51 单片机的自动往返小车的开发背景和现状,以及本人的研究工作。第二章:系统方案及论证分析。根据题目要求,对小车的车体、驱动、电源和主控模块等进行分析,采用合理可行的方案完成设计。第三章:自动往返小车硬件设计。该部分主要介绍自动往返程序、检测系统的设计、传感器设计、显示器设计。第四章:系统软件设计。对主程序和子程序进行介绍。第五章:系统测试结果分析。介绍小车的测试方法和测试结果。第六章:结论。根据测试得出结论,分析设计的不足之处。基于 51

14、单片机的自动往返小车设计2 2 系统方案及论证分析系统方案及论证分析根据题目中的设计要求,本系统主要由主控单片机模块、电源模块、电机驱动模块、黑线检测模块、测速模块以及 LCD 显示模块构成。2.1 小车车体选择小车车体选择在确定了毕业设计选题以后,指导老师就给我提供了物联网 ti 杯的“DIY 竞赛小车”散件车体。其具有结构小巧、运动灵活、扩展性强、控制简单等诸多特点。该小车车体套件具备功能如下: (1)支持两个独立电机的安装,增大了驱动力和转弯的灵活性 (2)配备红外传感器接口 (3)配备了外部电源接口和电池盒接口,方便了小车用电选择 (4)为单片机控制板预留了电源和控制端口(5)保留了

15、DIY 竞赛小车的扩展板,可以直接把单片机电路、显示电路、传感器等焊接上面,不需要再增加电路,方便了扩展。2.2 主控单片机选择主控单片机选择采用 STC89C52RC 单片机,STC89C52RC 单片机是新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机,速度快 812 倍,带 ADC,4 路 PWM,双串口,有全球唯一 ID 号,加密性好,抗干扰能力强。主要有以下特性:增强型 6T/机器周期,12T/机器周期的 8051 单片机;工作电压为 5.53.4V 或 3.82.0V;工作频率范围 040MHz;片上集成512/1280 字节 RAM;通用 I/O 口

16、为 32/36 个;ISP/IPA 功能课通过串口直接下载用户程序;4 路外部中断,超低功耗,超强抗干扰能力。因此决定采用 STC89C52RC 作为本次毕业设计的主控单片机。忻州师院计算机系本科学士学位论文5图 2.1 STC89C52RC 电路图2.3 电机选择电机选择采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便,电机内部装有减速齿轮组,所以并不需要考虑调速功能,很方便的就可以实现通过单片机对直流减速电机前进、后退、停止等操作。综合以上考虑,我选择使用直流减速电机作为自动往返电动小车的驱动电机。2.4 电源选择电源选择方案一:采用继电器对电动机的开关进行控制

17、,通过开关的切换对小车的速度进行调整。此方案的;优点是电路较为简单,缺点是继电器的响应时间慢, ;易损坏,寿命较短,可靠性不高。方案二:购买专门的双电机驱动芯片 L298,经过测试性能可以满足小车的电机控制要求,而且外围电路比较简单,稳定性较好,驱动能力够强。能够很好的保证两电机的同步。经过分析,我们决定采用方案二。基于 51 单片机的自动往返小车设计传感器模块方案一:采用两个光电红外传感器,分别安装于小车车身前的两侧,根据两个光电红外传感器接收到黑线的情况来控制小车转向来调整小车的行走方向,测试表明,合理的安装位置可以实现循迹的功能。方案二:采用三个光电红外传感器,并排安装于小车车前,小车开

18、始是靠中间的传感器感应黑线而前进,当小车与轨道发生偏离时,旁边两个传感器会感应到黑线的情况,从而进行转向调整。经过实测表明,小车在循迹过程中有一定的左右摇摆不定,但是循迹效果很好。经过比较,我们选取第二种方案来实现。2.5 显示设计显示设计采用 LCD 液晶显示。用自带中文字符库的液晶显示模块,显示方便美观,而且人机交互界面也很友好。采用串口通讯的显示方式,可以大大节省单片机的 IO 口。LCD 液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快,界面友好等而得到广泛应用,因此我们选择此方案。图 2.2 LCD 液晶显示屏忻州师院计算机系本科学士学位论文53 3 自动往返小车硬件设

19、计自动往返小车硬件设计3.1 总体设计总体设计 智能小车采用前面两个轮驱动,前面两个轮各用一个电机驱动,调制前面两个轮子的转速启停从而达到控制转向的目的,后轮是万向轮,起支撑作用和帮助更好的转向。将光电红外传感器并排装在车前。当中间的传感器检测到黑线的时候,主控芯片控制左右轮同时启动,小车前进,当左边的传感器检测到黑线的时候,主控芯片控制左轮停止运行,小车左转,当右边的传感器检测到黑线的时候,主控芯片控制右轮停止运行,小车右转。3.2 信号检测模块信号检测模块小车循迹原理是小车在画有黑线的路面上行驶,由于白线和黑线对光的反射系数不同,可根据接受到的反射光的反射光的强弱来判断“道路”黑线。笔者在

20、该模块中利用了简单、应用也比较普遍的检测方法红外探测法。红外探测法,即利用红外线在不同颜色的而物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管收不到信号,再通过 LM324 作比较器来采集高低电平,从而实现信号灯检测。循迹原理是:采用三个红外线光电传感器,根据传感器返回的路况信息,传送到处理器,处理器做出一系列的判断,改变小车的状态从而达到目的。红外线光电传感器实物图如下:51单片机电源红外传感器LCD 显示电机转动基于 51 单片机的自动往返小车设计图 3.

21、1 红外线光电传感器实物图3.3 主控电路主控电路本模块主要是对采集信号进行分析,同时给出 PWM 波控制电机速度,起停作用,电路图如下:图 3.2 主控电路图忻州师院计算机系本科学士学位论文53.4 电机驱动电路电机驱动电路L298N 是 ST 公司生产的一种高电压、大电流电机驱动芯片。L2989N 的特点是:工作电压比较高,最高工作电压最大可达 46V;输出电流很大,瞬间峰值电流有时可达到 3A;额定功率 25W。L298N 采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将

22、变化量反馈给控制电路。使用 L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。图 3.3 电机驱动电路图4 4 系统软件设计系统软件设计4.1 KEIL 编程软件介绍编程软件介绍Keil 软件是目前最流行的开发 51 系列单片机的软件,是美国 keil software公司出品的 51 系列单片机 C 语言软件开打系统。通过一个集成开发环境将 C编译器、宏汇编、连接器、库管理和仿真调试器组合在一起。所以,我们选用keil 软件作为本次开发的编程软件。4.2 主程序模块主程序模块 通过程序的编写,使小车启动后先进行加速,加到最大速度后小车进行减速,减

23、速到某一固定值后小车做匀速运动,当到达终点后小车先停车,然后掉头,沿黑线返回起点停车。基于 51 单片机的自动往返小车设计 图 4.1 主程序框图主程序如下:void main(void) Delay400Ms(); LCDInit(); Delay5Ms(); Init_system(); Init_time(); while(1) DisplayListChar(0, 0, uctech);DisplayListChar(0, 5, net); stop();delay1(); zuo_qian();you_qian();speed(5,5);delay1(); zuo_qian();yo

24、u_qian();speed(10,10);delay1();结束Y忻州师院计算机系本科学士学位论文5 zuo_qian();you_qian();speed(15,15);delay1(); zuo_qian();you_qian();speed(10,10);delay1(); while(1) DisplayListChar(0, 0, uctech);DisplayListChar(0, 5, net); xunji(); jinku(); 4.3 电机驱动程序电机驱动程序接通小车的电源开关后,小车开始运动。在到达限速区之前以全速行驶,同时对小车进行测速,当低于最低速度时,加速一段时间

25、,然后继续减速前进。当通过限速区后,则开始全速行驶。当速度达到最快后开始减速,到达终点时自动停车,短暂停留后掉头沿原路返回。sbit EN1=P10; /右轮使能sbit EN2=P15; /左轮使能#define Left_moto_go P1_1=1,P1_2=0;/左电机前进#define Left_moto_back P1_1=0,P1_2=1;/左电机后退#define Left_moto_stop P1_1=0,P1_2=0;/左电机停止#define Right_moto_go P1_3=1,P1_4=0;/右电机前进#define Right_moto_back P1_3=0,

26、P1_4=1;/右电机后退#define Right_moto_stop P1_3=0,P1_4=0;/右电机停止void run(void) Left_moto_go; Right_moto_go;void backrun(void)Left_moto_back; Right_moto_back; void leftrun(void)Right_moto_go;Left_moto_stop; void rightrun(void)Right_moto_back;Right_moto_stop; 基于 51 单片机的自动往返小车设计void stoprun(void)Left_moto_sto

27、p;Right_moto_stop;4.4 循迹程序循迹程序在小车车体前部分别安装黑线检测传感器 A、B、C。当小车沿黑线行进时。两侧传感器均未检测到黑线,都为高电平;当小车左偏时,小车右侧传感器检测到黑线, A 为高电平, B 为低电平,启动右转指令,当检测到两传感器又为高电平时,启动直行指令;当小车右偏时,小车左侧传感器检测到黑线, A为低电平, B 为高电平,启动左转指令,当检测到两传感器又为高电平时,启动直行指令。循迹程序框图NNN右传感器扫到黑线Y左转中传感器扫到黑线Y 前进左传感器扫到黑线Y 右转 前进开始忻州师院计算机系本科学士学位论文5图 4.1 循迹程序框图循迹程序:void

28、 xunji(void)if(D01=1&D02=0&D03=1)run();speed(10,10);delay(200);if(D01=1&D02=1&D03=0)rightrun();speed(10,0);delay(200);if(D01=0&D02=1&D03=1)leftrun();speed(0,10);delay(200);4.5 系统程序的烧录系统程序的烧录程序的烧录所用到的软件为智峰 ISP 下载软件 progisp172,此软件适用于AT89S51,AT89S52,AT89C51 等型号单片机,为绿色软件,无需安装,占用资

29、源少。烧录软件界面如图 4.3 所示。将主程序与子程序在 Keil uVision5 中进行编写完成,通过运行和编译,生成.hex 文件。用 USB 将最小系统板和电脑进行连接,打开烧录软件选择所对应的单片机类型,点击调入 Flash 打开所对应的.hex 文件,点击自动,将程序烧录到单片机中进行测试。图 4.1 程序烧录软件图基于 51 单片机的自动往返小车设计4.6 PROTEUS本次设计电路图由 Proteus 仿真软件绘制而来,Proteus 是世界上著名的仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上

30、唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、AVR、ARM、8086 和 MSP430 等,2010 年又增加了 Cortex和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil 和 MPLAB 等多种编译器。忻州师院计算机系本科学士学位论文55 5 测试结果分析测试结果分析小车各模块设计完成后,将 L298 驱动芯片电路、黑线检测传感器、测速传感器安装在小车车体上,完成小车的硬件连接。如图 5.1 所示图 5.1 小车组装完成实物图 灵敏度速度较高适中较低较快(脉冲 30)小车快速原地打转

31、直接冲出跑道小车高速直行适中(脉冲 15)小车原地掉头沿黑线正常行驶并掉头小车以正常的速度行驶,不掉头较慢(脉冲 5)小车以较慢的速度在原地打转沿黑线慢速行驶但无法完成掉头小车以较慢的速度直行当小车速度较快(脉冲 30) ,传感器灵敏度较高的时候,由于三个传感器一直处于全部检测到黑线的状态(三个红灯全没有亮起) ,未执行循迹程序,只执行掉头程序,所以,小车处于高速不停打转的状态。当小车速度较快(脉冲 30) ,传感器灵敏度适中的时候,三个传感器可以正常工作,小车可以沿黑线行驶,但是,速度太快,无法停留在终点黑线,直基于 51 单片机的自动往返小车设计接冲出跑道。当小车速度较快(脉冲 30) ,

32、传感器灵敏度较低的时候,由于三个传感器一直处于全部未检测到黑线(三个红灯全部亮起)的状态,只执行直行程序,其他程序未执行,所以,小车高速直行,未循迹且没有掉头。当小车速度适中(脉冲 15) ,传感器灵敏度较高的时候,由于三个传感器一直处于全部检测到黑线的状态(三个红灯全没有亮起) ,未执行循迹程序,只执行掉头程序,所以,小车处于不停打转的状态,但相对于速度较快时,打转速度明显减小。当小车速度适中(脉冲 15) ,传感器灵敏度适中的时候,三个传感器可以正常工作,小车可以沿黑线行驶,并且可以顺利掉头,继续循迹在起点位置停车。当小车速度适中(脉冲 15) ,传感器灵敏度较低的时候,由于三个传感器一直

33、处于全部未检测到黑线(三个红灯全部亮起)的状态,小车以正常速度行驶,不掉头。当小车速度较慢(脉冲 5) ,传感器灵敏度较高的时候,由于三个传感器一直处于全部检测到黑线的状态(三个红灯全没有亮起) ,未执行循迹程序,只执行掉头程序,所以,小车处于不停打转的状态,但是相对于速度较快和适中时的情况,打转速度明显变慢。当小车速度较慢(脉冲 5) ,传感器灵敏度适中的时候,三个传感器可以正常工作,小车可以沿黑线行驶,但不能正常掉头返回起点。当小车速度较慢(脉冲 5) ,传感器灵敏度较低的时候,由于三个传感器一直处于全部未检测到黑线(三个红灯全部亮起)的状态,小车以较慢的速度行驶,不掉头。综合以上情况分析

34、得知,只有在小车以脉冲为 15,传感器灵敏度适中的时候,小车能够正常沿黑线行驶,并且能够顺利完成掉头。所以,将小车速度定为 15,传感器灵敏度适中来完成本次实验。忻州师院计算机系本科学士学位论文56 6 结论结论在这次设计中,我们初步完成了小车的制作,并且经过大量实验结果分析寻找适合小车循迹的数据,在制作的过程中也存在许多问题,例如:小车的电机速度控制方法还不太完善,需要进一步的提高;小车的速度测试还要进一步精确等。经过对多次测试结果的分析得出以下结论,小车的速度在脉冲为 15,传感器灵敏度适中的时候小车能够达到较好的测试效果,循迹和掉头都比较顺利。基于 51 单片机的自动往返小车设计7 7

35、结束语结束语基于 51 单片机的自动往返小车设计是以汽车电子为背景,集小车控制、传感技术、计算机、电子技术、机械等于一身的科技创意性设计。主要模块有:路径识别,行驶时间控制及车速控制等模块组成。经过几个月的设计、开发,该小车的设计及开发基本完成,小车功能基本可以达到预期效果。当然,有些方面也存在一些不足,但是,大体上小车应该实现的功能都已经实现。小车的直线行驶方面偶尔会出现一点的偏差,可能是电机电压不稳导致,在以后的设计中尽量克服此类问题,这样小车的直线启动、加速、减速、急刹车、重新启动、到达终点掉头返回就会比较流畅;实现真正意义上的自动往返。在这次设计的过程中,我感受很多,收获也很多,使我对专业知识有了一个系统的回顾,同时也学习了好多新的知识。通过这次设计,我对软件硬件相结合的制作有了更进一步的了解与认识,这对我以后的学习和工作都是很有帮助的。忻州师院计算机系本科学士学位论文5致致 谢谢在这次毕业设计的过程中,我的指导教师胡国华老师对我进行了耐心细致的指导。胡老师认真的工作态度,严谨的治学精神、一丝不苟的工作作风

温馨提示

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

评论

0/150

提交评论