APP下载

通用化多功能微飞轮测试系统的设计与实现

2023-10-10钟泽宇吴秋轩周华俊

测控技术 2023年9期
关键词:单板飞轮力矩

钟泽宇, 吴 可, 吴秋轩*, 周华俊, 尤 磊, 吴 珍

(1.杭州电子科技大学 自动化学院,浙江 杭州 310018; 2.河南科技学院 机电学院,河南 新乡 453003;3.上海航天控制技术研究所,上海 201108)

微飞轮在卫星姿态控制系统中作为力矩执行机构,通过变速旋转提供反作用力矩实现动量交换和储存,从而完成能量储存或姿态控制任务,具有控制精度高、燃料消耗少、使用灵活性大等特点[1]。对于采用微飞轮作为姿态控制系统执行机构的卫星,若微飞轮发生故障,即使该卫星其他部件工作正常,但由于姿控系统的失效,卫星也无法正常地完成其设计任务,变为“太空垃圾”。因此微飞轮姿控系统的寿命是卫星运行寿命的重要组成因素,故对微飞轮进行严格测试是非常有必要的[2]。

在国内,自动化测试发展相对较晚,当前我国的微飞轮自动测试系统依然处于起步阶段[3],具有下述一些不足:目前一套系统仅满足一种测试功能和一种型号产品的测试需求,测试设备冗余度较高;大部分测试过程操作较为烦琐、测试周期较长、测试准确度依赖于人员测试水平[4],软硬件模块化程度还不够高,不方便后续维护拓展;在进行测试时必须有工作人员在现场监视测试数据和测试流程[5]。针对上述不足,本文主要解决测试系统通用化、多功能化的问题,并从智能化、模块化和网络化方面对自动测试系统进行研究。研究的重点与难点包括两个部分:信号调理电路的设计和上位机控制软件的设计。

为验证该自动测试系统是否满足测试需求,分别从系统的稳定性、精确性、测试效率方面进行测试验证。由实验结果可知,该自动测试系统运行稳定且测试精度和效率均能满足需求。

1 微飞轮测试系统需求分析与功能提炼

该任务是为了实现多种型号反作用微飞轮的配电和电性能测试,用于后续多型号反作用微飞轮组件的试验和筛选任务,并同时兼容成熟型谱产品的批产单板试验、筛选任务和批产整机筛选任务[6]。设计的微飞轮测试系统需要提高微飞轮在试验过程中测试的效率,实现自动测试,降低实验人员在测试过程中的参与度,进而提高测试过程的可靠性和测试数据的真实性。对微飞轮测试系统的设计要求如下。

(1) 微飞轮测试系统,用于微飞轮单板和微飞轮整机的功能测试、验收级测试和老炼测试。如图1所示,每个单项测试可作为微飞轮的功能测试,一键测试(多个单项测试组合)则可作为微飞轮验收级测试,针对微飞轮单板还需有老炼测试模式。

图1 通用化多功能微飞轮测试系统功能目标

(2) 微飞轮整机测试功能要求测试台能够同时对6台微飞轮进行测试,通过测量功能键,能够对飞轮整机进行恒速模式测试、力矩模式测试和电流模式测试。

(3) 微飞轮单板测试功能要求测试台能够一次测试6台微飞轮控制板,通过测量功能键,能够对微飞轮单板进行二次电源电压测试、驱动信号测试、电流通信口测试、转速转向信号测试、串口通信测试和热敏电阻测试。除此之外,测试台还需要具备老炼测试模式。由于单板测试功能的特殊性,硬件模块较多,故需要每个硬件模拥有独立的调试窗口以备后续调试。

(4) 要求测试系统兼容多种型号微飞轮,并且方便后期拓展新型号的微飞轮。

(5) 要求整个测试流程全程自动完成,测试结束后计算机可自动进行数据分析、数据库存档和报表生成。

(6) 需要保证微飞轮测试系统实验数据的可靠性和测试系统软件和硬件的安全性,保障设备能连续加电长期工作(不小于480 h)。能进行远程数据监控。

2 微飞轮测试系统设计

