基于单片机的汽车空调控制系统设计1_第1页
基于单片机的汽车空调控制系统设计1_第2页
基于单片机的汽车空调控制系统设计1_第3页
基于单片机的汽车空调控制系统设计1_第4页
基于单片机的汽车空调控制系统设计1_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1绪论1.1课题背景及意义汽车空调作为一种舒适性空调,不仅是人民生活水平提高的标志,也是提高汽车市场竞争能力的重要手段。随着科学技术的开展和人民生活水平的提高,人们对汽车空调的温度控制性能提出了更高的要求。国外一些大汽车公司的高档汽车上纷纷装有全自动的空调系统,而国内大局部高档汽车的空调控制器是进口的,目前还没有自主开发的具有自主知识产权的汽车空调自动控制器。总体来看,我国目前汽车空调系统的电子化程度较低,大多数仍采用手动控制或简单的位式控制。手动控制一方面会出现车内温度与乘员舒适要求相差很大,不能满足舒适性和节能性的要求;另一方面容易分散驾驶员的注意力,降低行车的平安性。手动控制己成为汽车空调进一步开展的瓶颈问题。而国外一些高档汽车上已经配有全自动汽车空调系统,并且对这些先进的技术率先申请了专利,对知识产权进行了保护,因此无法破解其核心技术,这样就形成了引进-落后-再引进-落后的恶性循环,严重阻碍了我国汽车工业的开展。随着我国参加WTO和全球贸易大市场的形成,国外先进的汽车空调控制技术对国内汽车工业造成很大的冲击和压力,汽车工业又面临着新的机遇和挑战。我们只有自主开发适合我国交通、气候的汽车空调全自动控制器,形成具有自主知识产权技术,制订出汽车空调控制器的产品标准,才能提高我国汽车工业整体水平,否那么就会在竞争中失败,因而加紧汽车空调全自动控制系统的研究势在必行。目前,我国汽车保有量己超过1200万辆,汽车年产量约110万辆,汽车空调市场有着广阔前景。而现在进口汽车空调控制器的价格较高,而实际的生产本钱较低,随着人民生活水平的提高和汽车工业的开展,全自动控制的空调汽车由于具有较好的舒适性和节能性以及方便驾驶员操作等优点将会越来越受到人们喜爱,因而我们必须不失时机地抓住这个机遇,自主开发研制先进的汽车空调控制系统,不仅会产生巨大的经济效益,而且对我国的经济建设,汽车工业的开展都具有促进作用。在对全合一空气混合型的汽车空调系统进行调研的根底上,通过模糊控制策略和软硬件系统的研究,设计出汽车空调全自动控制系统中的核心局部智能温控系统。1.2国内外研究现状和分析我国现有主要汽车空调生产厂家多家,其中绝大局部是引进国外技术生产线和生产设备,还有些是中外合资企业,国内汽车空调技术的研究和开发特别在自动控制方面与国外的差距很大,由于没有掌握核心技术,导致产品缺乏竞争力,难以满足整车企业的系统化、模块化采购。另外在温度控制方法方面,学术界普遍认为模糊控制和神经网络等理论适用于描述非线性系统。对模糊理论与传统控制理论的关系学术界进行了很多的讨论[1]。1.2.1国外研究现状国外一些大汽车公司的汽车空调系统代表了全自动空调的最高水平。目前,美国,欧洲,日本等汽车工业兴旺国家的汽车公司已经相继开发出各自的自动空调系统[1]。通用汽车公司某型汽车车身计算机模块(BCM)控制的空调系统是较典型自动空调系统。高模块监视高压管路、低压管路的温度以及蓄压罐的压力发动机冷却水温等信号。如果系统不在设定的范围内工作,BCM将压缩机电磁离合器脱离。该系统用一个双向电动机调节混合风门开度,并用5个操纵机构分别控制各个模式风门和加热器热水阀,还用功率模块控制鼓风机的转速。根据驾驶员输入的温度、车室内外温度及制冷剂低压管路温度,BCM计算出气流分送模式,鼓风机转速及混合风门开度,然后进行相应的控制[2]。而克莱斯勒公司的某些汽车空调还以占空比的方式对压缩机离合器进行控制。日本丰田某型汽车自动空调监测车内外温度、蒸发器温度、冷却水水箱温度以及阳光辐射强度、压缩机转速等参量,通过控制压缩机磁吸、风机转速和温度混合风门、新风风门和模式风门的伺服电机,进行车室温度调节。自动功能下该空调ECU(电子控制单元)首先计算送风温度,并根据送风温度控制风机转速、混合风门开度、压缩机启停及送风模式[2]。模糊控制在国外开展非常迅速,在IEEE上有关于模糊系统的专刊,而且定期举行模糊系统协会国际会议。在欧美、日本等地,模糊控制理论迅速应用到了商业产品中去,其中就包括日本把模糊控制成功应用到地铁和各种家电产品的实例[2]。现在在国外的模糊控制理论研究根本上在每个领域上都取得了成功,当中包括工业温度控制,大型空调系统控制和电冰箱温度等。在多输入输出非线性系统领域取得了骄人的成功,突破了传统控制方法的局限[2]。1.2.2国内研究状况从市场占有情况看,由于目前大多数汽车空调生产未上规模,加上总类繁多,国内汽车空调销售市场仅为几家所垄断。比拟而言,国内的汽车空调控制要稍逊一些。广州标致汽车空调的电子控制系统根据车内温度、环境温度、蒸发器温度、送风温度及人为设定值、通过控制风机转速、压缩机离合器开合及热水阀大小来进行温度调节。奥迪100汽车的空调系统模式风门是手控的,鼓风机转速由继电器控制,压缩机离合根据蒸发器温度控制。奥拓汽车空调就更为简单,没有舒适性控制用的传感器,对室温靠人为控制。另外一些形式的汽车空调还未产品化。有人认为光线的入射角会对热负荷影响很大,而对此制定了一套相适应的控制策略。也有这种研究如何通过计算确定送风量、送风温度的分布是很不均匀的,并且均匀分布的温度场也会由于人的舒适感不同而产生舒适性差异。对此有人研究针对前排、后排车座的双蒸发器运行情况,并进行相应的控制。还有人针对司机和乘客的个体舒适性用不同出口进行控制。通过控制压缩机启停来控制车厢内温度也需进行相应的控制才能到达更优。国内80年代就参加到模糊控制领域的研究讨论当中,到了90年代和最近几年,己经在模糊控制等智能控制领域得到了较成熟的开展。在理论研究方面国内研究涉及了基于传统PID的模糊控制,基于神经模糊网络模糊控制和时空混沌的自适应模糊控制等。可以说国内的理论研究已经朝纵深开展,理论体系也比拟完善[4]。而在实践应用领域,模糊控制在近几年几乎涉及到各个重、轻工业领域。在空调制冷系统,温度控制系统和各种家庭小电器中都可以看见用模糊控制方法实现优化处理的应用文章[5]。国内汽车空调生产企业如何利用电子技术提升传统空调产品的技术含量走上专业化、规模化经营之路,将成为我国未来几年汽车空调业迫切需要解决的问题。1.3汽车空调的特点及其控制系统的难点与一般建筑空调相比,汽车空调有其特殊性。首先,汽车是个移动物体,外界气候条件变化大,车外热负荷变化大,以至于难以确定标准的车外设计参数。其次,由于汽车车室内乘员密度大,人体热量大,要求的制冷能力大,汽车开启空调与乘员进入车内往往是同一时刻,乘客要求一进入车室,在很短的时间内就享受到空调效果;而汽车车身在开空调之前的蓄热量是很大的。这几种因素导致汽车空调所要求的负荷大,要求降温(或升温)迅速。因此,汽车空调机组的制冷(或采暖)能力应该比房间空调大的多。另外,汽车是高速移动的物体,与外界对流热交换量大,而且车身隔热困难,玻璃门窗所占面积又大,车室内得热量(或失热量)大。如果汽车长时间直接暴露在太阳下(或风雪下),进入车室的热负荷(或冷负荷)比一般房间要大得多。夏季汽车长时间停在烈日下,车内温度会上升到50℃以上。汽车的使用环境非常严酷,这些环境因素往往造成汽车电子装置的性能恶化,甚至不能完成规定的功能或损坏,出现可靠性故障。因此与一般控制系统相比,汽车空调控制系统也有其特殊要求[2]。首先,要满足温度环境的要求。汽车外部的环境温度最高为50℃,最低为-40℃,但汽车内的工作环境却因部件的位置不同而相差极大。其次,要满足振动冲击环境要求,汽车零部件必须承受由不良路面引起的较大的振动和冲击。还有,要满足电气环境要求。汽车电源波动和瞬时过电压等将形成较坏的电气环境。1.4课题的提出与研究内容本课题的研究是针对我国现有高档汽车上装置的自动空调控制系统根本上依赖进口,国产化自动控制系统在汽车系统中的应用性研究较少,迫切需要对汽车空调控制器实现电子自动化、国产化为目标而产生的。因此,本课题的研究内容为:1)通过对汽车空调工作原理和空调总成的结构分析,设计了以AT89C52为核心的单片机控制系统,并对控制器硬件电路局部做了设计。2)建立实现模糊控制算法的控制系统[6]。阐述了如何实现对汽车空调系统的自动化模糊控制。3)温度的检测采用高精度的集成温度传感器AD590实现。4)编程过程中,采用模块化的设计方法,对各个子模块分别进行编程、调试,再按控制要求将它们连接起来,进行调试、分析。2汽车空调系统工作原理2.1汽车空调系统根本工作原理汽车空调根本功能是通过人为的方法使车厢的温度降低和升高,到达使人体感到舒适的温度环境。高级汽车空调还包括对车厢内空气净化、控制二氧化碳含量和控制空气湿度等高级功能。一般汽车空调系统都可以分为采暖系统和制冷系统两局部[7]。制冷系统主要由压缩机、冷凝器、膨胀阀和蒸发器组成。其制冷原理是利用液态制冷剂吸热产生冷效应。首先,低压(低温)液态制冷剂进入用来冷却车内空气的蒸发器,制冷剂加热在定压下气化。由于制冷剂在管内气化时的温度低于管外空气的温度,因此能自动地吸取车内空气中的热量,使空气温度降低,产生冷效应。然后,气化了的制冷剂通过压缩机压缩,变成高于车外空气的高温高压气体。这时,制冷剂通过在冷凝器将热量释放到车外,制冷剂放热就变成了高压液态冷凝剂。最后,经过节流阀,恢复到低压(低温)液态。所以,当空调要进行制冷时,必须开启压缩机使制冷剂循环,从而降低车内温度。采暖系统是由暖风散热器、暖水阀和风机组成。由于汽车行驶时发动机产生大量热量,一般小型汽车空调都采用发动机余热采暖。发动机冷却水通过暖水阀流入暖风散热器,从而升高通过暖风散热器的空气。所以,当空调要进行加热时,必须开启暖水阀。2.2汽车空调的总成结构[8]。2车内进风2车内进风1车外进风3内外循环风门4鼓风机5混合风门6制冷蒸发器9除霜风口10下吹风口7暖风散热器11前吹风口8风向风门图2.1全合一型汽车空调结构内外循环风门由内外循环电磁阀控制,当内外循环电磁阀闭合时,汽车空调处于内循环状态,这个时候只有车内回风能够进入空调风道。反之,当内外循环电磁阀开时,空调处于外循环状态,这个时候不仅仅车内回风能够进入空调风道,车外空气也进入空调风道,也就制冷(加热)处理前空气是车内回风和车外新鲜空气的混合气体。鼓风机由鼓风机调速电路控制,其作用是推动空气在空调风道里流动,在全和一型空调中,它同时也起了是制冷蒸发器风扇和暖风散热器风扇的作用。制冷蒸发器连接制冷压缩机,压缩抓由压缩机电磁阀控制。当压缩机电磁阀吸合,压缩机开始工作,蒸发器就能从流过的空气中吸取热量,从而使空气降温。混合风门开度由混合风门电机控制。混合风门负责控制空气经过蒸发器和暖风散热器的量,也就是控制经过两种处理空气的混合程度。暖风散热器由暖水电池阀控制,当暖水电磁阀吸合,发动机冷却水流过暖风散热器,这样就可以通过发动机余热进行热交换,将经过散热器的空气加热。混合风门开度由混合风门电机控制。混合风门负责控制空气经过蒸发器和暖风散热器的量,也就是控制经过两种处理空气的混合程度。风向风门由风向风门电机控制。风向风门可以控制空调出风口的出风方式,也就是控制经过处理的空气从除霜风口、下吹风口和前吹风口吹出。综上所述,整个汽车空调控制系统可以通过六个受控装置来控制,它们分别是内外循环电磁阀、鼓风机电路,混合风门电机、压缩机电磁阀、暖水电磁阀和风向风门电机。全合一空气混合型的汽车空调系统,其类型是制冷与加热使用一套温度控制系统,通过混合风门的开度来调节冷热空气的混合。混合风门是全合一空气混合型汽车空调系统最重要的温度调节机构,起作用是将一定量空气按不同比例分配后分别流经制冷蒸发器和暖风散热器,然后再混合,从而调节出风温度。因此,将对混合风门的开度调节作为汽车空调温度调节的主要手段。3车室温度模糊控制的研究自动控制包括传统的控制技术和智能控制技术,智能控制是控制理论开展的高级阶段。由于人体舒适感的模糊性和汽车空调系统的复杂性,人们难于建立关于汽车空调自动控制的控制目标和控制对象精确的数学模型。这样,以精确数学模型为必要条件的传统控制理论应用于汽车空调系统存在许多不能解决的问题。而模糊控制作为一种最广泛应用智能的控制技术之一,具有不需要知道控制目标和对象的精确数学模型,适于具有大滞后和非线性时变系统等优点而被人们广泛关注[9]。3.1模糊控制理论根底模糊控制系统根本原理在实际生产过程中,有经验的操作人员,虽然不懂被控对象或被控过程的数学模型,却能凭借经验采取相应的决策,很好地完成控制过程。这里人的经验可以用一系列的具有模糊性的语言来表达,这就是模糊条件语句。再用模糊推理对系统的实时输入状态观测量进行处理,那么可产生相应的控制决策,这就是模糊控制[9]。最根本的模糊控制系统结构如图3.1所示。从图中可以看出,它和传统的控制系统结构没有多大区别,只是用模糊控制器取代传统的数字控制器。在模糊控制系统中,模糊控制器的作用在于通过电子计算机,根据精确量转化而来的模糊输入信息,按照语言控制规那么进行模糊推理,给出模糊输出判决,将其转化为精确量,对被控对象进行控制作用[10]。给定输入R输出Y给定输入R输出Y控制u偏差e+=被控对象模糊控制器+=被控对象模糊控制器--图3.1模糊控制系统结构图一般说来,模糊控制器有三个主要的功能模块。1)模糊化。将变量的实际变化范围化分成假设干等级,这些等级的全体成为变量的论域。在这个论域上定义相应的语言变量值。将实际变化范围内的输入值转换成论域范围内的有关等级值的过程称为模糊化过程。2)模糊控制推理及控制规那么。模糊控制器的控制规那么是基于手动控制策略,手动控过程一般是通过对被控对象的一些观测,操作者再根据己有的经验和技术知识,进行综合分析并做出控制决策,调整加到被控对象的控制作用,从而使系统到达预期的目标。可以采用微机完成这个任务,从而代替人的手动控制,实现所谓的模糊自动控制。利用语言归纳手动控制策略的过程,实际上就是建立模糊控制器的控制规那么的过程。也就是说,这些手动控制规那么的经验总结就成了模糊控制规那么,并用模糊条件语句来表述。3)精确化。模糊控制器的推理结果是模糊量,由于模糊量是一个模糊子集,而实际被控对象所需的控制信号是精确值,所以模糊控制器的推理输出是不能直接用作实际控制的,为了从推理结果中取得用于控制的精确量,需要对模糊推理结果进行一定的处理。对模糊量进行处理,求取一个能恰当的反映模糊量的精确值的过程称为精确化。有时也称为反模糊化,也称之为模糊决策或模糊判决。模糊量的精确化有很多方法,其中较常用的主要有以下几种:最大隶属度法、中位数法和面积重心法。模糊控制的特点模糊控制不用建立数学模型,模糊控制获得巨大成功的主要原因在于它具有如下一些突出特点:l)适用于不易获得精确数学模型的被控对象,其结构参数不很清楚或难以求得,只根据实际系统的输入输出结果数据,参考现场操作人员的运行经验,就可对系统进行实时控制。2)模糊控制是一种语言变量控制器,其控制规那么只用语言变量的形式定性的表达,构成了被控对象的模糊模型。3)模糊控制实际上是一种非线性控制,附属于智能控制的范畴。该系统尤其适用于非线性,时变,滞后系统的控制。4)抗干扰能力强,响应速度快,并对系统参数的变化有较强的鲁棒性。正因为模糊控制有这么多优于现代控制的特点,本课题中温度的控制在系统处于过渡过程时采用了模糊控制技术,汽车空调温度控制系统的控制执行机构是混合风门,控制目标是使车内温度到达设定的温度[11]。3.2模糊控制器的设计3.2.1模糊控制器的结构设计模糊控制器的结构设计是指确定模糊控制器的输入变量和输出变量[5]。从理论上讲,模糊控制器的维数越高,即输入变量个数越多,控制越精细。但维数过高,模糊控制规那么变得过于复杂,控制算法实现相当困难。所以本系统中选用两维模糊控制器[11]。由于温度偏差变化率即能反映外界环境对温度的影响,同时也反映车厢内人员的状态和变动情况,又考虑到系统的动态特性,装置的实施等因素,所以选定温度的偏差及温度偏差变化率为模糊控制器的输入变。输入变量为温度偏差e和偏差变化率e。,输出变量为控制量u,即混合风门的开度,风门开度越大,经过加热器的风就越多,温度就上升得越快。3.2.2精确量的模糊化精确量模糊化就是把物理量的精确值转换成语言变量值。在以人的经验为根底的模糊控制中,一般将模糊控制器的输入输出变量的状态划分为“正大、正中、正小、零、负小、负中、负大〞七个档次来描述,分别用英文字母PL,PM,PS,0,NS,NM,NL表示之。对于系统偏差,描述其状态时,还常把“零〞分为“正零〞和“负零〞,分别用P0,N0表示之。在汽车空调智能温控系统中,温度偏差为温度设定值和温度测量值之差。我国南北温差大,同地冬夏温差也十分大,在一个典型的温带海洋性气候的沿海城市,一年气温将在-10℃~30℃之间徘徊。而按照医学研究结果,人感受的最正确环境温度为24±1℃。本文把温度设定值的范围定为15℃到28℃,定义温度偏差e的论域为[20,20],温度偏差变化率ec的论域为[4,4],风门电机的输出量u的论域为[0%,100%](0%表示最大制冷,100%表示最大采暖)。对e,ec和u的模糊状态E,EC和U的整数论域分别定义如下:E和EC的论域为:{-4,-3,-2,-1,0,1,2,3,4}U的论域为:{-5,-4,-3,-2,-l,0,l,2,3,4,5}因此,量化因子Ke=4/20=0.2,Kec=4/4=l,Ku=l/10=0.1。下面把物理量的精确值转换成语言变量值,一般对语言变量分5到10档,整数论域为档级数的1.5到2倍。如果档级过少,语言变量值过于粗糙,对控制的质量有不良影响。如果档级过多,那么语言变量过细,关系矩阵过大,占用内存太多。针对汽车空调温度控制模糊控制器,将E,EC和U的模糊语言定义如下:E和EC的模糊集均为:{NB,NS,ZE,PS,PB};U的模糊集为:{NB,NM,NS,NO,PO,PS,PM,PB}。隶属度函数的建立有一定的原那么,模糊控制过程对于语言变量值的隶属度函数形状并不敏感,只是对隶属度函数的范围有一定的敏感,所以在控制中选用三角形或梯形的隶属函数是较为适宜的,因为有利于计算隶属度。3.2.3模糊控制规那么确实定本系统采用IFAiandBithenCi为模糊控制规那么,其中Ai为温差E的模糊子集,Bi为温差变化率EC的模糊子集,Ci为风门开度增量U的模糊子集[12]。根据车厢温度变化的参数特点和现场实际操作经验及专家的知识理论,总结出表3.1所示的模糊控制规那么表。表3.1模糊控制规那么表ECCEECCENBNS0PSPB

