电机驱动器可重构测试系统研究

2021-09-27 01:40施恢胜同军超吴臻冕
数字制造科学 2021年3期
关键词:下位驱动器上位

程 鑫,施恢胜,同军超,吴臻冕

(1.武汉理工大学 机电工程学院,湖北 武汉 430070;2.湖北省磁悬浮工程技术研究中心,湖北 武汉 430070)

电机驱动器是电机系统的神经中枢,其可靠性决定电机系统的静态特性、动态特性、控制精度、抗干扰能力和鲁棒性等特征。电机驱动器一旦发生错误,会影响到整个电机系统的工作状态,甚至可能会导致电机系统整体瘫痪[1]。因此,要想评定电机驱动器的可靠性,就必须对电机驱动器进行测试。

早期的电机驱动器检测工作采用仪器仪表结合人工读取的方法。这种测试方法耗时长、错误率高、测试成本高、测试精度低、系统兼容性差和可扩展性差。同时人工测试会导致测试数据不能及时准确的存储,不利于后期维修升级对电机驱动器测试过程中的测试数据进行追溯,提高了研发成本,不适应快速精准的大批量现代测试要求。

随着自动测试技术[2]和可重构技术[3]的不断发展,电机驱动器的测试系统也逐渐脱离人工测试,更加依赖于自动化设备测试,减少了诸多不可避免的人为因素,提升了测试效率和精度。可重构技术从实现的方法划分,包括硬件可重构技术和软件可重构技术。硬件可重构一般是指基于可重构逻辑,通过改变数字逻辑电路的连线来实现不同的功能,主要包括DSP(digital signal processing)、FPGA(field programmable gate array)、CPLD(complex programmable logic device)和ISP(in_system programmability/programming)等逻辑器件,比较依赖处理器芯片的逻辑功能,同时开发成本高[4];软件可重构技术是以提高软件质量为目的,通过应用大量优化后的算法,调节软件结构,使软件代码发生变化,从而提升软件在不同环境下的自适应性,且整体的功能保持稳定,但是对于软件的架构有着较高的难度,开发比较困难[5-7]。

2014年,吴震海[8]针对大功率电机驱动器的测试需求,基于STM32微处理器设计出一套测试系统,能够识别IGBT(insulated gate bipolar transistor)驱动模块HP1/HP2及驱动器的元器件损坏和焊接错误等情况,有利于甄别用户不易识别的错误,提高了电机驱动器的研发效率。工业应用中,泛华科技研发的电路板综合测试系统,可对多种形状、大小、接口各异的电路板进行功能测试。整个测试平台在设计上兼顾硬件与软件两方面的优点。其中硬件设备资源在现有产品测试硬件需求的基础上,充分考虑针对未来产品测试的可扩展性;软件具备平台化定制特点和基于平台的简单二次开发特性。适用于多品种小批量的电子产品功能测试、可扩展为流程化出厂检测或者维修测试的平台化测试设备。

由于DSP和FPGA等硬件可重构测试方案成本高,软件可重构架构复杂的特点,因此,为了提高测试系统的通用性和可重构性,笔者针对电机驱动器测试系统进行研究,设计了一套基于STM32微处理器的可重构测试系统方案,将大量测试系统开发中需要重复开发的设计进行标准化设计,提高测试系统的开发效率,减少不必要的研发成本。

1 可重构测试系统的架构

1.1 总体架构

与传统的测控系统相比,可重构测控系统的最大优点就是能进行资源整合、结构配置和灵活变迁,从而提升了测控系统通用性、冗余性和自适应性[9]。可重构测控系统的总体架构如图1所示,包括上位机(人机交互界面和系统服务程序)、下位机和测试对象。

图1 可重构测控系统的主体架构

(1)功能模块库。硬件子模块共同构成的功能库,决定了系统的极限测试功能种类和数量,主要由硬件平台决定。

(2)方案决策库。开发人员会预设多种基本方案,通过基本方案的组合可以产生多种复杂的测试方案。

(3)可行性分析。对测试功能配置数据与功能模块库和方案决策库进行比对,判断系统的测试能力是否满足需求。

