智能小车毕业论文范文.doc

上传人:文库蛋蛋多 文档编号:3945054 上传时间:2023-03-28 格式:DOC 页数:73 大小:4.32MB
返回 下载 相关 举报
智能小车毕业论文范文.doc_第1页
第1页 / 共73页
智能小车毕业论文范文.doc_第2页
第2页 / 共73页
智能小车毕业论文范文.doc_第3页
第3页 / 共73页
智能小车毕业论文范文.doc_第4页
第4页 / 共73页
智能小车毕业论文范文.doc_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《智能小车毕业论文范文.doc》由会员分享,可在线阅读,更多相关《智能小车毕业论文范文.doc(73页珍藏版)》请在三一办公上搜索。

1、灭火机器人的设计摘要面对诸多恶劣的工作环境(如灭火、救援等),为了有效的避免人员伤亡,就需要采用智能小车去现场来完成相应的任务。因此研究和开发智能小车引导控制系统具有十分重要的意义。本系统采用STC89C51单片机作为核心控制芯片,设计制作了一款通过红外光电传感器检测路径信息、红外火焰传感器检测火源的智能寻迹灭火小车。本系统由单片机控制模块、寻迹传感器模块、驱动电机模块、火源传感器模块、风扇模块、电源模块等组成。实际应用表明,该小车可以在专门设计的场地上实现自主发现火源,自主识别路线,自主行进接近火源并灭火,最终完成灭火的任务。关键词:单片机 ,小车,引导控制 ,传感器The design o

2、f the fire-fighting robortAbstractConfronted with so many bad working environment (such as fire fighting, rescue etc), in order to effectively avoid casualties, need to use intelligent go by car scene to complete relevant tasks. Therefore, the research and development of intelligent car guide contro

3、l system has the extremely vital significance. This system uses STC89C51 as the core control chip, design and make a new electric sensor detection by infrared sensor information, infrared flame path of intelligent tracing test fire extinguishing car. The system is composed of single-chip microcomput

4、er control module, tracing sensor module, drive motor module, ignition sensor module, fan module, power supply module. The practical application indicates that the car can be in a specially designed field on fire, to realize the independent found autonomous recognition route, independent sources and

5、 marching close to the fire extinguishing, finally complete task.Keywords:Microcontroller , Car ,Control system,Sensors目录1绪 论11.1论文研究目的及意义11.2本课题要研究或解决的问题和拟采用的研究手段(途径)12 方案设计与论证32.1 任务要求32.1.1 设计任务32.1.2 设计要求32.1.3 创新设计42.2 总体设计方案42.3 小车的方案设计与论证52.4 驱动电机模块的选定52.5 寻迹传感器模块的选定62.6 单片机控制模块的选定62.7 火源传感器模

6、块的选定62.8 风扇模块的选定72.9 电源模块的选定72.10 最终方案83 硬 件 设 计93.1 系统工作原理及功能简介93.2电路模块简介93.3 电 源223.3 红外寻迹传感器223.4 采用PWM调速的直流电机243.4.1 PWM的简介243.4.2 H型电机驱动243.4.3 小车原理图253.5 红外火焰传感器263.6 风扇模块273.7 智能小车整体设计283.7.1 CPU引脚的设定283.7.2整体设计294 软 件 设 计314.1 智能灭火小车系统总体流程314.2 程序流程图324.3 部分功能代码345 测试结果与总结395.1测试结果395.2总结39参

7、 考 文 献41致 谢43附 录451绪 论1.1论文研究目的及意义对于当今的世界而言,随时都有可能发生突发事件,例如:火灾,塌陷,洪涝等。有些是人可以解决的,而有些却是人类无能为力的。所以这时就需要用机器人来解决,它可以进入人类无法进入的地方,做许多人做不到的事,使危害和损失降低。现在,随着科技的快速发展,国内外对小型智能系统的应用越来越广泛,种类也越来越多。本题目就是结合有关科研项目而确定的设计类课题,所设计的智能寻迹灭火小车应能够实现自动发现火源、自动寻迹、自动前进接近火源并完成灭火任务的功能。根据题目的要求,智能寻迹灭火小车控制系统采用一片STC89C51单片机作为本控制系统的主控芯片

