1. 引言
燃料电池轿车是以氢为能源的新一代新能源轿车。由于其本身的工作原理与功能结构决定了它有功率较大的发热部件。为了保证燃料电池轿车能够持久、稳定、可靠的工作,必须对发热部件进行冷却。为了达到最佳的冷却效果和最低的能源消耗,我们设计了水冷却监控系统,其基本实现思路也可应用于传统轿车。
燃料电池轿车水冷却监控系统其工作原理如下:通过温度传感器和压力传感器对冷却水温度和压力进行定时采样,进行相应的信号调理获取当前时刻下的冷却水温度和压力,经过AD 转换输入微控制器,随着温度的变化,微控制器对风扇和水泵进行调速,控制冷却水温度在设定范围内。同时,作为整车CAN 网络的一个节点,本系统通过CAN 总线将当前的冷却水温度和压力以及系统状态值上传给整车控制器,并接受来自整车控制器的控制指令。
此外,为了便于实车调试,本系统实现了CCP 标定协议(CAN Calibration Protocol),能够借助整车CAN 网络完成在线的参数标定和在线编程,这大大简化了参数的标定过程和匹配工作,也为整个网络中其他车载控制器的实车调试提供了解决方案,具有很高的实用性和现实意义。
本系统采用的是摩托罗拉公司的MC68HC908GZ16 微控制器,该微控制器尺寸小,资源齐全,具有很高的价格性能比。
2. 设计概述
本系统主要实现两大功能:其一,对水冷却系统进行监测和控制的功能,来实现最佳的冷却效果和最低的能源消耗;其二,利用CAN 网络实现对微控制器的在线参数标定与在线编程功能,减轻实车调试的标定匹配工作。
对水冷却监控功能的实现是:通过两路温度传感器和一路压力传感器来获取当前状况下的冷却水温度和压力,经过AD 转换输入微控制器,微控制器通过一定的控制算法输出信号给电机驱动芯片以及水泵变频器,从而控制四个冷却风扇的转速以及一个冷却水泵的启停和转速,并通过CAN 与整车控制器数据进行通讯,以达到最佳的冷却效果和最低的能源消耗:
实现在线参数标定与在线编程功能是:通过在微控制器与PC机两侧实现CCP标定协议,微控制器(MC68HC908GZ16)硬件接口使用其自带的MSCAN模块,在软件上加入CCP驱动程序; PC机硬件接口使用SYS TEC 公司的USB-CAN卡,并在Matlab软件平台上自主开发基于CCP协议的测量标定诊断工具(MCD:Measurement Calibration Device),实现在线标定与在线编程。
整个系统功能框图如图1所示。 (图片)
图1 系统功能框图 3. 硬件描述
硬件电路是以MC68HC908GZ16 微控制器为核心,并配以传感器信号调理电路,执行器驱动电路以及CAN 通讯电路。
微控制器
由于整个水冷却监控系统是一个比较完整的闭环控制系统,系统小但功能全,因此采用摩托罗拉公司的MC68HC908GZ16 8 位微控制器。该控制器资源齐全,尺寸小,适合整个水冷却监控系统的功能要求以及汽车的运行环境。其主要资源包括:一个CAN 模块、一个SPI 模块、一个ESCI 模块、两个双通道16 位定时器接口模块、8 路10 位AD 通道、一个基本时钟模块、37 个通用输入输出管脚、8 位键盘唤醒端口。并且该控制器采用PLL 锁相环技术,能够产生最高8M 的总线频率。
根据整个系统需要用到以下资源:一个CAN 控制器模块、两个定时器接口模块、四路AD 通道、一个基本时钟模块、PLL 锁相环模块以及若干通用IO 输入输出口。
微控制器各模块使用情况如下表1 所示:表1 MC68HC908GZ16 模块使用情况
(图片)微控制器各端口定义如下表2 所示:表2 MC68HC908GZ16 端口定义
(图片)MC68HC908GZ16可寻址64KB 地址空间,其中包括:15872字节的闪速存储器Flash,1024字节的随机存储器RAM,406字节的Flash编程例程ROM,44字节的用户定义矢量区以及350字节的监控ROM。存储器的具体分配如下表3所示:表3 MC68HC908GZ16存储器分配情况
(图片)综上所述,MC68HC908GZ16微控制器资源较为丰富,可以满足水冷却监控系统的要求,价格比较便宜,具有高的价格性能比。
传感器
温度传感器采集当前时刻的冷却水温度,选用Honeywell公司的TD系列温度传感器。信号调理电路对信号进行适当放大,并且能够检测温度传感器的断路和短路故障。
压力传感器采集当前时刻的冷却水压力。当压力过高指示水路阻塞故障;压力过低指示水路泄漏故障。选用Huba公司的511 OEM压力传感器,电源8~33V,输出4~20mA。采用12V电源,并串连240欧采样电阻,使输出0.96~4.8V电压。
执行器
冷却风扇通过散热器对冷却水进行散热。总共使用四个冷却风扇,对称布置在水冷系统两侧,同侧风扇相邻布置。电机为直流电机,额定电压为12V,额定电流为3A。两侧各一个风扇采用PWM 信号调速控制,电机驱动芯片采用摩托罗拉公司MC33186。另一风扇采用继电器开关控制,不进行调速。每侧两个风扇联合工作能实现全程调速控制:即首先使用PWM 对一个风扇进行调速,当温度升高到一定值,PWM 信号占空比达到100%时,开启继电器使另一风扇工作,而本风扇关闭,当温度继续升高,则再使用PWM 对本风扇进行调速,此时两风扇同时工作但转速不同;当温度下降时,首先减小PWM 信号占空比使本风扇转速下降,当占空比减到0%时,关闭继电器使另一风扇停止工作,同时将PWM 占空比调到100%,使本风扇满负荷工作,若温度继续下降,则继续减小PWM 占空比。这样通过两个风扇的联合工作,达到全程调速的目的。
水泵变频器推动冷却水循环流动,从而带走发热部件的热量。水泵变频器是Comp-AC 公司的ACS100 变频器,控制方式采用远程3-线型控制,转速控制信号使用0~20mA 电流信号。微控制器输出PWM 信号,进行有源滤波,得到直流分量,其后使用AD694 电压转电流芯片,输出0~20mA 电流信号。
通讯网络
本系统作为整车分布式控制系统的一个节点,与其他车载控制器通讯采用CAN 网络通讯。本系统接收整车控制器CAN 命令消息进行工作,并把系统状态量上传给整车控制器;同时,接收PC 机CAN 消息进行在线标定与在线编程。CAN收发器采用PHILIPS 公司的PCA82C250 收发器。
电源管理
考虑到系统的抗干扰性,在硬件电路设计中对各器件的电源及接地进行如下处理:MC68HC908GZ16 、温度传感器电路、压力传感器电路、PWM 风扇调速模块都由12V 蓄电池电源供电,统一共地;水泵调速模块(PWM 滤波电路、AD694 电压转电流电路)的电源由水泵变频器自身12V 电源提供,与12V 蓄电池不共地,MC68HC908GZ16 的PWM 信号通过光耦与滤波电路连接;CAN 通讯模块的电源通过DC/DC 与蓄电池电源隔离,不共地,CANTX 和CANRX 信号均使用光耦进行隔离后输入PCA82C250。如图2 所示。(图片)
图2 电源管理 4. 软件描述
软件编程主要实现两大功能:水冷却监控功能和在线参数标定及在线编程功能。
4.1 水冷却监控功能
水冷却监控功能主要包括以下功能模块:AD 信号采集模块;控制算法模块;PWM 信号输出模块;CAN 通讯模块。
AD 信号采集模块
该模块主要进行AD 定时采样,定时器使用MC68HC908GZ16 的基本时钟模块,考虑到温度和压力不会突变,因此采样步长取为1 秒。
控制算法模块
该模块含有两个子模块:状态机模块和算法实现模块。
状态机模块主要是根据当前的CAN 总线消息以及各传感器执行器的状态来决定当前系统所处于的状态。其状态图如图3 所示。首先进入控制器上电状态,在该状态下进行初始化程序;然后等待水泵变频器的高压上电信号,当检测到该信号后,状态跃迁进就绪状态;在就绪状态下,如果高压电断开,则返回控制器上电状态;在就绪状态下如果收到整车控制器的Enable 信号,则进入工作状态;在工作状态下如果收到整车控制器的Disable 信号,则退出工作状态进入就绪状态。工作状态下又分为正常和故障两个状态:首先进入正常状态,在该状态下调用算法实现模块;当检测到故障时,则进入故障状态,在该状态下,进行故障处理。本系统故障主要有以下几种:温度传感器短路、温度传感器断路、压力传感器断路、水路阻塞、水路泄漏、电机驱动故障、水泵变频器故障。由于以上各种故障故障等级相对较低,因此当故障消失后系统状态仍然返回正常状态。(图片)
图3 系统状态图 算法实现模块是根据当前时刻的温度压力值,按照一定的控制方法对冷却风扇和水泵转速进行控制,以使冷却水温度保持在正常温度范围内。根据实际情况,本系统温度控制并不需要很精确,因此控制方案采用分级控制,即把温度分成若干等级,在不同等级下冷却风扇和水泵转速各不相同,以此来保证冷却水温度在正常温度范围内,同时保证较低的能源消耗。
PWM 信号输出模块
该模块使用两路定时器,一路输出给电机驱动MC33186,一路输出给水泵变频器滤波电路。两路PWM 均采用带缓冲的PWM 输出,考虑到电机噪声,PWM频率选用10K。其占空比由算法实现模块的输出控制量来决定。
CAN 通讯模块
该模块实现CAN 底层驱动,接受CAN 总线消息,其中包括来自整车控制器的命令消息以及来自PC 机标定工具(MCD)的CCP 消息;并且发送给整车控制器系统状态消息,以及给PC 机标定工具(MCD)的CCP 回复消息。
4.2 在线参数标定及在线编程功能
在线参数标定及在线编程是基于CCP 协议实现的,其主要有两大模块:微控制器侧的CCP 驱动模块和PC 机侧的标定工具。
CCP 协议介绍
CCP(CAN Calibration Protocol)是为了满足车载电子系统匹配标定要求的新一代开放通用标定协议。
CCP 基于CAN 总线,采用主从式通讯。一个主机与多个从机相连。主机是测量标定设备(MCD);从机是车载控制器。主机通过向从机发送命令来启动CAN 上的数据传输。CCP 支持两种变量测量模式:即命令控制方式(Polling)和数据采集方式(DAQ)。其中Polling 模式是通过与从机交互实现功能的。主机和从机的逻辑连接初始化以后,主机与从机之间的数据通讯都是由主机命令进行控制。所有来自主机的命令都必须要得到所选从机命令返回消息的应答(含有命令返回代码或者错误代码)。在这种模式下,主机每隔一定时间向从机发一帧命令消息,该消息中含有主机所要测量变量的存储地址及数据长度;从机收到主机传来的命令消息后,把对应存储地址以及数据长度的数据值通过命令返回消息上传给主机。这种模式实现简单,但总线利用率不高。在DAQ 模式下,首先由主机命令遵循应答机制来配置对象描述表(Object Descriptor Table:ODT)。每一条主机配置命令必须要得到从机的应答。而在配置过程结束后,从机就能根据主机的配置信息确定所要上传主机的数据以及相应上传周期,自行独立上传数据,无须再由主机命令控制。这种方式实现起来较为复杂,但总线利用率较高。
CCP 协议的实现只依赖两个CAN 消息帧(见图4):命令接收消息(Command Receive Object:CRO)和数据传送消息(Data Transmission Object:DTO)
CRO 是由主机向从机发送的消息,从机通过DTO 进行应答。
DTO 是从机向主机发送的消息。DTO 分为三类:命令返回消息(Command Return Message:CRM),该消息作为CRO 的应答向主机传送消息;事件消息(Event Message),当从机内部出现错误时,该消息用于报告从机内部状况来唤醒错误恢复机制;数据采集消息(Data Acquisition: DAQ),该消息针对DAQ 模式进行变量测量,自行向主机周期性的上传数据。(图片)
图4 CCP 消息 微控制器侧CCP 驱动模块
微控制器侧CCP 驱动模块主要是实现CCP 协议,完成在线标定及在线编程功能。按照其实现功能(在线标定和在线编程),其又包含独立的两大部分:即标定监控程序和程序下载程序。
标定监控程序实现在线标定与监控,根据CCP 支持的两种变量测量模式:
Polling 模式和DAQ 模式,其程序实现也分为两种不同流程,如图5 所示。(图片) (图片)
图5 标定监控程序流程图 程序下载程序实现在线编程功能,其也基于CCP 协议,实现方式是BootCode启动代码形式。与传统通过串口进行下载的BootCode 相比,本系统的BootCode实现了通过CAN 总线进行下载,由于CAN 网络已经成为汽车内各控制器之间进行通讯的主要手段,因此本系统的BootCode 可以在原有CAN 网络基础上对网络内各控制器进行程序下载,不需要任何的硬件改动,具有很高的实用性和现实意义。配合本系统的标定监控程序以及PC 机上的download 程序,可以完成在线编程的功能。
微控制器侧的主流程图如图6 所示。(图片)
图6 微控制器侧程序主流程图 PC 机侧的标定工具
本系统的PC 机侧的标定工具是在Matlab 软件平台上开发的,基于CCP 协议,与微控制器侧CCP 驱动模块相对应,PC 机侧的标定工具按照其实现功能(在线标定和在线编程),也包含独立的两大部分:即标定监控工具和程序下载工具。
标定监控工具的程序结构如图7 所示。整个结构分为四个模块:GUI、ECU 镜像、CCP Host、CAN Driver。其中GUI 模块负责与用户交互,配置系统信息与显示标定界面;ECU 镜像模块是一个面向对象的类结构,负责变量与参数信息的存储,并记录测量结果;CCP Host 模块是CCP 协议在PC 机MCD 侧的实现;CAN Driver 模块是完成USB-CAN 卡底层驱动程序的调用。(图片)
图7 标定监控工具程序结构 整个标定监控工具工作过程如图8。(图片)
图8 MCD 流程 首先MCD 进行初始化,用户可以通过GUI 读取符合ASAP 标准的含有从机程序所有可测量变量及标定参数信息(包括存储地址及数据类型等)的外部文件,后缀名可以为.a2l 和.map;然后进行相应配置,在所有可测量变量及标定参数中选取所要测量的变量及标定的参数,并指定变量测量模式,即Polling 模式还是DAQ 模式。当用户操作完成后即生成ECU 镜像。
MCD 初始化之后,进入匹配标定过程,见图9,当用户要修改某一参数值时,首先通过GUI 修改其在ECU 镜像的值,同时给CCP Host 一触发信号,CCP Host受触发在 ECU 镜像中读取被改参数的值,根据CCP 协议组成CAN 命令接收消息(CRO),并通过CAN Driver把消息发出,从机中的CCP驱动模块接受CRO改变该参数在从机中的值,并回复命令回复消息(CRM-DTO)。(图片)
图9 标定流程 当用户需要测量某一变量值时,首先CCP Host 从ECU 镜像中读取所要测量变量的地址及测量方式,然后根据不同的测量方式(Polling 或DAQ)CCP Host进行不同处理,构造不同的CAN 数据场,通过CAN Driver 向从机发出命令接收消息(CRO)。从机的CCP 驱动模块针对不同CRO 回复相应的命令回复消息(CRM-DTO),并且根据不同的测量模式,DAQ 模式还是Polling 模式,来选择主动上传数据还是被动上传数据。CCP Host 根据从机上传的CAN 消息,根据CCP 协议进行相应处理来获得所要观测变量的值,并把值写入ECU 镜像中相应变量中。变量值的显示就是GUI 通过访问ECU 镜像中变量的值来完成的。见图10 所示。(图片) (图片)
图10 测量流程 程序下载工具也是基于Matlab,其包含两部分内容:s19 文件处理模块和download 模块。s19 文件处理模块针对Motorola 公司S 记录格式,提取程序数据。download 模块针对程序下载实现CCP 协议,把程序数据以CAN 消息发送给从机,配合从机的CCP 驱动模块实现程序下载功能。
5. 结束语
本系统具有如下特点:
对冷却水温度进行分级控制;
实现冷却风扇及冷却水泵全程调速;
作为整车CAN 网络一个节点,通过与其他车载控制器进行通讯;
通过CAN 能够在线标定与在线编程。
借助dSpace 公司的MicroAutobox 通用控制器,已对本系统进行了硬件在环测试,运行正常,现已进入实车安装阶段。
6. 参考文献
[1] 刘慧银、程建平等. Motorola 微控制器MC68HC08 原理及其嵌入式应用.
北京:清华大学出版社,2001.
[2] 阳宪惠.现场总线技术及其应用. 北京:清华大学出版社,2000.
[3] 邬宽明.CAN 总线原理和应用系统设计. 北京:北京航空航天大学出版社,
1996.
[4] 薛定宇,陈阳泉等.基于MATLAB/Simulink 的系统仿真技术与应用. 北京:
清华大学出版社, 2002.
[5] MOTOROLA . MC68HC908GZ16 Data Sheet. 2003.
[6] H.Kleinknecht. CAN Calibration Protocol Version 2.1. 1999.
[7] Working Party on Standardisation of Application Systems. ASAP Interface Specification Interface 1b Version 1.2. 1998.
[8] Applications Systems Standardisation Working Group. ASAP Interface
Specification Interface 2 Version 1.4. 2000.
[9] Mathworks.MATLAB User Reference: Mathworks
7. 致谢
首先要感谢孙泽昌教授一直以来对本项目的关心和支持,同时也要感谢罗峰
副教授、钟再敏博士、魏学哲博士对本项目给予的极大帮助。还要感谢师姐陈觉
晓、师兄马天才、师弟李小明、徐晓明的大力帮助,使本项目能够顺利完成。
5/23/2005
|