微飞轮自动测试系统的设计研发包括需求分析、理论分析、试验研究、硬件设计、软件设计、硬件设计实现、软件设计实现、软硬件联合功能测试、功能验证、恒久测试等流程[7]。恒久测试即长时间连续运行测试,是很重要的一环,一方面验证硬件的稳定性,另一方面验证软件的稳定性[8]。在恒久测试基础上要进行数据分析和改进实验。对系统做出改进之后再进行恒久测试,以形成有正反馈的闭环测试流程。

微飞轮自动测试系统结构框图如图2所示。微飞轮自动测试系统硬件系统和软件系统都采用了分层化、模块化设计,其中硬件系统分为模块集成、电源系统、信号复用集成和主控计算机四部分,软件系统分为人机交互、业务逻辑层、数据处理层和硬件交互层4层。

图2 微飞轮测试系统结构框图

测试系统面向的微飞轮测试主要是微飞轮整机和微飞轮单板2类,并且2种测试在测试过程和数据分析两方面都存在一定差异,所以将整个微飞轮测试系统也分为2个功能来满足对应的测试需求,功能的划分在软件设计方面体现得更明显。如此划分测试系统面向通用化、多功能化,能降低系统的复杂程度,提高设备使用率。

2.1 微飞轮测试系统硬件设计

硬件系统的设计主要分为4部分:模块集成、信号复用集成、电源系统集成和主控计算机。整体硬件结构框图如图3所示,其中箭头方向代表模拟信号和数字信号的流向。

模块集成部分是自研发的或者集成其他精密器件的集成电路模块。信号复用集成部分是针对要采集的信号所研发的集成电路板,其中的驱动信号和差分信号会被数据采集卡采集到主控计算机中,而转速采集模块由计算机直接交互获取。电源系统集成部分给系统各个电路板、硬件模块和产品提供电源,其中的可编程电源可以通过主控计算机来设置和读取电源的电压和电流值。主控计算机采用的是工业控制计算机,能在比较差的环境中稳定工作,内置数据采集卡和多种通信卡以满足和硬件的交互需求。

数据采集卡使用的是PCIE-1816H型号,主要用于控制继电器和采集模拟信号。采集卡能够测量的信号电压为15 V,但要接入采集卡的原始驱动信号和微飞轮电压信号高达28 V,并且要对输入信号进行有效隔离,故需要隔离放大电路将模拟信号进行隔离放大处理。信号输入处理电路图如图4所示。

R23与R24电阻对输入信号起分压作用,分别选用1 000 kΩ与51 kΩ,设3号引脚INA+输入电压为Vout,则其分压结果为

(1)

分压输出结果经过OPA2376运放构成的跟随器输出为Ain,其数值与Vout相等。运放供电电源GADD1

为经过稳压输出的5 V电压。电容C33为滤波电容。经过处理的信号Ain便可接入图5中AMC1301的输入端Ain。

图5 运放隔离电路图

信号输入到AMC1301芯片后,在芯片内部进行隔离处理,其输出结果经过单端供电的AD8605运放所构成的差分放大器输出,端口VOP1-VOUT即为最终隔离输出信号。

内部电源电压界为稳压器所输出的电压5 V,故系统可将±5 V的采样输入信号隔离输出为0~5 V直流电压,输入与输出呈线性关系(其中8.2为AMC1301隔离放大器标称增益):

(2)

故:

VOP1-VOUT=0.397 9Vin+2.5

(3)

在采集卡采集到数据之后,再根据式(3)进行逆向处理即可得到原始波形数据。

测试系统可以满足微飞轮整机和微飞轮单板2种测试需求。微飞轮整机测试功能面向的是微飞轮完整的产品,主要测试产品的动态性能,其测试项目主要靠软件控制微飞轮实现。微飞轮的转速、电压和电流等本体原始数据都是计算机与微飞轮产品直接交互所获取的,而微飞轮的供电电压和电流通过高精度的电压电流传感器模块,然后由数据采集卡采集。微飞轮整机测试所需要的硬件模块有PCIE-1816H采集模块、电压电流传感器模块和继电器模块。由于微飞轮整机测试交互的硬件模块较少,故使用了6套硬件模块以满足6路整机并行测试。