8、,硬件包括以下几个模块:驱动电机模块、寻迹传感器模块、单片机控制模块、火源传感器模块、风扇模块、电源模块。本设计采用了STC89C51单片机为智能小车核心控制部分,通过查询方式实现对小车的智能控制。小车由主控制板、传感系统、风扇系统和车身四部分组成。主控制系统由主控CPU电路、传感器接口电路、直流电机驱动电路等组成;传感系统采用红外传感器检测黑白线,火源传感器检测火源;行进直流电机驱动采用PWM调制技术,可灵活方便地对车速、行进方向进行控制。1.2本课题要研究或解决的问题和拟采用的研究手段(途径)本设计通过采用STC89C51单片机为控制核心,实现对小车的智能控制。该控制系统不仅在智能小车中有

9、很强的实用价值,在汽车应用、智能机器人等方面都有很强的实用价值,尤其是在机器人研究方面具有很好的发展前景。所以本设计与实际相联系,具有重要的现实意义。要研究或解决的问题:在设计上,使用光电传感器采集路面信号并将其信号输入到控制器,在受控制端使用减速电机,通过。此外步进电机的运作还要一个驱动电路,故电路中还要加入一个驱动电路。各个功能模块对电源电流的要求不同,对电源部分设置转换电路,从而满足各个部分的需要。经过元件的比较选择,设计出电路原理图和电路板,并做好硬件的调试。系统往往是软件和硬件两者相结合的有机整体。软件上,使用51单片机的定时器中断来控制巡线的检查和小车的运动及速度。由于电路比较简单

10、,就采用c语言进行程序设计。对于程序设计的正确性,用较常用的keil c51仿真软件进行仿真验证。最后便是软硬件的综合调试,证明本设计方案的正确性和可行性。2 方案设计与论证2.1 任务要求2.1.1 设计任务设计制作一个智能灭火小车模型,能到指定区域进行抢险灭火工作。以蜡烛模拟火源,随机分布在场地中,模拟灭火比赛场地如图2.1所示。图2.1 模拟灭火比赛场地示意图2.1.2 设计要求1. 智能灭火小车手动启动后,自动寻找到火源的位置。2. 智能灭火小车必须按照固定的路线行进(黑白线)。3. 扑灭火源后自动检测周围环境是否还有其他火源。4. 若有则继续灭火,若无则停止工作。2.1.3 创新设计

11、1. 小车车体结构好,完全自主设计,小车采用两层结构,分放不同模块的元件,调试过程和修改过程相对简单。2根据小车需要和实际情况,自行设计传感器,不仅花费较少,而且使用效果好。3自制灭火风扇,并采用三极管放大电路供电,最大限度的加大电机转速。4使用以7805芯片为核心的稳压设计,以L298为核心的电机驱动设计,保证系统的稳定性。5原地检测软件设计思路:先原地旋转360,找出光敏电阻电路输出电压的最小值并保存数据,然后再旋转360找出最小最小值的位置,然后停下。2.2 总体设计方案总体方案为:整个电路分为驱动电机模块、寻迹传感器模块、单片机控制模块、火源传感器模块、风扇模块、电源模块六个模块。首先

12、利用红外对路面信号进行探测,利用火源传感器检测火源信号,两种信号经过处理之后,送给单片机控制模块进行实时运算,输出相应的信号给驱动电机模块驱动电机转动,从而控制整个小车的运动。系统方案框图如图2.2所示。 图2.2 系统设计方案框图2.3 小车的方案设计与论证方案1:自己制作电动车 自己制作车体,组装合适的电机及电机驱动板,自制探测器,并利用开发板做控制驱动小车。但自己制作的小车,车体会比较粗糙,车身重量、平衡,小车的电路设计,这些都比较难良好地实现。方案2:购买专用电动车 购买专用电动车具有组装完整的车架车轮,甚至有完整的电机装配和电机驱动板。用自制探测器或购买完整探测模块,并用开发板控制小

13、车运动。这种专用电动车装配紧凑,各种所需电路的安装十分方便,看起来也比较美观。而且,用专用电动车具有完整的电机装配和电机驱动,这用就省去了对电机传动和电机驱动的设计和实现。综合考虑,我们选定了方案2作为我们的初步方案。2.4 驱动电机模块的选定方案1:采用步进电机作为该系统的驱动电机 利用步进电机的准确定长步进性能方便的实现调速和方向的偏转,且能准确的测量速度、路程以及时间,简化编程和硬件连接的工作量。但步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度的系统。方案2:采用直流电机作为该系统的驱动电机 直流电机的控制方法比较简单,只需给电