(4)模块调度。对硬件子模块进行调度,实现硬件部分的功能配置。

(5)系统重构。确定测试路线、硬件资源和响应机制,生成测试系统架构方案。

(6)性能评价。对架构方案进行仲裁,判断是否为使用资源少、测试效率高、测试流程简便的最优解。

(7)系统架构。确定最终架构,并且生成相应的协议代码。

用户在人机交互界面对测试功能配置后,系统服务程序将根据系统预制的功能模块库和方案决策库对测试功能配置进行可行性分析,选择对应的模块后生成模块调度方案,进行系统重构,然后对重构后的系统进行性能评价,若评价不高则再次选择其他方案进行系统重构,直到评价合格,生成系统架构方案。系统服务程序完成系统架构方案的生成后将转化成下位机主控芯片能够识别的指令,并且完成下发指令。下位机主控芯片对收到的指令进行解码,进而通过配置硬件模块电路完成底层硬件方案的重构工作。

1.2 测试系统通信响应机制

系统服务程序完成系统架构任务后,需要把工作指令通过通信总线下发到下位机,以实现系统架构硬件模块更新的工作。

可重构测控系统是一种典型的主从式通信系统,通过总线通信方式实现系统模块控制和数据交换。如图2所示,主机是系统的上位机,包括人机交互、系统服务程序和通信总线接口;从机是下位机,包括通信总线接口、微处理器和硬件模块电路。对于主从式通信系统,主机是处于支配地位的,是整个系统的控制核心,只能拥有一个主机,这与可重构测控系统中主控计算机的定位是重合的,主机向从机发出指令,从机接收到指令后,完成相应的动作。而从机是系统中的分节点,处于被支配的地位,在一个系统中可以具有多个从机节点,从机只能被动接收主机的指令消息,从机与从机之间不能进行通信。主机与从机之间通过总线形式完成数据传输。

图2 系统通信节点模型

主从式系统的响应机制有两种:单指令响应机制和从机自主响应机制。在单指令响应机制中,主机处于完全主导和支配的地位,从机处于被支配的地位,采用中断方式响应主机发起的请求,执行主机发送的请求指令。单指令响应机制流程如图3所示,在一次工作过程中,下位机在未接受到上位机的请求响应时一直处于初始化状态,当上位机向下位机发起请求响应,下位机则反馈接受响应,和上位机保持一致的工作状态。接着上位机发送工作指令,其中下位机每执行完一个工作指令就会给上位机反馈完成状态,实现“命令——执行——命令——执行”的通信逻辑。上位机依次发送工作指令,直到最后一个工作指令发出,下位机完成所有的工作任务后反馈状态,等待上位机的结束响应指令,下位机则恢复到初始化状态,一个工作流程完成。

图3 单指令响应机制流程

从机自主响应机制如图4所示,上位机将系统服务程序重构后的系统架构进行分组打包,再以上、下位机预先设定的协议标准生成新的架构协议,通过通信总线传送到下位机。下位机通过对架构协议进行解码分组,生成自身可以运行的硬件测试程序。在一次工作过程中,上位机不需要再发送请求响应和工作指令等,下位机会自主执行测试任务,并且实时反馈工作状态和测试数据,直到测试任务完成,下位机则恢复初始化状态,等待下一次工作开始。

图4 从机自主响应机制流程

单指令响应机制具有高自由度和逻辑简单的优点,但是会一直占用总线资源,同时测试精度也会因总线带宽而受到影响;从机自主响应机制能够减少总线资源占据时间,测试精度也只受微处理器和模块化电路的固有特性影响,但受下位机服务程序影响,测试程序的自由度和逻辑会受到限制。因此,两种响应机制可以在不用的场景下使用,以实现可重构测控系统利用率的最大化。

1.3 测试系统通信协议设计

用户完成功能配置工作后,上位机的系统服务程序生成配置文件需要传输到下位机微处理器,因此需要制定一种完善的通信协议,以防止信息交互过程中出现异常。串口通信能够按位发送和接收抄字节的通信方式,可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,通信协议有着很好的自定义性。帧协议组成如图5所示,包括帧起始、数据帧、校验位和帧结束,其中数据帧的类型分为两种:测试流程配置协议和测试工作服务协议。

