基于CAN总线的蓄电池组集散控制系统设计

2019-11-19      992 次浏览

引言


随着高科技及其产业的迅速发展,大存储容量的蓄电池组能源系统已经越来越被人们所重视,在诸如电动汽车、大功率UpS、电厂及变电站直流系统、通信系统等很多领域中都得到广泛应用。


蓄电池组是由一定数量的单体电池串联组成的,在使用过程中可能会有百次直至千次的充、放电。各单体蓄电池过充电、过放电或者放电不足均易引起电池的故障,某个单体蓄电池的故障也会导致整个蓄电池组的故障和损坏。因此,在线实时检测蓄电池组充放电各单体蓄电池的充放电电压、充放电时的温升以及整个蓄电池组的充放电电流、电压等参数,及时找出损坏或性能显著降低的蓄电池,对于延长电池的使用寿命、降低成本特别是提高直流供电系统的可靠性至关重要。鉴于上述情况,我们研制了蓄电池组充、放电集散控制系统,它克服了早期的集中采集检测方法中布线多、线路长,浪费人力物力又易引入干扰的缺点,同时CAN总线多主节点、高可靠性以及扩充性好等特点使得该系统具有较好的控制性能和广泛的应用前景。


系统的组成及工作原理


CAN总线简介


控制器局域网络CAN(ControllerAreaNetwork)总线属于现场总线的范畴,是由德国BOSH公司为分布式系统在强电磁干扰环境下可靠工作而设计的一种串行通信网络,它具有如下显著特点:


(1)多主方式工作,各节点均可在任意时刻主动向网络上的其它节点发送信息而不分主从,且无需站地址等节点信息,利用这一特点可方便地构成多机备份系统;


(2)采用独特的非破坏性总线仲裁技术,优先级高的节点优先传送数据,能满足不同的实时性要求;


(3)广播式数据通信,采用CSMA/CD协议进行总线控制及数据通信。当节点向网上发送数据时,其它节点都同时收到数据,具有点对点、一点对多点及全局广播传送数据的功能;


(4)高传输可靠性,总线上每帧有效字节数最多为8个,并有CRC及其它校验措施,数据出错率极低,且在某一节点出现严重错误时可自动脱离总线,使总线上的其它操作不受影响;


(5)特别适合于网络化智能设备,最高速率可至1Mbps,此时通信距离为40m,通信速率选择5kbps时,通信距离可长达10km,可根据实际需要选择使用。CAN总线只有两根导线,系统扩充时直接将新节点挂接在总线上即可,系统容易实现冗余设计。所以从适用性、可靠性和低成本的角度考虑,本系统中我们选择了CAN总线来构成底层通信网络。


集散控制系统的基本结构及工作原理


系统由上位机(通用pC机,带CAN接口适配卡),n个智能电压、温度等数据采集节点单元(具体个数随单体蓄电池数而定,但最多不超过110-2=108个),1个现场智能电压、电流监控显示报警节点单元及CAN总线网络组成,其系统结构如图1所示。


图1:集散控制系统结构框图


系统中的每个节点都以INTEL80C196KC单片机为核心,配以pHILIpS半导体公司的SJA1000独立CAN控制器和pCA82C250CAN收发器构成。pC机和CAN控制器之间采用双口RAMIDT7132作为双向数据传送通道。现场智能电压电流监控显示报警节点单元另采用北京青云创新科技发展有限公司的液晶显示模块LCM320240ZK和简易键盘,用于显示各智能检测节点单元发送来的现场数据和向各智能检测节点单元发送简短的pID调节等控制命令。智能电压、温度检测节点单元则配以相应的电压、电流、温度传感器及相应的处理电路,以完成电压、电流及温度信号的采集工作。


图1中的各个智能电压、温度检测节点单元分别安装固定于各单体蓄电池旁,具有相同的硬件结构。其主要功能是采集各单体蓄电池的充放电电压,蓄电池在充放电过程中的温升等现场数据,经过滤波和相应变换后通过CAN总线网络送到上位机和现场监控显示报警节点单元;现场智能电压、电流监控显示报警节点单元负责检测蓄电池组充放电电压、电流,接收各智能检测节点单元发来的经滤波、变换等处理后的现场数据,对主要参数进行显示、存储,完成对蓄电池组充放电电压、电流的数字pID调节控制,并对各单体蓄电池进行故障诊断、锁定和报警,其数据交换也是通过CAN总线网络送到上位机。CAN总线网络部分主要由CAN总线通信介质和相应的通信软件组成。本系统通信介质采用双绞线,负载连接在CANH和CANL之间,终端匹配阻抗值为信号的特征阻抗值,约为120Ω。


节点单元硬件设计


节点单元工作原理


