作为汽车转向系的关键部件,汽车转向器性能的好坏直接影响到整个汽车的安全性。助力特性曲线是检测转向器控制阀总成的必检项目之一,并被用来评测控制阀性能的好坏。国内传统的测试手段是测试人员在转向器的输入轴上模拟方向盘操作,通过施加连贯的旋转运动来获取助力特性曲线进而判断转向器性能的好坏。操作人员劳动强度大、效率低,且同一个工件由不同的工人操作所得到的数据有差异,即数据稳定性较差。
本文通过使用通用数据采集卡和运动控制卡,结合伺服电机和压力、扭矩等传感器,基于LabVIEW软件环境搭建了转向器助力特性自动测试系统,以伺服电机取代人工操作,使获得的特性曲线数据更加客观、准确。
1 系统的搭建
参考汽车转向器总成台架试验方法,本测试系统主要实现转向器输入扭矩与系统油压的特性曲线的测试与采集任务。根据实现功能的要求,系统硬件的组成如图1所示:
图1 测试系统的硬件组成
1.1 硬件结构
1.1.1 运动控制硬件组成
该结构主要由伺服电机和运动控制卡组成。伺服电机采用日本松下中惯量的MDMA302A1G交流伺服电机以及其配带的驱动器;运动控制卡采用乐创公司生产的MPC2810,主接口为PCI。MPC2810配备了功能强大、内容丰富的Windows驱动程序、DLL函数库,通过LabVIEW的CallLibraryFunction功能模板调用DLL函数库,可以生成具有相同功能的LabVIEW接口。板卡提供2种运动模式:批处理运动和立即运动。本系统采用立即运动模式,脉冲输出频率最大为2´106Hz,最小频率为0.2Hz,脉冲计数器范围为32位符号数,所有输入/输出数字量均采用光电隔离,确保板卡的抗干扰性,并采用单轴数字式伺服控制。
1.1.2 数据采集硬件组成
将基于PCI总线的PCI8613数据采集卡置于工控机内的任一PCI插槽,以此实现数据采集和系统处理。系统具有12位AD转换精度,采样频率最高可达1´105Hz,AD转换时间≤10μs,非线性误差为±1LSB(最大)。本系统采用3路差分模拟量输入,AD量程设置为±5V,采用频率设为1´104Hz。
1.2 软件平台
软件编程环境采用LabVIEW图形化编程语言,提供程序框图,并可方便地创建用户界面。LabVIEW可以方便地调用数据采集卡和运动控制卡提供的设备驱动DLL,并转换成可用的函数控件,是一个标准的数据采集和仪器控制软件。
根据转向器助力特性曲线测试系统的功能需求,软件框图如图2所示,本测试系统程序包括信号的采集与处理、伺服电机的运动控制、助力特性曲线显示等。
图2 测试系统的软件框图
2 主要功能模块
2.1 运动控制模块
在运动控制模块中,伺服电机是转向轴输入端的驱动部分。程序通过运动控制卡MPC2810控制伺服系统。伺服电机采用位置控制模式,即电机的角度位移是根据脉冲的数量决定的;而电机的角速度是根据脉冲的频率决定的。因此,需要根据要求的速度和位置,设置脉冲的数量和频率,具体驱动如下:
1)首先调用auto_set(void),对板卡自动检测和自动设置;
2)接着调用init_borar(void),对控制卡硬件和软件初始化,默认状态下各轴的脉冲输出模式为脉冲/方向,此处采用默认方式;
3)利用set_maxspeed(intch,doublespeed)函数设定每个轴需要达到的最大输出脉冲频率,用来决定对应轴的最大角速度;
4)采用单轴点位运动中的常速模式,即被控轴以各自的速度分别移动指定的距离,到达目标位置时自动停止;
5)对位置以及速度进行设置,分别调用con_pmove(intch,longstep)和set_conspeed(intch,doubleconspeed)实现对位置和速度的设定。另外,con_pmove(intch,longstep)中的step是有正负的,正表示顺时针,负则为逆时针。
电机运转过程中,可通过check_done(intch)来查询一个轴是否完成指定的动作。同时,可通过sudden_stop(intch)来制动一个运动轴以及调用get_rel_pos(intch,long*pos)实时获知运动轴的绝对位置值,位置量通过*Pos参数返回。
2.2 信号的采集与处理
为了有效抑制共模干扰信号提高采样精度,系统采用如图3所示的模拟电压双端输入方式,模拟输入信号正端接AI0~AI7端,模拟输入信号负端接AI8~AI15端,现场设备与PCI8613板共用模拟地AGND。
图3 模拟电压双端输入连接方式
选定物理连接方式后,开始采集信号。PCI8613数据采集卡查询AD数据方式有:非空查询方式、半满查询方式、DMA直接内存方式、中断方式,每种方式都有对应的函数。考虑到实时性,本系统采用非空查询方式读取缓存区的AD数据,通过调用ReadDeviceProAD_Npt()读取采集到的数据,需要说明的是,在LabVIEW创建一个数组作为输入参数,用于存储数据采集卡缓存中的数据,在创建时需要指定数组的大小,称为采样点数。
采集到的数据要根据选定的模拟输入量程进行相应的换算处理,模拟量输入量程设定为±5V,需要通过码值换算公式将原码数据换算成电压值:Volt=(10000/4096)´(ADBuffer[0]&0xFFF)-5000。具体程序实现如图4所示。
图4 数据采集模块
从图4可看到最终采集后的数据存放在Data变量中。把上述程序实现的数据采集功能封装成一个数据采集子vi程序,可便于被数据处理模块等上层应用调用。
完成数据的采集后,通过调用图4的数据采集模块,产生如图5所示的数据处理模块。从传感器等硬件设备到工控机数据采集卡的模拟量输入通道之间一般会有一段距离,信号的传输途中不可避免地会混入各种干扰信号。对于这些随机产生的干扰,常采用RC滤波器过滤。但针对频率很低的噪声,RC滤波器滤波性能很差。鉴于此,本系统使用数字滤波方法,通过软件算法来实现滤波功能,即使用算术平均滤波来实现数据处理,去掉一个最大值和一个最小值后取平均值的方法,此程序算法的具体实现被封装于图5中的SUB_数据简单处理。vi中,完成滤波处理后的数据要转化成显示在人机界面上的物理量。
图5 数据处理模块
另外需要说明的是图5中的k0~k2和b0~b2是传感器校正参数,是在数据采集之前,对各个传感器进行校正归零的过程中得到的。
3 助力特性曲线自动测试实现
完成信号采集处理模块和运动控制模块的后,通过对采集的数据进行计算比较来控制电机的运动,实现转向器控制阀总成助力特性的测试系统的自动化。
3.1 助力特性曲线的实现
通过组织上述的底层模块,实现电机的运动控制,输出助力特性曲线。电机的运动过程,如图6所示,可分为起点到左极限,左极限到起点,起点到右极限,右极限到起点4个阶段。其中第1阶段和第3阶段是特性曲线的上升过程,此时电机的角速度设置为w1,左右极限点处电机反向时的临界参数取临界最大油压值,此外出于安全考虑还设有临界最大扭矩值,防止损坏扭矩传感器;第2阶段和第4阶段属于曲线的下落阶段,电机角速度设为w2(大于w1)。
图6 助力曲线的4个阶段
通过调用MPC2810运动控制卡和PCI8613数据采集卡提供的DLL动态库,曲线显示部分程序如图7所示。
图7 助力特性曲线显示模块
3.2 人机测试界面
本测试系统界面友好,可以方便地对系统参数进行设定和修改,同时可实时显示测量数据,绘制助力特性曲线,给出测量结果。
人机界面如图8所示,主要分为数据设置模块、功能选择模块、数据图形显示模块和运动状态指示模块等4个部分。
图8 人机界面
4 结论
本测试系统在完成对传感器数据采集处理以及电机运动控制功能的基础上,实现了对转向器控制阀总成助力特性的测试,解决了以往控制阀总成在测试过程中人为影响因素大、精度低的缺点,测试所获数据更可靠,可以更好满足汽车行业对转向器性能测试的需要。本系统已应用于实际的转向器控制阀总成生产测试环节,具有良好的应用价值。