APP下载

汽车超容模组自动化测试系统的设计与实现

2020-06-04陈春吴育华熊亮

关键词:设计模式面向对象

陈春 吴育华 熊亮

摘 要:讨论了汽车超容模组的测试要求和方法,介绍了基于策略模式的自动化测试系统设计方案及各功能模块的实现。采用了分层、分模块的软件设计思想,使用了面向對象的编程语言Java,在Eclipse RCP框架的基础上快速搭建出了基于策略模式的自动化测试系统。将不同的测试功能封装成不同的测试用例,并支持设置测试参数,保证了系统的灵活性和扩展性。硬件使用了多种上位机扩展板卡和测试设备,并根据A/D采样扩展板的采样频率计算出了超容放电精确时间。系统操作简单,测试效率高,具有较高正确性和稳定性,经受住了生产测试的反复验证。

关键词:超容模组;自动测试;面向对象;设计模式

1 引言

现阶段使用超级电容启动的燃油或混合动力汽车越来越多[1],它不仅可以延长汽车蓄电池使用寿命,降低汽车怠速油耗,而且可以很好的提升汽车驾驶体验[2]。沃尔沃公司的某款混合动力汽车启动时使用的就是稊米汽车公司为其量身定制的超容模组,它包含五个串联超容单体和一个保护控制电路板,对外输出12V电压,启动瞬间电流可达150A以上,一次充电可满足汽车启动四次的需要。超容模组串联在汽车蓄电池和启动电机之间,启动时完全依赖超容供电,从而彻底避免了启动放电对蓄电池造成的不利影响,接线方式如下图所示:

汽车工业对电子零部件的质量有着极高的要求,超容模组的作用是为汽车启动提供电能,一旦出现故障汽车就无法启动,严重影响汽车出行安全。为保证每件超容模组稳定、可靠,出厂前的功能测试是必不可少的,测试涉及三项功能,即:充放电、静态电流和反向支撑。充电测试用于验证超容充满电后电压和放电后测量的电压是否在预期范围内;静态电流测试用于验证待机和休眠时输出电流是否足够小,避免存在漏电的可能性;反向支撑测试用于验证超容工作电流大小和持续时间是否达到启动电机工作要求。由于测试过程复杂,为满足大批量生产制造需要,一套全自动的测试系统是必不可少的,下文将详细阐述其设计和实现原理。

2 系统控制流程

本系统的上位机安装了I/O扩展板卡和A/D采样扩展板卡,前者用于继电器断开闭合状态查询和控制,后者用于超容模组A、B、Umeas三个端子和A端子外接导线上CT电压值的实时监测。除工控机外,测试使用的仪器还包括:可编程直流电源、高精度数字万用表、电子负载,具体连接关系如下图所示:

所有继电器初始状态均为断开,当继电器K1、K2、S1闭合时超容模组开始充电执行充电测试,继电器K2、K3闭合时超容模组进入休眠状态执行静态电流测试,继电器S1、K1闭合时超容模组开始放电执行反向支撑测试。

3 软件设计

3.1 总体设计方案

在自动测试系统中,软件提供用户与测试设备之间、测试程序与控制模型之间的操作接口,负责解释执行与测试系统相关的控制模型,是整个测试系统的核心[3]。为了提高软件的通用性、可移植性和扩展性,系统采用了分层、分模块的设计思想,从上至下依次为:应用层、业务逻辑层、基础组件层和数据存储层,如下图所示:

应用层提供完整的人机交互界面,辅助用户完成测试控制和管理;业务逻辑层包含测试逻辑、用例数据、设备数据、测试数据、权限数据访问接口;基础组件层包含了仪器设备和数据库访问接口,其上层使用时无需了解仪器设备操作原理[3];数据存储层MySQL数据库存储了设备信息、设备参数、测试用例库、测试结果、用户权限等信息,系统配置包括测试仪器通信和界面操作习惯参数。系统使用Java语言开发,采用Eclipse RCP框架作为快速实现人机界面的手段。

3.2 关键技术

3.2.1 仪器通信与扩展板控制

充电测试使用RJ45网口与GW INSTEK可编程直流电源通信,使用Socket通信接口向固定IP地址和端口发送命令字符串,例如:输出15V电压和30A电流的命令为“:APPL 15.0,30.0”。静态电流的测量使用RS232串口与FLUKE高精度数字万用表通信,使用Javax扩展的串口通信接口,例如:查询电流为“MEAS:curr:dc?”。超容放电使用USB口与Chroma电子负载通信,使用JNA本地调用接口调用NIVISA函数库[4]发送命令,例如:启动命令为“LOAD ON”,停止命令为“LOAD 0”。研华I/O扩展板卡使用自带的Java驱动程序库对继电器状态进行查询和控制。A/D采样扩展板卡调用本地NIDAQmx函数库设置采样参数、执行和停止采样。