微飞轮单板测试功能面向的是微飞轮单板产品,需要模拟直流无刷电机运行时产生的转速、霍尔信号、电机轴承温度和电机电流,还需要采集控制板输出的转速和转向信号(差分信号),所以单板测试功能需要的硬件比较多,对信号的产生和采集要求都比较高,故所需要的硬件模块设计相对复杂。硬件采用“一拖六”的设计,实现了一次测试6个微飞轮单板产品。具体是在对微飞轮单板产生输入信号的模块(线性HALL发生模块、HALL位置发生模块等)和采集微飞轮单板输出信号的模块(信号复用集成部分中的模块)中使用了信号调理电路。电路板共包含6路通道,在某一路产品进行测试时控制该路的继电器对产品进行上电操作,并通过I/O信号控制模块接通该路对控制板所有的输入、输出电路,实现电源部分的转换、采样通道的选择,完成其他电路之间的连接。实现对6路微飞轮单板产品的串行测试。

微飞轮单板和微飞轮整机通过统一硬件接口的公共信号分配板与对应测试需要的硬件模块连接,测试时计算机程序会调用不同的硬件模块,使用一套硬件设备就可以满足单板测试和整机测试2个测试功能。

2.2 微飞轮测试系统软件设计

硬件是整个测试系统的支撑,计算机是整个系统的控制核心。随着总线技术以及集成技术的发展,硬件逐步实现标准化,自动测试系统硬件平台的搭建过程不再烦琐,在将硬件接口根据功能抽象、提炼、集成之后,硬件测试功能的实现也更多地依赖软件平台实现[9]。常见的桌面端软件开发平台有Qt、MFC和WPF[10]。越来越多产品开发运用Qt并且不断丰富Qt的接口函数,这就使得Qt具有移植性强、易用性高及运行速度快的优点。Qt特有的信号与槽的机制在UI交互设计、通信开发、子线程调用和线程间通信上都发挥着独特的优势[11-12]。Qt对串口、多线程、对话框、计时器功能封装得十分完善,除此之外,Qt支持的第三方QCustomPlot库用来绘制高质量的曲线图时非常方便[13]。故本测试系统软件使用Qt进行开发。

微飞轮测试系统软件结构分层图如图6所示,将软件系统分成了4层——人机交互层、业务逻辑层、数据处理层和设备交互层,后文将围绕这四大分层的设计进行分析。

2.2.1 软件设备交互层设计

设备交互层位于软件结构分层的最底层,是直接与硬件交互的部分,其设计重难点有两方面:一方面是结合硬件对通用化多功能进行实现;另一方面是对各个硬件的交互功能进行封装。

微飞轮分为多种型号,不同型号的微飞轮有不同的通信种类、通信协议和物理参数,使得目前测试系统通用化存在一定障碍;此外,同型号的微飞轮需要进行微飞轮单板(控制电路板)测试和微飞轮整机测试,这也要求测试系统在多功能方向上进行扩展。

为解决微飞轮产品的型号兼容和功能拓展问题,设计微飞轮产品UML类关系图如图7所示。微飞轮基类封装着单板和整机共有的数据(实验ID、测试场地、测试人员、供电电压电流等)和方法(微飞轮产品的通信建立、遥测数据的查询和解析等)。微飞轮单板基类和微飞轮整机基类共同继承着微飞轮基类,分别表示微飞轮单板和微飞轮整机,在两者公有的数据和方法中分别添加了面向单板测试和面向整机测试所特有的方法和数据,从而实现功能的拓展。微飞轮单板具体型号的子类继承了微飞轮单板基类,子类会重写基类中例如遥测数据解析等与产品型号相关的虚函数,通过函数的晚绑定来根据产品所选型号调用相应的接口函数,以兼容不同型号的产品所带来的变化。微飞轮整机也以同理的设计达到对各个型号产品的兼容。

图7 微飞轮产品UML类关系图

设备交互层中,只有微飞轮模块类设计相对复杂,对于其他硬件只需做好通信和硬件功能的封装,没有复杂的继承关系。面对不同的测试功能,只需调用不同的硬件模块和功能函数。

