350 likes | 492 Views
大规模电池组充放电 效能优化. 项目类型: 横向项目 指导老师: 程良伦教授 时 间: 2011.09. 电池信息采集系统 CPU 部分 上位机软件部分. 项目的背景介绍. 应用背景 蓄电池出厂前对电池进行反复充放电,激活其中的化学物质优化其性能,这个过程叫化成。 蓄电池容易在该过程中损坏,控制复杂关键,因此需要专门的充放电机控制系统对化成过程进行监控。 行业现状 工艺指令简单,不能完成复杂的工艺 单路巡检,效率低 电池信息采集通信速度慢 开发需求 大规模电池充放电控制系统:快速精确,工艺丰富,界面友好,操作方便,低成本. 充放电机控制系统的结构.
E N D
大规模电池组充放电效能优化 项目类型: 横向项目 指导老师: 程良伦教授 时 间: 2011.09
电池信息采集系统 • CPU部分 • 上位机软件部分
项目的背景介绍 • 应用背景 • 蓄电池出厂前对电池进行反复充放电,激活其中的化学物质优化其性能,这个过程叫化成。 • 蓄电池容易在该过程中损坏,控制复杂关键,因此需要专门的充放电机控制系统对化成过程进行监控。 • 行业现状 • 工艺指令简单,不能完成复杂的工艺 • 单路巡检,效率低 • 电池信息采集通信速度慢 • 开发需求 • 大规模电池充放电控制系统:快速精确,工艺丰富,界面友好,操作方便,低成本
电池信息采集系统 1.电池采集部分框图
电池节点框图 汇聚节点框图 无线节点硬件结构
电池节点 ADC软件校正: 本MCU中A/D转换器存在:失调误差、增益误差。 理想情况下,ADC模块转换方程为y=x×mi,式中x=输入计数值 =输入电压×4095/3;y=输出计数值。 在实际中,A/D转换模块的各种误差是不可避免的,这里定义具有增益误差和失调误差的ADC模块的转换方程为y=x×ma±b,式中ma为实际增益,b为失调误差。
电池节点 • 参数: • 工作频率:433MHz • 功耗:<0.2W • 采集速度:20ms • 电压检测精度:0. 1% • 温度检测精度:0.5℃ • 供电方式:电池供电 • 距离:<150m(无阻挡) • 电池类型:2V,6V,12V
汇聚节点 电池信息分电压和温度 电池又分为高压电池(6V和12V)和低压电池(2V),高压电池的电压信息两位小数,如12.91V,低压电池信息电压为三位小数:如1.857V。 温度信息为一位小数,如29.5℃。 两信息分别用12位表示,一共24位即3个字节。 它们位置存放顺序为温度在高位电压在低位。例如:0x11 0x05 0x0C。 则温度为:0x0110=272,即27.2℃,电压为:0x050C=1292,即12.92V。
CPU系统构成 CPU系统 • CPU系统主要包括与下位机巡检通信,PC机TCP通信,程序工艺指令手动指令以及内部数据存储等功能。下图是结构示意图: • 充放电回路通信RS485 • 电池信息采集CAN2.0 • SD卡充放电日志存储(SPI总线) • PC通信(TCP/IP)实现大规模联网控制 • 实时时钟(RTC)I2C通信 • 铁电E2PROM(I2C) CAN2.0 RS485 LM3S8962 CotexM3 HUB TCP/IP SPI SD Card I2C I2C RTC E2PROM
CPU系统 • μC/OS-Ⅱ操作系统 • μC/OS-Ⅱ多任务操作系统 • 多任务处理(创建5个任务),通过消息邮箱,信号量等完成任务间同步与资源共享。 • TCP通信 • LWIP协议 、手动端口(1400)和巡检端口(1207)TCP通信 • RS485通信 • 长帧处理,定时器判断结束。 • 并行处理:UART0处理前18回路通信,UART1处理后18路通信,减少等待时间。 • 巡检日志存储 • SD卡按采集间隔存储回路充放电信息,每条117字节,按块写。 • 上传PC机,一次上传1000条。
CPU状态控制 • 充放电命令:充放电回路完成的最基本的命令,如恒压充电,恒流脉冲充电,恒阻充电等。(17种) 电池在化成充放电过程中,通过指令编辑完成各种工艺。 • 工艺指令:指令+运行参数+单步终止条件+单步辅助条件+辅助动作+采集时间间隔(99步) • 两层循环:工艺指令中包括循环命令,内外两层循环,循环的判断和标记。 • 掉电保护:对于CPU掉电应该可以无错继续运行,包括上一次巡检的信息,注意掉电与通信错误区分。
CPU通信 • 与汇聚节点通信(CAN通信) 12帧,1帧8字节,两颗电池信息 • 与充放电回路通信(RS485通信) • 过程信息获取 • 控制命令写入读出 • 回路参数读取写入 • 与上位机软件通信(TCP通信) • 巡检命令通信 • 回路信息(45字节)+电池信息(72字节) • 手动命令通信 • 信息获取(整机,单台,通信参数,型号等) • 运行控制(启动,停止,暂停,继续,跳转) • 指令控制(整套指令的处理) • SD卡操作(初始化读写擦) • 其他(ID修改,参数校正,时间校正,控制命令获取,回路参数获取)
CPU特点 处理充放电回路:36路 工艺指令:19种 巡检速度:160ms/路(包括回路信息和电池信息) RS485速率:9600bps 工艺指令:40套 日志信息存储:5W条/路 CAN通信速率:500Kbps 每条工艺长度:50字节 单步终止条件类型:5种(AH,WH,I,V,T) 辅助条件类型:5种(T,V,T/s,V/s,V-NUM) 辅助动作:4种 掉电保护信息:18字节/路 功耗:1.5W
上位机软件 上位机以TCP/IP通信为基础,在操作员和硬件系统之间提供人机交互平台。界面友好,操作方便。定时巡检、执行手动指令是上位机中心任务,它主要完成数据采集、数据格式解析及显示、数据存储,历史数据分析,编辑、下发指令等工作。 • 软件开发环境 • 软件功能模块 • TCP/IP多线程通信原理 • 数据分析与归档 • 图形用户界面
开发环境 • 操作系统: WinXP/Win vista/Win7 无特殊应用要求; 大家都会用的操作系统 • 数据库: Access2007桌面型数据库 小数据量:1000*300,10万级数据量; 交互性好,如Excel一样直观; 无需数据库维护人员 • 开发语言: Visual C++ 2008 ,MFC MFC (Microsoft Foundation Classes),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件(COM)的封装类; 面向对象编程,方便代码维护和升级。
功能模块 上位机与底层CPU板通信,采集实时信息,执行手动命令,功能模块划分如下图所示: 图1 上位机功能模块图
充放电工艺管理 一套工艺最多可达99步,每步有16种指令可选,每种指令又包含运行条件、终止条件、辅助条件和辅助动作,4种条件是可组合的,具体由用户根据生产情况决定。下位机可同时保存40套工艺。
TCP/IP通信方式 • 架构: • TCP/IP协议 • 客户服务器模式(C/S模式) • 套接字通信方式 • VC++实现: • WinSocket2.1 阻塞模式+ 多线程 • 以PC为客户端,请求数据;以下层CPU为服务器,提供数据 图2Socket阻塞模式通信模型
多线程巡检方式 后台维护一个充放电机信息链表,每隔一定时间(例如3s),读取各设备IP地址和回路标识信息,并根据这些信息依次创建一组巡检线程,向各服务器请求数据。 多线程并发执行,提高数据采集和处理速度。 图3 多线程巡检原理
数据处理 • 巡检线程与数据显示线程分离 • 在采集的时间间隙可处理数据,提高系统时间利用率; • 巡检时间间隔和数据显示时间间隔可设置为不同值; • 后台维护一个线性链表,每个表节点对应一个电机回路, 采用C++结构体类型存储回路信息 • 关键点:多线程同步
资源共享区同步策略 对资源共享区的访问同步控制是多线程程序设计的首要问题,本系统采用临界区( Critical Section )进行同步。原理如下: 图4 采用临界区保护共享资源
历史数据分析与归档 数据分析是过充放电过程采集的数据进行分析,在产品试验和实际生产中都具有重要意义。有助于改进工艺,产品质量控制,产品缺陷溯源等。 图5 历史数据分析与归档过程
其他图形用户界面 (b)参数校正 (a) 底层硬件参数设置 (c)上位机软件参数设置 (d)精简显示界面
谢谢! 大规模电池组充放电效能优化 Charging & discharge performance optimization of the batteries 报告完毕!