刘佼龙,杨莉,刘教瑜,梁钜亮
(武汉理工大学 自动化学院,湖北 武汉 430070)
摘要:为了实时监控燃料电池的运行状况,保障电池堆安全、可靠地运行,设计了一种单体电池电压监控系统。系统以PIC单片机为主控制器,采用基于高压模拟开关阵列的电压采集方法,利用CAN总线的方式与上位机通信。上位机采用LabVIEW平台开发电池电压监控界面系统,界面以波形图、表格、数值显示控件等形式向用户汇报电堆的运行情况。该系统实时性高、界面友好、控制简单,能够有效地保障电堆的安全。
关键词:单片机;LabVIEW;CAN总线通信;电压监控
中图分类号:TP277文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.03.025
引用格式:刘佼龙,杨莉,刘教瑜,等.PEMFC电压监控系统设计[J].微型机与应用,2017,36(3):85-87,92
0引言
如今,环境污染和能源危机已成为制约社会进步、经济发展的关键因素,尤其近年来汽车产业飞速发展,由此导致的环境和能源问题日益突出,新能源的开发迫在眉睫。燃料电池(PEMFC)是一种能量转换率高、无污染、可大量供电的清洁高效的分布式新能源[1]。对燃料电池系统而言,电池电压是其运行状态最直观的体现,系统出现的异常直接表现在电压的变化上。燃料电池一般由许多片单体燃料电池串联组成,其中任何一片异常或故障,若未能及时检测并加以处理可能造成电池堆的性能下降乃至损坏[2]。因此对燃料电池电压的监控显得尤为重要。为了确保燃料电池堆运行的可靠性,电池电压监控系统是必不可少的。
1系统组成及原理
燃料电池堆是由上百片的单片电池串联组成,虽然每一块电池的电压大约只有0.5 V~0.9 V,但是串起来的总电压可达上百伏。电压监控系统主要是由上位机数据显示界面与下位机电压采集及通信模块组成,包括主控制器、高压模拟开关阵列——燃料电池多路通道选通模块、信号调理模块及上、下位机通信模块等[3]。高压模拟开关负责选通144路电压输入信号,信号调理电路负责处理采集过来的模拟电压,便于输入到A/D转换器[4]。燃料电池单片电压监控系统结构原理图如图1所示。
本系统要求监视的燃料电池堆是由144块单片电池串联组成,系统选用PIC18F46K80作为主控芯片,高压模拟开关作为切换燃料电池的选通开关,同时还要完成CAN接口电路和串口接口电路的设计以便与PC进行通信和调试。系统要求上位机和下位机通过CAN总线的方式进行通信。上位机采用虚拟仪器图形化编程软件LabVIEW开发显示界面。下位机以PIC单片机为主控芯片,以MPLABIDE为开发平台、C语言为编程语言开发下位机程序。
系统的工作流程如下:上位机发送电压检测开始命令,单片机控制器接收命令开始电压采集工作,首先通过高压模拟开关依次选通电池通道,并且确保任意时刻只有单块电池被切入信号调理电路。切换过来的模拟电压信号首先被送入到信号调理电路,经过该电路的滤波等一些处理后输入到单片机自带的A/D模块中,经A/D转换、数据处理后,单片机将此时的单片电压信号通过内部集成ECAN模块,发送给上位机来对其进行监控,如此循环,完成144块电池的电压采集和监控。
2硬件设计
在主控制器的选择上,考虑到控制器的外设和内部的资源能否满足本系统的要求,选用微芯(MICROCHIP)公司的PIC单片机PC18F46K80作为主控制器。PIC18F46K80是集成ECAN模块和12位A/D转换具有极低功耗的高性能8位增强型闪存单片机,工作电压范围为1.8 V~5.5 V;最大速度可达64 MHz;1 024字节的数据EEPROM;最大64 KB Flash( 闪存程序存储器);4 KB RAM。总体而言这是一款高性价比、低功耗、性能强大的外设集合控制器。
2.1信号调理电路
由于电池内部环境复杂,采集过来的电压信号不可避免地会受到一些噪声等高频信号的干扰,所以信号调理电路必不可少,如图2所示。
这里AD620作为一个减法器, D2为TVS二极管,又称瞬态抑制二极管,是一种新型高效电路保护器件,防止电压过大。精密电压VREF经过电阻分压后作为一个基准电压,这个基准电压是为提升负压而设计的,确保输入到A/D转换器的是可以测量的正电压信号,而且也保护了后面的二阶滤波电路。后一级为运放二阶滤波电路,将信号中的杂质和高频信号滤除掉,提高信号的精度。二极管D3也是作为一个保护的作用而存在,防止最后可能出现的负压输入到单片机A/D模块。
针对燃料电池的负压情况设计的电位提升模块如图3所示。芯片用的是Microship生产的MCP1541,它是4.096 V的精确电压基准,初始精度可以达到±1%。5 V电压输入,4.096 V的精密VREF电压输出。
2.2通道切换选通模块
选用高压模拟开关MAX14802作为通道切换开关。该器件采用HVCOS工艺,提供16路高压、低电荷注入SPST开关,由数字口控制。数据移入内部16位移位寄存器,并通过带使能和清零控制的可编程锁存器保持数据。上电复位功能确保所有开关在上电时为断开状态。串行接口支持菊链连接,如图4所示。用9个MAX14802芯片来满足对144路电池通道的切换选择,任意时刻只选通相邻的两个开关,确保电池电压是一路一路地输入到单片A/D模块。由于选通模块的开关是循环切换的,所以电池的正极和负极与IN+端和IN-端的连接是循环交替的,例如第一节电池的正极接IN+端,负极接IN-端,那么下一接电池的正极就接IN-端,负极就接IN+端,如此循环,其具体任务是通过单片机控制其在同一时刻选通两个相邻通道的开关,来获取单节电池两端的电压。
2.3CAN 接口电路设计
主控制器PIC18F46K80内部集成有CAN控制器,该模块支持CAN协议CAN1.2、CAN2.0A和CAN2.0B,支持标准数据帧(11位标识符)、扩展数据帧(29位标识符)、远程帧、错误帧和过载帧;有6个缓冲区,可以设为TX报文缓冲区和RX报文缓冲区;16个完全(标准/扩展标识符)接收过滤器,可与4个屏蔽器中的任意一个配合使用;2个可分配给任意过滤器的完全接收过滤器屏蔽器;1个可用作接收过滤器或接收过滤器屏蔽器的完全接收过滤器;3个专用发送缓冲区。
CAN总线是一种传输速率高(可达1 Mb/s)、稳定可靠、抗干扰性能好、连线简单(CANH和CANL两条线)、能够长距离传输的通信网络。为了实现PC通信,还需完成CAN接口收发电路。系统选用微芯公司的MCP2551高速CAN收发器来设计接口电路[5]。其外部总线的物理接口电路如图5所示。MCP2551通过两个高速光耦(6N137)与单片机的CAN模块的CANH和CANL连接。高速光耦用于隔离可能产生的干扰信号,提高CAN通信的抗干扰能力[6]。图5CAN接口电路CAN通信协议形式为“ID+数据+校验”,每一帧信息有8个数据字节,本系统选用的A/D 转换器精度为12位,每个电压数据要占用两个数据字节,所以一帧信息中能够保存和传递4个电压数据。
3软件设计
3.1下位机软件
系统的主控制器为PIC单片机,采用微芯公司推出的MPLAB集成开发环境(IDE)作为下位机软件开发平台,选用灵活方便、易于查看修改的C语言为开发语言来开发下位机程序,遵循模块化的设计原则来开发软件,主要分为数据采集和CAN通信两大块。
3.1.1数据采集模块程序设计
数据采集模块主要有通道切换、数据采集、数据处理等任务。程序初始化后,单片机将电压信号经过通道切换和信号调理电路,输入到片内A/D模块上,经过转化后得到数字电压信号,并进行相应的数据处理,最后通过CAN总线的方式发送给上位机进行处理[7]。系统流程图如图6所示。
3.1.2CAN通信设计
CAN的数据以报文的形式进行传输,它以帧为单位,有标准帧和扩展帧两种不同的帧格式,区别在于标准帧有11位标识符;扩展帧有29位标识符。系统设计采用扩展帧数据类型进行CAN通信,扩展帧的结构包括:帧起始、仲裁场、控制场、CRC场、应答场和帧结尾,数据场的长度为0~8位[8]。其结构图如图7所示。
一个数据帧中的数据场有8个数据字节,本系统采用的是单片机内部的A/D模块,由于它是12位的A/D转换器,因此一个数据转换后要占用两个字节,所以一帧CAN数据中一次只能发送4个电压数据,需要传送38次才能把144片电池电压传送完。CAN模块通过中断的方式接收上位机的命令,然后再把电压数据转换为CAN协议格式发给上位机。上位机读取下位机发送的CAN信息帧后按照设计的通讯协议首先进行数据解析,把信息分为ID部分和数据部分,扩展帧的标识符ID有29位,数据为8个字节,4个电压信号。由ID号可以知道是哪节电池的电压,然后读取出数据,经过偏移量和比例因子换算得出实际的电压数据。上位机要不停地读取下位机的CAN缓冲区的数据,直到数据缓冲区的数据读取完毕,以保证数据读取的时效性。在数据的发送或接收前首先要进行初始化,如图8所示。初始化结束后,等待上位机的命令,接收命令后开始发送数据,流程图如图9所示。
3.2上位机软件设计(电压监控界面)
验室虚拟仪器平台(Laboratory Virtual Instument Engineering Workbench,LabVIEW)是美国国家仪器(NI)公司推出的一种基于图形化编程语言(Graphics Language,G语言)的虚拟开发工具[9]。它采用可视化的图形编程语言,基本上不需要像其他编程语言那样写程序代码,编程简单直观,易于调试和维护,有着广泛的应用。
上位机监控系统能够实时显示整个燃料电池堆的电压,并且用多种显示方式来显示当前的监测情况[10]。用波形图来显示整个电堆每片电池实时的电压情况,用数值控件精确显示每一片电池的电压、最小值电压、最小值电压通道号、最大值电压、最大值电压通道号以及电堆的总电压。根据电压的大小设置阈值,可以及时报警某些异常电池电压。
4结束语
在这个能源越发紧张的时代,燃料电池以其自身的优势,所占的地位越来越重要。本文根据燃料电池电压监控系统的要求,提出了一种上位机监测、下位机电压采集、CAN通信的电压监控系统,介绍了电池电压监控系统的功能和设计方案。并以PIC单片机为核心,建立了基于高压模拟开关和CAN通信的电池电压监控系统,整个系统安全可靠、一次性采集的电压数量巨大、精度高,能够实时有效地显示电池的运行状态,较好地实现了监控系统的功能要求。
参考文献
[1] 洪明子, 崔明灿.燃料电池发电技术[J].吉林化工学院学报, 2005, 22(3): 23-27.
[2] 全睿. 车用燃料电池系统故障诊断与维护若干关键问题研究[D]. 武汉: 武汉理工大学, 2011.
[3] 杨志勇.锂电池智能测试系统的设计[J].哈尔滨职业技术学院学报, 2007(1): 90-91.
[4] 周德东.基于光纤隔离的高精度数据采集电路设计[J]. 工业仪表与自动化装置,2015(2): 120-122.
[5] 刘金梅, 姚晓琼, 韦雪洁.基于MCP2515和S3C2440组建CAN总线通信系统的设计与实现[J].北华航天工业学院学报, 2012,22(1):10-12.
[6] 杨龙山.车用CAN总线抗电磁干扰能力研究[D].北京:中国科学院电工研究所,2006.
[7] 荀百谊.基于CAN总线网络控制实验平台的研究与设计[D].沈阳: 东北大学, 2008.
[8] 杨琨.基于CAN总线的智能检测系统的研究[D].西安:西安科技大学, 2008.
[9] 刘君华, 贾惠芹, 丁晖,等.虚拟仪器图形化编程语言LabVIEW[M].西安: 西安电子科技大学出版社, 2003.
[10] 吴作好, 谢文豪, 曾洁, 等.基于虚拟仪器的燃料电池电压检测监控系统[J].大连交通大学学报, 2010,31(2): 60-63.