数据采集卡是基于官方提供的底层库函数进行开发封装的,主要功能有模拟量输入(Analog Input,AI)和数字信号输出(Digital Output,DO),DO用于控制继电器给微飞轮产品通断电。在微飞轮单板测试中,需要采集上下桥臂驱动信号波形,数据采集卡的AI使用的是Buffered AI模式,每个通道每次采集6 000多个波形原始数据点,数据点用于分析波形和绘制静态曲线;在微飞轮整机测试中,数据采集卡AI使用的是Instant AI模式,程序以250 ms为周期调用采集卡接口对6个通道的电压、电流数据进行采样,用于绘制动态曲线,作为测试过程中整机动态性能参考曲线之一。在不同的测试模式下,需要对数据采集卡进行不同的初始化配置,且数据采集卡在处理数据的时候计算量较大,对应功能函数输入CPU密集型,需放入子线程运行。在对各个硬件的交互功能函数封装过程中,有2类函数接口需要放入子线程运行:一类是I/O密集型,在工作时一直在与计算机进行数据传输并跨层交互数据;另一类是CPU密集型,对数据进行初步处理时运算量比较大。为保证软件的工作效率,这2类功能函数需要放入子线程运行,以避免阻塞主线程。

电压源、电流源、电压采集板、频率计等硬件使用的是Modbus协议,Modbus已经成为工业领域通信协议的业界标准(De facto),并且是工业电子设备之间常用的连接方式。软件中将Modbus协议单独封装成了一个类,需要应用Modbus协议的硬件类中组合使用了Modbus协议类,直接调用该类的接口函数即可进行通信,提高代码复用性。这类硬件在工作时一直保持与计算机交互,并保持将数据从设备交互层发送给数据处理层,通信功能函数属于I/O密集型,需放入子线程运行。

I/O单片机、Hall单片机、定值电阻单片机根据开发需求自定义功能协议,信号发生器使用的是厂家规定的协议,协议封装正确即可与硬件交互。这类硬件只在测试流程中特定时间被调用,数据交互较为简单,故主线程直接调用。

2.2.2 软件人机交互层设计

人机交互在软件分层的最上层,是用户能够对整个测试系统控制的保证。要求交互页面简洁智能且功能齐全,尽量减少用户烦琐的操作,这也要求交互页面面向用户需求进行设计。

人机交互页面根据用户需求和功能分析分为信息录入、数据显示、流程控制、参数配置四大部分。

信息录入用于输入实验、产品和用户信息。若输入信息不完整就开始测试,软件会提醒信息填写错误,以避免报表信息不完整,保证数据的完整性。

数据显示用于显示实时电压、电流、转速等微飞轮数据,显示和设备交互的信息和错误信息;绘制驱动信号、电流、转速等曲线,曲线可以缩放调整以便观察;数据实时更新,保证了数据的真实性和准确性。

流程控制用于选择测试项目和测试流程控制,只需要选择所需测试项目后单击开始测试,即可自动测试并完成报表,根据需求极大地简化了用户的操作步骤。

配置文件使用JSON文件进行存储。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,使用键值对存储数据,易于阅读和编写,可以在多种语言之间进行数据交换。同时也易于机器解析和生成[14-15]。Qt也对JSON文件有比较完整的封装,对JSON格式数据的操作比较方便,故使用JSON作为配置文件格式是不二选择。参数配置用于配置微飞轮参数、串口信息和报表文件地址等。

2.2.3 软件业务逻辑层设计

业务逻辑是软件系统架构的核心,位于软件分层图的中间部分,贯穿整个测试系统。对产品的控制、操作和测试基本都是靠该层内容实现,控制测试硬件设备交互的各种逻辑也都在该层实现。在业务逻辑设计时,由于测试的对象不同,测试需求不同,对应的测试流程的封装也有很大不同。

(1) 微飞轮整机测试功能测试流程设计。

微飞轮整机测试功能有2种测试模式:单机测试模式和一键测试模式。

单机测试模式是为了测试产品的某一动态性能,包含速度模式、力矩模式、电流模式和速度跟踪模式。速度模式下,用户给产品发送单一转速指令后,产品会以该设置速度恒速运行;力矩模式下,产品会以恒定力矩运行;电流模式和力矩模式类似,不过发送的是电流力矩指令,产品以恒定的设置力矩运行。