本系统中存在现场智能电压电流监控显示报警节点单元和智能电压、温度检测节点单元等不同类型的节点,但其核心电路基本类似,只是外围接口电路和传感器等采集电路有所区别。以带有监控显示报警的节点单元为例,其结构框图如图2所示。


图2:节点单元结构框图


现场蓄电池充放电交直流电压、电流、温度等模拟量经滤波、整形后,通过多路转换开关进入80C196KC的A/D转换口,由单片机定时采样并完成A/D转换;开关量输入经过光耦、缓冲器进入单片机的I/O口,单片机通过对I/O口的检测和数值处理产生相应的动作如声光报警、关闭充放电电源模块、继电器动作等;单片机将A/D转换后的数据与设定参数进行比较和数字计算,由高速输出口HSO完成pWM输出,经隔离、整形、滤波处理后送出pID调节信号,可对充放电电压、电流进行控制;由于外围接口电路较多,用8155对单片机I/O口进行了扩展,通过键盘和液晶可上、下、前、后翻屏查看监控信息(充放电电源状态、蓄电池状态、充放电曲线等)和更改系统参数设置(电压、电流阈值、温度补偿系数等);为进行CAN总线通信和与上位机数据交换,节点单元还设置了CAN通信接口电路和RS232串行通信接口电路。


CAN总线接口电路


节点单元CAN总线部分硬件电路原理图如图3所示。节点单元CAN总线接口由独立控制器SJA1000和CAN控制器接口芯片82C250组成。SJA1000作为微控制器的片外扩展芯片,其片选脚CS接在微控制器的地址译码器上,从而决定了CAN控制器中的各寄存器在微控制器中的地址。SJA1000通过CAN控制器接口芯片82C250连接在物理总线上。收发器件82C250能提供对总线的差动发送能力和对CAN控制器的差动接受能力,完全和“ISO11898"标准兼容,具有高速、抗干扰、掉电能自动关闭输出、支持达110个节点连接等特性。


系统软件设计


本系统的软件由两部分组成:上位机pC机软件和节点单元软件。pC机软件在Windows环境下用组态软件产生友好的人机界面,实时读取各节点单元所传送的数据,拼装后在画面上显示,通过画面能及时了解各蓄电池的工作特性、工作状态,对不符合要求的蓄电池发出报警信号,以便及时处理,找出蓄电池的最佳工作点,保证蓄电池充放电系统的正常工作,提高蓄电池组充放电的工作效率。节点单元软件包括自检程序、多路A/D转换滤波处理程序、数字pID调节程序、LCD显示程序和通信程序等模块,采用汇编语言编写,仿真调试脱机模拟后固化于EpROM内。


图3:节点单元CAN总线通信接口电路图


节点单元主程序


节点单元主程序流程图如图4所示,完成对A/D转换结果的数据分析,I/O口数字开关量的处理、调用蓄电池充放电参数调整程序、CAN总线通信程序和键盘、LCD显示程序等。其中数据分析包括蓄电池组的充放电电压、电流比较、浮充电压判断、低压切除电压阈值调整等;I/O数字开关量处理包括对开关量的判断、报警等。


图4:节点单元主程序流程图


图5:CAN总线通信初始化流程图


通信程序


CAN总线通信程序主要由三部分组成,即初始化程序、发送程序和接收程序。初始化程序主要完成CAN控制器工作方式的选择,即对CAN控制器控制段中的寄存器写控制字。


本系统采用SJA1000,即在系统复位模式下完成如图5的初始化流程。信息从CAN控制器发送到CAN总线或从CAN总线到CAN接收缓冲区都是由CAN总线控制器SJA1000自动完成的,发送和接收中断处理流程图分别如图6、图7所示。


图6:CAN总线通信发送程序流程图


图7:CAN总线通信接收程序流程图


液晶显示程序


液晶显示程序框架如图8所示。带中文字库的大点阵图形液晶显示模块LCM320240ZK每屏可显示300个字符,且可以清晰显示蓄电池组充放电电压、电流、V/I特性等曲线。首屏监控子菜单内容包括当前时间、交流电压、电流、负载电压、电流、环境温度、单体蓄电池温度、均浮充状态等参数。在首屏上按功能选择键启动或复位可进入主菜单屏,包括电池状态监控、充放电参数控制以及故障报警等子菜单,利用光标移动可选择要查看的子菜单。屏间信息的转换、屏内光标的移动和参数的增减通过上、下、左、右和确定按键组合实现。


图8:液晶显示程序流程图


结语


基于CAN总线的蓄电池组充放电集散控制系统充放电参数检测控制实时性好、抗干扰性强且易于升级,对于提高直流供电系统的可靠性,减轻工作人员的劳动强度,减少维护工作的盲目性具有重要的参考价值。


相关文章

推荐品类

为您推荐

东莞市钜大电子有限公司 粤ICP备07049936号