图5 通信协议帧组成结构

1.3.1 测试流程配置协议

由于系统上电后,下位机处理器处于一个初始化状态,无法直接进行工作进程,将会一直等待上位机的测试流程配置协议,完成系统测试流程配置工作。测试流程配置协议包括了测试循环模式(单次或多次)、系统响应机制(单指令响应或从机自主响应)和测试项目及标准(模块选择和仲裁标准确定)。因此,下位机接受测试流程配置协议后便可执行对应的任务,实现硬件平台的初始化配置工作,等待测试进行。

1.3.2 测试工作服务协议

测试进行中,下位机会不断采集信号并且由微处理器分析,生成一系列的数字信号,且通过串口通信发送给上位机,供上位机进行信息处理以及人机交互。测试工作服务协议定义了测试ID、信号电气特性、测试状态和测试结果等,能够实时精准地描述测试过程,实现测试进程的数字化,方便系统的数据分析。

2 可重构测试系统硬件平台

2.1 硬件平台实现方案

目前所用的电机驱动器是通过发送控制电机的命令,同时接受反馈信号确定电机的运行状态,形成闭环控制,根据测试需求,结合实际的可能性,将整个硬件系统分为3个部分进行设计,总体框架如图6所示。

图6 硬件平台整体框架

(1)主控板。主控板控制整个测试的流程,发送测试信号,接受并处理IO板反馈的测试信号值,同时完成与上位机的信息交互工作。

(2)电源板。电源板将市电输入电压转换成测试系统需要使用的电压。包括电源转换模块和继电器开关模块,能够控制电源输出种类和模式。

(3)IO板。IO板实现底层测试内容,完成信号调理并传输到主控芯片处理。包含着PWM(pulse width modulation)输入输出电路、双向IO隔离电路、AD采集电路、DAC(digital to analog converter)输出电路、BSD(bit serial data)通信电路和LIN(local interconned network)通信电路等。IO板规格一致,接口标准一致,可按需增删信号调理模块。

通过IO板与模块电路的排列组合,就可以拼接底层硬件测试平台,为测试系统提供硬件基础。其次,下位机加入软件编程控制的测试流程以及测试方式,软件设计采用STM32封装库组合,代码的编写和和维护效率比较高,可读性强,易于阅读和修改。

2.2 电机驱动器测试流程设计

由于许多电机驱动器装配成产品后,便不容易拆卸下来,给后期的电机驱动器故障定位增加了难度,如汽车电子水泵,其成品的电机驱动器被密封胶包裹,不利于电机驱动器拆卸分析。因此电机驱动器测试的目的不仅仅是要筛选出不合格件,还需要使产品参数可以进行追溯,有利于产品后期的故障定位。

电机驱动器性能测试流程如图7所示,下位机配置测试方案后便调用对应的测试模块,待被测电机驱动器装夹到位,用户可通过开关按钮(如脚踏开关、双手按键开关和上位机软件开关均可,可按实际需求设计)开始测试,当下位机系统检测到测试开始的信号后,系统扫码电机驱动器PCB(printed circuit board)的ID号,进行身份识别后展开相应的测试进程,最后将测试的数据统一发送给上位机处理,完成一次测试。

图7 电机驱动器的测试流程

2.3 系统自检

电机驱动器测试系统的可靠性决定着电机驱动器的测试数据是否精确、测试速度是否高效、测试结果是否准确,测试系统的自检功能则可以监视自身设备状态以及自身故障定位。根据测试系统结构特征,设计一款设备自检器来完成自检工作。因为测试系统本身就有激励信号输出和信号采集的功能,设备自检器可以把激励信号接入到信号采集接口中,让测试系统处于一个闭环状态。主控芯片根据输出的信号特征,并分析采集回来的信号特征,与预期值进行比对,根据比对结果分析出测试系统的可靠性,完成自检工作。

3 实验与验证

