电动轮汽车智能化加油系统--加油控制系统的软件设计1.doc_第1页
电动轮汽车智能化加油系统--加油控制系统的软件设计1.doc_第2页
电动轮汽车智能化加油系统--加油控制系统的软件设计1.doc_第3页
电动轮汽车智能化加油系统--加油控制系统的软件设计1.doc_第4页
电动轮汽车智能化加油系统--加油控制系统的软件设计1.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

江西理工大学2009届本科生毕业设计(论文)第一章 绪论1.1课题研究的背景科学技术的飞速发展和新的技术革命,使采矿业面临三大问题的挑战,即网络化、自动化和高效化。由于给矿山电动轮汽车保养的润滑油粘度较高,传统的加油模式很难解决油液冬季冷凝的问题,导致矿山用电动轮汽车的保养效率下降。电动轮汽车的维修成本是矿山财务支出的重要组成部分,因此对电动轮汽车加油系统的智能化和管理系统的信息化的要求越来越高。将先进的计算机技术、控制技术和网络技术融入到矿山电动轮汽车加油系统中,可提高矿山加油系统的加油效率,从而也提高了矿山的经济效益。系统以单片机为核心,达到了工作安全可靠、使用方便、快捷、高效的目的,也为公司节约了开支。适合小型自助式加油站的建设,同时也可用于加油站旧设备的改造。矿山计算机应用起步于20世纪60年代。随着计算机技术的不断发展,四十多年来,计算机在采矿业中的应用中取得了长足进步,同时也积累了宝贵的经验和教训。国外的矿山润滑油加油系统发展相对成熟,有公司生产专门的产品。如20世纪80年代,许多欧洲国家已经开始研制了与壳牌等润滑油配套的加油系统,此时的矿山润滑油加油系统是采用气动活塞式油泵供油,加油枪带电子计量装置,此加油系统的优点是结构简单,缺点是气动泵噪声大,不能实现预置加油;近年来国外卡机联动加油系统发展迅速,mobil公司的speed pass采用非接触的射频识别技术,现已获得大规模应用,以色列oti公司采用非接触射频识别技术的卡机联动加油系统也已在多1300座油库1(2003年12月统计)。美国的成品油出厂后通过地下的输油管线或油轮输送至遍及全美各地的大约1300多个油库,再用油罐车等方式运送各采矿场。他们通过合同的方式与专业的独立运营商合作,实现配送业务的专业化和社会化,从而降低了运输成本及各类及各类人工费用和管理费用。四十多年来,我国的矿山电动轮加油系统已在不断的发展,电动轮汽车加油系统已由原来20世纪60到70年代的手动加油方式发展到90年代的电脑控制自动加油方式。一些科研单位在开发适用于矿山电动轮汽车智能化加油的控制和管理方面做了大量工作:1999年,东风汽车2公司为了解决因矿山加油系统的润滑油冬季冷凝而导致加油机的柱塞泵吸油困难的问题,开始对电动轮汽车装配线润滑油加注系统进行改造,即利用蒸气通过蛇型管给油箱预加热的方式来解决油液的冷凝问题;采用光栅位移传感器计量润滑油加注机活塞行程;用单片机技术对加油量数据采集、分析计算、led显示2。这种加油系统虽然解决了润滑油冬季加不出油的问题,但种系统比较复杂,要专门用蒸汽来给油箱预热。1.2论文选题的目的和意义随着我国采矿业的发展和大型电动轮汽车的研制生产,目前我国矿山用电动轮汽车在不断的增加,其年用油量已超过几百万吨。“燃油发放”仍采用人工拧阀读表的普通汽车加油机加油。用这种加油机加油,不但劳动强度大,而且加油精度低和不规范;特别是给电动轮汽车保养的机油和液压油的黏度较高,在冬天气温较低时,油料冷凝就较为严重。致使这种加油机的柱塞泵吸油困难,严重影响润滑油的正常加注数量也很容易使加油机的计量装置损坏失效。油料消耗和管理是成本管理的重点,又是安全生产管理的重点。因此电动轮汽车油料的供、管、用、发是否规范,对电动轮汽车油料的消耗控制乃至提高整个矿山的效益,都是至关重要的。计算机技术的高速发展为人们利用计算机控制进行工业控制提供了有效的手段。利用先进的计算机技术、控制技术和软件工程技术,本文提出了基于at89c51单片机为核心控制系统的电动轮汽车智能化加油系统的设计思想。此加油系统通过上位机pc机给at89c51以信号,相应的信号传给继电器,通过继电器的动作控制电动机和电动球阀的开启和关闭;此加油系统集电气技术、现代控制技术于一体。采用该加油系统进行供油有其多方面优越性能:一是可以提高供油系统的稳定性和可靠性,方便地实现供油系统的集中管理与监控;二同是具有良好的节能性3;三是在开、停机时采用了继电器,能减小电流对电网及供油油压对管网系统的冲击。四是能减小油泵、电机自身的机械冲击损耗。基于以单片机为核心控制系统的电动轮汽车智能化加油系统的设计提高了电动轮汽车加油的自动化、智能化及油料信息的实时性和准确性。使电动轮汽车加油过程安全高效及信息资源共享,减少了手工机械重复劳动,提高了企业的经济效益。总之,本文的研究对矿山实现现代化生产具有重要理论价值和现实指导意义4。1.3课题研究的现场分析假设给定某矿山企业有e型电动车:2辆,油箱体积500l,r型电动车:2辆,油箱体积580l。电动轮运输车辆在日常生产中,保养的内容有:需要定期更换发动机机油、液压升降系统的液压油、液压转向系统与液压制动系统的液压油、轮马达齿轮箱中的齿轮油、前轮毂中的齿轮油、自动润滑系统中的润滑脂等,在本次设计当中,我们将预加油的种类归纳为四种:油液a、油液b、油液c、油液d。同时在三班作业时也需要对上述油、脂进行必要的补加以保证车辆正常的运行。如果不能按时按量给电动轮汽车加油保养,就很容易使电动轮汽车的发动机损坏,导致电动轮汽车提前中修或大修。现有的加油系统存在以下问题:1.系统结构复杂,加油机油泵众多,不易管理,而且所使用的加油机气动泵价格昂贵,其电能消耗和应用维护成本高。2.机油和液压油在冬季时其流动性差,致使所使用的加油气液泵负荷大,流量不能达到设计要求,使设备加油时间延长,严重影响电动轮汽车保养效率。3.加油机计量装置易损坏失效,而且人工加油计量不够准确,极易出现加油过多或过少问题,对设备行为极为不利。同时,由于对每辆电动轮汽车油料消耗情况没有一个真实的记录统计,不利于保养库管理以及设备状况分析。4.所使用的加油气液泵需要空压机提供气源,空压机噪声大,而且空气可压缩,输油存在脉动,输油精确度不高,计量精度也不高。原加油系统存在的不足严重影响了电动轮汽车的保养效率,随着各矿采矿业的不断发展,原来的加油系统已经不能满足电动轮汽车的保养了。为满足现有电动轮汽车的充分保养,实现当前矿山保养库信息化、自动化管理的目的,提高矿业部门的经济效益,就急需要对运用在此类矿山企业的电动轮汽车的加油系统进行改进。1.4本文课题的来源及课题研究目标由1.3节的课题现场分析可以看出,目前,矿山企业所用的加油方式,在冬天气温较低时,油料冷凝就较严重。经常导致加油机的柱塞泵吸油困难,严重影响了润滑油的正常加注数量,从而大大降低了电动轮汽车的保养效率。原加油系统也存在其他许多的不足之处。针对矿山企业目前保养库加油系统油料发放和管理的这些具体问题,本文研究的对象就是德兴铜矿电动轮汽车的加油系统。本文提出了一种基于以单片机为核心控制系统的电动轮汽车智能化加油系统的设计。根据电动轮汽车需要加注油液的情况,本智能化加油系统功能的设计应满足几个要求:1.能适应电动轮汽车油箱大小,满足快速加油的要求;2.可以提高供油系统的稳定性和可靠性,方便地实现供油系统的集中管理与监控;3.具有良好的节能性;4.在开、停机时能减小电流对电网及供油油压对管网系统的冲击;5.能减小油泵、电机自身的机械冲击损耗;6.可以相对精确地预置加油。1.5本课题研究内容和方法1.加油系统的组成及工作原理;2. 加油系统的供给系统的零部件选型设计;3. 加油系统的硬件设计及其集成;4. 加油系统软件的设计;5. 加油系统的数据库的管理与应用; 1.6本章小结本章从总体上阐述了本加油系统设计的背景、目的和意义、课题的来源和应达到的目标以及实现该目标的方法。第二章 加油系统的组成及工作原理2.1 系统的组成为实现前叙章节提到的设计要求,此电动轮汽车智能化加油系统设计时分油料供给系统和计算机控制管理系统两大部分。本课题主要实现此系统的供给系统的零部件选型设计、硬件设备的设计和集成,即油料供给系统。油料供给系统主要由管路系统部分组成。另作为一个完整的系统,计算机控制管理系统也必不可少,它包括加油控制系统和数据管理系统两部分。图2.1为加油系统的组成图。管路系统由储油部分、供油部分、计量加注部分和油料回流部分组成。电动轮加油系统 油料供给系统计算机控制管理系统管路系统数据管理系统控制系统供油部分储油部分加注部分回流部分控制加油系统设定数据管理信号采集图2-1 加油系统组成图为适应现场环境需要,加油系统的各组成部分在空间分布都比较集中5。其中,储油间和保养库临近,通过地下油路管道连接。储油部分、供油部分和油料回流部分管道系统位于储油间内;加注部分管道系统位于保养库内,电动轮汽车在保养库内加油,保养库内有4条车道。计算机控制管理系统位于计算机控制室内。计算机控制室内有单片机、电控柜、接线端子板以及上位机pc机。计算机控制室与油料间和保养库之间用电源线和屏蔽信号线连接。2.2系统的工作原理加油系统的工作原理图见图2.2所示。其工作原理为:在加油情况下,操作平台通过对设置在油料输出主管路上的螺杆泵、及四个并联支管路中的电动球阀、刮板式流量计及加油枪,以及独立的计量控制单元、终端等按照设置的程序控制液体的流动。控制驱动电机的启动喝停止,利用刮板式流量计对输出的油液进行实时的采集,配合lpj光电脉冲转换器把信号反馈给单片机,它们组成闭环控制系统,可调整输出油量的启动和停止,以满足加油操作对油量的要求。输出的油量同上位机pc机预置的油量进行比较,控制加油过程的执行,并且整个加油过程呈动态监控。当电动机9驱动主油泵6工作时,而且回油管路上的电动球阀7关闭时,被加油料从储油灌2、截止阀3、滤油器4、主油泵6、电动球阀11、流量计12到加油枪15,最后流入被加油油箱。工作过程为,操作人员把加油枪与被加油箱相连结,打开加油枪开关,油料经加油枪加入油箱中。系统中4个独立的加油枪单独加油。工业pc根据操作平台设定的加油数量指令,控制加油管路上的电动球阀11通断,电动球阀开启,即通过操作平台的加油指令控制电动球阀通电打开电动球阀,当加入油量和加油指令一致时,通过单片机的中断处理,使供油的电动机提前制动,当电动机停止供油时刚好为pc机预置的加油量,再经过单片机的延时处理,出油口的电动球阀关闭,回油口的电动球阀开启,此时电动机开始反转,把残留在管路中的油液回收到回油池中。当加油操作发生意外时,操作人员可以首先关闭加油枪口处的开关,使加油停止,同时,拉下电动机处的刀闸开关,和按下单片机的中断按钮,这时,经过单片机的处理,把已经加油的油量经过计算整理,回传给上位机pc机,进行数据保存工作。这样就实现了加油系统的相对智能化。下面为加油控制系统的原理图:1.液位显示器 2.储油罐 3. 手动截止阀 4.自动控制滤油阀5.异步电机 6.螺杆泵 7、11储油池 8.主油管9.电动球阀10.溢流阀 12.回油管 13.流量计14.加油枪 15.加油枪皮管图2-2 加油系统原理图电动轮汽车日常保养中需要加注4种油液,分别是机油a、机油b、油液c、油液d。考虑到4种油料不能混合的特点,故只可选用四套相同独立的油料管路供给系统。图2-2的管路系统是其中一种油料的管路系统,每一车道对应相应的一种油液,四种油料的管路系统相同。系统采用单独供油方式,分别采用四个油泵供油,保养库有4条车道。而且油泵安置在储油间内,方便操作管理。供油路形成封闭供油,减少跑漏油和环境对油的污染。管路系统由储油部分、供油部分、计量加注部分和回流部分组成。其中储油部分包括:油池、过滤器、辅助加油泵和储油罐。但限于本论文各种因素的考虑,此部分不加以详细设计。供油部分包括:手动截止阀、滤油器、螺杆泵和溢流阀。计量加注部分包括:刮板式流量计(另配备光电脉冲转换器)、油管转盘和加油枪。油料回流部分包括供油部分、回油管路(含一个电动球阀)和储油池。为解决原管路系统存在的不足,满足现场加油的需要,其具体的解决方案为:1.每个加油点每次加油数量要有计量,并能让单片机与计算机接口,可每个加油管路上串联刮板式流量计,并在其上安装一个光电脉冲转换器即可满足要求。2.要防止油料因黏度高加不出油的现象,主油泵选用螺杆泵泵油即可满足要求。由加油系统原理图可以看出,加油系统管路改造后与原加油系统的管路相比较具有的特点有:1.能满足加注运动粘度较大油液的使用要求,而且计量准确。2.有节油功能。取消中间加油罐,供油路形成封闭供油,减少跑漏油和环境对油的污染。2.3本章小结本章首先介绍了加油系统的组成;然后对系统的工作原理做了详细的说明。第三章 油液供给的零部件选型设计及硬件设计3.1组成本加油系统的主要组件计算及其选择在具备了前述知识基础之后,在总体上遵循机械零部件的设计原则基础之上,尤其是“三化”原则,即标准化、通用化、系列化。结合本智能化加油系统实际,先给出本系统油管、螺杆泵、溢流阀、截止阀、管件、法兰盘、电动球阀、流量计、油管转盘和加油枪等组件对加油系统的流量和压力控制非要组件的选择和相关计算做详细的介绍。假定现给定已知条件如下: 电动轮汽车日常保养中需要加注四种油液,机油a、机油b、液压油c 和防冻液d。考虑到四种油料不能混合的特点,故只可选用四套相互独立的油料管路供给系统。电动轮汽车需要加油系统加注油液容积如下:e型电动车:2辆,油箱体积500lr型电动车:2辆,油箱体积580l每个加油点的加注流量为:30升/分,最大油箱加满需要20分钟。每台车换油保养需要4个小时。加注油液的100运动粘度都在11.06 cst以上。每种油液采用一套加油系统供油,考虑到实际情况,油泵的流量应为30升/分以上。根据加油点高度及管路的要求,加油系统的系统压力为:0.81.6mpa,流量30升/分钟。液压泵的工作压力为pp,油泵出口处的最高工作压力为p1,要使系统能正常工作,必须使ppp1,因设计要求p1为1mpa。3.1.1管子的计算与选择(1)主油管内径的计算与选择油管内径计算公式6d主1130 (2-1)式中d:油管内径,mm;q:支油管油液最大流量,m3/s;v:支油管油液流速,m/s;由于支油管q支max=30l/min=0.5 10-3 m3/s,每条主油管仅仅流向1个加油枪供油,所以q主max= q皮max =30l/min=0.510-3 m3/s,取v=2 m/sd主1130=1130=17.9 mm故主油管选用公称直径dn为20,壁厚为3mm的无缝钢管。(2)与加油枪处相连处皮管内径计算与选择由加油系统的工作原理可知,每条主油管仅仅流向1个加油枪供油,故皮油管亦选用内径为30的pvc材质管。(3)回油管内径的选择每回油管也是由各自回流回储油罐的油管,故回油管的内经大小和壁厚的选取和主油管的选取是一样的,回油管也选用内径为故主油管选用内径为为30,壁厚为3 mm的无缝钢管。3.1.2 液压泵的选择7 8 9液压泵的工作压力为pp,油泵出口处的最高工作压力为p1,要使系统能正常工作,必须使ppp1,因设计要求p1为1mpa,故液压泵的工作压力选为1mpa;液压泵流量为qp,根据此加油系统的加油方式和原理,要使液压泵泵油量能满足油管流量的需要,必须使qpq主max ,q主max为主油管的最大流量,根据现场要求q主max取为30l/ min,故qp30l/min。考虑到加注油液的100运动粘度都在11.06 cst以上。每种油液采用一套加油系统供油。且系统属于低压系统。油泵可选用低压齿轮泵或者螺杆泵。但为了使系统满足噪声尽量小的要求。比较两者之后,由于螺杆泵具有结构简单、压力脉动小、工作平稳而可靠、噪声低、寿命长等特点,在低压时,其泄露量几乎与转速无关,特别适合采用变频变速调节流量。故选用宁波中德螺杆泵制造有限公司生产的3g45x2的螺杆泵。此螺杆泵的流量为q=3.5m3 /h,压力pp=1.0mpa,转速n=1000r/min,进口口径65mm,出口口径50mm,功率2.2kw,相当于(西德)sn120,驱动电机功率为2.2kw。此螺杆泵符合油管油液压力、流量和黏度的要求。3.2.3 电动球阀的选择电动球阀选型首先应该依次遵循安全性、可靠性、适用性和经济性四大原则,其次根据工况进行选择。系统要求每个加油点在加油时,该管上的电动球阀应该打开,;加油完毕时,该电动阀应该关闭,相应的回油管的电动球阀关闭,以防止产生加油枪口有漏油现象,造成浪费及污染环境。同时,考虑到某个加油枪检修更换时不影响其它支路正常工作,故选用故选用q911w-16h型电动球阀(q/th),它可由输入控制信号(4-20madc或1-5vdc)及单相电源可控制运转,具有功能强,体积小,性能可靠,配套简单和流通能力大等特点,特别适合于介质是粘稠,含颗粒,纤维性质的场合;公称口径选nd为20mm,公称压力pn为1.6mpa。3.2.4 流量计的选择工业上常用的流量计按其测量方法可分为容积式流量计和速度式流量计两类。由于设计检测的流量除了显示数据外,还需根据流量发出电信号作为工业pc的流量采集信号,故选lb 型刮板流量计,它是典型的容积式流量计之一。lb 型(以下简称刮板流量计或流量计)是一种容积式流量测量仪表,用于测量充满于封闭管道中连续流过的液体的体积流量10。流量计具有现场指示的机械式计数器,不必外加能源即可获得直读的累积体积总量,清晰明了,操作简便,测量精度高,工作可靠,牢固耐用。除此之外,每台流量计均有标准的转数输出轴,安装光电式电脉冲转换器后输出电脉冲信号。主要适用于原油和石油制品的精确计量(执行标准q/tdsm032005)。根据本系统的需要现选用型号为lb-25a0a3c的刮板流量计,其参数为:刮板流量计,公称通径dn:25mm,特征代号:普通型,公称压力:pn1.6mpa, 精度等级:0.5 级,输出:有输出,且配备420ma 电流输出(另配 lpj-12d/fi)显示:大字轮显示。与lb-25a0a3c的刮板流量计配套的光电式电脉冲转换器型号为lpj-12d/fi3.2油液供给系统的硬件设计本次设计采用了单片机11作为下位机,通过pc机控制单片机来控制加油的整个过程,以下就为本次设计的硬件12 13设计的电路部分,其中每个模块的设计结构这里就不再叙述,以下电路只供第四章参考。图3-1 硬件设计电路图第四章 油液供给的软件设计基于at89c51单片机14对加油系统的控制,以下是针对加油过程的对上位机的信号采集,对加油系统的控制电机油泵,电动球阀的控制,ll流量计同光电脉冲传感器对油液的控制反馈给单片机的详细过程,以及加油的反馈。 本次设计的油液供给部分的软件设计部分主要分为以下几个部分:4.1对at89c51单片机的介绍下面是针对at89c51单片机的简要介绍以及本次设计所关系到的内容。at89c51是美国atmel公司生产的低电压,高性能cmos的8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(perom)和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度,非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器(cpu)和flash存储单元,功能强大at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。15 主要性能参数: 与mcs-51产品指令系统完全兼容;4k字节可重擦写flash闪速存储器;1000次擦写周期;全静态操作:0hz-24mhz;三级加密程序存储器;1288字节内部ram;32个可编程i/o口线;2个16位定时/计数器;6个中断源;可编程串行uart通道;低功耗空闲和掉电模式;2.功能特性概述: at89c51提供以下标准功能:4k字节flash闪速存储器,128字节内部ram,32个i/o口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。4.2 at89c51的引脚分配及中断控制16根据系统需要,电源电路,pc机串口,晶振,上电复位,电动机控制,电动球阀控制,光电传感器。下面为单片机引脚分配图,包括单片机的输入和输出。图4-1 系统引脚分配4.2.1 at89c51单片机的p3口介绍p3口除作为通用i/o口外,还有第二种功能。p3口的第二种功能定义如下:p3.0 rxd(串行数据输入口)p3.1 txd(串行数据输出口)p3.2 int0(外部中断0) p3.3 int1(外部中断1)p3.4 t0(定时器/计数器0外部输入) p3.5 t1(定时器/计数器1外部输入)p3.6 wr(外部数据存储器写脉冲)p3.7 rd(外部数据存储器读脉冲)第一, 在本次设计中用到了串行通信的,所以用到了p3口的第二功能,txd 和rxd两个引脚作为与pc机的通信引脚。第二, t1口用作串行口波特率发生器的定时器,第三, t0口用作接收光电式脉冲传感器的脉冲计数器,用来记录加油量的 计数4.2.2 at89c51单片机的中断控制17概念:引起cpu中断的根源,称为中断源。中断源向cpu提出的中断请求。cpu暂时中断原来的事务a,转去处理事件b。对事件b处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。80c51的中断系统有5个中断源 ,2个优先级,可实现二级中断嵌套(就是可以在嵌套过程中再次响应嵌套) 。4.2.2.1中断源1、int0(p3.2),外部中断1。可由it0(tcon.0)选择其为低电平有效还是下降沿有效。当cpu检测到p3.2引脚上出现有效的中断信号时,中断标志ie0(tcon.1)置1,向cpu申请中断。2、int1(p3.3),外部中断2。可由it1(tcon.2)选择其为低电平有效还是下降沿有效。当cpu检测到p3.3引脚上出现有效的中断信号时,中断标志ie1(tcon.3)置1,向cpu申请中断。 3、tf0(tcon.5),片内定时/计数器t0溢出中断请求标志。当定时/计数器t0发生溢出时,置位tf0,并向cpu申请中断。4、tf1(tcon.7),片内定时/计数器t1溢出中断请求标志。当定时/计数器t1发生溢出时,置位tf1,并向cpu申请中断。5、ri(scon.0)或ti(scon.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位ri或当串行口发送完一帧串行数据时置位ti,向cpu申请中断。 4.2.2.2中断请求标志181、tcon的中断标志表4-1 tcon的中断标志位位76543210字节地址88htf1tr1tfotroie1it1ie0it0tconit0(tcon.0):外部中断0触发方式控制位。 当it0=0时:为电平触发方式。 当it0=1时:为边沿触发方式(下降沿有效)。 ie0(tcon.1):外部中断0中断请求标志位。it1(tcon.2):外部中断1触发方式控制位。ie1(tcon.3):外部中断1中断请求标志位。tf0(tcon.5):定时/计数器t0溢出中断请求标志位。tf1(tcon.7):定时/计数器t1溢出中断请求标志位2、scon的中断标志表4-2 scon的中断标志位位76543210字节地址98htirisconri(scon.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位ri。同样,ri必须由软件清除。ti(scon.1),串行口发送中断标志位。当cpu将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位ti。cpu响应中断时,不能自动清除ti,ti必须由软件清除。3、中断允许控制cpu对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器ie控制的。表4-3中断允许控制位位76543210地址a8heaeset1ex1et0ex0ie ex0(ie.0):外部中断0允许位; et0(ie.1):定时/计数器t0中断允许位; ex1(ie.2):外部中断0允许位; et1(ie.3):定时/计数器t1中断允许位; es(ie.4):串行口中断允许位; ea (ie.7): cpu中断允许(总允许)位。4、中断优先级控制80c51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器ip中的相应位的状态来规定的 。表4-4中断优先级控制位位76543210地址b8hpt2pspt1px1pt0px0 px0(ip.0),外部中断0优先级设定位; pt0(ip.1),定时/计数器t0优先级设定位; px1(ip.2),外部中断0优先级设定位; pt1(ip.3),定时/计数器t1优先级设定位; ps? (ip.4),串行口优先级设定位; pt2(ip.5),定时/计数器t2优先级设定位。 5、中断优先级规则: cpu同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断4.3单片机与pc机之间串行通信19串行口是计算机与外部设备进行数据交换的重要介质,所以串行通信在工程实现中有着广泛的应用。4.3.1串口系统组成系统中采用at89c51 单片机作为下位机,工业控制pc 机为上位机,二者通过串行口接收或上传数据和指令。传输介质为二芯屏蔽电缆,接线图如图4-2电平转换电路所示。4.3.2 单片机与pc主机串口概论 本次设计上位机pc与89c51单片机的串口连接采用了目前用的最广泛的使用的串行通信接口rs232,rs232的电气接口是单端的,双极性的电源供电电路。rs232有一系列的不足,主要有:数据传输速率局限于20kb/s,传输的距离局限于15m,但就本次设计而言,上位机pc机与下位机89c51单片机的距离很近,所以我们本次就选用了rs232作为他们的串行通信接口。 rs232所采用的电路是单端驱动单端接受电路。这种电路的特点是:传送一种信号只用一根信号线,对于多根信号线,它们的地线是公共的。无疑这种电路时传输数据的最简单办法。其缺点是它不能区分是由驱动电路产生的有用信号和外部引出的干扰信号。 rs232所采用的单端电气接口,其电平与ttl和cmos的电平有很大的不同,它的逻辑“0”至少是3v和3v以上,逻辑“1”为-3v或更低(在标准中有时用“mark”和“space”分别表示逻辑“1”和“0”)。实际上,电源电压为15v或12v,这样逻辑“1”和“0”之间的电压摆幅可能是20v或更高,采用简单的转换电路即可完成电平转换。20其中一下图4-2即为电平转换电路:图4-2 电平转换电路4.3.3串行通信基础原理 计算机的数据传输共有两种方式:并行数据传送和串行数据传送。21(1)并行数据传送的特点是:各数据位同时传送,传送数据块、效率高。但并行数据传送有多少数据位就需多少数据线,因此传送成本高。并行数据传送的距离常小于30米,在计算机内部的数据传送都是并行的。 (2)串行数据传送的特点是:数据传送按照位顺序进行,最少只需要一根传输线即可完成,成本低,但速度慢。计算机和外部的数据大多是串行的,其传送的距离可以从几米到几千公里。通常把计算机与其外界的数据传送称之为通信,因此提到的通信就是指串行通信,串行通信又分为异步和同步两种方式,在单片机中使用的串行通信都是异步方式。 本次设计用89c51与计算机通信的,介于89c51单片机具有四个并行和一个串行两种基本通信方式。为了预留出电动机和电动球阀等的外部控制引脚,所以本次设计采用了89c51单片机中自带的串行通信模块。4.3.4单片机的串行通信的参数在89c51单片机中,涉及串行口操作的寄存器有多个,如scon,sbuf,pcon,ie,以及定时器t1等等,以下将对这些寄存器以及串行口的基本选用做一个简要的介绍。 scon是串行口控制寄存器,str地址0x98,可位寻址,描述如下:scon.7=sm0:方式选择位0scon.6=sm1:方式选择位1 sm0,sm1=00:方式0,同步移位寄存器,波特率固定为f/12(f为主时钟)。 sm0,sm1=01:方式1,10位异步收发器,波特率由t1、pcon.7指定。 sm0,sm1=10:方式2,11位异步收发器,波特率固定为f/32(pcon.7=1)或f/64(pcon.7=0)时。 sm0,sm1=11:方式3,11位异步收发器,波特率同方式1。本设计采用的是串行通信工作方式1,使at89c51单片机与上位机pc机通讯。工作方式1是全双工的10异步收发器(uart),1位起始位(0),8位数据(仍然是低位在前),1位停止位(1),无校验位。在at89c51单片里,这是相当常用格的一种方式,rxd引脚负责接收数据(ren须置位才能接受),txd引脚负责发送数据。起始位和停止位是由硬件自动插入的,软件无需额外的处理。方式1的波特率有定时器t1和pcon7来指定。在方式1和方式3下,主时钟一般取11.0592mhz或22.1184mhz(不是任意的频点)。常见的波特率有2400、4800、9600、19200、38400、57600、115200等。数据的收发双方,一般要事先约定好相同的波特率才能正常通信。baud rate即串行通信的位速率,单位bps。标准的at89c51单片机没有专门的波特率发生器,因此在串口设置为方式1和3后,必须占用定时器t1来产生波特率。在方式1和3下,串行口发送和接收的波特率取决于定时器t1的溢出率和pcon.7。定时器t1的工作方式0和工作方式1没有自动重装的功能,这会带来波特率的误差,进而导致收发数据出错。所以用到了t1定时器的工作方式2,即8位自动重装模式。定时器的t1初值计算公式为:pcon.7=0时,th-tl=256-(f/12)/(32*baud rate)pcon.7=1时,th-tl=256-(f/12)/(16*baud rate) 本次设计选用了pcon.7=1这种方式,其中f=22.1184mhz,baud rate=1152004.3.5单片机串口中断处理串行口通信可以选择查询方式或中断方式处理,要视具体情况而定,一般,对较大的程序,为了提高处理效率,常采用中断处理方式进行通信。 初始化好串口以后,置位sfr寄存器ie当中的ea和es后,不管是软件或硬件的原因,只要使ti或ri置位,就会触发串行口中断。发送和接收共享同一个中断向量,入口地址都是0023h。在编写中断服务程序时,应当首先判断ti和ri位,然后再跳转到不同的处理分支。4.3.6串口通信接收程序224.3.6.1串口通信接收程序流程图图4-4 串口通信接收流程图4.3.6.2串口通信接收程序#include#include #include #include#include#include#include#includevoid receive()unsigned char a,b;ti=1; /*串行口接收中断请求标志*/ri=1; /*串行口发送中断请求标志*/xtybe0x00h=0; /*握手协议标志位*/while(xtybe0x00h=0) /*握手协议,同意开始传输*/if(sbufr=?) sbufs=?; xtybe0x00h=1;/*同意传输结束标志*/ xtybe0x01h=0;/*接收油液类别标志位*/ while(xtybe0x01h=0)/*接收油液类别*/ if(sbufr=#) sbufs=#; while(sbufr!=$) a=sbufr; xtybe0x01h=1; xtybe0x02h=0;/*接收油量标志位*/ while(xtybe0x02h=0)/*接收油量*/ if(sbufr=$) sbufs=$; while(sbufr!=。) b=sbufr; xtybe0x02h=1; sbufs=。 4.3.7串口通信发送程序4.3.7.1 串口通信发送程序流程图.:图4-3 串口通信发送程序流4.3.7.2 串口通信发送程序#include#include #include #include#include#include#include#includevoid send()unsigned char j;unsigned int i=0;ti=1; /*串行口接收中断请求标志*/ri=1; /*串行口发送中断请求标志*/xtybe0x03h=0; /*握手协议标志位*/sbufs=!;while(xtybe0x03h=0) /*握手协议,同意开始发送*/ if(sbufr=!) xtybe0x03h=1; xbyte0x04h=0; while(xbyte0x04h=0) /*开始传输内容*/ sbufs=j; while(sbufr=f) xbyte0x04h=1; while(sbufr=n) xbyte0x04h=1; 4.4驱动电动机,电动球阀等部件的介绍4.4.1 对电动机的控制原理说明第一,根据机械部分以及系统硬件部分的设计,本次设计选用了380v/2.2kw的电动机分别控制的是油液a、油液b、油液c、油液d的供应油泵的开启和停止,以及正转和反转。但由于单片机不能输出电机所能允许的启动的电流,因此我们选用了继电器作为辅助开关,通过单片机发出信号,对继电器进行充电,达到继电器所能吸合的电流时,使其控制电动机的启动,但需要停止电动机的工作时,只需将单片机控制电动机的继电器的控制引脚置零,通过外加的电路使继电器放电,从而达到了使继电器的触点断开,进而将电动机停止,使用这样的方法可以很容易的控制油泵的启动和停止的工作。第二,在成功加油后,在管道内部还存有大量的油液,不能送回储油池,只有使电动机反转才能实现残留在油管内大量的油液,这里就用到了本次设计中的电动机反转的部分,当加油停止后,供油的电动机正转停止,处在制动的过程,根据手册查得,本次设计中选用的电动机的启动和制动时间大概小于二十秒,这里防止在正转和反转时电动机处在短路的状态,因此就选择二十秒作为完全启动或者完全制动的时间,当电动机供油的正转制动完成时(20s后),电动机的反转引脚有置位,开始让电动机反转,电动机反转的工作原理和电动机正转的工作原理一致,这里就不在叙述。第三,电动机的正反转用到了单片机的把个引脚,分别连接在以下各引脚正转:p1.0(a),p1.2(b),p1.4(c),p1.6(d) 反转:p1.1(a),p1.3(b),p1.5(c),p1.7(d)4.4.2电动机启动和制动时间延时在本次设计中,采用的电动机的启动和制动时间分别为20s,这里20s已经包含了三极管的饱和导通的时间和继电器充电导通的时间。在c语言23 24中延时程序可以由单片机中的定时器精确的算出,但是由于本次设计中已经用掉了两个定时器t1和t0,因此在这里就用c语言的循环指令来算出20s的延时时间,以下为20s的延时程序:#include#include #include #include#include#include#include#include /*延时10s*/void delay20(void)unsigned char i;for(i=0;i=200000;i+) _nop_();4.4.3驱动电机的引脚分配以及电路在控制电动机的模块部分中,采用at89c51单片机的p1口作为四个驱动电动机的启动和停止的控制端,其中用p1.0、p1.2、p1.4、p1.6分别控制四个电动机a电动机、b电动机、c电动机、d电动机的正转。用p1.1、p1.3、p1.5、p1.7分别控制四个电动机a电动机、b电动机、c电动机、d电动机的反转。下面以驱动电动机a为例介绍连接驱动电动机a处的继电器连接at89c51的连接电路:图4-5 驱动电机a同单片机连接电路以上是驱动电动机的正反转控制电路图,当pc机发送加油指令时,p1.0口置位,首先给三极管q1充电,当三极管达到它的自身饱和导通电流时开始给继电器导电,使得继电器内部线圈产生磁感应吸合k1触点,这样使电动机正转带动油泵开始泵油。当加油量达到预置量时,单片机的p1.0口置零,此时就启动了继电器盒二极管构成的回路,开始给继电器放电,使电动机停止泵油。当需要电动机反转时,使p1.1口置位,p1.0口置零,这时电动机就开始反转,这就是通过单片机控制驱动电动机工作的整个过程。4.4.4单片机对电动球阀的控制启动停止如图4-6所示,本图电路为8个电动球阀与单片机的电路连接方法:图4-6 电动球阀同单片机连接电路在本次设计中用到了8个电动球阀控制出油口和回油口的控制,这8个电动球阀是两两互相自锁的电动球阀,它们的完全打开和完全关闭都需要不同的引脚来分别控制,这里就用到了单片机的p2口,作为电动球阀的打开和关闭的控制引脚,其中,分别用p2口的p2.0、p2.2、p2.4、p2.6控制电动球阀的开启的电平输出端,用p2口的p2.1、p2.3、p2.5、p2.7控制电动球阀的关闭的电平输出端口。以电动球阀a1、a2同单片机连接电路为例介绍电动球阀同单片机的连接和引脚使用。因为电动球阀a1、a2是一对互为自锁的电动球阀,它们的开启与闭合是分别使用了两个相同的继电器作为开关,当单片机的引脚p2.0发出高电平而p2.1口必须发出低电平时电动球阀a1开启,a2闭合,这时,球阀处于给车辆加油的待命状态。相反,当单片机的引脚p2.0发出低电平,而p2.1口发出高电平时电动球阀a2开启,a1闭合,这时系统处于回流残余在管道中的油液的状态。本次设计中用到了8个如图图4-10这样的继电器作为电动球阀开关,来控制输入、输出油液的开关,其中8个电动球阀是两两互为开关,把油液a的出油口处的电动球阀记为a1,把油液a的回油口处的电动球阀记为a2,以此类推,油液b处的出油口处的电动球阀记为b1,油液b的回油口处的电动球阀记为b2;油液c的出口处的电动球阀记为c1,油液c的回油口处的电动球阀记为c2;油液d的出口处的电动球阀记为d1,油液d的回油口处的电动球阀记为d2。那么现在以其中一对a1和a2进行说明。a1、a2两个电动球阀是互为自锁的一对电动球阀,当a1开启式a2是闭合状态,当a2开启时a1是闭合的。这里同电动机一样,也用到了继电器来控制每一对电动球阀的开启和关闭,电动球阀的开启和关闭的工作原理同驱动电机的工作原理一样。4.4.5电动球阀的开启关闭的延时 在本次设计中选用的电动球阀的完全打开和完全关闭的时间都为10s,但对于给电动球阀供电的三极管的饱和通电时间和继电器的充电吸合也同样需要时间,经过粗略的计算,本次选用的电动球阀的打开和关闭的时间小于12s,为例安全起见,把这三部分的时间记为12s,以下为电动球阀的延时程序:#include#include#include#include#include#include#include#include /*延时12s*/void delay12(void)unsigned char i;for(i=0

温馨提示

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

评论

0/150

提交评论