NBNBNMNS00NSNMNM00PS0NSNS0PS

PMPSNSOPMPB

PBPB0PSPMPBPB建立模糊控制规那么的根本思想:当误差大或较大时,选择控制量以尽快消除误差为主,而当误差较小时,选择控制量要注意防止超调,以系统的稳定性为主要出发点。以误差为正大时,误差变化为正大为例,这时误差有增大的趋势,为尽快消除己有的正大误差并抑制误差变大,所以控制量取正大,即使风门开度到达最大,增加通过加热器的风量。3.2.4模糊量的精确化为了对被控对象施加精确的控制,还需要将模糊量U转换为精确量u,即对模糊量进行清晰化处理。模糊量的精确化也就是求取模糊控制表。求取模糊控制表必须把输入的所有情况都考虑到,求取模糊控制表必须把输入的所有情况都考虑到,下面以系统输入偏差E的论域值为1,偏差变化率EC的论域值为2为例来介绍怎样确定模糊输出量U。偏差E为1,偏差变化率EC为2时,对于偏差量有:μZE(1)=0.2,μPS〔1〕=0.4,其余模糊集的隶属度都为0。对于输入的偏差变化率,有μPS〔2〕=1,其余的模糊集的隶属度都为0。根据ZEE和PSEC在模糊状态控制表里可查得U=PM,同理,由PSE和PSEC可查出U=PB,即对于当前输入值,有两条控制规那么是有效的:IFE=ZEandEC=PSthenU=PMIFE=PSandEC=PSThenU=PB由以上控制规那么,再根据L.A.Zadeh的模糊推理算法,得出实现模糊推理过程如下:首先取第一条规那么中两个前件的隶属度的最小值,对后件的模糊集求截集,对于该控制规那么求得的控制量的模糊截集有:μPM然后再取第二条规那么两个前件的隶属度的最小值,对其后件的模糊集求截集,对于第二条规那么所求得的控制量的模糊截集有:μPM最后,把对应于当前输入值的所有有效规那么推理所得的控制量的模糊截集相“并〞,得到当前输出控制量的模糊集,再按重心法原那么,对输出模糊量进行模糊判决,求出控制量u为:u=[μ(1)×1+μ(2)×2+μ(3)×3+μ(3)×3+μ(3)×3]/[μ(1)+μ(2)+μ(3)+μ(4)+μ(5)]=(l×0+2×0.2+3×0.2+4×0.4+5×0.4)/(0+0.2+0.2+0.4+0.4)≈4由此可知,当输入e=1,ec=2时求得的控制量u的论域值为4,按以上方法,对论域x,y中的全部元素的所有组合计算出相应的以论域z元素表示的控制量变化值,并写成矩阵(u)。由该矩阵构成的相应的表格即模糊控制器的控制表。见表3.2。表3.2模糊控制器的控制表CECECEC-4-3-2-101234-4-5-4-3-2-10001-3-4-3-3-2-10011-2-3-3-3-201112-1-2-2-2-2011230-2-1-1-1122231-1-1-10132332100014334300012434440112344454硬件电路设计4.1汽车全自动空调控制器硬件4.1.1工作原理汽车全自动空调控制器实际上就是根据人们对空调控制器的设定值,控制汽车空调系统各个环节,使车厢内空调环境到达设定目标的电子控制设备。为了实现对汽车空调各个执行机构实现自动控制控制,必须要对车内环境状况做出监控。一般是采用安装在车内不同位置的各种传感器经过A/D转换成数字量,再传到微处理进行检测和决策。微处理根据检测的数据和温度设定值进行决策处理后,通过各个执行机构的驱动模块实现空调执行机构的改变,从而最终实现对车内环境的改变[7]。4.1.2硬件组成汽车全自动空调控制器的核心局部,是由微处理器为核心的电子线路系统。包括主机和I/O接口设备。主机包括中央处理器,主机依靠I/O接口设备来输入信息(键盘、传感器信号),输出指令控制命令、显示等[8]。微处理器并行I/O口扩展芯片微处理器并行I/O口扩展芯片键盘显示器温度传感器A/D处理系统监控及系统数据存储器串行通讯接口电路环形脉冲分配器驱动放大器变压整流稳压混合风门步进电机图4.1全自动空调控制器硬件组成图4.1的中心框CPU是中央控制处理单元,它根据程序储存器中存储的程序,一步步执行程序所规定的工作。这些工作包括:1)各种数学运算和逻辑分析判断。运算分析的原始数据可从数据存储器中读出,运算分析的中间结果和最终结果都可以存放在数据存储器中。2)从输入接口中读出经过信号转换后的各种传感器的输入信号,并将这些信号以数字的形式存放于数据存储器中。传感器可以有模拟量、开关量等多种方式的输出信号,输入接口将这些信号都可以转换为数字信号,随时供CPU读出。3)根据控制要求和存储于数字存储器中的分析计算结果,将对执行器的操作命令送到输出接口,输出接口根据所连接的执行器的种类将这些输出命令转换为相应的信号形式,使执行器执行相应的动作。4)读取键盘状态,得到使用者的键盘操作状态,对它进行分析处理。根据程序要求或使用者的键入命令将相应的数据送到显示单元。5)从通讯接口读入数据并将其存储于数据存储器中。根据程序要求,将数据存储器中的有关数据送至通讯接口,实现通讯。4.2单片机简介本系统选用ATMEL公司的AT89系列单片机中的AT89C52,AT89C52单片机是一种新型的低功耗、高性能且内含SK字节闪电存储器(FlashMemory)的8位CMOS微控制器,与工业标准MCS-51指令系列和引脚完全兼容。有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。AT89C52芯片内部有6个中断源:两个外部中断INT0和INT1,三个定时器中断〔定时器0,1,2)和一个串行口中断。在本系统中涉及到AT89C52芯片的中断源有五个:分别是外部中断INT1,定时/计数器T0、T1和T2以及串行口中断。下面就这五个中断源介绍如下:1)关于外部中断的激活方式分为两种:一种是电平激活,另一种是边缘激活。这两种方式可以靠TCON存放器中的中断方式IT1和IT0来控制。假设ITX=O(X为0或1),那么采用电平激活方式;假设ITX=l,那么采用边缘激活方式。本测控系统采用电平激活方式,也即是IT1=O,一旦IT1引脚的采样值为低电平,那么TCON存放器中的中断请求标志IE1被置1,以请求中断。2)关于定时/计数器AT89C52有三个定时/计数器T0、T1和T2。他们都可以分别为定时器或计数器使用。选择定时器工作方式时,计数输入信号是内部时钟,每隔一个机器周期使存放器的值增加1。每个机器周期等于12个振荡器周期,故计数速率为振荡器频率的1/12。当采用12MHz的晶振时,计数速率为1MHz。对于定时器T0和Tl,通过存放器TMOD、TCON来控制和选择定时/计数器的功能和操作模式。这些存放器的内容靠软件设置,系统复位时,存放器的所有位都被清零。而T2的工作是靠对TZCON存放器进行软件设置而定义的。本系统采用定时T0来计算车厢温度采集的时间间隔,设置为工作方式1,即16位计数定时方式;定时Tl作波特率发生器使用,选择在工作方式2,即8位自动加载方式;定时器T2用于确定混合风门步进电机输入脉冲的频率,设置位16位常数自动重装入的工作方式。4.3温度信号采集电路的设计4.3.1温度传感器的选择温度传感器的功能是进行温度信号的测量,在本文中采用集成温度传感器AD590[13]。AD590是美国ANALOGDEVCIE公司生产的专用集成温度传感器,属于电流输出型传感器。在一定温度范围内,它相当于一个高阻抗恒流源,其电流温度灵敏度为1μA/K。它不易受接触电阻、引线电阻、电压噪声等的干扰。此外,它还具有体积小、测温精度高、线性度好和互换性强等特点。它与大多数其它形式的温度传感器相比,不存在线性化问题。与热电阻传感器相比不需要设计输入电桥和微弱信号放大器,与热电偶相比不需要进行冷端补偿,而且它是以高阻抗恒流源形式输出,传输线上的压降不影响输出电流值,可以进行远距离传输。因此,它具有使用方便,抗干扰能力强的特点,特别适用于较远距离的温度巡回检测系统的设计方法。其主要技术指标为:1)测温范围:-55℃~150℃2)电流输出:1μA/K3)电源电压:4~30v(直流)℃5)重复性:±℃6)输出阻抗:约为10MΩ7)长期漂移:±℃/月4.3.2温度传感器采样放大电路温度传感器采集的温度信号是模拟信号,需要进行A/D转换。某些结型半导体器件,例如二极管和三极管对温度呈现出敏感性,因而可用作温度敏感元件,因此可以利用这个特性,从它的输出电量的大小直接换算,而得到绝对温度值。AD590便是根据此原理制造的一种半导体集成温度传感器。单片机的ADC0809芯片就是进行A/D转换的扩展芯片,它可以进行8路模拟信号的转换。但是ADCO809的输入信号是电压值,电压范围是OV~5V,而AD590采集的温度信号是电流信号,电流的量值是微安级,所以AD590传感器采集的温度信号还不能直接输入到单片机中,需要进行电流/电压的转换,将电流信号转换为电压信号,并且对电压信号进行放大。以适应ADC0809芯片的输入要求。因此,本文采用10KΩ电阻与AD59O串联对传感器进行电压取样。在电阻上得到与绝对温度成正比的电压输出Vo(1mV/K)。当温度变化时,AD59O会产生变化的电流,而且AD590的输出是与绝对温度(K)成正比的,其在0℃时输出电流为273.2uA,为了使AD590的输出与摄氏温度(℃)成比例关系[14],作如下处理。经OPA1将电流转换成电压,再由OPA2做零位调整,最后由OPA3反向放大10倍。放大电路如图4.2。第一个步骤:先调AD59O的可变电阻器VR1。如以0℃为参考值,那么应使电压输出为2.73V;第二个步骤:调整VR2,使0℃时OPAZ的输出为2.73-2.73=OV(反相,零位调整);第三个步骤:调VR3,使此时OPA3放大10倍。图4.2采样放大电路另外,出于经济性和数据采集特点的考虑,本文决定采用多路开关来对8路传感器信号进行分时采集,这样可以使8路信号共用一个放大器,而又不影响电路的特性。模拟开关CD4051的选通地址A0~A2单片机的控制。就完成了从温度电流信号到A/D转换器标准电压信号的转换。4.3.3模数转换电路前面已谈到AD590及其测量调理电路如何实现标准电压信号的输出,该电压信号为模拟量,而计算机只能接收数字量,为了温度信号的引入,必须进行模数转换。在本文中将利用AT89C52单片机和ADCO809模数转换芯片以及其他外围器件来构建A/D转换模块[7]。1)ADC0809主要特性。ADC0809是采用CMOS工艺制造的双列直插式单片8位A/D转换器。分辨率8位,精度7位,带8个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。启动信号为脉冲启动方式,ADC08O9内部没有时钟电路,故CLK时钟需由外部输入。每通道的转换需66到73个时钟脉冲,大约100到110us。工作温度范围为-40℃到+85℃。功耗为15mW,输入电压范围为0到5V,单一+5V电源供电。在ALE=l周期期间,模拟量的输入地址(A,B,C)存入地址锁存器;在ALE=O时,地址锁存。输入启动信号START的上升沿复位ADC08O9,它的下降沿启动A/D转换。EOC为输出的转换结束信号,正在转换时为0,转换结束时为1。OE为输出允许控制端,在转换完成后用来翻开输出三态门,以便从ADC0809输出这次转换结果。2)AT89C52和ADCO809芯片的接口电路a.模数转换接口电路该模数转换电路模拟量输入通道INO处为温度传感器的电信号输入口,那么对应地址线A,B,C都为0。经过ADC0809模数转换完成后,转换的数字量经数据输出线D7~D0直接与单片机的P0口相连。b.ADC0809的模拟通道选择信号A,B,C分别接P2.4、P2.5和P2.6,而地址锁存允许信号ALE由P2.7控制,那么模拟通道INO的地址为OFFFH。温度信号经过ADC0809转换以后,实际上是把O~5V范围内变化的电压信号转换为0~255范围变化的数字量,分辨率为22mV左右,即数字量从一变化到二时,表示电压上升22mV。A/D转换后得到的数字量数据应及时传送给单片机进行处理,而数据传送的关键问题是如何确认A/D转换的完成,因为只有确认数据转换完成后,才能进行传送。为此可采用下述3种方式:定时传送方式:对于一种A/D转换器来说,转换时间作为一项技术指标是己知的和固定的。可据此设计一个延时子程序,转换启动后即调用这个延时子程序,延迟时间一到,转换肯定己经完成了,接着就可进行数据传送。查询方式:A/D转换芯片有说明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确知传换是否完成,并接着进行数据传送。中断方式:把说明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。在本文中采用查询方式,EOC通过三态输出门接到单片机的上P2.0。EOC的转换结束信号由P2.0控制与数据总线的P0.0相连。在查询方式下,EOC的查询地址为OFEFFH。4.4人机接口的设计一LED显示和键盘LED显示和简易键盘是汽车空调智能温控系统的人机接口,车厢内的测量温度和设定温度由LED显示,通过键盘,可以实现系统的“软关机〞和恢复“正常运行状态〞,可以切换“自动〞和“手动〞工作模式。在“自动模式〞下能够通过输入温度设定值,实现车厢温度的自动调节;而在“手动模式〞下可以直接改变混合风的开度,实现车厢温度的人工调节。用8255扩展并行I/O接口构成的键盘和四位七段LED显示器接口电路。另外,接在P1.2上的指示灯L0工作于混合风门的手动控制的模式下,当其发光时,表示风门处于最大开度位置。4.4.18255和A589C52的硬件连接8255是一种可编程的并行I/O接口芯片,其内部含有三个8位数据端口A、B、C,都可以选择作为输入或输出。有A组和B组两组控制电路,A组控制电路控制端口A和端口C的上半局部(PC7~PC4);B组控制电路控制端口B和端口C的下半局部(PC3~PC0)。8255中的三个端口以及内部的一个控制存放器,由A1、A0来加以选择。另外,8255有三种工作方式:根本输入/输出方式(方式0),这种方式下,A、B、C端口任何一个都可以作简单的输入/输出操作,不需要应答联络信号;输入/输出方式(方式l),端口A、B、C借助于C口一些引脚选通或应答或联络信号;带选通的双向总线输入/输出方式(方式2),此方式只适用A口,由PC3~PC7提供选通、联络信号,实现总线数据的规化传送。为了简化接口,且不必引入反应闭环控制,故本文采用方式0工作。在此,单片机的P0口线既作地址线使用又作为数据线使用,具有双重功能,因此需采用复用技术,对地址和数据进行别离,为此在构造地址总线时要增加一个8位锁存器,本文采用的地址锁存器是74LS373。首先由锁存器暂存并为系统提供低8位地址,其后P0线就作为数据线使用。即AT89C52的P0口输出的低8位地址增加74LS373后再与8255的AD0~AD7相接,地址锁存用ALE在74LS373锁存。其中,8255的端经锁存器接P0.7,A1、AO经锁存器接P0.1和P0.0。当P2.7为低电平时,访问8255的I/O口[8]。4.4.2LED显示器1)LED的动态显示本文中控制系统的显示器采用四位七段LED显示器[7],其中前两位用于显示温度设定值,后两位用于显示温度测量值。另外,LED显示有动态显示和静态显示两种显示方式,其中静态显示方式的编程较容易,但占用口线资源较多。在本论文的设计中,四位七段LED显示器采用动态显示方式。段选线接8255的PA口,位选线接8255PB口的PB0~PB3。由于各位的段选线并联,段选码的输出对各位来说都是相同的,在同一时刻,如果各位的位选线都处于选通状态的话,四位LED将显示同样的字符;如果采用扫描显示方式,在某一时刻,只让某一位的位选线处于选通状态,其他各位处于关闭状态,同时在段选线上输出该位要显示的字符的字型码,这样在此时四位LED中只有选通的那一位显示出字符,而其他三位是熄灭的。同样在下一时刻只让下一位处于选通状态,其他的处于关闭状态,同时段选线输出该位要显示字符的字型码,在这一时刻只有选通的位有输出。如此循环下去,就可以使各位显示出要显示的字符,虽然这些字符不是同时出现,但由于人的视觉留现象,只要各位的显示间隔足够短,那么会造成同时显示的假象。2)LED显示的驱动技术LED显示器的驱动是一个重要的问题,驱动能力不够,显示亮度就低,驱动器长期在超负荷下运行那么容易损坏。对于静态显示,LED的驱动较为简单,只要驱动器的驱动能力与显示的工作电流相匹配即可,而且只须考虑段的驱动。动态显示那么不然,由于一位数据的显示由段和位选信号共同完成的,必须同时考虑段和位的驱动,段的驱动能力决定了位的驱动能力:当段驱动能力确定后,要考虑极端的情况,即该位中各个段全部点亮,那么位的驱动电流为各段驱动电流之和。选择晶体三极管C9013为驱动器,各个三极管工作于开关状态。当段、位选通时,C9013的饱和压降约为0.3V,LED的压降近似为1.5V,取限流电阻60Ω,那么段的峰值电流为:(5-0.3-1.5-0.5)/60≈50mA,因显示器为四位LED显示,所以平均电流为50/4=12.5mA,显示器为七段,故位驱动电流为50×7=350mA,满足七段LED显示的要求。4.4.3键盘工作原理简易键盘中的“UP〞键、“DOWN〞键和“AUTO〞键跨接在8255相应的PC0~PC2线上,此时,8255的PC口为输入。同时,3个按键的行线通过一个与门接到CUP的外部中断引脚上,当键盘上没有键闭合时,列线都输出高电平,引脚也为高电平。一旦键盘上有键闭合,引脚就变为低电平,向CUP发出中断请求。再用软件查询的方法判别是否真的有键按下和确定是哪个键被按下。另外,系统的软开关按键“ON/OFF〞键接AT89C52的P1.3引脚,按键在没有闭合时,P1.3引脚处于高电平,该按键采用扫描查询的工作方式,当检测到氏输入为低电平时,系统会在“正常运行模式〞和“软关机模式〞之间切换。4.5串行存储及系统监控电路的设计4.5.1监控芯片X25045功能介绍为提高单片机系统的稳定性和抗干扰能力,采用带看门狗定时器、带上电复位和电源电压监控的电路成为一种趋势。另外,在单片机系统中常常需要在线进行某些参数的设置和修改,且掉电后数据保持不变,往往会用到串行EERPOM。Xicor公司生产的X25045芯片将看门狗定时器、上电复位、电源电压监控和串行EEPROM集成在一片8只引脚的芯片内,与单片机的接口非常简单,简化了系统硬件,提高了可靠性,降低了本钱和功耗,是组成单片机系统的理想器件之一[15]。1)功能简介看门狗X25045的看门狗定时器对单片机提供独立的保护系统。该定时器共有20Oms、600ms、1.4s三种定时时间,可由用户编程选择。在设定的时间内,假设单片机没有访问X25045(即表示系统出现故障),看门狗将输出RESET信号,将其RESET输出端置为高电平。延时约200ms后,RESTE端由高电平变为低电平,将单片机复位。电压监控上电时,电源电压高于4.5V后,经过约200ms的稳定时间RESET信号由高电平变为低电平;掉电时,电源电压低于4.5V时,RESTE信号立即变为高电平直至电源电压恢复稳定为止。这样就保证了单片机可靠复位以及电源电压不稳定时,单片机不会出现死机和误动作。X25045片内带64字节串行EEPROM,每个字节可擦写10万次以上,数据可保存100年以上,具有可编程块锁定功能,用三总线串行1/0接口便可进行读写操作2)工作原理X25045内部有一个8位的指令存放器,单片机通过对指令存放器写命令实现对X25045的操作。指令、地址和数据均以高位在前的方式串行传送,EEPROM读(READ)、写(WRITE)命令中的第三位是EEPROM地址的高位A8,用于选择器件的上半部或下半部。另外,X25045有一个8位的状态存放器,它由RDSR和WRSR命令进行读写WIP位为写EEPROM忙位,是只读位。WIP为“0〞,表示没有进行EEPROM写操作,可以写EEPROM操作,WIP为“1〞,表示正在进行EEPROM写操作,此时不能向EEPROM写数据。WIP位由WRNE指令设定为1:在执行WRDI操作,上电时,字节、页或状态存放器写周期完成后,WIP脚变为低电平时,WPI复位为0。WEL是写使能存放器状态位,是只读位。WEL由WREN指令置为1,由WRDI指令复位为0。当WEL被复位为0时,EEPROM写操作被禁止。BL0、BL1是EEPROM块保护的地址选择位。一旦某块地址的内容被保护,该块的内容就只能读,不能写新数据。WD0、WDI为看门狗定时器定时时间设定位。4.5.2X25045与单片机AT89C52的接口电路图4.2是X25045与AT89C52的接口电路。Pl.7、Pl.6、P1.5、Pl.4分别接X25045的串行输入、串行时钟输入、片选、串行输出端,经2K电阻接Vcc,按键S起手动复位作用。图4.2X25045与AT89C52的接口电路4.6混合风门步进电机驱动电路的设计根据PMM8713与SI-7300A组合的步进电机的功率驱动电路,设计出混合风门四相步进电机的功率驱动系统。PMM8713采取单脉冲输入、1-2相励磁方式,DP控制端为SI-7300A的输入电流I。调节端,可悬空或接高电平,接高电平时可适当提高SI-7300A的输出电流,在本应用系统中悬空使用。PMM8713的时钟脉冲输入信号和旋转方向控制信号由AT89C52的Pl.0和P1.1输出,系统采用四相混合式步进电机,驱动电压为直流24V[16]。4.6.1SI-73001功率驱动原理SI-73001采用PWM恒流斩波的驱动方式,是高性能步进电机集成功率放大器,为单极性四相驱动,能获得很高的性能指标.步进电机使用较高电压电源,可使绕组电流几乎阶跃地上升到预定值,流过Rs的检测电流去控制斩波控制电路关断,绕组电路在续流回路(回路L、T2、Rs、Dl)中续流并下降,当电流下降规定时间后(到达某一电流值)由脉冲电路产生脉冲至斩波控制电路使T,接通,如此反复控制,由T1反复开关绕组电流,进行斩波控制,使电流平均值趋向于维持恒定。外接稳压二极管D1、D3用作钳位保护和内部集成续流回路(需外接检测电阻Rs)以保护T1免受因T1的开关动作引起的感应电动势造成的尖峰电压损害。4.6.2PMM8713的特点及其管教功能PMM8713是步进电机脉冲分配器,采用DIP16封装,适用于控制三相或四相步进电机。控制三相或四相步进电机时,可以择3种励磁方式,每相最小灌入与拉出电流为20mA,满足后级功率放大器的输出要求,PMM8713在其所有输入端子上内嵌有施密特电路,噪声容限大。由时钟选通设定步进电机正反转脉冲的输入方法。脉冲输入方法有双脉冲输入法和单脉冲输入法两种。双脉冲输入法,CU、CD分别控制步进电机正反转脉冲;而单脉冲输入法,CK脉冲输入,正反转方向由C/D的电位上下决定;鼓励方式控制决定选择何种励磁方式(1相励磁、2相励磁、1-2相励磁3种励磁方式之一),本文采用1-2相励磁方式,故EA和EB都接高电平;鼓励方式判断用于检测可逆环形计数产生步进电机在选定的励磁方式下的各项通断的时序逻辑信号。PWM8713管脚功能如表4.1所示。表4.1PMM8713管脚功能管脚号符号功能1CU正转时钟输入2CD反转时钟输入3CK时钟脉冲输入4C/旋转方向切换,0-反转,1-正转5EA励磁模式切换00—2相;01、10—1相;11—1-2相6EB7ΦC3、4相切换0-3相;1-4相8Ess地9R复位14Em励磁检测15CO输入脉冲检测16VDD电源+4V~18V4.7串行通讯接口的设计串行口通讯是计算机与外部设备之间进行数据交换的重要方式,在工程中有着广泛的应用。本文采用普通PC机作为上位机,在VB平台上开发空调车厢温度调节系统的热力学模型,通过串口通讯的方式与单片机系统进行数据交换,以测试本文研究设计的汽车空调智能温度控制器的实际工作性能[17]。4.7.1串行数据通信概述1)串行数据传送的特点数据传送按位顺序进行,最少只需一根传输线即可完成,本钱低但速度慢。计算机与远程终端或终端与终端之间的数据传送通常都采用串行方式。另外,串行数据传送分为异步传送和同步传送两种方式,本文使用异步传送方式。2)异步串行通信异步串行数据通信是以字符为单位,即一次传送一个字符。异步数据发送器先送出一个起始位,紧跟着具有一定格式的串行数据位和停止位。异步数据接收器首先接收起始位,同步它的时钟,使之接近于发送器的频率,然后使用同步时钟接收位数据串。在接收过程中,接收时钟与发送时钟的匹配会有偏差,但这种偏差不会影响短时间内的数据串接收的正确性。停止位通常被接收器用来判别接收过程中的某些错误,例如串行数据的字节边界错等。异步串行通信的字符包括起始位、数据位、奇偶校验位、停止位。从起始位到停止位结束的全部内容称为一帧,它是一个字符的完整的通信格式。异步通信数据传输中,微机与其他设备之间必须有两项规定:字符格式,即字符的编码形式,奇偶校验形式,以及起始位和停止位的规定;波特率,即数据传送速率的规定,用每秒传送格式位的数目表示。3)RS-232总线RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准,该标准除包括物理指标外,还包括说明按位串行传送的电气标准。a.RS-232C电气特性和数据传送格式在电气性能方面,RS-2320使用负逻辑。逻辑“1〞电平是在-5V到-15V范围内,逻辑“0〞电平+5V到+15V范围内。它要求RS-232C接收器必须能识别低到+3V的信号作为逻辑“0〞,识别高到-3V的信号作为逻辑“l〞,即有2V的噪声容限。RS-232以位串行传输数据的格式,这是微机系统中最通用的格式。7位ASCⅡ码数据的连续传送由最低有效数字位开始,以奇偶校验位结束。b.RS-232C接口引脚的使用异步传输只要9只引脚就够了,如果要采用同步那么需要25只引脚。在本文中采用9针的串行端口DB9,并使用一种有效而最简单的接法,仅仅用到DB9串口三只引脚就可以完成数据的收发,其中2脚RXD为数据接收脚,3脚TXD为数据发送脚,5脚GND为接地端。4.5.2单片机与PC机的串行接口及电路微机串口通常采用RS232电平,而单片机串口是TTL电平,二者不兼容。所以,接口必须做电平转换处理。本文采用的是MAXMI公司的MAX232电平转换芯片。单片机串行口的TXD,RXD和GND经电平转换分别与微机的RXD,TXD和GS相连。MAX232电平转换芯片的第9,10引脚分别接单片机的10和11引脚。DB9串口的第2,3引脚分别接MAX232电平转换芯片的7,8引脚。通过MAX232的TTL电平和RS232的输入/输出端口,自动地调节了单片机串口的TTL电平信号和RS232的串行通信信号的电平匹配[15]。4.5.3串行通讯的工作方式和波特率设置为了保证上位机与下位机的正常通信,单片机的波特率与PC机串口的波特率要相等,并且传输速率越低,传送的误码越少。在本文中,由于对实时性要求不高,故采用低波特率来减小误码率,本文采用的波特率为1200bit/s。单片机的串行工作方式有四种,本文采用串行工作方式l。即以10位为一帧的异步串行通信方式,共包括1个起始位,8个数据位和1个停止位。数据发送是由一条写发送存放器(SBUF)的指令开始,随后在串行口由硬件自动参加起位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TDX端串行输出。一个字符帧发送完后,使TXD输出线维持在“l〞状态下,并将串行控制存放器SCON的TI位置“1〞,通知CPU可以接着发送下一个字符。接收数据时,SCON的允许接收位RNE位应处于允许接收状态(REN=1)。在此前提下,串行口采样RXD端,当采样到从“1〞向“0〞的状态跳变时,就认定是接收到起始位。随后在移位脉冲的控制下,把接收到的数据位移入接收存放器中。直到停止位到来之后置位接收中断标志位RI,通知CUP从SBUF取走接收到的一个字符。5汽车空调智能温控系统的软件设计硬件电路设计完成之后,系统的主要功能将依赖于软件程序来实现,同时系统能否正常可靠地工作,除了硬件的合理设计外,与功能完善的软件设计是分不开的。5.1系统软件设计概述由于汇编程序占用空间小,执行效率高,而且具有可直接操作硬件资源和实时性强等特点,故在本次设计中,采用MCS-51汇编语言进行程序编写。本系统采用的是8位单片机AT89C52,其程序存储器也只有8K,为了更充分地使用单片机的有限空间,在开发该系统软件时使用中断模式作为整个软件的主线。汽车空调智能温控系统的软件程序是由主程序、外部中断效劳程序、串行中断效劳程序和定时器中断效劳程序等组成。5.2系统软件的工作模式汽车空调智能温控系统的工作模式分为“正常运行模式〞、“软关机模式〞、“手动控制模式〞和“自动控制模式〞。系统上电时,软件进入上电自检状态,这时系统会首先从X25045读入上次断电前存入EEPROM的系统状态信息,初始化各个中断并恢复空调控制器到上次关机前状态。经过上电初始化,智能温控系统会恢复到上次关机前的“正常运行模式〞。此时,通过温度调节按键可以设定需要的温度值,温度传感器定时检测车厢温度,显示器显示温度设定值和温度测量值,混合风门的开度会根据温差和温差变化自动调节,温控系统能够与PC机通过串口通讯交换数据。按一下“ON/OFF〞键,可使温控系统进入“软关机模式〞。此时,系统不能再进行温度检测、温度设定和串行通讯,显示器熄灭,混合风门步进电机停止运转。同时,系统在关机前自动把温控系统的状态信息(如混合风门的开度位置,自动控制模式下的温度设定值或手动控制模式下的风门档位值)保存到X25045的EEPROM中。如果再按一下“N0/OFF〞键,系统将恢复到“正常运行模式〞。当处于“手动控制模式〞时,可以直接调节混合风门开度档位(由全制冷到全加热分为5档)。当处于“自动控制模式〞时,智能温控系统根据温度设定值与测量值的偏差自动调节混合风门的开度,使车厢温度能满足乘客期望的舒适度要求。5.3系统软件的模块化编程本控制系统的软件设计采用模块化形式编写,模块化编程是一种软件设计方法,各模块程序分别编写,编译和调试,最后把各模块一起连接/定位。模块化编程具有以下优点:l)开发周期短;2)当同类的需求较多时,可以把程序放入库中以备以后使用;3)有利于软件的可示化;4)有利于软硬件的联调;5)使得要解决的问题与待定模块别离,很容易找到出错的模块,大大简化了调试。根据智能温度控制器的功能需要,整个系统大概可以分为6个功能模块,包括主程序模块、按键扫描处理子程序模块、FUZZY控制系统算法子程序模块、温度信号采集子程序模块、模糊控制子程序模块、步进电机驱动控制子程序模块[18]。5.3.1主程序模块主程序模块的内容包括系统初始化,温度设定值与测量值的显示,正常工作模式与软关机模式的切换,X25045的EEPROM读写等。其中系统初始化的对象包括堆栈指针SP的初值,风门步进电机的运转步数△u(k)的初值,X25045的状态存放器,8255的状态存放器及控制存放器,各个定时器的工作方式及定时常数,串行工作方式和波特率等。下面分别给出主程序模块流程图和其中的显示程序流程图。主程序流程图如图5.1所示,其中F0用于存放LED显示器的开关状态。系统初始化系统初始化从X25045的EEPROM中调入保存的数据显示温度测量值y(k)和温度设定值r(k)复位看门狗ON/OFF键按下?串行通讯子程序改变F0状态F0=1?关闭显示关闭中断允许总控制位EA开显示开中断允许总控制位EA保存数据到X25045的EEPROM从X25045的EEPROM中调入保存的数据接收到握手信号?YNNYNY开始图5.1主程序流程图显示程序包含在主程序中,采用软件定时动态扫描方法,每隔1毫秒刷新一位LED显示。系统的显示内容包括两位温度设定值和两位温度测量值,流程图如图5.2所示。根据硬件原理图的设计,LED显示器采用8255的PA口作为段选码,PB0和PB1是温度设定值的十位和个位的位选码,PB2和PB3是温度测量值的十位和个位的位选码。8255的DO~D7接AT89C52的PO口,AO、Al经74LS373接P0.0和P0.1,CS经74LS373接P0.7。所以8255的地址编码为:命令状态口--FF7FH,AP口--FF7CH,BP口--FF7DH,PC口--FF7EH。设定8255的PA口和PB口为输出口,PC口为输入口,故命令控制字为89H。采用动态显示方式,即某一时刻只让某一位处于选通状态,同时在段选线上输出要显示的字形码。8255初始化8255初始化置段、位选码初值位选码送PB口查段选码表段选码送PA口延时1ms指向下一指示单元元各位显示完毕?NY返回返回图5.2显示程序流程图5.3.2按键扫描处理子程序模块1)按键扫描程序按键扫描程序的功能包括以下3个方面的内容:a.判别键盘上有无键闭合。判别方法为外部中断申请输入端,有没有向CPU发送中断请求。假设有,进入中断效劳子程序,即键盘上有键处于闭合状态。b.去除键的机械抖动。扫描键盘中断效劳程序里除了要识别闭合键的键号外,还要排除键抖动引起的误操作,以及防止对同一个键的一次闭合作多重处理的错误。按键消抖措施分硬件和软件两种,本系统采用软件消抖措施,方法为判别到键盘上有键闭合后,延迟10ms,再判别键盘的状态,假设仍然有键闭合,那么认为键盘上有一个键处于稳定的闭合状态,否那么就认为是键的抖动。c.判别闭合键的键号

温馨提示

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

最新文档

评论

0/150

提交评论