一键测试模式包括速度模式、力矩模式和电流模式。该模式将根据用户的选择对6路产品并行测试,最后生成数据分析报表,可以作为鉴定级别的测试分析。一键测试模式下的速度模式,计算机会发送可设定的速度指令序列,使微飞轮的速度从0 r/min升到6 000 r/min,再由6 000 r/min直接降到-6 000 r/min,最后速度会回到0 r/min。每一个速度会持续10 s恒速运行。在一个速度阶跃的升速(减速)过程中,计算机会进行预测控制以提高测试效率,即预测电机升速时间,到时间迅速判定电机是否达到设定速度,达到条件立刻开始5 s计时。整个过程微飞轮遥测数据都会存入数据库。一键测试模式下的力矩模式和电流模式过程与速度模式类似,对微飞轮发送力矩序列和电流序列,微飞轮以恒定力矩或者电流力矩运行,计算机预测微飞轮升速时间,并及时检测其速度是否达到某特定值,然后开始5 s秒计时。

微飞轮整机测试功能每个通道的测试分别放置在独立的子线程中,所以最多可以6路产品同时进行一键测试。单路整机测试流程图如图8所示,在测试过程中(无论单项测试还是一键测试),程序会启动计时器来调用界面刷新函数和硬件信息读取函数,刷新界面信息并全程监控产品电压信息,若有异常立即切断电源并报错。一键测试开始之后进行的三项测试在程序中也都是由计时器驱动状态变化,所以用户中断或者异常中断关闭测试时,程序只需要对计时器进行处理并释放系统资源即可。

图8 微飞轮整机测试流程图

(2) 微飞轮单板测试功能测试流程设计。

飞轮单板测试功能有3种测试模式面向用户的3种需求:单项测试、一键测试和老炼测试。微飞轮单板测试系统软件单项测试的部分流程相对复杂,为了提高代码的复用性,3种测试模式封装后有如图6业务逻辑层中微飞轮单板测试功能封装所示的依附关系。

单项测试模式即每一种独立的测试项目,是为了单独测试产品的某一项功能,包括二次电源电压测试、电机驱动信号测试、电机电流通信口测试、微飞轮转速转向信号测试、通信测试和热敏电阻测试。

一键测试模式是对产品进行的一个完整测试,该模式将根据用户的选择串行调用6项单项测试封装好的函数进行测试,最后生成数据分析报表,可以作为鉴定级别的测试分析。

老炼测试是基于一键测试进行开发的,测试流程调用了一键测试所封装好的函数。老炼测试的目的是提高产品稳定性、可靠性,同时剔除测试期间的不合格产品,即在特定温度环境下使单板上电并保持一段时间,并在设定时长结束后对6路产品进行一键测试,这个过程将循环进行。循环开始时间、循环间隔时间和循环次数都可以自定义。

微飞轮单板测试流程图如图9所示,当测试系统对产品测试完成之后,会将当前产品断电,然后给下个待测产品上电并进行测试。微飞轮单板测试功能一次可以测试最多6套产品。在每种测试模式中,都添加了中断标志位,方便用户及时中断一键测试,并且保证在中断测试后,系统能对硬件进行一些复位操作和对系统资源进行回收。在测试的过程中,程序利用计时器刷新界面、监控产品电压信息,若有异常立即切断电源并报错。

(3) 其他功能封装。

除了测试流程功能函数的封装,业务逻辑层还有很多其他功能,如图7软件分层图所示,这些功能贯穿在整个测试流程中,也保证了测试系统功能的完整性。

2.2.4 软件数据处理层设计

数据处理层包含对硬件交互的原始数据处理、数据的存取和数据报表。

(1) 原始数据处理。

计算机通过调用设备交互层封装好的函数调用,将硬件的数据读取至内存,进行初步处理后存入数据库或者发送给用户交互层用于数据显示。

微飞轮单板驱动信号的采集使用的是PCIE-1816H数据采集卡模拟量输入缓冲读取模式(Buffered AI),采样率高达5 MHz,该模式下能精确读取较高频率的信号,满足设备采集要求。采集卡配置在多通道采集的情况下,每一次缓冲读取,采集卡会同时读取所有通道的原始数据,故在程序中首先需要将各个通道的信号数据分离出来,然后根据需求计算出信号的高低电压差和频率。计算信号频率使用的是快速傅里叶变换算法,计算的频率精度能达到1 Hz。