LabVIEW与传统的计算机语言不同,程序在运行过程中采用自动多线程机制,即如果两个模块之间没有数据交互,可以同时运行,则系统会将这两个模块分配到不同的线程执行,采用自动多线程的方法,软件的执行速度得到大幅提高,节省了程序的运行时间[10-11]。目前多数基于 LabVIEW的软件执行过程中是由数据流驱动的,其定义为一个函数或模块只有当它所有的输入都获得数据且满足条件时,这个函数或模块才能执行,即在LabVIEW中,程序的运行受计算机性能等条件的影响较小。

笔者以STM32为主控芯片,附加外围电路设计主控板,功能板主要以信号调理电路为主建立下位机系统,上位机以LabVIEW生成软件平台,最终形成一个完整的测试系统,再以电机驱动器为研究对象,进行多组合格测试实验。上位机主界面如图8所示,整个系统包括软件配置、软件状态、测试结果、故障类型以及数据存储等功能,用户进行相应的配置后即可进行测试工作。

图8 上位机主界面

3.1 测试系统自检功能测试

测试系统的自检功能通过“系统自检”按键触发。系统自检正常时“硬件现况”的“正常”指示灯为显示状态,而“故障”指示灯则是熄灭状态;若系统的硬件部分出现问题时,系统自检报错界面如图9所示。“当前状态”为“系统自检完成”,“故障”指示灯为显示状态,同时“测试结果说明”会将故障类型显示出来,图9显示为“AD模块通道2无反馈”,用户即可优先排除对应错误并改正,以保证测试系统的可靠性。

图9 系统自检报错界面

3.2 电机驱动器的合格性测试

测试系统自检无问题即可进行电机驱动器测试,根据电机驱动器的型号选择“测试项目”、“测试标准”和“测试流程”,生成测试方案,即可完成电机驱动器的测试准备工作。测试不合格主界面如图10所示,系统能够将测试结果和原因显示出来,以便测试人员记录和分析。

图10 测试不合格主界面

3.3 测试数据统计界面

对于电机类产品的生产企业来说,电机驱动器的测试工作往往是批量进行的,对于测试设备的要求不仅仅要测试效率高,更需要对测试数据进行分析和处理。本测试系统预装“转速统计”(图11)、“故障统计”(图12)、“测试报表”(图13)和“ID查询”(图14)功能,以方便用户及时获取测试数据,用户也可以根据自身需求,增加或者改动软件功能,提高测试系统的可拓展性。

图11 转速统计折线图

图12 故障类型分布图

图13 测试数据报表

图14 ID数据查询界面

“转速统计”将测试合格的电机驱动器在带载模式下的转速信息进行整合,根据转速的波动情况,能够反映出控制算法的优缺性;“故障统计”则将不合格的电机驱动器进行分类,能够直观发现问题所在,方便研发人员分析;“测试报表”则统计每一个电机驱动器在测试过程中的重要参数,形成一个报表后发送给企业数据库,用户再通过“ID查询”找到被测电机驱动器的详细数据,在售后过程中能够对出厂参数的分析,从而提高故障定位的效率。

4 结论

通过对传统测控系统的优化,以主从式通信和模块化硬件平台的方式,基于STM32微处理器和LabVIEW,对不同型号电机驱动器进行测试实验。系统能够迅速转变测试流程和测试标准,生成对应的测试方案,得到正确的测试结果,验证了可重构测控系统的可行性。该测试系统的研制能满足多种电机驱动器测试需求,对加快测试的效率以及减少测试所耗费的人力有重要意义。

猜你喜欢
下位驱动器上位
气动网络多腔室弯曲软体驱动器结构优化
基于UDS协议的CAN BootLoader的开发与验证
藏起驱动器号确保数据安全
发射机房监控系统之下位机
特斯拉 风云之老阿姨上位
空间大载荷石蜡驱动器研制
基于ZigBee和VC上位机的教室智能监测管理系统
围观党“下位”,吐槽帝“登基”
CAN总线并发通信时下位机应用软件设计
基于VC的PLC数据采集管理系统