14、机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。而且改变正负极可方便的改变电机转动的方向,方便改变小车的行进状态。对于直流电机的速度调高,可以采用改变电压的方法,也可采用PWM调速方法。PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。与其它调速系统相比,PWM调速系统有下列优点:1. PWM从处理器到被控系统信号都是数字形式的,无需进行数模转换。2. 对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点3由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。4主电路简单,所用功率元件少。5低速性能好,稳定精度高,

15、调速范围宽。综合考虑,本设计采用了方案2。2.5 寻迹传感器模块的选定方案1:采用发光二极管+光敏电阻,该方案缺点明显:易受冻外界光源的干扰,有时甚至检测不到黑线,主要是因为可见光的反射效果跟地表的平坦程度,地表材料的反射情况对检测效果产生直接影响。而且外界的可见光对设备的影响很大,而且不容易克服外界可见光的干扰。方案2:采用红外光电对管,由于只需分辨黑白,红外光电对管有一个管发射红外线一个用于接收红外线,当红外线照射到黑线上时不会发射回来,当红外线照射到白色的地方就会返回,光电对管发射的同时也能接收红外信号,整个检测设备简单,稳定性高,速度快。缺点是检测距离短,优点是成本低,易于操作。根据以

16、上分析我们采用方案2。2.6 单片机控制模块的选定考虑到整个系统的简单、方便性,控制模块采用STC89C51作为主控制芯片,该芯片有足够的存储空间,可以方便的在线ISP下载程序,能够满足该系统软件的需要,该芯片提供了两个计数器中断,对于本作品系统已经足够,采用该芯片可以比较灵活的选择各个模块控制芯片,能够准确的计算出时间,有很好的实时性。而且STC89C51有很强的扩展性,使用简单,灵活性高且价廉。所有我们直接采用STC89C51作为主控芯片。 2.7 火源传感器模块的选定方案1:采用两个热敏电阻作为核心的传感器,实验中发现在一定距离范围内,空气温度变化非常小,热敏电阻几乎不发生任何变化。方案

17、2:采用两个光敏电阻作为核心的传感器,利用光敏电阻对不同距离及不同强度的光照均有 较好的光敏特性来将外界光信号转换成电信号,提供给单片机进行相关判断操作。实验中我们发现这种方案有很大的缺点,抗干扰能力极差,而且误差偏大,不能准确测定火源位置。方案3:采用红外接收二极管,红外接收二极管将外界红外光的变化转化为电流的变化,通过 A/D转换器将模拟信号反映为 01023 范围内的数字信号。外界红外光越强,数值越小,根据数值的变化能判断红外光线的强弱,从而能大致判别出火源的远近。红外火焰传感器可以用来探测火源或其它一些波长在760纳米1100纳米范围内的热源,探测角度达60度,其中红外光波长在940纳

18、米附近时,其灵敏度达到最大。实验中发现如果环境中红外干扰比较少的时候本方案能比较准确的检测到火源。鉴于以上3种方案的比较,我们选择方案3。2.8 风扇模块的选定利用一个不减速的直流小电机带动一个小扇叶进行简单的灭火。这种方案有两个子方案。方案1:芯片控制 灭火风扇电机的转速和转向都不需要控制,只要在一定范围内转的越开越好。因此采用这种方案有点麻烦,而且还会浪费时间和精力。方案2:三极管放大电路 直接利用三极管驱动。将电机放在三极管的射极,然后在基极加上一个限流电阻即可驱动电机正常工作,这种方案不仅电路简单、易实现,会减少很多电路上不必要的麻烦,而且驱动效率也大大提高,不仅如此其维修性也很强,出

