




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计报告(论文)题目: 灭火机器人车体 驱动的设计 毕业设计报告(论文)诚信承诺本人承诺所呈交的毕业设计报告(论文)及取得的成果是在导师指导下完成,引用他人成果的部分均已列出参考文献。如论文涉及任何知识产权纠纷,本人将承担一切责任。 学生签名:日 期:东南大学成贤学院毕业设计报告灭火机器人车体驱动的设计摘 要随着社会的进步,机器人技术的不断发展使得机器人的应用领域不断扩展,从以往的多应用于工业领域而渐渐融入人们的生活。消防机器人作为消防部队中的新兴力量,加入了抢险救灾的行列。而为了更好的为生产生活服务,灭火机器人技术的优化势在必行。本文灭火机器人是以p89v51rd2单片机为控制核心,加以直流电机、寻火源传感器,电源电路以及其他电路构成。系统通过对寻火源传感器采集的信息来控制小车的运动,找到火源并进行灭火。由单片机通过io口控制小车的前进和停止。小车停止后,由电机带动灭火风扇进行灭火。同时采用霍尔传感器测定小车运动的速度,并在数码管上显示。关键词:p89v51rd2 直流电机 寻火源传感器 霍尔传感器body-driven design of fire-fighting robotabstractalong with the progress of the society, the development of robot technique make applied realm of the robot expand continuously, from the industry realm which was much applied in to melt into the peoples life gradually, the fire-fight robot, which is the new power within the fire fight troops, join to rob the insurance relief. and for the sake of being better in the service of life, the optimization of the fire-fight robot technical is imperative.this fire-fighting robot is based on p89v51rd2 microcontroller, dc motors, photoelectric sensors, power supply circuit and other circuits in addition. system control the robots movement to find the fire source and put out the fire through the information of the photoelectric sensors collected. the microcontroller control the robot forward and stopped through io port .after the robot stopped, the fan driven by motor for fire fighting. at the same time the robots movement speed is measured by the hall sensor, and displayed in the digital tube.keywords: p89v51rd2;dc motor;photoelectric sensor;hall sensor目 录第一章 绪 论11.1问题的提出11.2相关背景情况介绍11.3设计思路和方法11.3.1系统设计指标21.3.2系统设计的难点21.4本论文结构安排2第二章 系统设计32.1整体方案设计32.2系统组成32.3方案论证与比较32.3.1单片机的方案论证与比较32.3.2电源模块的方案论证与比较32.3.3测速模块的方案论证与比较42.3.4显示模块的方案论证与比较42.3.5车体设计的方案论证与比较52.3.6电机驱动模块的方案论证与比较5第三章 单元电路设计63.1主控制器63.1.1单片机概述63.1.2单片机p89v51rd263.2电源模块73.3测速模块73.3.1霍尔器件73.3.2霍尔传感器44e概述83.3.3霍尔传感器测速原理83.3.4传感器电路设计83.4显示电路的设计93.4.1数码管动态显示原理93.4.2数码管显示电路93.5电机驱动电路的设计93.5.1 l298n概述93.5.2电机驱动电路103.5.2隔离电路113.6灭火风扇驱动电路113.7报警电路113.8寻火源传感器模块12第四章 软件的设计134.1软件开发平台介绍134.2主程序流程图134.3定时器/计数器134.3.1定时器/计数器134.3.2定时器程序154.4 pwm产生程序154.5测速程序16第五章 制作与调试185.1制作流程185.2调试185.3调试结果18第六章 结 论19致 谢20参考文献(references)21附录一 原理图22附录二 pcb图23附录三 实物图24附录四 程序代码2528第一章 绪 论1.1问题的提出最近几十年中,大量的高层、地下建筑与大型的石化企业不断涌现。由于这些建筑的特殊性,发生火灾时,不能快速高效的灭火。为了解决这一问题,尽快救助火灾中的受害者,最大限度地保证消防人员的安全,消防机器人的研究被提到了议事日程。而机器人技术的发展也为这一要求的实现提供了技术上的保证,使得消防机器人应运而生。1.2相关背景情况介绍国外消防机器人的发展。国际上较早开展消防机器人研究的是美国和前苏联。稍后,英国、日本、法国、德国等国家也纷纷开始研究该类技术。目前已有很多种功能不同的消防机器人用于救灾现场。日本投入应用的消防机器人最多。早在上世纪60年代,日本就研制了不少于5种型号的自动驾驶灭火机器人,分别配备于大阪、东京、高石等消防部门,这类机器人以内燃机或电动机作为动力,配置驱动轮或履带式行驶机构,能爬坡、越障碍;装有较大喷射流量的消防枪炮,能作俯仰和左右回转;装有气体检测仪器和电视监视设备;通过电缆或无线控制,控制距离最大为100米。美国已研制出能依靠感觉信息控制的救灾智能化机器人,如1994年用于探测阿拉斯加州斯珀活火山的“但丁2号”,抓获杀人犯的rin-9型遥控消防机器人等。亚利桑诺州消防部门研制的消防机器人,装有破拆工具和消防水枪,能一边破拆,一边喷射灭火。美国智能化保安公司的ro-veh遥控消防车已装备于中部和西部消防部门,配备履带式或轮式行驶机构,能抓楼梯,通过电缆供电或自携蓄电池供电。我国从八十年代末期开始消防机器人的研究,公安部上海消防研究所等单位在消防机器人的研究中取得了大量的成果,“自行式消防炮”已经投入市场,“履带轮式消防灭火侦查机器人”也于2000年6月通过了国家验收。但是,我国消防机器人的研究还处在初级阶段,还有许多有待研究的问题。比如,高层建筑发生火灾时,消防人员不可能在短时间内到达高处的火灾发生地点,在地下建筑中,由于环境比较潮湿,烟气不易扩散,消防人员不容易快速地判定火源位置;而在石化企业发生火灾时,将产生大量的毒气,消防人员在灭火时极易中毒。研制能够用于这些场合的灭火机器人协助消防人员进行火灾的定位和灭火,将有极大的社会意义和经济价值。1.3设计思路和方法本论文设计了以p89v51rd2单片机作为主控制器,l298n作为直流电机的驱动芯片,通过霍尔传感器测定速度的方案。所做工作和确定的成果如下:1、以单片机p89v51rd2为核心拟定了系统组成方案,完成了系统的电路硬件总体设计,包括供电模块、单片机系统、电机驱动系统、火焰检测系统以及灭火系统和各个模块间接口。2、完成主要功能模块的程序设计,分别完成对各个功能模块的程序进行调试工作。1.3.1系统设计指标本课题是关于灭火机器人车体驱动的设计,通过学习掌握小车运动控制的基本原理,完成主电路的分析和设计。在充分理解小车运动控制的原理后,采用protel 软件画出电路原理图和pcb版图。本课题要求主要完成一下内容:1、小车能根据趋光头反馈的信息运动找到火源。2、灭火的总时间不超过5分钟。3、能够测量运动速度。1.3.2系统设计的难点1、传感器部分:这部分的功能是通过传感器检测到火源,把信息反馈给单片机,由单片机控制机器人执行灭火任务。2、电机驱动部分:这部分的功能是能根据单片机的指令来执行寻火、灭火等任务。3、测速部分:这部分的功能是检测灭火机器人的运动速度,并用数码管显示测得的实时运动速度。1.4本论文结构安排本文结构以灭火机器人的车体驱动设计为主线,从硬件电路设计、软件设计等来进行阐述。第一章为绪论,介绍了灭火机器人的背景和一些软硬件指标,是熟悉课题必经之。第二章为系统设计,介绍了整个系统的构成,以及几个重要模块的方案论证。第三章为单元电路设计,是本论文的核心,介绍了电源模块、显示模块、测速模块、单片机系统模块的电路设计及其原理。第四章为软件设计,介绍了测速程序、中断程序、显示程序、电机驱动程序的设计及其流程图。第五章为制作与调试,介绍了软硬件调试方法与工具。第六章为结论,介绍此系统的一些结论及其一些不够理想的地方。第二章 系统设计2.1整体方案设计课题要求设计一个简易灭火机器人模型,能到指定区域进行灭火工作。小车必须通过内部设备采集现场环境情况进行分析并做出相应的动作,以达到小车智能灭火的目的。根据课题设计的要求和课题目标,制定出了系统的设计方案,并通过比较论证,选择合适的器件。最终确定手工制作小车,采用p89v51rd2单片机作为主控制器,l298n作为直流电机的驱动芯片,并用数码管显示运动速度的设计方案。2.2系统组成根据灭火机器人的功能要求,设计的灭火机器人主要由控制器、显示模块、驱动模块、测速模块、灭火模块、报警模块以及电源模块等组成。本系统的方框图如图2-1所示。图2-1 系统方框图2.3方案论证与比较2.3.1单片机的方案论证与比较方案一:采用可编程逻辑器件cpld作为控制器。cpld可以实现复杂的逻辑功能、规模大、密度高、体积小、稳定性高、io资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。方案二:控制器的核心采用凌阳公司生产的16位单片机spce061a。spce061a内置2kb sram、内嵌32kb的flash、2路pwm输出,8路ad输入,32路i/o口,因此基本无需外部扩展;内置音频模块;在线调试和烧写程序只需一根串口线与计算机25针并口连接,无需仿真器。方案三:采用p89v51rd2单片机,p89v51rd2是一款80c51微控制器,包含了64kbflash和1024字节的数据ram。p89v51rd2比较简单可靠,编程容易。本系统不需要复杂的逻辑功能,对数据的处理速度要求也不是很高。且从使用及经济的角度考虑,选择方案三。2.3.2电源模块的方案论证与比较由于本次系统设计中有单片机最小系统模块、传感器模块、处理电路模块等都需要有5v电源,所以电源在本系统中有着比较重要的地位,它是整个系统能够正常工作的保证。方案一:采用12v蓄电池为系统供电,经过三端稳压集成芯片7805的电压变换得到5v的电压,为单片机和传感器供电。方案二:采用mc34063降压变换。mc34063是单片dc/dc变换器,只需配用少量的外部元件,就可以组成升压、降压、电压反转dc/dc变换器。该系列变换器的电压输入范围为340v,输出电压可以调整,输出开关电流可达1.5a;工作频率可达100khz,内部参考电压精度为2。虽然mc34063效率高,工作稳定,但是电路设计较为复杂,电器元件的参数选择困难,尤其是电感选择是最困难的。综上所述:选择方案一,采用三端集成芯片7805输出稳定电压。2.3.3测速模块的方案论证与比较由于本次系统设计是要完成速度的测量,其实就是完成转速的测量。传感器就是要完成测量转速的任务,它是整个系统的关键模块。方案一:采用测速发电机,测速发电机的原理就是把转速信号转换成电压信号,然后单片机采集电压信号即可完成转速的测量。它运行可靠,但体积大,精度低,且由于测量值是模拟量,必须经过a/d转换后才能读入计算机。方案二:采用旋转编码器,编码器每旋转一周,就会输出特定数目的脉冲。在单位时间内记录读取到旋转编码器输出的脉冲数,即可得到旋转编码器转动的圈数。虽然旋转编码器精度高,使用简单。但是价格太贵,安装不方便。方案三:采用红外发射接收管,把发射管固定在车轮上,接收管固定在支架上。当车轮转到某个特定位置时,接收管收到发射管的信号,产生脉冲。这样就能以计脉冲的方式来测速。此法原理简单,但是精度不高,容易丢脉冲,固定发射接收管较为困难。方案四:采用霍尔元件,通常将永磁铁固定在背侧旋转体上,当它转到与霍尔元件正对位置时,输出的霍尔电压最高。根据这个原理,通过电子电路计出每分钟霍尔器件输出高脉冲的个数,即可得到被测旋转体的转速。在被测旋转体上安装的磁铁个数越多,转速测量的分辨率就越高。此法安装简单,价格便宜,容易测量。综上所述:选择方案四,采用霍尔元件。2.3.4显示模块的方案论证与比较根据题目的要求,需要在车上显示小车当前运动的速度。显示模块成了不可或缺的一个模块。方案一:数码管。8段数码管属于led发光器件的一种,分为8段:a、b、c、d、e、f、g、dp,其中dp是小数点位,还包括一个公共端com端。从电气上,8段数码管又分为共阴和共阳两种。共阴指数码管的公共端接负极,而各段接正极;共阳则正好相反。数码管显示虽然简单编程容易,但是它只能够显示简单的数字和字母,而且功耗较大。方案二:1602液晶模块也是一种显示器件,具有显示形式丰富,显示质量高,接口简单,体积小重量轻,功耗小的特点。液晶显示模块根据显示方式和内容的不同可以分为,数显液晶模块,液晶点阵字符模块和点阵图形液晶模块三种。数显液晶模块是一种段型液晶显示器件和专用的集成电路组成一体的功能部件,只能显示数字和一些标识符号。液晶点阵字符模块是有点阵字符液晶显示器件与驱动器。控制器等装配而成,可以显示数字和西文字符,但不能显示图形。点阵图形液晶模块的点阵像素连续排列,行和列在排布中均没有空隔。因此不仅可以显示字符,而且也可以显示连续完整的图形。1602操作方便,带有内置的192种字符。显示时只要按照其时序要求初始化好显示方式,并把要显示的数据写入相应的位置ram就可以了。lcd1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样就显示出图形。液晶显示器具有厚度薄、适于大规模集成电路直接驱动、易于实现全彩色显示的特点。考虑到本系统进行显示的内容仅为数字,故采用方案一数码管显示便可满足条件。2.3.5车体设计的方案论证与比较方案一:购买玩具车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的来说,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能方便迅速地实现原地保持坐标转90度甚至180度的弯角。再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。而且这种电动车一般都价格不菲。方案二:自己制作电动车。经过反复考虑论证,制定了左右两轮分别驱动,前后万向轮转向的方案。即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,前后装两个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现小车的原地旋转。在安装时,不把两个万向轮装在两个平面上。当小车前进时,左右两驱动轮与前万向轮形成三点结构。这种结构使得小车在前进时比较平稳。对于车架材料的选择,经过比较选择了厚实的塑料车架,经济又美观。综上考虑,选择方案二。2.3.6电机驱动模块的方案论证与比较方案一:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉、在实际应用中应用广泛但是这种电路工作性能不够稳定。方案二:采用专用芯片l298n作为电机驱动芯片。l298n是一个具有高电压大电流的全桥驱动芯片,它响应频率高,一片l298n 可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。综上所述,选用方案二。第三章 单元电路设计3.1主控制器3.1.1单片机概述单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。早期的单片机都是8位或4位的。其中最成功的是intel的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了mcs51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着intel i960系列特别是后来的arm系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑等里面都可以看见它。3.1.2单片机p89v51rd2图3-1单片机p89v51rd2p89v51rd2是一款80c51微控制器,是80c51的核心单元;单一+5v的工作电压,40mhz时钟频率;64kb的片内flash程序存储器和1024字节的数据ram。具有isp(在系统编程)和iap(在应用中编程)功能。通过软件或isp选择支持12时钟(默认)或6时钟模式;spi(串行外围接口)和增强型uart,pca(可编程计数器阵列)具有pwm和捕获/比较功能。4个8位i/o口,含有3个高电流p1口(每个i/o口的电流为16ma);3个16位定时器/计数器;可编程看门狗定时器(wdt);8个中断源,4个中断优先级;2个dptr寄存器。低emi方式(ale禁能);兼容ttl和cmos逻辑电平;掉电检测。低功耗模式,外部中断唤醒、空闲模式;pdip40、plcc44和tqfp44的封装。本系统设计的51最小系统板操作简单,使用方便。最小系统板电路示意图如图3-1所示。3.2电源模块本系统采用12v的蓄电池,经过7805进行电压变换后得到5v电压,给单片机、电机驱动,电机测速和显示等电路供电。其电路原理图如图3-2所示。图3-2 直流5v电路图电路中常在输入端接入电容c2是为了抵消输入引线感抗,消除自激。同时,在输出端接上电容c4是为了除集成稳压器的输出噪声,特别是高频噪声。3.3测速模块3.3.1霍尔器件霍尔器件是一种磁传感器,是半导体材料制成的一种薄片,它是一种磁敏感器件,当它处于磁场中时,会产生电动势。在垂直磁场平面方向上施加外磁场、在沿平面上外加电场,就使电子在磁场中运动,结果在器件的两个侧面上产生霍尔电势,霍尔电势的大小和外磁场以及电流的大小成正比。用它们可以检测磁场及其变化,可在各种与磁场相关的场合中使用。霍尔器件以霍尔效应为工作基础。霍尔效应:是磁电效应的一种,这一现象是美国物理学家霍尔(e. h. hall,18551938)于1879年在研究金属的导电机构时发现的。当电流垂直于外磁场通过导体时,在导体的垂直于磁场和电流方向的两个端面之间会出现电势差,这一现象便是霍尔效应。这个电势差也被叫做霍尔电势差。霍尔元件具有许多优点,它们结构牢固,体积小、重量轻、寿命长、安装方便、功耗较小、频率高、耐震动、不怕灰尘、油污等污染和腐蚀。3.3.2霍尔传感器44e概述44e霍尔传感器是一种开关型霍尔传感器(简称霍尔开关),霍尔开关是一种新型集成电路无触点开关,其外形尺寸核结构图如图3-3所示。图中1、2、3表示霍尔开关的三个引出端,分别为电源u+,接地gnd和输出out。图3-3 44e内部结构框图其工作原理就是:在1,2管脚之间输入电压uc,经稳压器稳压后加在霍尔片的两端。由霍尔效应可知当霍尔片处在磁场中时,霍尔电势发生器就会有一个霍尔电压uh输出,该电压uh差分放大器放大后,送至施密特发生器进行整形,当施加的磁场达到施密特发生器的工作点时,施密特电路翻转,使oc门打开。其主要用途:转速检测、位置检测、运动平台的零点开关。其特点是:结构简单,塑料外壳,体积小;需要一个小磁铁配合使用;开关型元件,集电极开路输出;无触点,寿命长;开关速度快,工作频带宽(dc 0100khz)。3.3.3霍尔传感器测速原理本系统是要完成测速功能,其实只要测出转速,在乘以周长,我们就可以知道速度。也就是说测速本质上来说就是测转速。通常我们将磁铁固定在被测旋转体上,我们可以用磁钢代替磁铁。当它转动到与霍尔器件正对位置时,输出的霍尔电压最高。根据这个原理,通过电子电路计出每分钟霍尔器件输出高脉冲的个数,即可得到被测旋转体上的转速。在被测旋转体上所安装的磁铁个数越多,转速测量的分辨率就越高。霍尔传感器测量车轮转速的工作原理如图3-4。图中所示在转动体安装单个永久磁铁的形式,转速n就是uh的频率乘以60;若安装有多个磁铁,那么转速n就是uh的频率除以永磁铁的个数再乘以60。3.3.4传感器电路设计传感器电路设计比较容易,1管脚接vcc,2管脚gnd,1、3管脚之间接一个电阻,3管脚输出。其电路图如图3-5所示。 图3-4 霍尔元件测速原理图 图3-5 霍尔元件接线图3.4显示电路的设计3.4.1数码管动态显示原理数码管显示方法分为静态显示和动态显示两种。静态显示就是每个数码管的8段输入各自分开,其com口电平一直有效。它的优点是控制方便,显示稳定,但要占用较多的i/o口。一般在数码管较多的情况下都采用动态显示。在有多个数码管的情况下,数码管的段控制线是并联的,如果同时导通,那么所有的数码管就都显示相同的内容,这样没有什么用处。解决的办法是让数码管轮番显示,且每次只导通一个,而段码也同步切换,这样就可以可看到数码管循环显示,并且每一位都可以显示不同的内容。将循环的频率逐渐加快,到一定程度,由于人眼的视觉残留现象,就产生各个数码管同时显示,而且各位都显示着不同的内容的感觉。这就是经典的数码管动态显示原理。3.4.2数码管显示电路根据数码管的动态显示原理,我们用了74als138来选择每次需要导通的数码管,用单片机控制74als138的三个输入端ma、mb、mc ,这样就能保证每次只有一个数码管导通。sega 、segb、segc、segd、sege、segf、segg、segdp是控制数码管显示字形的,分别由单片机的p0.0p0.7口控制。为了使显示工作由中断“自动进行”,我们设立一个4字节的显示缓冲器,把需要显示的字形预先存放到这个缓冲区。这样主程序就可以转去做其他任务,剩下的工作由中断来完成。指针从显示缓冲器中选择一个字节的内容送到p0口,就控制了笔画;同时,位显示控制码预先做成4字节常数表,在这个表中“同步”选取一个码送到p3口,就完成了显示位的选择。3.5电机驱动电路的设计3.5.1 l298n概述cpu输出pwm信号,电压为脉冲形式。由于输出的电流很小,直接将cpu的输出和直流电机的输入相连是不能使电机转动的。使用电机驱动模块的目的就是将cpu的输出电流放大,从而获得足够大的力矩,驱动电机转动。本设计选用的是意法半导体联合公司(sgs-thomson)生产的电机驱动芯片l298n。l298n为含有15个引脚的直插式芯片,其主要性能:(1)体积小(19.6mm17.5mm5mm);(2)操作电压范围大:操作电压vs范围从446v;(3)抗干扰能力强:低于1.5v的电压均视为低电平,对噪声有较强的抑制作用;(4)配备散热片,减少温度对电子元器件的影响;(5)逻辑电平vss为+5v;(6)工作效率高:1块l298n可以驱动2台电机,故每辆小车只需配备1块l298n;(7)输出电流大:l298n可以将电流放大到4a。l298可驱动2个电动机,out1,out2和out3,out4之间可分别接电动机,本实验装置我们选用驱动两台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。ena,enb接控制使能端,控制电机的停转。表3.1是l298n功能逻辑图。表3.1 l298n逻辑功能图enain1in2运转状态0停止110正转101反转111刹停100停止in3,in4的逻辑图与表1相同。由表1可知ena为低电平时,输入电平对电机控制起作用,当ena为高电平,输入电平为一高一低,电机正转或反转。同为低电平电机停止,同为高电平电机刹停。3.5.2电机驱动电路图3-6电机驱动电路我们采用电机驱动芯片l298n作为电机驱动,l298n的5、7、10、12四个引脚接到单片机p1.0p1.3口,通过对单片机的编程就可以实现两个电机的正反转。驱动电路的设计如图3-6所示。3.5.2隔离电路为了防止驱动电机产生较大的电平干扰,需用光耦对单片机系统与驱动电路隔离。隔离电路如图3-7所示。图3-7 光耦隔离电路3.6灭火风扇驱动电路灭火风扇的驱动电压为+5v,为了便于单片机控制,用三极管9013来控制风扇的转停。灭火风扇的驱动电路如图3-8所示。在uin处接单片机的io口,通过io口的输出高低电平可以实现三极管的导通与关断,从而实现对灭火风扇的开关控制。3.7报警电路 图3-8灭火风扇驱动电路 图3-9 报警电路当灭火机器人找到火源后,会产生声音报警,同时启动风扇进行灭火,其中的声音报警电路如图3-9所示。控制信号为“speaker”,接至单片机的i/o口的p2.4脚。当“speaker”为高电平时,三极管基极为高电平,此时,三极管处于截止状态,蜂鸣器不工作;当“speaker”为低电平时,三极管处于放大工作状态,驱动蜂鸣器,开始发声,蜂鸣器工作。3.8寻火源传感器模块在灭火机器人中,寻火源传感器是一个不可或缺的部分,由于本设计以灭火机器人的车体驱动为主,寻火源传感器部分我用了硅光电池来模拟实现。硅光电池是一种直接把光能转换成电能的半导体器件。它的结构很简单,核心部分是一个大面积的pn结,把一只透明玻璃外壳的点接触型二极管与一块微安表接成闭合回路,当二极管的管芯(pn结)受到光照时,你就会看到微安表的表针发生偏转,显示出回路里有电流,这个现象称为光生伏特效应。硅光电池的pn结面积要比二极管的pn结大得多,所以受到光照时产生的电动势和电流也大得多。硅光电池实际就是光敏二极管,不过光敏面积做得比较大。必须反偏置工作;也就是反向给它一个电压,按二极管特性是不“导通”的,即阻值很大,但随着接受光亮度愈大,将产生反向的光电流愈大。所以,用(指针式)万用表电阻档测量会发现光一照,阻值会变小。当有光照在硅光电池上时,表示机器人找到火源,此时通过放大电路和比较电路后,把信号传给单片机处理,进而控制机器人的运动。其中信号处理电路如图3-10所示。图3-10 信号处理电路硅光电池是一种恒流源的信号源,理论上内阻无穷大,必须短路才能获得最大光电流。由图3-10可见:运放反向接阴极,是反偏置,相当于短路。所获得电流经1m电阻放大。后面是电压跟随器,目的主要是变阻抗。当有激光照在硅光二极管上时,lm358的输出会产生较大的变化,记录下最大值。电压比较器的基准电压设定为该最大值,当达到最大值时,电压比较器的输出由低电平变为高电平,经过一级与非门后得到的负脉冲,作为外部中断送给单片机,使小车停止运动并启动风扇灭火。第四章 软件的设计本章主要介绍此次毕业设计使用的编程工具vision2 ide,主要的控制模块程序以及编写相应的控制程序,主要是寻火源控制程序和灭火控制程序。4.1软件开发平台介绍编程语言选用c语言。汇编语言作为传统的嵌入式系统的编程语言,具有执行效率高的优点,但其本身是低级语言,编程效率较低,可移植性和可读性差,维护极不方便。而c语言以其结构化,容易维护,容易移植的优势满足开发的需要。mcs-51是支持c语言编程的编译器,它主要有两种:franklin c51编译器和keil c51编译器,我们简称c51。c51是专为mcs-51开发的一种高性能的c编译器。由c51产生的目标代码的运行速度极高,所需存储空间极小,完全可以和汇编语言媲美。keil软件公司提供的专用8051嵌入式应用开发工具套件,可以编译c源文件、汇编源文件、连接定位目标模块和库、生成并调试目标程序,为实际的每一种8051及其派生系列产品生成嵌入式应用系统。keil c51交叉编译器兼容ansi(美国国家标准协会)c编译器,专用于为8051微控制器系列生成快速紧凑的目标代码。使用keil 8051开发工具套件,以工程的形式组织各种文件,工程开发周期与任何其他软件开发工程的周期大致相同。vision2 ide是keil公司提供的用于开发mcs-51系列芯片的汇编语言与c程序的集成开发环境,是标准的windows应用程序,同其他windows应用程序一样,vision2 ide环境包括菜单、工具条、编辑及显示多种窗口。vision2 ide支持使用的keil c51工具,包括c编译器、宏汇编器、连接定位器、目标代码到hex的转换器。4.2主程序流程图根据题目要求,程序要能根据寻火源传感器反馈的信息,驱动电机去找到火源并启动灭火风扇灭火。整个过程中还要求能够测得小车的运动速度。主程序流程图如图4-1所示。4.3定时器/计数器4.3.1定时器/计数器定时器/计数器0和1定时器0和定时器1配置成定时器或事件计数器,用作定时器功能时,每经过一个机器周期,寄存器加1。因此,可以将一个机器周期看作计数周期。由于一个机器周期由6个振荡周期组成,所以,定时器的计数率为1/6振荡频率。用作计数器功能时,每当外部计数管脚,t0或t1,发生一次1到0的跳变,寄存器加1。此功能中,外部输入脚每个机器周期被采样一次。图4-1 主程序流程图当在一个周期内采样为高而下一个周期内采样为低时,计数值加1。新的计数值在检测到跳变的周期的下一周期出现在寄存器中。由于识别1到0的跳变要占用2个机器周期(12个振荡周期),因此最大计数速率为1/12振荡频率。外部输入信号的占空比不受限制,但为了保证给定电平能在改变之前被检测到,外部输入信号的状态至少要保持一个完整的机器周期。除了定时器或计数器的选择外,定时器0和定时器1还有4种工作模式可供选择。定时器和计数器功能通过特殊功能寄存器tmod的c/t位来选择。两个定时器/计数器都有4种工作模式,由tmod的两位(m1,m0)进行选择。两个定时器/计数器的模式0,1和2相同,模式3不同。定时器2定时器2是一个16位的定时器/计数器,可用作事件定时器或事件计数器,由特殊功能寄存器t2con的c/t2位选择。定时器2有4种工作模式:捕获、自动重装(向上或向下计数)、时钟输出和波特率发生器。需要使用寄存器t2con和t2mod。定时器/计数器分配本系统要完成测速及显示,根据系统需要我们可以设置成定时器0用来完成计数功能,定时器1来完成定时功能。4.3.2定时器程序定时器程序编写主要分成两大模块,一个是初始化程序,另一个是中断服务程序。初始化程序主要完成选择定时器的工作模式,及初值,中断服务程序主要是完成一些标志位的设置。定时器0初始化程序代码及注释如下:void init_ timer ()tmod&=0xf0; tmod|=0x06; /t0 无gate 计数 ,方式2tl0=0xff; /置初值th0=tl0;et0=1; /允许t0中断ea=1; /cpu开放中断tr0=1; /启动定时器t0定时器1初始化程序和上面初始化程序差不多。4.4 pwm产生程序pwm(pulse width modulation)控制就是对脉冲的宽度进行调制的技术。pwm技术是直流电机调速中最为有效的方法。另外的方法可以通过控制电机的电流来调速,但是功耗很大,发热很严重。pwm调速的基本思想是:以通过电机的平均电压和电流作比较,40%的时间接通电源的电机比20%的时间接通电源的电机要大。当电机没有接通电源时,它完全不消耗能量这一点正是其高效率的原因。这一技术是降低直流电机功耗的好方法,它使驱动芯片和电机的发热减少,从而电池也可以用得更久。有两种方法产生pwm信号:一种方式是在频率恒定的前提下产生占空比不同的脉冲;另一种是在占空比恒定的前提下产生频率不同的脉冲。工程中经常使用的是固定频率下改变占空比的pwm技术。本设计中对pwm的要求不高,所以采用软件延时的方法即可。程序代码如下所示:void delay(int t) /延时程序 for(j=0;jt;j+) for(k=0;k10;k+);main() while(1) p1=0x0e; delay(100); p1=0x0d; /输出一路pwm波 delay(70); p1=0x0b; delay(100); p1=0x07; /输出另一路pwm波 delay(70);4.5测速程序在测速算法中我们采用的是法测速。在一定的时间内测取传感器输出的脉冲个数,用以计算这段时间内的平均的转速,称作法测速。把除以就可得到输出脉冲的频率/,所以又称频率法。车轮每转一圈共产生z个脉冲,把除以z就得到车轮的转速,在习惯上,时间,以秒为单位,而转速是以每分钟的转数r/min为单位,则小车的转速n=60/z。void t0srv() interrupt 1counter+; /每来一个脉冲计数一次void t1srv() i nterrupt 3tl1=0x00;th1=0xee; /1/200 秒if(+timer=200)timer=0;xtim=1; /每隔一秒发速度更新标志void display(void) speeder=15*counter ; /由测得的脉冲计算转速的公式 counter=0; /脉冲计数清零 dispbuf0=tablespeeder%10; / 数据个位数送数码管显示 dispbuf1=table(speeder/10)%10; / 数据十位数送数码管显示 dispbuf2=table(speeder/100)%10; / 数据百位数送数码管显示main() counter=0; speeder=0; init_timer(); int0_init(); while(1) if(xtim) xtim=0; /标志位清零 display(); 第五章 制作与调试5.1制作流程整个系统制作的主要流程如图5-1所示。图5-1 制作流程图在整个系统中硬件电路设计和焊接是制作的重点和难点,若此环节出现问题,整个系统就不能够正常运行起来。在做完各个模块电路后都要进行调试,以方便完成整机的调试,保证整个系统的正常运行。5.2调试系统调试可以分为硬件调试和软件调试两个方面。硬件调试。首先对照电路设计原理图查看硬件电路的走线有没有问题,为了方便硬件电路的检查和美观,在焊接之前就要对整个电路有一个合理的布局,注意各元器件之间的连接。其次查看电路的反面有没有存在虚焊或者短接的情况。然后通电测试各芯片是否正常工作。需要与软件结合的硬件电路,可以先编写一个简单的程序测试硬件电路的可靠性。软件调试。软件调试分模块分别进行调试。编写每个模块的程序,测试单个模块是否能实现预想的功能。若出现没有调试成功,可以根据观察到的现象来修改程序。单独模块调试成功后,把所有的硬件电路连接好,烧录完整的程序对整机进行调试。调程序是一个需要耐心和细心才能做好的工作。遇到问题冷静分析,其实也是不难的。5.3调试结果经过硬件调试和软件调试,作品基本达到设计要求,在规定时间内,能迅速找到火源并报警,同时启动灭火风扇进行灭火。过程中能测得小车的运动速度,并显示在数码管上。第六章 结 论致 谢参考文献(references)1ting l. chien,jr h. guo,kuo l. su,sheng v. shiaudevelop a multiple interface based fire fighting robotdtaiwan,20072r. c. luo,k. l. su,k. h. tsaiintelligent security robot fire detection system using adaptive sensory fusion methoddthe ieee international conference on industr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论