3.2.2 测量与计算

系统中A/D采样扩展板卡最大频率为10000Hz,存在量测噪声[3],下图左侧是在充电过程中每间隔1秒量测的UB瞬时值绘制的趋势图,上下波动十分明显,而根据超容的物理特性可知在充满之前电压只会上升,不会下降,这显然是受到了量测噪声影响。为了避免噪声带来的影响,我们将量测瞬时值改成平均值,即每次采集10个点的数据,将它们的平均值作为量测值绘制出下图右侧趋势线,结果和理论预期效果一致。

反向支撑测试中超容模组放电时间的统计是另外一个无法直接量测的值,模组的放电时间比电子负载设置的放电时间要小,而电子负载没有统计实际放电的时间。因此我们尝试使用A/D采样扩展板卡采样频率稳定的特点来间接计算放电时间,即先根据频率推算出两次采样时间间隔为100微秒,然后统计出放电过程中采样点大于等于放电电流的点数N,即可算出总放电时间为N×100微秒。经多次实验反复验证,该方法的统计精度和稳定性均满足测试要求。

3.2.3 设计模式

测试逻辑层采用面向对象的策略模式,即把这些测试方法都封装成一个类,它们都实现相同的接口。其优点是可以灵活的添加新用例或对现有的用例进行升级替换,而不影响原有的功能,既满足高内聚低耦合的设计原则,又可最大程度上复用现有代码。

3.3 人机界面

执行测试时,用户需在窗口左侧扫描输入产品条码,条码校验通过后自动启动测试。测试过程中“控制台”界面会输出继电器动作信息和电流电压测量值,一旦某个用例不通过立即弹出警告提示框终止测试,测试完可在下方“测试用例”表格中查看测试数据和结果。“查询记录”界面可查询历史记录、导出测试报告。“用例配置”界面可为不同型号配置测试用例,如图5所示。

4 结果

根据超容模组设计要求充电测试须在90秒内完成,且电压在13.2±0.2V范围内;待机和休眠电流分别小于0.1A和0.1mA;当放电电流分别为280A、200A、500A时反向支撑时间分别在[15, 25]毫秒、[30, 45]毫秒、小于500微秒范围内。当某件产品三项测试全部通过时认定为合格,否则只要一项不通过就认定为不合格。本系统经受住了1000件以上产品测试的验证,能够100%发现超容模组的产品缺陷,为产品质量提供了强有力的技术支撑。

5 结论

本系统通过控制多种仪器设备实现了汽车超容模组功能的自动化测试,界面友好,操作简单,系统稳定可靠,经受住了长时间生产运行的考验。利用均值处理消除了A/D采样噪声,利用A/D采样频率精确计算了超容放电时间。系统设计灵活,扩展性好,可根据产品型号配置测试逻辑和判断条件,最大程度上复用了原有功能代码,对其它自动化测试系统的设计、开发有较高的参考价值。

参考文献:

[1]赵旭哲.混合动力汽车用超级电容及其关键技术的探讨[J].汽车实用技术,2014(10):82-87.

[2]王鑫.超级电容器在汽车启动中的应用[J].国外电子元器件,2006(05):57-59.

[3]杨文,黄文涛.通用自动测试系统的软件设计与实现[J].工业控制计算机,2012,25(01):79-83.

[4]王海霞,颜桂定,李宝辉,刘晓燕,王轶.直线电机运动控制系统的软件设计与实现[J].电子测量与仪器学报,2013,27(03):264-269.

作者简介:陈春(1980-),男,湖北孝感人,工程硕士,工程师中级,研究方向:软件工程。

猜你喜欢

设计模式面向对象
面向对象数据库教学方法的探讨
“1+1”作业设计模式的实践探索
新媒体下的广告设计教学改革与创新方法研究
智慧图书馆环境下的融贯式服务设计模式研究
信息化教学模式构建研究
面向对象的计算机导论课程教学
基于Web的科研项目管理系统的设计与实现
应力波反射法测锚索长度的数据处理软件设计与实现
高职计算机专业的一次信息化教学单元设计
从面向过程到面向对象思维方式的教学引导