19、现故障能及时快速维修。同时为了保证电路稳定性,我们可以采用多个三极管并联供电的方式。综合考虑,本设计采用了方案2。2.9 电源模块的选定在本系统中,需要用到的电源有单片机的5V,L298N芯片的电源5V和电机的电源7-25V。所以需要对电源的提供必须正确和稳定可靠。方案1:采用UT-3W提供的电源方案为电机供电,采用UT-3W提供的电源接口为单片机提供电源。优点:简单方便。方案2:用六节干电池为整个系统供电,再转换为电机和单片机需要的电压。基于系统的稳定性考虑,我选择了方案2。2.10 最终方案经过反复论证,我们最终确定了如下方案:1车体是购买专用电动车。2采用STC89C51单片机作为控制核

20、心。3采用六节干电池供电。4用红外探测传感器作为寻迹传感器。5采用红外接收管制作红外火源传感器。6采用三极管放大电路驱动风扇模块。系统的结构框图如图2.3所示。图2.3 系统结构框图3 硬 件 设 计3.1 系统工作原理及功能简介本系统利用单片机STC89C51单片机作为本系统的主控模块,我们采用反射式红外传感器识别黑线轨迹,用远红外火焰传感器检测火源,由单片机对传感器识别到的信号加以分析和判断,并通过对直流电机的控制来实现自动寻迹并灭火,系统工作原理框图如图3.1所示。图3.1 系统工作原理框图3.2电路模块简介基于51的单片机开发系统,主控芯片为STC89C52构成,集成了AT24C02、

21、DS1302实时时钟,4个发光二极管,4路AD转换器,1路DA转换器,8路舵机控制器,两路直流电机驱动器,一个风扇电机驱动器,4路超声波接口,8路光电二极管接口,一个1602显示屏,一个4键遥控器,一个无线电脑收发接口,1个独立按键,一个复位按键等等。(1)电源转换部分:电源转换部分为控制系统供电,以及为舵机驱动系统供电,有两路1117-5构成,一路5V电源为主控制系统供电,另外一路5V专门为舵机驱动器供电。由于舵机需要的电流大,本电源芯片最大可以提供800MA的电流,如果舵机总电流超过此范围,请外接5v电源。 图3.2 电源转换部分电路如图所示,其中的0欧姆电阻可以将两路电源连接到一起,如果

22、舵机需求电流太大,可以焊接0欧姆电阻,但是原则上不建议这么做。主电源通过接线端子输入,电压范围可以是8V-24V,这个电压主要取决于电机电压,本小车电压为9V,我们可以选择两节锂电池供电,电池接入如图所示:图3.3 电池在电池盒中的安装方式图3.4 可充电锂电池图3.5 将电池接入控制板(2)单片机最小系统:单片机最小系统包括了单片机,电源,晶振,复位电路组成电路图图3.6 单片机最小系统(3)单片机串口(程序下载口):串口作为单片机和上位机交换数据的通道,而且是程序下载的入口,其典型电路图如图所示:图3.7 单片机串口电路(4)EEPROM存储芯片AT24C02:AT24C02是ATMEL公

23、司生产的一款EEPROM芯片,其可以将数据存储起来,避免重要数据的丢失,通信方式为IIC: 图3.8 AT24C02芯片(5)实时时钟芯片DS1302:DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。其电路图如图所示:图3.9 时钟电路(6)AD/DA转换电路:AD/DA转换电路采用PCF8591芯片,可以提供4路AD转换和一路DA转换。F8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模

24、拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输电路图如图所示:图3.10 AD/DA转换电路四路AD转换接口通过外扩端子接出,外扩端子电路图如图所示: 图3.11 外扩端子电路AD转换作为智能车灭火传感器的采样电路,负责将火焰信号转换为数字信号,AD转换的接口电路在电路板上的位置如图:图3.12 AD转换的接口电路其中,“+“好代表了5V电源,”-“号代表了地端,A1代表了模拟输

25、入转换端口1。其他输入端口依次类推。(7)光电传感器接口:光电传感器作为常用器件,可以用来避障,巡线。此接口不接任何转换芯片,只是将单片机的IO扩展,以方便传感器的接入:图3.13 光电传感器接口光电扩展在控制板上的位置,如图所示:图3.14 光电扩展(8)舵机控制电路:舵机控制电路用74HC595扩展,电路如图所示:图3.15 舵机控制电路舵机控制端口扩展如图所示:图3.16 舵机控制端口扩展舵机在电路板上的安装:图3.17 舵机安装接口(9)蜂鸣器接口:蜂鸣器过一个三极管驱动,控制端口为P37,当IO为低时,三极管导通,蜂鸣器可以发声。图3.18 蜂鸣器接口电路(10)四键遥控器接口:四键

