【《基于CAN总线的车辆空调智能控制系统设计》8200字(论文)】.docx
基于CAN总线的车辆空调智能控制系统设计目录基于CAN总线的车辆空调智能控制系统设计11弓I言12 .车辆空调智能控制系统的总体结构介绍22.1 空调系统的原理22.2 总体设计方案42.3 CAN总线车辆空调智能控制系统结构42.4 系统硬件结构52.5 节点软件63 .CAN总线相关概述73.1 现场总线技术83.2 CAN总线的特点93.5 CAN总线系统的节点105系统硬件设计115. 1通讯模块单元115.2 单片机控制模块单元125.3 操作显示模块单元156系统软件设计166. 1CAN通讯软件设计166.2 司机空调控制节点软件设计176.3 车顶控制节点软件设计186.4 TMRO定时器软件设计221 .引言CAN(ControllerAreaNetwork控制器局域网)是一种由带CAN控制器组成高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一。它最早由德国BoSCh公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范已被ISO估计标准组织制定为国际标准。由于其具有多主机、传输距离远(最远为Iokm)、传输速度快(最快为IMbPs)、抗干扰能力强等诸多优点,所以被认为是最有发展前途的现场总线之一。CAN协议是建立在国际标准组织的开放系统互连模型基础上的。1991年9月,PhilipsSemiconductors制定并发布的CAN技术规范Version2.0为现行最高版本。其中规定了两种模式:标准模式和扩展模式。本文主要对标准模式进行介绍。CAN总线在很多行业被广泛应用。由其组成的局域网可以将很多底层测控设备连接起来,最远距离可达IOkm(在不接中继器的条件下)。相对其它现场总线,该距离已经是很远了。但随着以太网的发展,人们希望对底层设备也能进行真正意义上的远程控制。工控机加接口卡已经被用来实现这一目的,但价格和接口卡带来的瓶颈等问题也随之暴露出来。汽车空调恒温控制系统是一种不需要人为干预,能自动将汽车乘用舱内的温度调整到人体最舒适范围的系统。随着中国加入WTO组织后汽车市场的开放,我国已经成为全球第二大汽车贸易市场,在激烈的市场竞争中,用户的使用体验渐渐成为各大汽车厂商首要考虑的问题,汽车空调系统便是与用户体验关联重要的一个部件。传统的汽车空调系统采用手动控制的方式,控制效果不理想,而在行驶过程中驾驶员人工调节温度时也势必会增加行驶的安全性隐患。此外,在传统的测量系统中,主控制器需要直接与传感器相连来测量车内温度,由于通信线路的限制通常只能设置一两个采样节点,不能全面准确地反映车厢内温度场的分布,同样,由于控制节点的限制不能多设可控出风口,造成乘用舱很难分区调节温湿度。导致舒适性和能效降低。为解决这个问题,本设计采用分布式控制系统来取代传统的集中式控制系统进行温度控制,并对常用的工业总线进行比较,选择了具有抗干扰能力强、仲裁时间短和支持多主方式工作的CAN总线技术作为系统的通信协议。采用一个主节点加上多个CAN子节点的主从结构来构建控制系统,使得整个系统控制更加高效合理。整个应用程序设计遵循嵌入式仪表的设计原则,系统的主节点选用三星公司的基于ARM920核的S3C2440芯片硬件加上1.INUX操作系统,子节点则采用TI公司的16位高性能单片机MSP430,子节点根据主节点发送的命令工作,由于采用主节点加子节点的结构,再加上CAN总线的特点,使得整个系统极易扩展与维护。经仿真检验证明,控制效果良好,本文还研究了车外温度,日照,发动机水温、空调出风口转速等因素对车内温度的影响,并提出了一种模糊控制规则来控制车内温度自动达到恒定,同时成功搭建了ARM+1.INUX的嵌入式控制系统平台,经过仿真表明该系统具有良好的实时性和可靠性。2 .车辆空调智能控制系统的总体结构介绍2.1 空调系统的原理空调压缩机在运行中能把蒸发器出口处的气态制冷剂吸至气缸内,且将其压缩成高温、高压制冷剂。并使用高压软管把其输送到冷凝器,在冷凝风扇的帮助下,制冷剂的多数热量则会散发到车外,使高温、高压气态制冷剂被冷凝成高温、高压液态制冷剂。而液态制冷剂在经过膨胀阀时,受到膨胀阀作用的影响,其制冷剂将会转化为低温、低压的液体到达蒸发器内,并于定压下气化后将空气中的热量吸收掉,这样就促使了流经蒸发器的车内循环空气温度变低,最后转化为冷气。液体气化制冷的工艺流程如图1.2所示。图中点划线以外部分为制冷段,液态制冷剂从高压贮液器经膨胀阀,降低压力和温度;低温低压液态制冷剂进入蒸发器,吸收周围被冷却介质或物体的热量而气化,从而降低被冷却环境或物体的温度,达到制冷的目的。瑜方冷却风图1.2空调制冷系统原理图2.1.1 节流过程由冷凝器流出的高压常温液态制冷剂经过高压贮液器,流向膨胀阀,由于其节流作用,制冷剂流动阻力很大,在流动过程中,制冷剂的压力迅速下降。随着压力的降低,其中的部分液体开始汽化,由于汽化吸热从而导致制冷剂的温度也迅速下降。制冷剂最终温度(蒸发温度)的高低取决于阀门的开启度,如果阀门开度小,则阻力加大,汽化程度高,温度下降程度高。2.1.2 蒸发过程由膨胀阀流出的低温低压制冷剂流入蒸发器,蒸发器外侧为室内空气。由于制冷剂温度低于空气温度,所以制冷剂吸收空气的热量,一方面降低空气的温度,同时液体部分制冷剂因吸热而蒸发(沸腾)全部变为饱和气体。由于饱和气体的温度依然低于空气温度,所以制冷剂将继续吸收热量升温,所以,当制冷剂离开蒸发器时其温度(吸气温度)将高于蒸发温度,二者温差称为过热度。2.1.3 吸气压缩和排气过程在压缩机的作用下、蒸发所产生的蒸气从蒸发器中经过吸入管线,被吸入压缩机的吸气口。在压缩机中,通过压缩过程来提高蒸气的温度和压力,然后再把高温、高压的蒸气从压缩机排放到排出管线中。2.1.4 冷凝过程蒸气通过排放管线进入冷凝器,在冷凝器中蒸气的热量将释放给温度相对较低的空气,它是由冷凝器风扇通过冷凝器抽入的。当热蒸气的热量释放给温度较低的空气时,其温度将会降低至它的新压力所对应的饱和温度,再进一步除去热量,蒸气将会冷凝成液体状态。当制冷剂到达冷凝器底部时,所有蒸气都被冷凝并被进一步冷却。然后,过冷的液体流入贮液器,准备投入再循环。2.2 总体设计方案2.1 CAN总线车辆空调智能控制系统结构图2-1基于CAN-车辆大巴空调系统连接关系示意图此空调智能控制系统包括空调操纵器、车顶控制器两个部分,由CAN-车辆通信,其连接关系如图2-1所示。 空调操纵器功能:接受司机对空调系统的所有操作并显示空调系统的相关信息以及控制系统的故障代码。空调操纵器工作时应通过CAN总线与车顶控制器建立通讯连接。 车顶控制器盒功能:接收来自安装在车厢内外的温度传感器信号,计算所需温度和需要吹入车内的空气量并控制执行机构动作。 关于空调系统的供电:该系统中的控制器部分及发电机励磁由车载蓄电池提供电源,发电机提供冷凝风机、蒸发风机等除控制器部分以外设备的供电。蓄电池地与发电机地搭铁相通,蓄电池24V正端与发电机24V正端内部隔离。当操作器电源接通时,励磁继电器接受到信号,从而控制24V发电机发电,供给车顶动力设备。2.2 系统硬件结构系统操纵器和车顶控制器硬件结构如图2-2o车顶控制器图2-2车顶控制器硬件结构本空调ECU(ElectronicControlUnit)控制系统包含两个CAN节点,即司机空调控制节点和车顶控制节点。操纵器由各种选择开关输入并显示预置温度;车顶控制器接收来自安装在车厢内外的温度传感器信号,计算所需温度和需要吹入车内的空气量并控制执行机构动作。系统采用无主从结构,两节点均可主动发送报文。2.3 节点软件图2-3节点的软件模型依据智能节点的硬件模型、应用协议以及控制系统的实际情况,提出的智能节点的软件模型,如图2-3。智能节点软件模型由4个部分构成:CAN基本通信部分、应用层协议、数据字典和具体应用。CAN基本通信部分,直接与CAN控制器交互,完成对CAN控制器的管理与操作,实现数据收发、错误处理等工作。应用层协议部分,根据CAN总线应用协议来编写,完成对接收报文的CAN报文的解析,以及组装待发送的报文。在每个节点中,CAN基本通信和应用协议实现部分基本上是完全相同的。数据字典,也就是智能节点主控制器的RAM分配表,是智能节点的数据中心,它包括了智能节点的全部数据:标志、CAN相关的数据、过程数据等。在每个智能节点中,数据字典具有相同的框架,而仅有过程数据区和相关联节点数据区有区别,我们将这这些部分做成模块,在编写不通的智能节点软件时仅对模块做相应的修改,就可以完成这部分的编写。应用部分,负责管理控制智能节点的具体功能单元,实现变量输入、控制输出等功能。对于不通的智能节点,这部风有些差异。具体将在第6章介绍。3.CAN总线相关概述3.1 现场总线技术3.1.1 现场总线技术的概念现场总线(Field车辆)是一种工业数据总线,它是自动化领域中计算机通讯体系最低层的低成本网络。根据国际电工委员会(IEC)的标准和现场总线基金会(FF)的定义,“现场总线是连接智能现场设备和自动化系统的数字式、双向传输多分支结构的通信网络”。现场总线技术的基本内容包括:以串行通信方式取代传统的4-2OmA的模拟信号;一条现场总线可以为众多的可寻址现场设备实现多点链接;支持低层的现场智能设备与高层的系统利用公用传输介质交换信息;现场总线技术的核心是它的通信协议,这些协议必须根据国际化标准组织ISO的计算机网络开放系统互联的OSl参考模型来制定:它是一种开放的七层网络协议标准,多数现场总线技术只使用其中的第一层、第二层和第七层协议。现场总线在智能现场设备、自动化系统之间提供一个全数字化的、双向的、多节点的通信链接。现场总线的出现促进了现场设备的数字化和网络化,使过程控制系统成为具有测量控制执行和过程诊断的综合能力的控制网络。现场总线技术是现代计算机、通信和控制技术的集成,使自动化技术正在进入第三次飞跃。3.1.2现场总线控制系统的特点现场总线系统(FCS)与传统的DCS控制系统相比有着明显的优点,它们的结构如图3-lo现场总线技术具有以下5个主要特点:现场总战i现场总线系统图3-1FCS与DCS网络结构比较(1)数字信号完全取代4-2OmA模拟信号;(2)使基本过程控制、报警和计算机功能等完全分布在现场完成;(3)使设备曾加非控制信息,如自诊断信息、组态信息以及补偿性信息等;(4)实现现场管理和控制统一;(5)真正实现系统开放性、互操作性。3.2CAN总线的特点CAN(ControIIerAreaNetwork)总线,是德国BOSCH公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协议。CAN作为一种多主总线,支持分布式实时控制的通讯网络。其通讯介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件、传感器、抗滑系统等应用中,总线的位速率最大可达IMbit/S。CAN总线属于总线式串行通讯网络,由于其采用了许多新技术及独特的设计,与一般的通讯总线相比,CAN总线的数据通讯具有突出的可靠性、实时性和灵活性。特点概括如下:(1) 通信方式灵活。CAN为多主工作方式,网络上任意节点均可在任意时刻主动的向网络上其它节点发送信息,而不分主从。利用这一点可方便的构成多极备份系统。(2) CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求。(3) CAN采用非破坏性总线性仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则可能)。(4) CAN只需通过帧滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。(5) CAN的直接通信距离最远可达IOkm(速率5kbps);通信速率最高可达IMbPS(此时通信距离最长为40m)。(6) CAN上的节点数主要取决于总线驱动电路,目前可达110个;标示符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的标示符几乎不受限制。(7) 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。(8) CAN的每帧信息都有CRC效验及其他检错措施,保证数据出错率极低。(9) CAN的通信介质可为双较线、同轴电缆或光纤,选择灵活。(10) CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。3.5CAN总线系统的节点3.5.1CAN总线系统CAN总线是现场总线的一种,是一种有效支持分布式控制或实时控制的串行通信网络,隶属于控制网络的范畴。由CAN总线构成的控制网络的结构一般是由控制器节点、传感器节点、执行器节点以及其他的监控节点如人机界面组成,CAN作为控制器局域网还可以通过网关或其他网络如以太网互联构成大型复杂的控制网络结构。一个简单的CAN总线系统主要由上位机和微控制器构成,包括通用个人计算机和CAN的接口(CAN适配卡和若各个CAN网络节点)。CAN适配卡是实现上位机系统和CAN总线的连接接口,带有CAN适配卡的上位机在CAN总线系统中相当于一个网络节点;而一般的CAN节点都是由微控制器系统组成的,根据节点的功能,分别完成某一特定的任务,如将传感器总线数据上传到总线上,或将网络中传来的控制数据输出到执行器来控制该执行器的动作。图3-2一种简单的CAN总线系统如图3-2所示的系统,和多数的应用系统一样,上位机节点一般称为系统的主节点,这个系统的原理是:主机(主节点)负责监控各个从机(从节点),向从机发布指令,并接受处理从机传来的检测数据;从机执行主机的命令,显示运行信息,向从机传送检测数据;CAN接口电路负责各节点的串行通信,两只125Q的电阻作为CAN总线的匹配电阻。3.5.2节点的概念CAN总线上的节点一般是指挂在CAN总线上的传感器部件、执行部件或控制单元,一个节点可以具有多种功能。CAN总线是通过允许节点间对等的传播数据来实现网络通信的。3. 5.3节点的组成CAN节点的构成是多种多样的,一般的CAN节点的构成如图3-3所示,它是一个计算机系统、通用PC系统或嵌入式处理器系统,这个系统具有CAN总线的通讯功能。图3-3常用CAN节点的结构其关键部分是CAN总线通讯模块,即CAN总线控制器和CAN总线收发器,它们完成CAN物理层和逻辑电路层的所有功能,而应用层的功能则由软件来实现。 CAN总线控制器:完成CAN通讯协议所要求的物理层和数据链路层的几乎所有功能,执行完整的CAN协议,完成通讯功能,包括信息缓冲和接收滤波。 CAN总线收发器:是一物理层器件,是CAN总线控制器与物理总线之间的接口,实现CAN控制器与总线之间逻辑电平信号的转换,提供对总线的差动发送能力和对CAN总线控制器的差动接收能力。5系统硬件设计5.1通讯模块单元本系统采用的是CAN-车辆通信方式。PIC18F2580和CAN总线之间的接口电路很简单,由于单片机中已集成了CAN控制器,只要在控制器的输出端接上CAN收发器,在物理就可以实现和CAN总线的通信。5.1.1收发器PCA82C250本系统收发器采用PCA82C250,这款总线收发器具有抗汽车环境中的瞬间干扰,保护总线的能力。PCA82C250共有三种不同的工作模式,模式控制通过斜率输入电阻RS控制引脚提供: 高速模式,它支持最大的总线速度和或长度,这种模式的总线输出信号用尽可能快的速度切换,因此使用屏蔽的总线电缆来防止外界的干扰。 斜率模式,这种模式的输出转换速度可被故意降低以减少电磁辐射,当使用非屏蔽的总线电缆时可以考虑使用这种模式。 准备模式,这种模式在电池供电的应用要求系统功率消耗非常低的应用中非常有用,在准备模式中传输一个报文就可以将系统激活。本系统使用非屏蔽的总线电缆,因此工作收发器工作在斜率模式,Rs=33Ko5.1.2CAN总线接口电路实现PIC18F2580芯片与CAN总新之间的通信电路如图5-1。PCA82C250是驱动CAN控制器和物理总线之间的接口,提供对总线的发送和接收能力;R21作为CAN终端的匹配电阻。C19平TXDRsGNDCANH-VCCCAN1.RXDVrefPCA82C250876SR2047uFc711,'CAN.TXD1ZZ三C2)21043can_rx5TVCC图5-1CAN总线接口电路5.2单片机控制模块单元车顶控制器系统以单片机PIC18F2580作为系统的控制核心,利用其主同步串行接口MSSP,在SPI模式下,扩展两片串行输入转并行输出移位寄存器74HC595,74HC595的并行输出口经隔离放大后驱动继电器,实现对输出的控制,如图5-2。VCCR182k1043-o1011Ehable12OUT13SP1.C1.K14MC1.R/VPPRB7/PGDRAWANo/CVREFRB6/PGCRA1/AN1RB5/PGMRA2/AN2/VREF-RB4RA3AN3VREF+RB3/CAHRXRA40CKIRB2/CANT3MNT2RA5/AN4/SS/1.VDINRBimmVSSRBO/INTOSCUC1.KIVDDOSC2/C1.KO/RA6VSSRCO10SO1CKIRC7/RWDTrciiosiRC611XCKRC2/CCP1RC5ZSDORC3SCK>SC1.RC4ZSDIZSDAPIC18F2580芋VCC282726252423220191i尤SP1.SDO15-(八)单片机最小系统VCCCUor,ci54Tuf(b)SPI接口+24V_1.(O放大执行部分图5-2控制模块部分电路图本系统的输出均由继电器控制。其中,风机部分由6台蒸发风机、5太冷凝风机和1台新风电机组成,其连接方式如图5-3所示。蒸发风机通过串电阻的方式分低、中、高速三档调速,6台蒸发风机分成两组控制,即由低速、中速、高速三种继电器控制,每个继电器控制3台风机;5台冷凝风机各由一个继电器控制,不分风挡;一台新风电机由一个继电器控制。42+(b)冷凝风机、新风电机连接关系示意图图5-3电机连接关系示意图5.3操作显示模块单元操纵器系统以单片机PIC18F2580作为系统的控制核心。操纵器的显示模块利用单片机主同步串行接口MSSP,在SPI模式下,扩展六片串行输入转并行输出移位寄存器74HC595,74HC595的并行输出口直接接数码管、发光二极管,实现系统显示功能,其原理图类似图5-1o操纵器的按键模块仍利用单片机主同步串行接口MSSP,在SPI模式下,扩展一片并行输入转串行输出移位寄存器74HCI65,按键经74HCl65以SPI串行口连接到单片机,实现按键功能。6系统软件设计本系统包含两个CAN节点一一司机空调控制节点和车顶控制节点。按功能分,司机空调控制节点(操纵器),由各种选择开关输入并显示预置温度,则它为系统的输入输出接口;车顶控制器节点,接收来自安装在车厢内外的温度传感器信号,计算所需温度和需要吹入车内的空气量并控制执行机构动作,则它为系统的传感器和执行器接口。6.1 CAN通讯软件设计实现系统CAN通信的接收数据、发送数据的子程序流程如图6-1。它完成了智能节点软件模型中CAN基本通讯部分、应用层协议和数据字典部分。(八)接收数据(b)发送数据图6-1收、发数据子程序流程图 接收:读取接收缓冲区中的有效数据,并将接收的数据存入相应的数据区。接收报文完毕后,释放结束缓冲区。其数据流程见图6-2(以车顶控制节点为例)。 报文解析:解析智能节点所接收的来自CAN总线的报文,并将解析报文结果存入数据字典中所规定的相应存储区域,同时根据报文的内容设置一些相应的标志,并进行下一步的处理。 报文组装:依据发送源标志区的置位情况,确定需要构造的数据帧类型,并按照协议规定的格式构造发送的CAN报文,再构造成的CAN报文存入相应的存储区域。 发送:首先检查控制器上是否还在处理一帧报文,如果已完成上一帧报文的发送,则向发送缓冲区写入待发送的报文,将报文发送出去。其数据流程见图6-2。图6-2车顶控制节点状态命令基本接收、发送流程图6.2 司机空调控制节点软件设计参照图2-3智能节点的软件模型,司机空调控制节点的具体应用部分,变量输入为按键选择,控制输出为数码管、二极管显示。检测工作电压工作电压接收数据=>车内温度蒸发器表面温度风量系统工作电压故障伏态>=>显示计篁=>数码管显示代码>=显示刷新发光二极管显示设定温度施败二蝌显示图6-3司机空调控制节点各子程序功能示意图图6-4司机空调控制节点主程序软件流程图司机空调控制节点主程序按照预定操作方式运转。根据智能节点的功能,主程序在结构上采用了顺序调度的结构。程序循环查询标志位,根据标识位的状态来经行相应的事务处理,如图6-4所示,各子程序功能关系如图6-3。6.3车顶控制节点软件设计参照图6-1智能节点的软件模型,车顶控制节点的具体应用部分,变量输入为传感器和压力开关检测故障,控制输出为执行器执行命令。6.3.1车顶控制节点主程序车顶控制节点主程序仍按照预定操作方式运转。根据智能节点的功能,主程序在结构上采用了顺序调度的结构。程序循环查询标志位,根据标识位的状态来经行相应的事务处理,如图6-5所示。图6-5车顶控制节点主程序软件流程图6.3.2运行模式转换制冷模式时,设定温度控制,如表6-1:表6-1制冷运行模式状态转变温度降温过程升温过程温度>=Tset+1制冷制冷>=Tset+1Tset-1Tset+IeC制冷不制冷,制冷灯闪烁Tset-I0C*rTset+1<=Tset-1不制冷,制冷灯闪烁不制冷,制冷灯闪烁<=Tset-IeC自动运行模式时,当车内温度高于25°C时,进入制冷态,在此状态下约定的设定温度为25,即TSet=25。其温度控制过程如表6-2:表6-2自动运行模式制冷状态转变温度降温过程升温过程温度>=Tset+1制冷、高速制冷、高速>=Tset+1Tset-1Tset+1制冷、中速不制冷、中速Tset-1Tset+1<=Tset-I0C不制冷、低速不制冷、低速<=Tset-IeC系统控制模式转换程序框图,如图6-6所示。图6-6车顶控制模式转换程序框图6. 3.3空调系统的保护蒸发器温度过低保护,当蒸发器温度低于+2C时,系统开始除霜,蒸发、冷凝风机均保持运转,压缩机离合器输出有效,管路卸载电磁阀开启。待蒸发器温度回升大于+7°C时,管路卸载电磁阀关闭。制冷系统压力保护,当制冷系统高压传感器开路或低压传感器开路时,控制系统将关闭冷凝风机及离合器控制输出,蒸发风机工作照常。制冷重新启动延时保护,为了避免空调压缩机频繁启动,在任何情况下压缩机关闭后再次重新启动,引入30秒保护。其程序框图如图6-7所示。图6-7车顶控制系统保护程序框图6.4TMRo定时器软件设计在定时器模式下,TimerO模块在每个指令周期递增(不使用预分频器)。时钟振荡器电路产生的时钟信号,经内部4分频后形成4个不重叠的方波信号即节拍,由4个节拍构成一个指令周期AyC,所以一个指令周期内部包含4个时钟周期TSC°其中:t定时时间Tcyc指令周期fosc时钟振荡器频率1.计数器的长度本系统中人=8知法,利用TinIerO产生20ms的定时,依上述公式Tr=63C0”,则TimerO的初始化程序为:voidinitial_TimerO(void)INTCON=OxeO;TOCON=0x09;TMROH=0x63;TMRO1.=OxcO;