电机的电压、电流和速度等基本参数,通过维持一个数据队列来求平均值,以监控阈值。在微飞轮整机软件中,实时的速度值还用来计算实时力矩、角动量、常值偏差和最大动态偏差,这些都是微飞轮整机产品测试需要考核的参数指标。

(2) 数据的存取。

数据的存取包含了对数据库的操作,软件数据库使用的是SQLite。SQLite是一个小型的C语言库,它实现了一个自包含的、可嵌入的、零配置的SQL数据库引擎。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中得到了应用,它占用的资源非常少,并且Qt对MySQL提供原生支持类QSqlDatabase、QSqlError和QSqlQuery,故数据库选择使用SQLite进行开发。但是使用SQLite在插入数据时如果使用默认插入方法而不进行优化,存储效率可能达不到要求。SQLite数据库本质上是磁盘上的一个文件,故每一次对数据库的操作都会转化为对文件的操作,而频繁地对文件进行操作是非常耗时的。SQLite是支持事务操作的,SQL的事务(Transaction)是作为单个逻辑单元执行的一系列操作[16]。多个操作作为一个整体向系统提交,或者都执行,或者都不执行。但其默认将单条插入语句作为事务进行操作,这种情况下有多少条数据就会产生多少次磁盘操作,效率相对较低[17]。为了优化数据库插入效率,SQLite可以使用事务,先储存多条插入语句,然后完成一次事务操作。这样节省了多余的事务操作的时间,即减少了大量不必要的磁盘操作。数据库插入效率的优化如图10所示。经测试,优化之前插入10 000条数据,需要大概1 min,使用事务进行优化,每1 000条数据进行一次事务的提交。优化之后,使用同一台计算机,插入10 000条数据,只需要大概1 s。在微飞轮整机测试功能中,6路产品最快需要每0.1 s插入一条采样数据。测试软件需要处理大量的数据,所以对数据的插入操作不能占用太多CPU资源。故对数据库的插入操作优化是非常有必要的。

图10 数据库插入效率的优化

数据在测试时会实时存入数据库中,每次一键测试都会导出报表。一键测试启动时,程序会给每一个产品的每一次测试生成一个独有的实验ID(实验ID=通道编号+启动测试时的时间)。因为有启动测试的时间点作为实验ID的组成部分,所以每次一键测试的实验ID必然是不同的,这是区分实验ID的关键。一键测试的自动报表和后期的手动查询报表都是依靠数据库存储的实验ID来查询某个产品在某次实验中完整的测试数据。

(3) 数据报表。

数据报表主要分为两部分:一是分析数据;二是导出报表。

微飞轮整机测试面向的是微飞轮运行时的参数,故数据库中存储的这些原始数据代表着微飞轮的动态性能。整机测试的数据分析即从这些数据中分析出需要考核的最大反作用力矩、最大角动量、常值偏差、最大功耗和最大动态偏差等参数指标。微飞轮单板测试需要模拟直流无刷电机运行时产生的转速和霍尔信号,需要考核的数据基本上都是通过与计算机交互的硬件测得,数据库存储的原始数据是多组能直接反映结果的数据,所以单板测试在分析数据时基本都是直接求均值对比考核参数。

Word文档即为产品最终测试结果表,Excel文档是原始数据导出所得,报表的过程均在子线程中进行。微飞轮单板测试时,Word报表采用Word模板的方法进行[18]。在软件目录下有名为“report.dot”的Word模板,软件在报表时会读取该模板文件,然后将分析好的数据和结果直接填入Word模板对应的标签中,导出后缀名为.docx的报表文件。使用Word模板报表有2个显著优点:① 相比于用软件绘制Word表格,使用Word模板报表速度会快很多;② 方便修改Word表格样式。但是缺点也是显而易见的:在插入数据量比较大的情况下,需要提前在模板中手动插入大量的书签,比较麻烦。微飞轮整机测试报表数据量大,而微飞轮单板测试报表数据量小,并且在循环测试时需要更短的报表时间,所以在微飞轮整机测试软件中,使用软件绘制Word报表,而在微飞轮单板测试软件中,使用Word模板进行报表。上述2种报表方式流程图如图11所示。