26、遥控器一般有6个接入口,包括5V电源和地,以及4个输入信号。对应的接口电路如图所示:图3.19 四键遥控器接口电路图3.20 四键遥控器接口(11)电脑无线收发数据接口:电脑无线数据收发模块需要4根输入线,包括5V,地以及数据接收和数据发送,接口电路如图:图3.21 电脑无线收发数据接口电路图3.22 电脑无线收发数据接口(12)超声波模块:超声波模块提供4个输入,5V电源,地,脉冲输入以及脉冲输出,控制板上面扩展了4个超声波接口,只需要把对应端口对接即可,扩展电路如图:图3.23 超声波模块图3.24 超声波模块接口(13)液晶模块接口:控制板上外扩一个1602液晶模块,作为控制系统信号显示

27、口,扩展电路如图所示:图3.25 液晶模块接口扩展电路(14)主电机驱动电路:主电机采用L298N作为驱动芯片,外部通过光耦隔离,电路图如图所示:图3.26 光耦隔离输入图3.27 L298主驱动芯片图3.28 电机接口(15)发光二极管:发光二极管在控制系统中作为电机转向的指示灯,用来指示电机转向信号,其电路如图所示:图3.29 发光二极管电路3.3 电 源用六节干电池为整个系统供电。再用三端稳压管转换为电机和单片机需要的电压。单片机需要5V的电压,所以使用7805为其供电,电动机使用9V的电压,6个干电池串联直接为其供电。单片机和电动机能否正常工作,电源供电情况是一个重要方面。为了防止电源

28、掉电而影响电路调试和程序调试,故采用六节充电电池为整个系统供电。3.3 红外寻迹传感器该智能灭火小车在画有黑线的路面上行驶,由于黑线和路面对光线的反射系数不同,可根据接收到反射红外线的强弱来判断“道路”黑线。在该模块中利用了简单、应用也比较普遍的检测方法红外探测法。红外探测法:利用红外线在不同颜色的物理表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,如果红外光遇到地面时则发生漫发射,反射光被装在小车上的红外接收管接收;如果遇到黑线则红外光被吸收,小车上的红外接收管接收不到红外信号。传感器的选择:市场上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可

29、以使用结构简单、工作性能可靠的集成式红外探头。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度硅平面光电三极管。RPR220价格便宜、体积小、使用方便、性能可靠、用途广泛,所以该系统中最终选择了RPR220红外反射传感器作为红外光的发射和接收器件。经过多次测试、比较,发现把RPR220传感器安装在距离检测物表面68毫米时,检测效果最好,因为5毫米以下是它的检测盲区,而大于10毫米则很容易受另外的光电管的干扰。红外寻迹传感器原理图如图3.30所示。图3.30 红外寻迹传感器原理图图中可调电阻R3可以调节比较器的门限电压,可方便的调节传感器的灵敏度

30、。用此电路作为传感器检测与调理电路。路径识别方案:小车脱离轨道时,根据红外感应器的状态,做出相应的转向的调整,直到中间的红外感应器重新检测到黑线再恢复正向行驶。现场实测表明,虽然小车在寻迹过程中有一定的左右摇摆,但只要控制好行驶的速度就可保证车身基本上接近于沿轨道行驶。3.4 采用PWM调速的直流电机3.4.1 PWM的简介脉宽调制的全称为:Pulse WidthModulator,简称PWM,由于它的特殊性能,常被用于直流负载回路中、灯具调光或直流电动机调速。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平

31、进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(1),要么完全无(0)。电压或电流源是以一种通(1)或断(0)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。脉宽调制(PWM),控制方式就是采用脉冲宽度调制技术,其工作原理是:通过改变“接通脉冲”的宽度,使直流电机电枢上的电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速。因此,我们可以通过单片机,生成固定频率的脉冲信号,通过改变脉冲信号中的“占空比”来控制电机的转速。PWM控制可分为单极性

