《智能小车PID运动控制系统设计(共47页).doc》由会员分享,可在线阅读,更多相关《智能小车PID运动控制系统设计(共47页).doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 智能小车PID运动控制系统设计学生姓名: 学生学号: 院(系): 电气信息工程学院 年级专业: 电子信息工程 指导教师: 助理指导教师: 二一五年五月专心-专注-专业摘 要本文主要介绍了智能小车控制系统的软硬件设计及开发过程。车模系统的简单工作原理是单片机收集红外传感器返回来的赛道信息,通过相应运算后,软件判断其有效性,结合控制算法控制随动舵机给出合理舵值,控制前轮舵机转向,单片机再给出合适的PWM波占空比以控制电机转速。 小车设计主要包括硬件电路设计和软件控制设计两大部分。此智能车系统采用模块化设计思想,完成了系统硬件电路的设计,其主要包括核心控制模块、电源管理模
2、块、电机驱动模块、舵机控制模块、车速检测模块、路径识别模块等。本系统以16位的微处理器AT89S52为控制核心,AT89S52微控制器是M68CHS12系列16位单片机中一种,其内部结构主要有单片机的基本部分和CAN的功能块部分组成。为了提高系统性能的运行,对控制策略转向、行驶速度策略控制及后轮驱动闭环PID算法控制策略等进行了详细的分析与详细设计。在此基础上,完成了该系统软件的具体方案设计和实现。关键词 模块化 PID 单片机 PWMABSTRACTThis paper mainly introduces the hardware and software of the control sy
3、stem of intelligent car design and development process. The simple models system working principle is to collect infrared sensor mcu return circuit information, through the corresponding operation, the software judge its effectiveness, combining control algorithm with dynamic steering gear control,
4、reasonable front wheel steering gear control rudder values steering,mcu and then presents the right PWM waves occupies emptiescompared to control motor speed.Car design includes hardware circuit and software control design of two parts. The smart car system adopts the idea of modular design, complet
5、e the hardware circuit design, and its main including core control module, power management module, motor driver module, steering gear control module, speed detection module, path recognition module, etc.This system to MC9S12DG128 as control core, M68HC12 series MC9S12DG128 microcontroller is one of
6、 16 bit mcu, its internal structure is mainly a mcu basic parts and CAN function blocks parts. In order to improve the operation of the system performance, the steering control strategy and speed closed-loop control strategies and rear wheel drive strategy of PID control algorithm is a detailed anal
7、ysis and design. On this basis, completed the specific software system design and implementation. Keywords modular PID MCU PWM目 录1 绪论1.1 课题背景随着全世界范围内汽车的普及率提高,汽车极大地方便人们生活的同时也带来了一些问题,比如交通安全问题、城市交通堵塞和环境污染等。解决交通问题直接的办法是提高路网的通行能力。但是,就目前状况来看,汽车数量的快速增加已经导致已有的道路远远不能满足经济发展的需要,单纯地进行道路基础设施建设由于受土地,经济基础,时间等多重因素的
8、影响下,不可能解决全部交通问题,真正有效可行的方法是如何提高现有道路的容量和效率。在这样背景下,运用高新科技技术,将现有道路和车辆综合一起考虑,构造出智能交通系统来解决交通中发生的问题的思想就这样产生了。智能的交通系统是把先进信息的科技技术、数据的通讯以及计算机技术很有效地运用到整个管理体系和车辆建立起来的范围、全方位来发挥实时作用、准确、高效、先进的运输管理系统。智能车作为智能交通管理系统中的一种非常关键的技术,是一个由环境的感知性、规划的决策性、多等级的辅助驾驶等功能集于一体的操作系统,它集中运用计算机系统和现代传感系统、信息的融合、通信的系统、人工智能以及自动控制原理等技术,属于很典型的
9、高新技术综合体。然而,智能车的系统属于一个很复杂的系统,如何根据相关高新技术来实现智能交通系统运用,正处于高速发展和完善中。因而,利用先进交通技术构建的研究平台是非常有必要的。综上而言,通过车辆的智能化研究技术和开发,可以很好地提高车辆控制技术和驾驶水平,保障车辆的行驶安全与高效。不断地完善智能化车辆系统的研究,相当于延伸了驾驶员的控制、视觉和感官功能,能极大地提高道路交通安全性,并对构建智能交通系统有着非常重要的意义。1.2 国内外研究现状、水平世界科学界与工业设计界,拥有众多的研究机构在研发智能车辆,其中特别有代表性的智能车包括:美国NavLab系列智能车辆系统。该系统是由美国卡内基梅隆大
10、学机器人研究所研制的。NavLabV系统的车体采用Pontiac运动跑车。其传感系统包括视觉传感系统、差分GPS系统、光纤阻尼陀螺系统和光码盘系统。计算机系统包括1台SparcLx便携式工作站和l台HCII微处理器。工作站完成传感器信息处理融合、全局与局部路径的规划;HCU完成底层车体的安全和控制的监控。当前NaVLab系列己经发展到了NaVLab11。德国VaMoRs智能车系统。这个系统是由德国的国防大学和德国的汽车奔驰公司共同研制而成的。该车车体主要采用奔驰的500型轿车。传感器的系统主要包括有4小型彩色摄像机组成的两组主动式双目视觉系统、3惯性加速度的设计和角度的变化传感器、测速表和发动
11、机的状态测量仪等。执行机构包括由方向力矩电机、电子油门和液压制动器等。计算机系统由基于Transputer并行处理单元和2台PC-486组成的。用于图像特征的抽取、物体的识别、对象状态的估计、行为决策、控制计算、方向控制和信息通信、I/O的操作、数据库的操作、图形的显示等。两台PC-486主要用途是软件开发和人机交互、数据登录等。国内的智能车研究起步相对较晚,以及受经济条件的制约,在智能车的研究领域上与发达国家有着不小的差距,当前开展这些研究的单位主要是一些大学和高层科研机构,具有典型代表性的系统有:THMR系列的智能车辆管理系统。这个系统主要是由清华大学计算机系智能技术系统和国家重点试验室国
12、防科工委和国家863的计划帮助下研制而成的。THMII的车体主要选用BJl022的面包车改制而成。该车上主要由二维彩色摄像机、磁罗盘定位、GPS、超声等传感器共同集成而来的。计算机的主要系统采用了Sun Spark 01 两台、PC-486 一台和8098单片机多台。Sun完成的任务规划,根据地图的数据库等信息来进行全局规划,l台PC机来完成视觉的信息处理,另1台来完成局部的规划、反射的控制及系统的监控,多台8098来完成超声测量、位置的测量、车体方向控制的速度。控制系统多采用了多层次的“感知动作”行为控制以及基于模糊控制局部路径的规划和导航的控制。目前THMR系列已发展到THMR-V。南京大
13、学JLUIV系列智能车辆系统。该系统主要是由吉林大学智能车辆课题组的国家自然科学基金、教育部博士基金等的资助下研制而成的。JUTI-Il型的智能车车载传感器主要有CCD摄的像机、三维的激光测距仪、GPS定位系统和远、近距离避障传感器,制动拉压力传感器、光电编码器等。计算机的系统采用了2台Pentium-II控制工业计算机,完成了车辆传感信息的获取、周围环境的感知、图像的处理、导航路径的识别及决策的控制。目前JLUV系列已发展到了JUTV-III。 飞思卡尔杯全国大学生智能汽车比赛就是在这样的情况下应运而生的。比赛主要是由教育部高等院校自动化专业教学指导委员会辅助承办,飞思卡半导公司协助。并由组
14、委会来提供统一的车模和统一单片机,并要求各个参赛队要在不改变车模的底盘结构的前提情况下,通过选择合适的检测方案和适当的控制算法,使车的模型能够在专门设计好的跑道上自动地识别路线行驶,每圈行驶时间最短的赛车获的胜利。这样,通过提供了一个相同的比赛平台,各个参赛队伍必须仔细研究更好车模的数学模型和控制的方案,从检测控制的角度来解决这个问题。在当今大量应用的工业控制器中,有半数以上采用PID或变形的PID控制方法。实践证明,PID控制方法对于大多数控制系统具有广泛适用性。1.3 本课题的发展趋势智能汽车前两个层次的“辅助驾驶技术”和“半自动驾驶技术”已经得到了广泛应用,并成为提升产品档次和市场竞争力
15、的重要手段。智能汽车第一层级的辅助驾驶技术包括自主式辅助驾驶技术和协同式辅助驾驶技术两种,通过警告让司机防患车祸于未然。其中,包括前碰撞预警(FCW)、车道偏离预警(LDW)、车道保持系统(LKS)、自动泊车辅助(APA)等在内的自主式辅助驾驶技术已经得到广泛应用,处于普及推广阶段,并由豪华车下沉至B级车。今年,汽车辅助驾驶技术成为获取E-NCAP四星和五星的必要条件。在美国、欧洲、日本等汽车发达国家和地区,基于车联网V2I/V2V技术的协调式辅助驾驶技术正在进行实用性技术开发和大规模试验场测试。半自动驾驶技术近年来在高端车上逐渐获得应用,比如已经获得广泛应用的自适应巡航控制系统(ACC)。世
16、界汽车巨头们正致力于第三个层次“高度自动驾驶技术”的实用化研发和产业化,即将实现量产上市。今年,沃尔沃将率先量产全球第一个自动驾驶技术堵车辅助系统。该系统是自适应巡航控制和车道保持辅助系统的集成与延伸,它可以使汽车在车流行驶速度低于50公里/小时的情况下,自动跟随前方车辆行进。此外,奥迪、凯迪拉克、日产、丰田等都计划推出诸如自动转向、加减速、车道引导、自动停车、自适应巡航控制等技术的汽车,它们大多属于第三层次的智能驾驶技术。由于车联网V2X技术涵盖汽车、IT、交通、通讯等多个行业,相关技术标准法规仍不健全,协调式辅助驾驶技术目前尚未得到大规模推广应用。谷歌无人驾驶汽车目前还离不开人的操控,只能
17、按预定程序行进,在雾雪天气还会受到干扰,并且在加速、减速及转向时衔接不太好。总之,全工况的无人驾驶技术仍处于研发阶段,最终的实用性测试和验证还需要很长时间。随着V2X技术最终实用性测试和无人驾驶实用化技术开发的进行,需要进一步建立和完善车联网V2X技术标准法规、无人驾驶技术标准法规,并据此逐步建设相应的通信、道路基础设施,构建起完整的智能化的人、车、路系统,为协调式辅助驾驶技术和无人驾驶技术的大规模推广应用奠定基础。无人驾驶汽车要真正上路,还将面临法律和道德方面的困难。一方面,无人驾驶汽车与有人驾驶汽车发生交通事故时,其责任归属以及保险赔付等问题待商议解决;另一方面,无人驾驶技术永远是将保护车
18、辆和车内人员作为第一要务,这会涉及交通道德问题。智能汽车将大幅减少交通安全事故。汽车交通事故在很大程度上取决于人为因素,无人驾驶汽车由行车电脑精确控制,可以有效减少酒驾、疲劳驾驶、超速等人为不遵守交通规则导致的交通事故。智能汽车将提高车辆利用率,降低汽车总销量,减轻汽车对环境的污染。根据谷歌无人驾驶汽车团队的统计,传统汽车在大部分时间内(96%)处于空闲状态,利用率较低。无人驾驶汽车可以按照时间顺序依次供需要的人使用,因此可以更好地统筹安排家庭内车辆使用,提高车辆的使用效率,减少车辆消费总量,有效减少碳排放。另一方面,智能汽车可以根据实时路况自动选择到达目的地的最优路径,能源消耗更少。智能汽车
19、将改变当前汽车交通基础设施状况,影响汽车运输相关产业的发展。智能汽车的运行需要配套的交通基础设施,当前的基础设施建设情况将不再适用。例如由于无人驾驶汽车靠传感器感知路面障碍,或者通过4G/DSRC与道路设施通信,因此需要在交叉路口、路侧、弯道等布置引导电缆、磁气标志列、雷达反射性标识、传感器、通信设施等。队列行驶也是智能汽车的另一种形式,即有人驾驶领头车辆,后面跟随着无人驾驶车辆编队,这一技术将提高汽车运输的自动化程度。1.4本课题的研究内容和任务设计一个AT89C2单片机作为核心控制器件空调温度控制器,通过按键设定智能车的速度,然后智能车就以这个速度运动并且通过LCD1602显示出设定速度。
20、再通过智能车轮上的光电传感器对智能车速度进行测量然后通过液晶显示器显示出来。1.4.1 本设计实现的技术指标输入直流电压5V控制精度:1cm/s显示精度:0.1cm/s1.4.2 本设计的创新点本设计以光电传感器作为测速器件,在保证测速的前提下增加了实用性。采用PID算法对小车速度进行控制,增强了小车的速度控制精度。以LCD1602作为显示器,人机交互性好。2 系统总体设计方案2.1总体方案设选择方案一 该方案采用AT89S52单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在液晶显示器上显示出来。其中电机采用直流电机。通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单
21、片机,再由单片机控制液晶显示。在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。其方框图如下:单 片 机按键输入液晶显示复位电路晶振时序光电传感器输出控制图 2.1 方案一框图方案二该方案采用MSP430单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在数码管上显示出来。其中电机采用步进电机。通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制数码管显示。在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路
22、正常工作。其方框图如下:数码管显示单 片 机按键输入复位电路晶振时序光电传感器输出控制图 2.1 方案二框图2.1方案论证方案一:该方案采用AT89S52单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在液晶显示器上显示出来。其中电机采用直流电机。通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制液晶显示。在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。采用直流电机作为该系统的驱动电机直流电机的控制方法比较简单,只需要电机的两根控制线加上适当的电压即可使电机转动起来,。
23、电压越高则电机转速越快。对于直流电机的速度调节,可以采用改变电压的方法,也可采用PWM调速方法。PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。采用通过5个红外光电开关传感器ST178对信号进行采集,采集到的信号经比较器LM324处理后传给STC12C5410AD单片机,经单片机处理后,发出控制命令给L298N,驱动2台直流电动机进行相应的动作。其相比于LM329,精度比较适中,利于调节,而且成本低。因此。比较适宜使用。优点:采用AT89C52作为核心控制器件,有足够的I/O口和存储空间能够完成对小车的控制且引脚适中程序编译下载简单。采用直流电机作为
24、该系统的驱动电机直流电机的控制方法比较简单,只需要电机的两根控制线加上适当的电压即可使电机转动起来,L298N精度比较适中,利于调节,而且成本低。方案二:该方案采用MSP430单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在数码管上显示出来。其中电机采用步进电机。通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制数码管显示。在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车的前进路程和位置的精
25、确定位,虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会几句下降,不适用与小车等一定速度要求的系统。采有SM6135W电机遥控驱动模块控制直流电机,SW6135W是专为遥控车设计的大规模集成电路,能实现前进、后退、向右、向左、加速五个功能。优点:该方案控制精度较高,实现功能较多。缺点:MSP430引脚较多,且程序下载和编译较繁琐。步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会几句下降,不适用与小车等一定速度要求的系统。SM6135W采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。最终方案选择:选择方
26、案一:控制简单,思路清晰,各个单元模块连接简单,同时成本低廉,所有元器件都是常用器件,更具实用性。3 系统的硬件设计3.1单片机的选择与其性能分析3.1.1 单片机概述单片机又称单片微控制器,是一种集成芯片。它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它体积小、重量轻、价格便宜,为学习、应用和开发提供了便利条件。单片机就是在一块半导体上集成了定时/计数器、时钟电路系统、中断系统、串并行I/O口、存储器(RAM、ROM)、CPU及总线的微型计算机。随着微电子技术和集成技术的进步,人们在单片机中还集成了A/D转换器、PWM、HSO等“片内外设”的特殊功能的部件。些这电路能
27、在软件的控制下准确迅速高效地完成程序设计者事先规定的任务。单片机的出现是集成电路技术与微型计算机技术高速发展的产物,它的发展与运用在工业自动化等领域带来了一场重大的工业革命和技术进步。由于单片机具有软件与硬件相结合、体积小、稳定可靠、可以很容易地嵌入到各种系统中的特点,所以单片机可以在各个领域得到广泛的运用。如工业检测与控制、通信、汽车电子设备、各种终端机计算机外部设备、仪器仪表、消费类电子产品等领域。3.1.2 单片机AT89C52介绍AT89C51是美国ATMEL公司生产的一种带4K字节Flash存储器的低电压,高性能CMOS8位单片机。AT89C51是一种带2K字节闪存可编程、可擦除、只
28、读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。AT89C51可提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,停止串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。AT89C52管脚图如图3.1所示。图3.1 AT89C51管脚图AT89C51各引脚功
29、能介绍如下:1.VCC:电源引脚,接+5V电源;2.GND:接地;3.P0口:8位,漏级开路双向I/O口。当AT89C51外部存储器及I/O口接芯片时,P0口作为地址总线(低8位)及数据总线的时分复用端口。P0口也可以作为通用I/O口使用,但需要加上拉电阻,这时为准双向口。当作为通用I/O输入时,应先向端口输出锁存器写入1 。P0口可驱动8个LS型TTL负载。4.P1口:8位,准双向I/O口,具有内部上拉电阻。P1口是专为用户使用的准双向I/O口。当作为通用的I/O口输入时,应先向端口锁存写入1。P1口可驱动4个LS型TTL负载。5.P2口:8位,准双向I/O口,具有内部上拉电阻。P2口缓冲器
30、可接收,输出4个TTL门电流,当P2口被写入“1”时,其管脚电位被内部上拉电阻拉高,且作为输入时,P2口的管脚电位被外部拉低将电流输出,这是由于内部有上拉电阻的缘故。6.P3口:8位,准双向I/O口,具有内部上拉电阻,可接收输出4个TTL门电流。P3口还可提供第二功能。其第二功能定义见表2-1。7.RST:复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以使单片机复位。8.ALE / PROG :在单片机拓展外部RAM时,ALE用于控制把P0口到输出低位地址送到锁存器锁存起来,从而可以把数据和低位地址区分开来。ALE可为高电平也可为低电平,当ALE是高电平时,允许
31、地址锁存信号,当访问外部存储器时,ALE信号负跳变将P0口上低8位地址信号送入锁存器;当ALE是低电平时,P0口上的内容和锁存器输出一致。在没有访问外部存储器期间,ALE以1/6的振荡周期输出频率;当访问外部存储器时,以1/12的振荡周期输出频率。PROG为编程脉冲的输入端,单片机的内部程序存储器,它的作用是来存放用户需要执行的程序。9.PSEN:全称是程序存储器允许输出控制端。在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。内部ROM读取时,PSEN无动作。外部ROM读取时,在每个机器周期会动作两次。外部ROM读取时,两个PSEN脉冲被跳过不会输出。外接ROM时,与
32、ROM的OE脚相接。10.EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);11.XTAL1:外接时钟引脚,片内振荡电路的输入端。表3.1 P3口的第二功能12.XTAL2:外接时钟引脚,片内振荡电路的输出端。引脚第二功能说明P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0 P3.3外部中断1 P3.4T0定时器/计数器0外部输入端P3.5T1定时器/计数器1外部输入端P3.6外部数据存储器写脉冲P3.7外部数据存储器读脉冲3.2
33、各模块电路设计3.2.1 时钟电路设计 时钟电路产生AT89C51单片机工作时所必需的控制信号。AT89C51单的内部电路正是在时钟信号的控制下,严格地按时序执行指令工作。单片机执行的指令均是在CPU控制器的时序控制电路的控制下进行的,各种时序均与时钟周期有关。时钟周期:时钟周期是单片机时钟控制信号的最小时间单位。机器周期:CPU执行一个基本操作的时间,单片机的每12个时钟周期为一个机器周期。指令周期:指了周期是执行一条指令所需要的时间。AT89C51单片机各功能部件的运行都以时钟控制信号为基准,它们在时钟信号的控制下有条不紊、一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量
34、也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。1. 内部时钟方式AT89C51内部有一个由于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器,如图3.2所示。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。电路中的电容C1和C2的典型值通常选择为30pF。该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常是在1.212MHz。晶体的频率越高,系统的时钟频率越
35、高,单片机的运行速度也就越快。但反过来,运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也越高,即要求线间的寄生电容要小。晶体和电容应尽可能安装得与单片机机芯片靠近,以减少寄生电容,更好地保护振荡器稳定、可靠性。30pFC1XTAL2XTAL1AT89C51晶振30pFC2图3.2 AT89C51内部时钟方式电路2. 外部时钟方式外部时钟方式使用现成的外部振荡器产生的脉冲信号,常用于多片AT89C51单片机同时工作,以便于多片AT89C51单片机之间的同步,一般为低于12MHz的方波。外部时钟源直接接到XTAL1端,XTAL2悬空,其电路如图3.3所示。AT89C51外部振荡信号XTA
36、L1悬空XTAL2GND图 3.3 AT89C51外部时钟方式电路根据查阅空调温度控制器的相关资料和电路的相关知识,使用在本次设计中采用内部时钟方式,两个电容为30pF,晶振为12MHz。设计电路如图3.4所示。图 3.4 时钟电路3.2.2 复位电路设计 AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“锁死”状态时,也需要按复位键即RST脚为高电平,使AT89C51摆脱“跑飞”或“锁死”状态而重新启动程序。AT89C51的复位电路是通过外部电路
37、实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作是需要的信号。复位电路通常采用上电自动复位和按钮自动复位。最简单的上电自动复位如图3.5所示。对于CMOS型单片机,由于在RST引脚内部有一个下拉电阻,故将电阻R去掉,而将电容C选为10uF。上电的瞬间,RST端的电位与Vcc相同,随着外部复位电路充电电流的减小,RST的电位下降,只要RST保持10ms以上的高电平就能使单片机复位。复位电路中的电容和电阻可以根据实际需要来进行调整。当设计的电路需要单片机的振荡频率为6MH
38、z时,电容就要选择22uF的,电阻选用10 K的,就能够实现单片机的自动复位。+5VRSTC+AT89C51R图 3.5 上电复位电路图按键手动电平复位是通过RST端经电阻与电源Vcc接通来实现的,如图3.6所示。+5V+10uFRSTAT89C51R2K图 3.6 按键电平复位电路 根据查阅空调温温度控制器的相关资料和本次设计的实际需要,决定本设计采用按键电平复位电路。同时选用的晶振为12MHz,所以根据经验可将电阻值定为10 K,电容值为10F,这样,就能保证复位信号高电平持续时间大于2两机器周期,即可使系统的复位。设计电路如图3.7所示。 图 3.7 复位电路图3.2.3 按键电路设计按
39、键在单片机应用系统中,除了完成基本的功能外,另一个重要的任务是设计优秀的人机交互接口。人机交互接口用来实现控制命令及数据的输入,并且将系统运行信息反映给操作者。键盘以按键的形式来设置控制功能或数据,是人机交互的最基本途径。在键盘中,按键输入状态本质上是一个开关量。常用的两种键盘:独立式按键和矩阵式按键。其中独立式按键比较简单,适合于较少开关量的输入场合;而矩阵式键盘则适合输入命令或者数据较多、功能复杂的系统。采用矩阵式键盘结构可以最大限度地节省单片机的引脚资源,因此应用十分广泛。按键为常开型按钮开关,可分为两大类:一类是触点式开关按键,另一类是无触点式开关按键。由于前者价格低廉,后者使用时间长
40、。在本次实验中使用触点式开关。按键输入电路由按键K1 和K2 组成。这2 个按键分别连接到单片机的输入引脚P3.2和P3.3。键K1 为“升温”控制键;K2 为“降温”控制键,分别对应于2 个LED灯。按键用于设置两位温度值,而两个LED灯则由于模拟空调机的制冷和制热。当按键K1、K2 按下时,相应的单片机输入引脚P32 和P33 只能监测到低电平。因为P2 和P33 只高电平有效所以需要要将按键与一个反相器串接后再与单片机相连。按键电路设计如图3.8所示。图 3.8 按键电路设计3.2.4 电机驱动电路L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是
41、:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通
42、过单片机给予L298N电路PWM信号来控制小车的速度,起停。图 3.9 电机驱动电路3.2.5 显示电路设计显示器是单片机常用的功能单元之一,显示器的主要功能是为单片机系统使用者提供必要的单片机工作信息,或者提供工作状态的提示信息,显示器的工作是由单片机通过显示接口驱动的。以往的测控仪器的显示装置大多采用LED数码管,这种显示器显示的信息量小、人机交互性差、形式单一。而液晶显示器具有功耗低、质量小及可编程驱动等特有优点。液晶显示器不仅可以显示数字,字符而且能显示文字和图像,人机交互界面更加友好。本系统的显示部分选用LCD1602液晶显示器,该液晶为5V电压驱动,带背光功能,可通过一个滑动变阻器
43、进行调节,可显示两行,每行有16个字符。但是不能显示汉字,内置有128个字符的ASCII字符集字库。只有并行接口,无串行接口。LCD1602液晶显示器功耗低、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。LCD1602型液晶接口说明如表3.3所示:表3.3 1602液晶接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据口2VD电源正极10D3数据口3VO晶显示器对比度调整11D4数据口4RS数据/命令选择端12D5数据口5R/读写选择端13D6数据口6E使能信号14D7数据口7D0数据口15BLA背光电源正极8D1数据口16BLK背光电源负极本次设计中L
44、CD1602接口说明如下:(1)液晶1,2端为电源;15,16为背光电源。(2)液晶3端为液晶对比度调节端,通过一个10千欧姆的滑动变阻器然后接在地来调节LCD1602的对比度。第一次使用的时候,液晶上在通电的状态下,调节滑动变阻器直至液晶的第一行显示出黑色小格为止。(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P2.5口。(4)液晶5端为读/写选择段,因为我们不从液晶读取任何数据,只向其写入命令和显示数据,因此始终选择为写状态。(5)液晶6端为使能信号,是操作时必需的信号,接单片机的P2.4口。电路连接如图3.11所示:图 3.10 显示电路设计3.2.6 测速电路设计数字编码
45、器用于测量机器人轮子的转速。通过数字编码器可以改善机器人的运动性能,如走迷宫或按照地图路径等方式的机器人运动等。数字编码器套件安装在轮子的旁边,利用轮子上的小孔做周期性计数来测量电机的转速。数字编码器的输出信号线始终是中间线,安装在左边的数字编码器的GND在上引脚,VDD在下引脚:安装在右边的数字编码器的GND在下引脚,VDD在上引脚,如图3.2所示。VDD SIG 右数字编码器GND 左数字编码器SIG GND VDD 图 3.12 数字编码器引脚说明VDD 数字编码器由一个红外发射器和一个红外接收器组成,红外发射器以7.8KHz的频率发射红外光。红外光照射到前方遮挡物上将反射回来,通过红外接收器检测是否有红外光反射回来,有则信号线引脚至低电平,没有则信号线引脚至高电平。可通过计数器统计传回信号的下降沿个数,如有n个下降沿,则说明轮子转过了n个小孔。小车的轮子上有8个小孔,所以接受到8个下降沿表明轮子转一圈。设轮子直径为D,t为记录n个下降沿所需的时间,轮子的转速为V,则转速与数字编码器信号的转换关系为:V=Dn/8t。左、有数字编码器与单片机的电路连接如图所示。左数字编码器SIG GND VDD
限制150内