3756.电子设计大赛-消防车报告.doc
编号:B甲1602消防智能电动车(B题)参赛学生: 专业:电子信息工程学校: 指导教师: 摘要本设计中智能小车采用两块凌阳SPCE061A单片机作为检测和控制的核心,实现电动车的智能控制,包括路面寻线、火源检测、智能避障、路程测量、智能灭火、数码管显示、语音报警等功能。寻线方式采用反射式光电传感器感知与地面颜色有较大差别的引导线,障碍物判断采用集成红外传感器,火源探测利用红外传感器加比较器。驱动电机采用直流电机,电机控制方式为PWM控制。电机控制核心采用凌阳SPCE061A单片机,控制系统与电路用光电耦合器完全隔离以避免干扰。实现的功能是:从安全区出发,自动检测火源并选择路线灭火,遇到障碍物能够实现智能躲避,两个火源均完全灭掉后按原路回到安全区。在此过程中遇到不同情况会用不同声音报警,并显示灭火数目和小车的路程。关键词:火源探测 路面寻线 智能避障 Simple Intelligentized Electric Motors AutomobileAbstract:Based on two microcontrollers ,SPCE061A of SUNPLUS,the model car can race intelligently by detecting white lines on the black ground. Including the road surface hunting, the fire hazard examination, the intelligence evade bond, the distance survey, the intelligent fire fighting, the nixietube demonstrated, the alarm the fire and so on the functions.The hunting way uses the reflection type electro-optical sensor sensation and the ground color has the wide difference inlet line.The obstacle judgment uses the integrated infrared sensor.The fire hazard survey use infrared sensor adds the comparator.Electrical machinery is direct current machine,The electrical machinery control mode is the PWM control. The electrical machinery control core uses insults the positive SPCE061A monolithic integrated circuit, The control system and circuit isolates completely with the photoelectricity coupler avoids disturbing. The realization function is: Embarks from the safe area,The automatic detection fire hazard and chooses the route fire fighting, Meets the obstacle to be able to realize the intelligent avoidance, After two fire are put out completely,it return to the safe area according to the old route. Encounters the different situation in this process to be able to use the different sound to report the police,And demonstrates the fire fighting number and the distance.the car coveredKey words:search for the line,intelligently,search for the fire目录 1系统方案选择与论证41.1设计要求41.1.1任务41.1.2要求41.2系统方案对比论证51.2.1系统总体方案设计论证51.2.2各模块方案选择与论证61.2.3系统各模块的最终方案142.系统的软、硬件设计与实现152.1.系统硬件基本组成部分的设计思想152.1.1控制部分152.1.2检测部分162.1.3功能实现部分162.2主要单元电路的电路图和说明172.2.1控制部分单元电路图172.2.2检测部分的单元电路图202.2.3功能实现部分212.3系统的软件设计232.3.1系统主程序流程图242.3.2各部分子程序设计253系统测试、调整273.1各部分测试过程和数据273.1.1线路检测部分测试273.1.2火焰检测部分测试273.1.3 红外探障部分测试293.2系统实现的功能测试293.3整车测试293.4测试仪器304总结30附录31附录1 主要元器件清单31附录2 部分程序清单31附录3 印制电路板32参 考 文 献351系统方案选择与论证1.1设计要求 1.1.1任务设计制作一个消防智能小车模型,能到指定区域进行抢险灭火工作。以蜡烛模拟火源,随机分布在场地中,场地如图所示:1.1.2要求根据题目要求我们为自己的设计确定了以下目标:基本部分:(1)小车从安全区域启动后能自行寻找到火源并发出警报。(2)对场地中随机出现的2个火源,小车能够发现并将其完全扑灭,并且总时间不超过5分钟。(3)能够自动计算和显示扑灭的火源数。发挥部分:(4)灭火完毕后小车能够返回到安全区域(原位)。(5)能够自动计算和显示路程。(6)能够用不同声音对不同的状态进行报警。(7)若在第一个火源或两个火源被扑灭后再出现一个火源,也能发现并将其扑灭。(8)可以躲避在任一格点处的障碍物,且障碍物可多于四个。1.2系统方案对比论证1.2.1系统总体方案设计论证本系统大体上分为九个基本模块,它们的关系可由如下方框图示意我们最初有以下几个总体方案:方案一:小车两侧安装两个轮子由两个普通直流电机带动,前后各安装一个万向轮,方便小车拐弯并起平衡支撑作用。在小车中间放一轴承,轴承上安装一个火焰传感器和一个红外探测器,通过轴承旋转来带动两传感器转动,以检测火源和障碍物,小车下方四个角上安装四个光电传感器寻线,检测小车压线的情况,小车前方安装风扇用以灭火。小车在安全区时,轴承转动先对场地进行扫描寻找火源,找到后再确定灭火路线,在行进过程中再通过红外传感器来探测障碍物并避开,达到火源处后再确定火源的具体方向,小车转动使风扇对准火源吹风,灭火完毕后按照程序记录的路线回到安全区。这种方案在传感器的探测方面比较精确,但情况太多,程序分支庞大,过于复杂,不易实现。方案二:车身设计与方案一相同,在小车两侧各安装一个火焰传感器和一个风扇,传感器输出信号经比较器来判断火源的远近,左侧通过放大可探测到95cm以内的火源,右侧传感器没有接放大器,只可检测到近距离(25cm)内的火源。小车下方四个角上安装四个光电传感器呈矩形分布,进行寻线,检测小车压线的情况,主要起导向功能。另外在中间安装两个传感器,左右距离比前后两对传感器大一些,主要起定位功能。小车从安全区出发后直走到达中线后左拐,开启左侧传感器探测左侧半个场地内火源的情况,发现火源则在下一路口左拐若此时正好在障碍物所处的两条线上则小车后退到前一个路口再左拐,然后两侧传感器均开启,哪一侧检测到火源就开启哪一侧的风扇将火源吹灭。然后回到中线上继续前行探测火源,到达边线后原地转180度对右侧的半个场地进行探测,程序与左半侧基本相同。火源全部灭完后,小车沿中线返回安全区。在此过程中遇到各种不同情况就调用不同语音程序,进行语音报警。同时用数码管来显示扑灭火源的数目和总的路程。这种方案硬件简单,软件实现起来思路也比较清晰,但并没有真正起到避障的效果,现在是已知障碍物的位置所以能避开,若临时改变障碍物的位置,则这一方案就不能实现避障,也就无法完成灭火任务。方案三:车身设计不变,小车前方增加一个红外障碍物探测传感器,在小车两侧各安装一个火焰传感器和一个风扇,传感器输出信号经电容滤波进入比较器来判断火源的远近,通过调节变阻器能调节比较器的参考电压,从而将火源的距离分成远近两档。左侧为远距离档可探测到105cm以内的火源,右侧传感器可检测到30cm以内的火源,为近距离档。共安装六个寻线传感器,小车下方四个角上各安装四个光电传感器呈矩形分布,进行寻线,检测小车压线的情况,主要起导向功能。另外在中间安装两个传感器,左右距离比前后两对传感器稍大一些,主要起定位作用。小车从安全区出发后直走到达中线后左拐,开启左侧传感器探测左侧半个场地内火源的情况,若发现火源则在下一路口左拐,然后两侧传感器均开启,哪一侧检测到火源就开启哪一侧的风扇将火源吹灭。然后回到中线上继续前行探测火源,到达边线后原地转180度对右侧的半个场地进行探测,程序与左半侧基本相同。在此灭火过程中红外探障一直开着,遇到障碍物后走一“弓”形绕过,回到主线上后继续探测,火源全部灭完后,小车沿中线返回安全区。在此过程中遇到各种不同情况就调用不同语音程序,进行语音报警。同时用数码管来显示扑灭火源的数目和总的路程。该方案是对方案二的修改完善,在方案二的基础上加进了红外避障模块。1.2.2各模块方案选择与论证1.2.2.1控制器模块(单片机的选择)单片机控制模块在本系统中处于核心地位。其工作包括处理键盘输入、显示模块控制、响应传感器中断、控制电机运行等。对单片机控制模块的基本要求是具有较高的速度、资源配置满足要求。 方案一:采用传统的8位89C51单片机作为运动物体的控制中心。经典51 单片机具有价格低廉,使用简单等特点,但其运算速度低,功能单一,RAM、ROM空间小、不稳定等缺点。本题目要求有较大的RAM,由于小车的颠簸需要比较稳定的系统,若采用89C51需要做RAM,ROM来扩展其内存空间,其硬件工作量必然大大增多。而高档的MCS-51系衍生产品价格昂贵、冗余资源较多、使用范围较窄。采用89C51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是89C51需外接模数转换器来满足数据采样,硬件电路相对复杂。另外,51单片机在线操作不易掌握,需要用仿真器来实现软硬件调试,较为繁琐。方案二:采用凌阳SPCE061A单片机实现,该单片机内部资源丰富,集成了A/D,D/A,易于数据的采集,同时由于其在线仿真技术,软硬件调试方便,对于电子设计竞赛这种时间紧,任务多的开发来说是极为有利的。基于上述分析,我们拟选择方案二。方案二:采用FPGA(现场可编辑门列阵)作为系统控制器。FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,并且可利用EDA软件进行仿真和调试。FPGA采用并行工作方式,提高了系统的处理速度,常用于大规模实时性要求较高的系统。在本设计中小车速度不能过快,故FPGA的高速处理能力得不到充分发挥 方案三:采用PHILIPS公司的LPC213X-ARM系列为控制器核心。高集成度的32位嵌入式ARM控制器核心功能强大速度快,逻辑功能处理能力强。并可以进行JTAG在线仿真,支持ADS1.2集成开发环境,内置USB接口,具有良好的控制与通信功能。内部PLL电路可调整系统时钟可使CPU时钟最大达到60M赫兹,运算速度很高。用于较高的系统及操作系统,适用于32 位ARM嵌入式系统的开发。作为控制小车的核心部件显得资源的运用效率很低,而且ARM的价格比较贵,程序的要求也比较高。方案四:采用16位单片机SPCE061A作为小车运动的控制中心。SPCE061A具有丰富的资源:RAM,ROM空间大、指令周期短、运算速度快、低功耗、低电压、可编程音频处理,单片机SPCE061A的晶振频率为32.768KHZ,有32K的FLASH,3.3V供电,32位可编程并行I/O口,两个十六位可编程定时/计数器,可以自动设置预设初值,具有运行/睡眠方式下的看门狗维护功能。易于编写和调试等优点。尤其在复杂的数学运算,其运算速度快,精度高,在控制步进电机时运行速度比一般51单片机快。采用凌阳16位SPCE061A单片机。此单片机功能较强、兼容性好、性价比高;具有体积小、集成度高、易扩展、可靠性高、功耗小以及具有较高的数据处理和运算能力,系统最高时钟频率可达49MHz,运行速度快;而且由于凌阳SPCE061A单片机内部集成了A/D、D/A转换器,不需外加A/D、D/A器件。通过采样取样,结合内部A/D、D/A,构成闭环反馈调整控制。此种方案既能实现智能化的特点,简化硬件电路,提高测量精度,同时也能利用软件对测量误差进行补偿,这给调试、维护和功能的扩展、性能的提高,带来了极大的方便。按照题目要求,控制器主要接收和辨识红外传感器传来的信号,处理寻线。火源传感器的信号处理运算。两个电机的动作控制,灭火风扇电机的控制,以及躲避障碍物到达火源处灭火且小车速度,同时系统应当比较稳定。基于以上方案对比,及其资源的利用、运算速度等各个方面的综合考虑,我们采用方案四。1.2.2.2火源探测模块火源探测模块是本设计中比较重要的一部分,因为要实现消防车灭火,必须先找到火源,这样才能决定小车的灭火路线。该模块若处理不当直接会导致整个设计的失败,找不到火源就无法完成任务。方案一:采用日本HAMAMATSU公司生产的R2868火焰传感器(紫外)及C3704探测模块R2868 是利用紫外线 TRON 通过金属的光电效果和瓦斯乘法效果来发现火星源,它具有很小的体积和很宽敏感角度(择向性),并能快速准确地发现从火焰被发出的弱紫外线,但其工作电压为325±25V,价格昂贵,独立的高电源不易解决,故排除了该方案。方案二:采用纳英特公司的火焰传感器(红外)用一个火焰传感器,安装在小车前方,从火焰传感器得到的信号经整流放大,再通过AD转换接单片机由程序将火焰距离分为远近两档,远距离测到火焰可确定小车的基本行进方向,进入近距离档后调整方向对准火源,开启风扇将其吹灭。但这样增加了程序编写的难度,并且试验证明AD转换不够稳定,误差较大,故排除了该方案。方案三:采用纳英特公司的火焰传感器(红外),及相关外围电路。用两个传感器分别安装在小车的两侧进行远近距离的定位检测,火焰传感器反馈的信号经电容滤波,再通过比较器后,输入到单片机的I/O A端口,通过调节变阻器大小改变比较器的参考电压,从而将火焰距离分为两个档,近距离档和远距离档,该方案优点是工作电压低,择向性好,远近距离的定位准确,能消除火源放置的各种特殊情况,而不存在盲区。所需器件相对价廉,方向精确度可以利用圆筒小孔定位,使方向精度提高,准确寻找到火源。优势很明显,故采用此种方案。综上所述,我们采用方案三,双火焰传感器远近精确定位系统。1.2.2.3寻线前进模块光电检测模块是用以实现小车沿着场地上标出的白色路线运动的,且不能偏离该轨迹。题目中路径是一条2.5cm宽的白线,周围场地是黑色胶皮,可以利用传感器来感知轨迹方案一:可见光发光二极管与光敏二极管组成的发射-接收电路。这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大干扰,对环境的要求比较高。一旦外界光亮条件改变,很可能造成误判和漏判,即使是采用超高亮发光二极管可以降低一定的干扰,但这将增加额外的功率损耗,因此没有采用否定这个方案。 方案二:采用一左一右两个红外发射接收对管。处理电路如图1.2.2.3a所示,在该电路中,加比较器LM311的目的,是使模拟量转化为开关量,便于处理。为使发射有一定的功率,发射回路要求不小于20mA的电流。根据公式故可选择R1=150。启动时,小车跨骑在白色胶纸上。两个红外发射接收对管,安装在小车两侧,输出为低电压,当小车走偏,偏离白线时,输出为高电压。但该方案电路较复杂,运行经过试验耗电量比较大,运行也不很稳定,受电源,环境影响比较大 ,造价成本都不是最优化的选择。方案三:采用颜色传感器。目前颜色传感器的应用,越来越广泛,效果也可以。但几百元的价格及相对复杂的处理电路,并且还需要光源,对环境光源有要求,如果环境光源有变化,会造成一定的影响。所以也不是一个很好的选择。方案四:采用光电传感器检测。当光线照射到下方场地上时会发生反射,由于黑色胶皮和白色胶纸的反射系数不同,光电传感器可根据接收到的反射光强弱来判断是否偏离白线。使用六个集成的反射式光电传感器,其中四个传感器位于小车的四个角上,呈矩形分布,中间两传感器左右距离大一些,前后四个传感器主要是用来为前进和后退导向的,而中间两个则是为了精确定位的,看小车中心是否到达路口,根据传感器状态的变化来判断小车偏离胶纸的情况以及路口的不同情况,从而调整小车的运动。小车上传感器的安装位置如图1.2.2.3b所示。基于上面的讨论,我们选用了抗干扰能力强且易于实现的方案四。1.2.2.4障碍物检测躲避模块障碍物检测模块是用来判断小车前方是否有障碍物并确定小车与障碍物之间的距离、障碍物的位置。为了确保小车在行驶过程中避免撞到障碍物,系统需要利用测距传感器检测出障碍物与小车之间的距离,或记录下障碍物所在线路,使小车做出正确的动作,避免与障碍物相撞。躲避障碍物的模块有以下几种方案。方案一:采用激光传感器测距,激光传感器能非常准确地测出小车与障碍物的距离,采用激光传感器检测距离,是利用光的反射原理进行距离的测量.激光具有方向性强,亮度高,单色性好,传输速度快(C=3×108m/s)等优点,因此激光传感器具有抗干扰强,测量精度高,反应速度快等特点.但由于激光是以光速传播的,距离与时间的关系满足:2S=C×T1,在本系统中障碍物离小车的距离最大不超过2m,所以T14/C=1.33×10-8s,而单片机机器时钟为晶体振荡器的1/12(一般单片机采用12Mhz或6Mhz的晶振),远大于T1,因此需要添加外部的发射电路才能适合单片机接收,同时,由于激光传感器的制作比较精细使其价格过高.单片机控制信号在延时后控制激光发射器发射激光束,同时开始计时,当接收器将接收的信号反馈给单片机时计时停止,通过时间差和光速的特点计算路程。但价格比较高,处理过程复杂,所以不符合我们的要求。方案二:采用超声传感器,进口的超声传感器,换能器件薄,并且带处理电路,输出与距离成比例的模拟信号,通过AD转换,可获得距离信息,价格贵。也有一些较简单的超声传感器及处理电路,能输出开关量信息,价格也不贵,是一个好的选择,应用单片机发射和接受超声波传感器信号的方框图如图1.2.1.4a所示单片机发出40kMhz的脉冲信号,通过驱动电路由超声波的发射器发射出去,连续发十个,同时定时器开始计时,如果接收器在发完十个脉冲后未接收到反馈信号,则判断无障碍物,延时后单片机再发十个脉冲信号;如果接收器收到反馈信号,则判断有障碍物,并通知单片机停止计时.通过时间差计算距离.设超声波在空气中的传播速度为344m/s,则根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即s=344t/2.但是附近的障碍也能反射超声波形成干扰,测量距离误差比较大,最近距离的精度也不是很高,题目中的要求显示每个方格的规格为30*30cm,近距离的测距会形成一些二次或者三次反射对准确的定位有一定的影响。 方案三:采用左右两个红外传感器。红外传感器,是目前使用比较普遍的一种避障传感器,其处理电路如图1.2.1.4b所示,通过调节R23、R24两个电位器,可调节两个红外传感器的检测距离为1080cm,开关量输出,即输出为TTL电平。但电路比较复杂,不易实现,而且环境里的其他热源比如人、烟头、电源等能热源都能影响到其工作的稳定性,故排除了这种方案。方案四:采用近距离可调光电开关,当小车寻线走到障碍物前时光电开关发出信号使小车停下,并返回上一个路口转弯,走一个“弓”字避开障碍物继续前进。这样很容易实现避障功能,造价比较低,精度也比较高,(光电开关的距离也可以根据实际要求进行优化调节,根据题目的要求我们将最小距离定在10cm以内)故实现起来比较简单,容易方便稳定,满足各方面的要求。按照题目要求需要准确识别障碍并能避开障碍,从而实现避障,灭火功能。我们选择了方案四。1.2.2.5路程测量模块方案一:采用开关式霍尔元件,将磁铁固定在小汽车的车轮上,当车轮转动时,磁铁也跟着转动,霍尔元件感应到磁场的变化时,就会产生通断效果,使单片机的定时器的输入端产生高低电平的变化,从而记录小车车轮转动的圈数,假设为N,并设车轮的周长为L,通过公式S=N*L就可以计算出小汽车在一段时间内的行程。这种测量方法的测量数据只能是车轮周长的整数倍,路程短误差还比较小,一旦走的路程长,拐弯、避障倒车等因素比较多的时候误差就会累积起来,不精确。例如:小车的车轮半径为1cm,那么这种测量方法的最小误差也将达到6cm。不符合题目的要求,因此在最大限度提高精度方面暂不采用此方案。方案二:采用透光式光电传感器,硬件电路如图1.2.1.5所示。在小汽车的车轮上钻若干小孔,设小孔的个数为n。在车轮转动时,发光二极管发射的光被没有孔的地方遮挡时,光敏三极管不能导通,光敏三极管的集电极输出为高电平,经CD40106反相后,单片机定时器的输入端为低电平。在有小孔的地方,发光二极管发射的光就会透过小孔照射到光敏三极管上,使光敏三极管导通,此时光敏三极管的集电极输出为低电平。在经CD40106反相后,单片机定时器的输入为高电平。单片机定时器就会准确记录下这种高低电平的变化的次数,即通过的小孔的个数。假设为N, 并设车轮的周长与方案一的相同也是L,某段时间内的行程计算公式为:S=N*L/n可以看到这种测量方法的最小误差为方案一的1/n,可较为精确地测量出小汽车的行程。并且可以进行误差控制,因为孔的个数与误差成反比,要想提高准确度只要增加小孔的个数就可以。方案三:由于场地的特殊性数格数计路程,路程的测量可直接在程序中实现,由于本题中场地被均匀地分成30 cm*30 cm的小方格,只要让小车走整格数并记录格数n1,在每个路口处做出动作(继续前进或拐弯)并在原格数基础上加1,则整格数部分的路程可直接由公式s1=n1*30cm算出。另外不到整格数的部分可通过透光式光电传感器来计算,其计算公式为s2=N*L/n则最后总的路程可表示为S=s1+s2= n1*30+ N*L/n通过对以上方案的对比,综合考虑路程计算的精度和实现的难易程度,我们采用了方案三。1.2.2.6小车电机驱动模块电机驱动模块是本系统的执行机构,用于控制小车的运动。因为本系统中未设置位置传感器,系统对位置的定位完全靠软件来实现,这就要求电机的控制精度必须要高。电机驱动电路选择方案一:利用9012、2SC8050、及电机构成驱动电路。如果单片机控制口输出高电平,9012截止,2SC8050截止,电机停止运转。单片机控制口输出低电平时,9012导通,2SC8050导通,电机开始运转。该电路比较简单,输出功率足够大,足以推动电机工作,并且电机工作时三极管性能非常稳定。但该方案中单片机部分和电机供电部分没有完全隔离,而电动机在切换时会产生巨大的反电动势,经常烧坏单片机。故没有使用该方案。方案二:使用多个功率放大器驱动电机。通过使用不同的放大电路和不同参数的器件,可以达到不同的放大要求,放大后能够得到较大的功率。但由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作会比较复杂。因此也没有选择这种方案。方案三:使用61板上四个接口B0、B1、B2、B3来实现对小车上电机的控制。首先在外部小车前后各放一个万向轮,两侧为双动力轮。61板的四个控制端口B0、B1、B2、B3分别接左电机A接口、左电机B接口、右电机A接口、右电机B接口。表1.2.2.6 电机转动状态编码:左电机右电机左电机右电机电动车运行状态B0B1B2B30101正转正转前行0110正转反转右转0111正转停以右电机为中心原地右转1001反转正转左转1101停正转以左电机为中心原地左转1010反转反转后退由上表可知,只要通过软件编程设定61板的四个控制端口B0、B1、B2、B3的不同编码,就可得到电动车的前进,后退,旋转等不同的运行状态。实现起来比较容易,并且误差较小。故基于上述分析,我们采用了方案三。电机类型选择方案一:采用减速小型直流电机。减速直流电机控制精度很低,虽不能准确控制电机转速,但可控制电机正转、反转、不转等动作,速度均匀性好。这已足够我们控制小车前进、拐弯、后退等简单工作,且控制简单,电源要求低,易于实现。方案二:采用专用步进电机驱动器及与其配套的步进电机。步进电机是数字控制电机,用这种方案的控制精度(可控制角度)、效率和可靠性都很高,但价格过高、重量大、占用口资源多且控制复杂对电源要求也高,故被我们排除了。通过以上对比,我们选择使用普通直流电机。电机的选择方案一:采用直流电机控制悬挂物体的运动,直流电机力量大,能获得较大的启动转矩,转动速度快,但由于存在机械触点,直流电机容易产生噪声,而且单独使用时不能完成位置控制,需要配以传感器才能控制定位。方案二:采用步进电机控制悬挂物体的准确运动,步进电机不需要使用传感器就能精确定位,而且通过给定的脉冲周期,能够以任意速度转动,定距运动较精确。虽然步进电机不能高速转动,但根据题目要求的时间和移动距离,步进电机完全能够符合要求,是该种要求下广泛使用的一种电机。基于上述理论分析,我们拟选择方案二。1.2.2.7灭火模块方案一:用风扇将蜡烛吹灭,检测并确定火源在课吹灭的范围内后由单片机控制风扇开启,吹灭蜡烛。经实验确定当采用6V电源给风扇电机供电时,火源在30cm以内都可被吹灭。能达到要求,并且简单方便各方面的实现都比较简单,工作也比较稳定,调试快捷。适合应用。方案二:用水管喷灭,原理图与上图相仿只是将J1接口换成喷头的电动机,由于整个系统是电子系统,如用水则有可能发生断路或出现危险,并且小车还要承载水的重量,对小车电机驱动要求比较高,故排除这种方案,选择方案一。1.2.2.8数码管显示模块在本设计中有两个需要显示的部分,即吹灭火源的数目和小车的路程方案一:使用16位字符型液晶(LCD)显示。液晶显示屏具有低功耗、影像稳定不闪烁、画面效果好、抗干扰能力强等特点。液晶动态显示功能强大,可以实现欢迎信息的显示,并提供了一个友好的用户界面,使系统更加直观,更趋智能化和人性化。但液晶以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,本题中要显示两部分则需分屏显示,工作量就会更大,增加了不少难度,并且平时没有这方面的准备,规定时间内不可能做得很好,故排除了该方案。方案二:使用传统的数码管显示,采用动态扫描的方式。陵阳61板可同时驱动8个数码管,编程容易,硬件电路调试简单,显示两部分也比较好控制。缺点是显示的内容不够丰富,但能准确显示数据,能很好地达到我们所需要的显示路程,灭火数量的数据。故传统的数码管显示即可符合我们的要求。综上所述,本设计采用了方案二,使用凌阳公司的61板实现数码管显示。显示的选择方案一:用LED数码管显示设定的坐标,本题中只需要六只LED数码管进行动态显示即可以显示X轴和Y轴的坐标,优点是接口简单,易于控制,缺点是只能用于比较简单的数字显示。方案二:用LCD液晶显示器显示,优点是能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂。由于凌阳SPCE061A单片机有着丰富的硬件资源,加上现代社会的发展对人机界面的要求越来越高。基于上述考虑,所以我们选择方案二。1.2.2.9语音报警模块采用陵阳61板自身携带的语音模块,在避障、拐弯、发现火源、灭火等动作做出的同时调用不同的语音程序模块进行语音报警,这些工作都是直接在程序中完成的。61单片机具有丰富的音乐库函数,我们只需要录制我们所要的音乐然后放在FLASH存储器里面进行调用,或者直接调用其音乐函数库里的不同声音就能出色地完成任务。1.2.2.10电源模块采用普通的电池组供电就能实现我们的要求,我们计划一共使用六盒电池,两盒6V电池分别用在小车电机上和红外探障传感器上,风扇采用9V电源,另外三块4.5V电池用在两块61板和传感器的供电上。风扇使用9V和小车电机用6V电源是为了增加驱动能力,而小车的两个电机使用一个电源是为了使两电机的转速相同。电源的选择方案一:所有器件都采用单一电源。这样供电虽然比较简单,但是由于电动机启动瞬间电流很大,而且给定脉冲信号驱动的电机电流波动较大,会造成电压不稳、有毛刺等干扰,对单片机系统造成严重的干扰,缺点十分明显。方案二:双电源供电。将电机驱动电源(12V)和单片机的供电电源(5V)完全隔开,这样设计可以彻底消除电机驱动所造成的干扰,提高了系统的稳定性。基于上述考虑,所以我们选择方案二。1.2.3系统各模块的最终方案经过仔细分析和论证,我们决定系统10个模块的最终方案如下:(1)控制器模块:选择两块凌阳61单片机SPCE061A作为小车运动的控制中心(2)火源探测模块:采用双火焰传感器精确定位系统。(3)寻线前进模块:采用6个光电传感器来引导和调整小车的动作(4)障碍物检测躲避模块:选用了红外传感器避障(5)路程测量模块:采用数格数的方法来记录整数路程,非整格数的部分采用透光式传感器来计算,公式为: S=s1+s2=n1*30+ N*L/n(6)小车电机驱动模块:采用普通直流电机,双驱动四接口方式、PWM脉宽调速(7)灭火模块:在小车两侧分别安装两个风扇对火源进行吹风(8)数码管显示模块:路程长度采用四位数码管并口动态扫描,吹灭火源数用另一数码管独立显示,另外检测到火源时点亮一个二极管来显示(9)语音播报模块:直接采用凌阳61自身带的语音模块进行语音报警(10)电源模块:直接采用电池组,分别做出4.5V、6V和9V电池组2.系统的软、硬件设计与实现2.1.系统硬件基本组成部分的设计思想本题是一个光机电一体的综合设计,在设计中应用了检测技术、自动技术和电子技术。系统硬件可以分为控制部分、检测部分和功能实现部分。2.1.1控制部分(1)车身动力部分电机部分采用普通直流电机PWM模式控制,PWM模式易于控制电机转速和拐弯的角度,并且采用双电机驱动以利于小车的原地转向、后退等动作的完成。如原地左转则可通过控制左侧电机反转,右侧电机正传来实现。(2)单片机控制部分单片机我们选用了两块陵阳61板,利用其自身携带的语音、显示等模块功能,并且其口资源比较丰富,使我们可以比较轻松得将题目中的发挥部分也一块完成。一块单片机用来接收火焰探测和路面检测的信号以及红外探障信号并进行分析后通过控制电机转动来控制小车的运动,最终避开障碍物到达火源处灭火,作为主要控制模块,另一块单片机负责语音播报、数码管显示和路程测量,分担第一块单片机的部分功能任务。2.1.2检测部分这一部分是车身控制和功能实现部分的基础,单片机通过对传感器信号的处理来控制电机正转、反转或不转,从而控制小车前进、左转、右转、后退、原地转等动作,基本原理可用下图来表示(1)传感器检测部分又包括红外火焰传感器检测、红外障碍物检测和光电寻线传感器检测三大块。火焰探测我们利用了温度变化对红外传感器电流的影响,同时距离远近对传感器输出也有明显的影响,再通过比较器与参考电压相比较,就可以判断火源的方向和大体距离。障碍物探测我们用的是红外传感器。原理与寻线传感器相仿,我们采用的是集成模块,直接将探测距离规定在10cm左右,进入10cm以内电平由低变高。 寻线前进我们采用的是光电类型的传感器,主要是考虑到场地和路径的颜色灰度相差很大,对光源的反射情况差别也很大,从而影响传感器输出的信号,单片机接收到寻线传感器的信号后,就会控制电机作出相应的动作,避开障碍物,完成灭火任务。(2)另外程序避障及路程测量属于智能检测。这一部分没有用到硬件,而是纯粹利用软件编程记录格数来避开障碍物所在的线和计算路程,这样设计的主要考虑是为了降低硬件实现的难度。2.1.3功能实现部分(1)灭火部分灭火我们采用的是两个风扇,分别安装在小车的两侧,这样设计小车停止后不用转向即可进行灭火,减少了再次寻找火源具体位置的繁琐。(2)显示部分显示我们采用的是数码管动态显示,用一位数码管来显示扑灭的火源数,再用四位数码管来显示小车走过的路程。另外在检测到火源时点亮一个二极管来表示(3)语音部分我们事先利用陵阳61板子自身的语音模块进行录音,将各种报警信息存储在单片机内,然后在灭火过程中遇到什么样的情况就调用哪一部分报警语音程序。(4)测量路程部分路程测量分为两部分:程序数格数记录整数部分,非整格数的部分采用透光式光电传感器来计算。透光式光电传感器安装在车轮的一侧,通过遮光利用传感器在有无光照时输出电平高低变化的特性来记录遮光次数N,利用公式S=N*L/n来计算。最后总的路程可表示为S=s1+s2= n1*30+ N*L/n2.2主要单元电路的电路图和说明2.2.1控制部分单元电路图(1)车身动力部分电路图图2.2.1a是我们设计电机驱动电路的最初依据和出发点,它是通过调节脉宽来调节加速时间以达到调节电机速度的目的,比较容易实现。使用61板上四个接口B0、B1、B2、B3来实现对小车上电机的控制。首先在外部小车前后各放一个万向轮,两侧为双动力轮,内部电路如图2.2.1b所示,当A输入为低电平,B输入为高电平时,驱动电机正转。当A输入为高电平,B输入为低电平时,驱动电机反转。A、B都为高电平时电机停止,A、B不能同时为低电平。4个二极管可以起到保护晶体管的作用。功率晶体管采用TP512光耦器驱动,将控制部分与电动机驱动部分隔离。61板的四个控制端口B0、B1、B2、B3分别接左电机A口、B口、右电机A口、B口。表2.2.1 电机转动状态编码:B0B1B2B3左电机右电机小车运行状态0101正转正转前行011