图11 报表流程

2.2.5 测试系统网络通信架构

要实现远程监控和报警,需要搭建一个云服务器来实现,网络通信示意图如图12所示。图中的本地端即在测试的计算机,远程端即手机端APP或者远程的电脑软件。整个通信模型使用的是C/S模型。其中云服务器是服务端(Server),远程端和本地端都是客户端(Client)。在建立连接时,客户端发送申请识别指令来告诉服务端自己是远程端还是本地端,这样才能保证通信的正确性。每一个本地的设备都独有一个ID,远程端通过该ID识别并监控本地端的设备。搭建的服务器是简单的并发服务器,可以多个远程端监控一个本地端,也可多个远程端监控多个本地端,满足并发需求。

图12 网络通信示意图

3 测试性能与分析

为验证该自动测试系统是否满足测试需求,分别从系统的精确性、测试效率、稳定性方面进行测试实验。

3.1 测试分析

前文论述的微飞轮的各项测试主要在一键测试中进行,下面论述其中一些关键数据指标的分析过程和计算方法。

3.1.1 微飞轮整机测试分析

(4)

微飞轮最大常值偏差为

(5)

式中:nr为指令转速。

微飞轮最大动态偏差为

(6)

k点的角动量定义为

Lp=J·np

(7)

式中:J为微飞轮的转动惯量;np为近p个点取得转速均值。

无论是在恒速模式还是力矩模式中,都需要通过微飞轮的实时转速进行微飞轮实时力矩的计算。已知反作用力矩Tr(N·m)的计算公式为

(8)

假设k点的实测反作用力矩为Trk,近似为系统指令采样周期内的平均力矩为Trmk,则k点离散化的实测反作用力矩公式为

(9)

式中:Δnk=Δnk-Δnk-1,Δt=T,采样m点后,可以求得期望力矩值:

(10)

力矩模式下需要测试的微飞轮的关键数据指标是微飞轮以恒定力矩升速过程中微飞轮的平均力矩值。计算机以正负力矩值交替的序列顺序将力矩指令下发给微飞轮,将实时转速计算的力矩作为分析的指标。

电流模式和力矩模式类似,微飞轮发送电流力矩指令,将通过微飞轮的实时电流作为分析的指标。

3.1.2 微飞轮单板测试分析

微飞轮单板测试主要模拟产生电机转速信号源和电机位置信号源输入给微飞轮单板,然后采集单板输出的电机驱动信号、转速转向信号、采集电路板电源信息。下面简述各项测试实验的测量方法。

(1) 二次侧电压测试。

计算机控制可编程电压源给微飞轮单板供电(28 V电压源),通过电压采集模块采集二次测电压值。

(2) 驱动信号测试。

信号发生器模块生成相位开关为+120°、频率为375 Hz的电机位置信号输入给微飞轮单板,然后通过数据采集卡模块采集微飞轮单板驱动信号并计算相关指标。

(3) 电流通信口测试。

可编程电流源组成的电流源模块给微飞轮单板输入0.5 A、1 A和1.5 A这3组电流,然后与微飞轮交互数据读取微飞轮遥测电流值。

(4) 转速转向信号测试。

计算机给信号发生器模块下发指令,使其先后产生相位开关为正、负,频率为400 Hz转速信号源模拟电机产生的转速信号输入给微飞轮单板,微飞轮单板将输出单端转速信号和代表正转、反转的差分转向信号。转速信号通过采集箱中的频率计模块采集,转向信号通过数据采集模块采集。

(5) 串口通信测试。

计算机控制信号发生器模块,使其先后产生相位开关为正、负,频率为400 Hz的转速信号源输入给微飞轮单板,通过与微飞轮单板交互解读取正向和负向遥测转速值。

(6) 热敏电阻测试。

计算机给模拟电阻模块发送指令,设置5 kΩ、15 kΩ和20 kΩ这3组模拟电阻值,输入给微飞轮单板,然后通过与微飞轮单板的交互读取3组微飞轮单板电阻数据。

