dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

一个实用的电解液配方解析及中控计算小工具

已有 11606 次阅读 2017-11-25 23:13 |个人分类:锂电电解液|系统分类:科研笔记| 锂离子电池, 归一化, 电解液, 电解质, 配方解析

Update: modification of program. 2017-12-6


本文中的配方是随意编的,用于举例。 工具中代码也不涉及保密内容。


上篇博文讲到配方表达的精确性的要求,要区分外加和内加. 除此之外,配方表达的规范性也是个有意思的话题.


在日常使用中, 为了传递配方,除了使用各成分都是百分比的归一化方式之外,还经常使用文本描述的表述,这样的表达非常方便,但使用时则需要转化为归一化的数据.比如说,有一个配方表述是这样的:

1M LIPF6, EC:DMC:EMC=2:1:3(v/v), 1% VC, 2% SN

这样的表述在计算时(比如用EXCEL)是不能直接使用的,先要分解每个成分是多少,放在指定的位置上,EXCEL才能好好识别,数值才好利用.这个转化的过程,多数情况下是人工在转换的.将LIPF6, EC,EMC,VC,PS等各个成分先输入到一行或一列格子中,再在相应的位置上填入各自对应的数值.

比如说形成类似下面这样的表格

LIPF6  12.5%

EC  (待计算)

DMC  (待计算)

EMC (待计算)

VC 1%

SN  2%

将LIPF6的物质的量浓度根据密度(或经验值)换算为百分比, 再用100%减去LIPF6和、VC、SN(及其它所有添加剂)的总量,得到EC、DMC和EMC的总量. 再用EC体积比值*EC密度、 DMC体积比值*DMC密度、EMC体积比值*EMC密度 将体积比转化为质量比, 逐个计算出EC、DMC、EMC各自是多少.


接下来,比如说,SN由于熔点比较高,直接加料不方便,需要使用40%的SN在EMC中的溶液(也是随便编的),那么,还要继续计算, 应该加多少 溶液态的SN, 以及还剩下多少EMC要加纯溶剂,也需要计算.  

在加料过程中,通常是先加溶剂,那么,为了控制方便,要测定溶剂包的各成分的比例,我们得先算一下,前面加入的溶剂(称为"中控")的各成分的质量比是多少,还得计算.

整个这个过程,对于EXCEL熟手来讲,有的计算可以用公式来处理,但无法全部用公式来处理。熟练的人员算完一个配方,可能需要5~10分钟左右, 对于不熟练的,可能要30分钟左右. 如果你需要计算的这类配比有个20个,可以花的时间就相当多了.然而,你还得不停地重复这个工作,而且不能出差错.

可是,人工处理就是很容易出现差错的: 比如说看错了溶剂的比例,漏掉了某个添加剂或写错了添加剂的名字,这样导致的问题就比较多了.这对负责这些计算(通常是工艺或品质人员)的人员来说,这是一个沉重的负担,即枯燥又容易出错,责任重大又不得不做. 即使有人审核,审核的人也少不了要这样的计算,实在有改善的必要.

为了减轻这部分的工作,我做了一个小工具来简化这种转换的工作. 将文本描述的配方,解析为各成分的归一化的百分含量, 然后你可以选择某种特定比例的溶液,工具帮你算出可以加多少这种溶液,溶剂的减少部分自动算出来.最后,还帮你把溶液包的比例是多少也算出来.所有操作,只需要点击几下鼠标,几秒钟搞定.

更有用的是,只要配方的表述是严格符合规范的,这样的计算不太会出错.


解析配方工具(公开版本2017-12-05).rar


但话要说回来,要知道简单的代码是不太智能的(容错的处理复杂,没有精力搞,这个靠你自己检查),因此,文本的表达从一开始就要规范.要使用这个小工具,有以下几条简单的规则:

1)溶剂比例的表示方式 A:B:C:D=1:2:3:4  注意:A/B/C/D是溶剂的缩写, 1,2,3,4可以用任意合法的数字(不要含百分号). 溶剂名称与比例之间是一个英文的等于号. 这部分文本放在最前边,后面跟一个英文逗号进行分隔.

特殊情况:FB,FEC等物料,有时作为添加剂有时作为溶剂,因此没有列入常规溶剂中.如果FEC(或其它任何非常规的溶剂),需要在FEC或FB的结尾手动加上_S标识,表示它当成溶剂来处理即可.

2)锂盐和添加剂的表述放在溶剂后面, 这些成分之间不分先后,其表示方式可以是这样子 LIPF6:12.5%, VC:1.5%, SN:3.0% 各成分之间用英文的逗号来分隔, 成分名与含量之间用半角的冒号来分隔. 如果LIPF6你没有百分含量,你可以写成 LIPF6:1.1M。 类似的,LITFSI,LIFSI,LIDFOB也可以这么处理.但解析时会问你电解液的密度是多少,不然没办法转换成百分比.

作为特例,你可以写成这样, LIPF6:1.2M(15.3%),解析时优先取括号中的15.3%.

3)如果这个配方有型号,把型号放在溶剂前面,用半角的空格与后面的溶剂文本隔开.型号中不能用逗号、冒号、等于号、空格等特殊符号,只能是字母或数字(中文字符可以)



比较完整的配方,可以是这个样子的:

DJY223A EC:DMC:EMC:PC=30:25:40:5, VC:1.5%, FEC: 3.0%, SN: 2%, PS: 1.5%(前面有配方的名称)

EC:FEC_S:EMC=1:1:8(v/v), VC:2%, PS:3%(因为FEC不是默认的溶剂,需要在字符后面附加一个_S来表示它是溶剂)

使用的方法:

1)将配方文本粘贴到时一个单元格中(选中单元格,在编辑栏中进行粘贴).然后点击"解析配方文本"按钮.代码自动生成解析配方并归一化.


2)如果要使用某种原料的溶液,在解析出的配方中选择一个格子,然后点击"使用溶液化原料",代码会弹出窗体让你选择溶质,溶剂(现在只做了一种溶质一种溶剂的这样的方案,更复杂的还没有支持),设定好溶质的浓度再确认就可以,代码按溶液使用最大化来处理的.(默认设置是LIPF6不能作为溶质,如果你需要用到LIPF6溶液,把代码中 "允许锂盐使用溶液=False" 改为 "允许锂盐使用溶液=True", 保存一下即可.


除此之外,代码中还有

1)一个名称与代码相互转换的函数,考虑到保密我把具体的内容删除了,你可以根据自己的体系中,名称与代码的对应关系来补充回去.

2)一个将结果横竖进行转置的工具.


怎么样? 如果你正好有这样的需要,那就试试吧.

最后声明一下,解析工具的代码可能存在BUG,如果你发现有异常,请告诉我改进(dingsir@qq.com).但我无法为你承担任何风险,你根据自己的需要决定是否使用,责任自负.




https://blog.sciencenet.cn/blog-1213210-1086833.html

上一篇:随便说说电解液配方的表达--内加和外加
下一篇:EXCEL 分列 (TextToColumns) 的C#代码
收藏 IP: 49.67.61.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 16:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部