32、调制和双极性调制两种方式,为了实现直流伺服系统的H型单极模式同频PWM可逆控制,一般需要产生四路驱动信号来实现电机的正反转切换控制。当PWM控制电路工作时,其中H桥一侧的两路驱动信号的占空比相同但相位相反,同时随控制信号改变并具有互锁功能;而另一侧上臂为低电平,下臂为高电平。3.4.2 H型电机驱动直流电机的驱动电路采用H型PWM电路,用单片机控制驱动电路,使之工作在占空比可调的开关状态,精确调整电动机转速。H型电路可以实现转速和方向的控制,采用PWM进行直流电机调速,其实就是把波形作用于电机驱动电路的使用端,因此下面对电机驱动电路进行介绍。驱动电路如图3.31所示。图3.31 电机驱动电路图

33、2.3所示的是一个简单的直流电机控制电路。电路中,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对场效应管。根据不同场效应管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。如图2.3所示,当P1.7口为低电平,P1.6口为高电平,此时Q1、Q4导通,Q2、Q3截止,电动机正常工作。改变P1.6口高电平周期,即改变PWM调制脉冲占空比,可以实现精确调速。3.4.3 小车原理图小车原理图如图3.32所示,电机通过L293F芯片控制转动的方向与速度。其中,SPEED1和SPEED2两个端口通过PWM调节控制两个电机的转速,IN1和IN2控制左侧

34、电机转动的方向,IN3和IN4控制右侧电机转动的方向。通过对这6个端口的控制,使小车能够按照预定的轨迹行图3.32 小车原理图3.5 红外火焰传感器远红外火焰传感器能够探测到波长在700纳米1000纳米范围内的红外光,探测角度为60,其中红外光波长在880纳米附近时,其灵敏度达到最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器反映为0255范围内数值的变化。外界红外光越强,数值越小;红外光越弱,数值越大。红外火焰传感器原理图如图3.33所示。图3.33 红外火焰电路原理图下面为火焰传感器实测数据,一根蜡烛为火源,室内正常日光灯环境实测结果如表3.1所示。表3.1 火

35、焰传感器实测结果无火源时,对着日光灯0.35V-0.12V10cm4.98V20cm4.88V30cm4.72V40cm3.77V50cm2.89V60cm2.34V70cm1.92V80cm1.45V90cm1.15V100cm0.96V红外火焰探头将外界红外光的变化转化为电流的变化,通过A/D转换器反映为 01023 范围内的数值。外界红外光越强,数值越小。因此越靠近热源,机器人显示读数越小。根据函数返回值的变化能判断红外光线的强弱,从而能大致判别出火源的远近。此外,远红外火焰探头探测角度为60。3.6 风扇模块灭火风扇的驱动电压为+5V,为了增强驱动能力,我们用三极管8550做驱动电路以

36、加大驱动电流。灭火风扇驱动电路如图3.34所示。图3.34 灭火风扇电路原理图在Uin处接单片机的IO口,通过IO口输出高低电平来控制灭火风扇的启动和停止。3.7 智能小车整体设计3.7.1 CPU引脚的设定如图所示,CPU的P1.0、P1.1控制小车的左侧电机,P1.4、P1.5控制小车的右侧电机;P3.1输出PWM信号,控制小车电机的转速;P2.4P2.7为火焰传感器输入信号,分别为前、后、左、右侧的火焰传感器的信号,P2.0P2.2为循迹传感器输入信号。下面是各引脚在含义:1. 循迹传感器:左P2.2中P2.1右P2.02. 火焰传感器:前P2.4后P2.6左P2.5右P2.73. 电机

37、控制: 左P1.0/P1.1右P1.4/P1.54. 风扇控制: P3.4引脚设定图如图3.35所示。图3.35 引脚设定图电机转动由电机控制端口P1控制,其中,P1.0/P1.1控制左侧电机转动,P1.4/P1.5控制右侧电机转动,电机转动表如表2.2所示。表3.2 电机转动表左电机右电机P0.1P0.0含义HEXP0.5P0.4含义HEX00000001前转101前转110后转210后转211停止311停止33.7.2整体设计小车左右两轮为驱动轮,后万向轮为支撑轮。即左右轮分别用两个转速和力矩基本完全相同的直流减速电机进行驱动,车体后部装一个万向轮。小车的整体设计图如图3.36所示。 图3

