当前位置:首页 > 单片机 > 单片机
[导读]本文所要介绍的是作者单位正在进行的25kW燃料电池轿车项目中,燃料电池单片电压巡检测试、分析系统的设计。

关键词: RS-485   燃料电池   PIC16F873   单片电压

1  引言
燃料电池是21世纪最有望取代目前汽车燃油内燃机的新动力体系之一,它是一种将H2和O2的化学能通过电极反应直接转换成电能的装置。一个燃料电池堆是将多片电池片串联起来构成的,整个电堆的性能和单片电池电压有很大的关系。因此在燃料电池的研制中有必要采集不同条件下单片电池的电压值,通过分析找出H2和O2的反应环境和单片电池电压之间的关系。本文所要介绍的是作者单位正在进行的25kW燃料电池轿车项目中,燃料电池单片电压巡检测试、分析系统的设计。本系统的上位机软件采用VB6.0编程语言进行开发,该语言功能强大,具有面向对象和可视化编程,界面友好,特别适于在 Windows环境下图形界面和用户程序的编制,数据采集由多个以8位PIC单片机为核心的数据采集模块来完成。

2  系统组成和工作原理
本系统由上位机、主控单片机和若干个数据采集模块所组成,如图1所示。上位机为一台工业控制计算机,其主要功能是通过RS-232串口实现和主控单片机的通信,接收采集数据和发送控制命令;实时显示单片电池的电压值和绘制同一时刻单片电压变化趋势曲线;将测量数据分类保存到数据库,并具有对测量结果进行多种数学分析的功能。

 主控单片接收来自上位机的控制命令

 图1     系统组成图
实现对各个数据模块的控制,并将各个模块发来的数据通过RS-232串口转发给上位机。主控单片机和各个数据采集模块间采用RS-485总线进行通信,并设成主从结构,主控单片机设为主机,各个数据采集模块为从机。主控单片机在收到上位机的检测开始命令后,按照轮循的方式依次给各个数据采集模块发采集命令,在每发出一个采集命令后就等待接收该采集模块的采集数据,如果在等待时间内收到采集模块发回的采集数据,就将数据打包转发给上位机;如果等待超时仍然没有接收到数据就直接向下一个采集模块发采集命令,如此反复循环下去。

各数据采集模块的软硬件构成是完全一样的,并通过RS-485总线实现和主控单片机的通信。每个数据采集模块在收到来自主控单片机的测试命令后开始对其负责测试的16片电池电压值进行采样,然后将采样所得的16片电池电压值打包一起发送给主控单片机。每一个数据采集模块能采集16片单片电池的电压,可根据电池片的总数相应地增减数据采集模块的数量。

3  数据采集模块设计
在本巡检系统中单片电池电压值的采集是由各个数据模块来完成。数据采集模块主要是以PIC16F873单片机为核心加一些外围电路构成如图2所示。PIC16F873单片机是Microchip公司生产的一款精简指令集(RISC),哈佛双总线和两级指令系统流水线结构的高性价比的8位嵌入式控制器,具有集成度高、速度快、工作电压低、功耗低、I/O直接驱动、指令简单易学易用等特点。其内置8k×14 Flash存储器,1个10位四输入通道A/D转换器,和一个UART。并可在线串行编程(ICSP),开发和使用都很方便,所需外围扩展器件少。在数据采集模块中多路模拟信号的输入是通过16路模拟开关CD4067来选择的,单片机通过I/O口RC1~RC4来选择具体那一路输入。由于单片电池电压一般比较低在0.5V~1.2V间,这个电压在CD4067的准许范围内,所以在CD4067的输入口没有加隔离电路。由于数据采集模块和主控单片机之间是通过485总线通信的,因此单片机的串口输入/输出要经过MAX485进行电平转换后才能接到485总线上。采样速率可由主控单片机控制。由于篇幅有限下位机软件设计在此没有提及。

图2     数据采集模块原理图

4  上位机通信程序设计
应用VB6.0内嵌MSComm控件只要通过简单的设置与编程,就能实现串行数据的发送与接收。MSComm控件提供了一系列封装好的标准串行通信的属性和方法,使用它可以建立应用程序和串口的连接,完成串行数据的发送与接收。其初始化属性设置如下:
If MSComm1.PortOpen=True Then
MSComm1.PortOpen=False
End If
MSComm1.CommPort=CommNum ‘串口号
'9600波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings="9600,N,8,1"
MSComm1.InputLen=0
MSComm1.RThreshold=20  ‘接收数据门限
MSComm1.SThreshold=0 ‘发送完不成生事件
MSComm1.InputMode=comInputModeBinary
‘通信为二进制模式
MSComm1.PortOpen=True ‘打开串口
MSComm1.InBufferCount=0 ‘清空接收缓冲区
MSComm1.OutBufferCount=0 ‘清空发送缓冲区
下位机向上位机发送的数据帧格式如图3所示:

图3     接收数据帧式

每一帧数据由20个字节组成,依次是:一个字节的帧起始标志为FF;一个字节的数据组号;16个字节的数据;一个字节的校验和,校验和是组号和16个字节的数据间相互异或的结果;最后一个字节为帧结束标志为FD。16个字节的数据中每个字节表示一片电池的电压值,为0~255的一个整数,将该数除以100及得到电压实际值,一般单片电池电压在0.5V~1.2V间。用MSComm进行串行通信接收数据时可采用两种方式实现,一种是查询方式,另一种是事件触发方式。在本系统中选择的是事件触发方式,每当接收缓冲区中数据字节数到达20个时就触发一个接收事件。接收通信程序如下:
Private Sub MSComm1_OnComm()
Dim InputData() As Byte
Dim strSum  As Byte
Dim i As Integer
Dim Volvalue(0 To 18) As Single
With MSComm1
Select Case .CommEvent '判断通信事件
comEvReceive:       '收到20字节的数据
InputData = .Input  ‘读接收缓冲区
If InputData(0) = 253 And InputData(18) = 237 Then ‘判断收到的帧格式正确否
For i = 1 To 17 Step 1
Volvalue(i) = InputData(i)
Next I
strSum = InputData(1)
For i = 2 To 17  ‘计算校验和
strSum = InputData(i) Xor strSum
Next I  ‘将接受数据校验和与发送校验和异或
If strSum = "0" Then ‘如果接收数据正确
Volvalue(N) = InputData(i) / 100
‘换算得到电压实际值
…………数据处理
Case Else
MSComm1.InBufferCount = 0 ‘清空接收缓冲区
MsgBox "串口通信错误"
Exit Sub
End  Sub

在此要注意的一点是从缓冲区读数据时,数组InputData()一定要定义成Byte类型不能为Integer或Single,因为接收模式设置为二进制。上位机发送的指令较少也很简单在此就没有仔细分析。

结束语
燃料电池作为21世纪前景比较看好的一种新的、洁净型能源,有关它的各项技术的研究都有助于推动它向实用阶段进一步发展。本文在单片电压的检测和分析系统的设计上作了一些工作。虽然是面向燃料电池的,但也可借鉴到其它类似的多点检测和控制系统的设计当中去。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

庄信万丰(Johnson Matthey)已开始在中国进行燃料电池回收。庄信万丰工厂位于江苏省张家港市,专注于提炼和回收膜电极(MEA)铂族金属成分,膜电极是汽车燃料电池的一个关键组件,来源于全球领先燃料电池堆栈技术提供...

关键字: 燃料电池 电极 JOHNSON 金属

摘要:介绍了船舶电力推进系统的技术特点及其系统组成,重点针对其未来技术发展趋势进行了展望。

关键字: 船舶 燃料电池 综合全电力推进

为增进大家对电池的认识,本文将对电池的几个性能参数予以介绍。

关键字: 电池 指数 电压

摘 要 : 目前 , 10 kV母线三相电压不平衡时有发生 ,表现为一相或两相对地电压升高 ,其余相降低。不平衡的电压影响调度员对于 线路是否接地的判断 ,亦有可能造成线路、主变保护电压闭锁功能的失效 ,严重时甚至会...

关键字: 母线 电压 三相不平衡

德国慕尼黑2022年8月9日 /美通社/ -- 近日,TUV南德意志集团(以下简称“TUV南德”)推出两个新的认证标志 -- 燃料电池系统以及氢系统组件的认证。制造商通过使用...

关键字: 燃料电池 组件 电池系统 ISO

(全球TMT2022年6月28日讯)浪潮存储基于大量的NAND测试数据,在反复探索和实践推理过程中发现了企业级固体硬盘普遍面临三个挑战: 首先,NAND特性会影响数据的可靠性。例如NAND中未写满数据的块因数据保...

关键字: NAND 闪存盘 电压 Flash

为增进大家对电力系统的认识,本文将对电力系统中性点接地方式,以及电力系统调压手段予以介绍。

关键字: 电力系统 指数 电压

儒卓力(Rutronik Elektronische Bauelemente GmbH)推出RECOM公司E-K 系列中具有高功率密度的 20 W AC/DC 转换器RAC20E-K/277,它的特点是具有OVC III...

关键字: 儒卓力 转换器 电压

为什么监控电压很重要?我们知道监控电压轨可以帮助我们防止掉电、检测过压事件、测量电池电量并帮助我们实施整体诊断策略。本文将介绍如何实施电压监控。有四种关键方法:

关键字: 电压 电压监控

(全球TMT2022年4月22日讯)新思科技(Synopsys, Inc.)近日宣布与Ansys联合开发的电压时序签核解决方案已获三星采用,用以加速开发其具有理想功耗、性能和面积(PPA)的高能效比设计。该联合解决方案...

关键字: 三星 时序 电压 新思科技

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