3.2 精度测试实验

抽取2种型号的微飞轮,记为型号1和型号2。用型号1微飞轮进行整机一键测试,型号2微飞轮单板进行微飞轮单板一键测试。

3.2.1 速度模式

速度模式实验的指标要求如表1所示。

表1 微飞轮整机测试关键指标内容和指标要求

转速动态偏差和转速常值偏差的实验结果如图13所示,纵坐标是对微飞轮发送的速度序列,横坐标是测得的2个转速偏差值,结果均在指标要求范围内。

最大反作用力矩TrMax测试结果为20.89 mN·m,最大角动量LpMax测试结果为301.123 mN·m·s,结果均能达到指标要求。

3.2.2 力矩模式

设Tr1为指令力矩,Tr2为微飞轮以Tr1为恒定力矩加速期间实测力矩的平均值,令ΔT=Tr1-Tr2。指标要求:当Tr1=±3 mN·m、±1 mN·m、±0.5 mN·m时,|ΔT|≤0.3 mN·m;当Tr1=±10 mN·m、±15 mN·m、±20 mN·m时,|ΔT|≤3 mN·m。

力矩模式实验结果如图14所示,横轴是计算机发送的指令力矩值,纵轴是所测得的微飞轮平均力矩值,结果均能达到指标要求。

图14 力矩模式实验结果

3.2.3 电流模式

设I1为指令电流,I2为微飞轮以恒定电流力矩加速时的采集电流。

电流I1=10 mA时,要求I2≤3 mA;I1为其他值时,要求I2≤6 mA。测试结果如图15所示。由实验结果可知,电流模式实验结果均能达到指标要求。

3.2.4 微飞轮单板测试实验

微飞轮单板的测试项目是根据给定输入信号测量输出信号的模型,故用一张表格来描述测试项目、测试指标和实测值。微飞轮单板实验结果和指标对比如表2所示。

表2 微飞轮单板实验结果和指标对比

3.3 效率测试实验

本文设计的通用化多功能微飞轮测试系统能对多种协议微飞轮进行测试,包含4种型号微飞轮,并用型号1、型号2、型号3和型号4代指这4种型号。用合格的实验产品对每种型号的微飞轮单板和微飞轮整机进行一键测试实验,对比验收标准核查测试结果,一次测试6个产品,记录测试结果。测试时间是6个产品全部测试完成的用时,其中微飞轮整机测试是并行测试,微飞轮单板是串行测试。如表3所示,实验效率和精度均能达到实验要求和验收标准。

表3 测试结果和测试时间统计

3.4 恒久测试实验

恒久测试保持测试系统超过20 d连续运行,监控并记录其运行状态和各项参数。实验结果为测试系统运行各项参数正常,系统运行稳定。

4 结束语

在对用户需求综合分析的基础上,设计了一套通用化多功能微飞轮测试系统。通过多功能和通用化的设计,解决一套系统仅满足一套设备的测试需求和测试功能的问题。通过对软硬件分层化、模块化设计,解决测试设备冗余度较高、后续维护拓展不方便的问题。通过智能化软件设计,解决测试过程操作烦琐、测试准确度依赖于人工测试水平的问题。通过网络化解决在进行测试时必须有工作人员在现场监视测试数据和测试流程的问题。经测试,本文设计的通用化多功能微飞轮测试系统功能完善,可兼容微飞轮单板测试、微飞轮整机测试和多种微飞轮型号测试,提高了多样化测试需求和测试效率,具有良好的实用性和稳定性。下一步将考虑使用分布化设计,降低工控机的性能开销,并使用嵌入式设计缩小设备体积和成本。

猜你喜欢

单板飞轮力矩
摄影作品
飞轮座注射模设计
单板U型场地滑雪关键技术动作及训练方法
轮峰推出两款飞轮新产品
发动机阻力矩计算和起动机介绍
单板层积材带来的内部生产模式
小型力矩电机波动力矩的测量
弹性负载力矩下舵偏转角度的测量方法
封面人物 单板滑雪凌空飞燕蔡雪桐
基于D-最优化理论的陀螺仪力矩反馈测试法