38、.36 小车整体设计图小车由三个寻迹传感器组成寻迹模块,用于检测黑白线,当中间的寻迹传感器压线时表示小车没有偏航,左右轮转速相同向前行进;当左边的寻迹传感器压线时表示小车向右偏航,这时要调节左轮的转速,使小车向左转;当右边的寻迹传感器压线时表示小车向左偏航,这时要调节右轮的转速,使小车向右转。火焰传感器有4个,分别检测前后左右方向上的火源,如果左边的传感器检测到火源,则小车向左转向前进;如果右边的传感器检测到火源,则小车向右转向前进,如果前边的传感器检测到火源,则小车向前行进;如果后边的传感器检测到火源,则小车向后转动180。通过检测两套传感器的信号,单片机根据程序输出相应的反应信号,控制两个

39、电动机的转动,以使小车相互协调工作,完成灭火的任务。4 软 件 设 计在进行微机控制系统设计时,我们根据单片机的具体情况使用Keil C51软件,采用主流设计语言C语言对单片机进行编程实现各项功能。C语言功能丰富,表达能力强,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,应用十分广泛。4.1 智能灭火小车系统总体流程此部分是小车运行的核心部分,起着控制小车所有运行状态的作用,具有导向和决策的功能。程序控制流程图如图4.1所示。图4.1 控制流程图系统总体流程是:小车进入驱动后,即先判断是否有火源存在,一旦检测到有火源,着从出发点沿着黑白线前进接近火源。程序不停的判

40、断火源位置和行进的线路,把相应的信号发送给电动机从而纠正小车的状态,使小车按照规定的线路寻找到火源,并将火灭掉。4.2 程序流程图1. 小车灭火的主程序软件流程图如图3.2所示,首先加点后对小车进行初始化,在这个阶段让小车检测火源,确定自己的位置,同时寻找线路。接着单片机判断是否有火源,如果有火源存在,启动小车循迹模块程序,让小车前进,当小车找到火源时,停止前进,这时开启灭火风扇,进行灭火的操作,这时再判断是否将火灭掉,如果火已经熄灭,则小车继续寻找下一个火源,如果没有熄灭则风扇继续开启。主程序流程图如图4.2所示。图4.2 程序流程图2. 小车循迹模块、火源模块程序软件流程图寻迹模块程序首先

41、采集寻迹传感器传回的信号,判断当前小车所在的位置,如果小车正好在线上,则小车继续前进;如果小车左侧压线,说明小车偏左,则小车右拐前进;如果小车右侧压线,说明小车偏右,则小车左拐前进;如果小车没有检测到黑线,说明前面没有路,则小车后转180度,返回;如果小车三个传感器都检测到黑线,说明小车走到十字路口,则再判断火焰传感器的信号。如果火焰传感器的信号显示火焰在小车的前方,则小车继续前进;如果检测到火焰在小车的左方,则小车左转90度,沿黑白线继续前进;如果小车检测到火焰在小车的右方,则小车右转90度,沿黑白线继续前进;如果小车检测到火焰在小车的后方,则小车后转180度,沿黑白线继续前进。寻迹模块程序

42、流程图如图4.3所示,火焰传感器模块程序流程图如图4.4所示。 图4.3 寻迹模块图4.4 判断火源位置模块4.3 部分功能代码1小车转向代码void run() /电机启动 P1=0x11;void left()/左转P1=0x13;void right()/右转P1=0x31;void big_right()/右大转P1=0x21;void big_left()/左大转P1=0x12;void stop()/停止P1=0x33;void back()/后退P1=0x22;2小车寻迹代码void track() unsigned char Num; timer_init(); PWM_ON

43、= 4; /高电平时间档,共10个档位 while(1) Num = P2; Num = Num & 0x07; P0 = Num | 0xf8; /指示灯 switch(Num) case 0x02:/前进 run(); STATE_LAST = Num; case 0x04: /左转 left(); STATE_LAST = Num; case 0x06: /左大转 big_left(); STATE_LAST = Num; case 0x01: /右转 right(); STATE_LAST = Num; case 0x03: /右大转 big_right(); STATE_LAST = Num; case 0x07: /停止 stop(); case 0x00: /检测不到黑线时查看上一个状态,并做出判断 if(STATE_LAST = 0x04 | STATE_LAST = 0x06) /左轮后退 P1 = 0x02; else if(STATE_LAST = 0x01 | STATE_LAST = 0x03) /右轮后退 P1 = 0x20;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号