程 鑫,王宁经,董家伟,吴 惠
(1.武汉理工大学 机电工程学院,湖北 武汉 430070;2.湖北省磁悬浮轴承工程技术研究中心,湖北 武汉 430070)
离心泵由于转速快、体积相对较小、重量轻、效率高、流量扬程及性能范围均较广、结构简单、性能平稳[1]得到广泛应用。离心泵性能参数较多,各参数间的相互关系和影响因素比较复杂,很难准确求出各参数间的相互关系和变化规律[2]。
由于车载离心式水泵极高的可靠性要求,要求产线上的各水泵皆进行启停耐久老化和寿命耐久老化测试,其寿命测试系统属于产线大规模使用设备[3-4],因此,要求测试系统简洁、低成本、可靠性高。目前市场上的离心泵测试系统虽然功能全面,但开发成本高,售价昂贵,不适合在产线上大批量使用。针对上述问题,笔者基于MFC(microsoft foundation classes)和STM32设计了一套离心泵的测试系统,系统由软件、硬件两部分组成,上、下位机通过通用RS232串口总线进行通信。利用Visual Studio软件的界面开发工具MFC将采集到的离心泵测量信号进行处理、动态曲线显示、存储以及故障报警等[5-6]。该系统开发周期短,经济可靠,降低了系统的开发成本,并且具有通用性,不仅适用于车载离心式水泵运行状态的实时监测,还可用于其他旋转机械的监测。
离心式水泵的启停耐久测试系统包含启停耐久和寿命耐久测试,在这个过程中,要实时监控是否漏换向、是否准确换向、电压纹波、电流纹波、速度误差、进出水口压力,功率及效率这些参数。换向的判断采用过零点检测方法;电压测量采用隔离器加运放的组合进行检测;电流测量选择型号为LA25-NP的电流传感器,量程为0~36 A,精度为±0.5%;进出口压力测量选择某公司的 MIK P300压力变送器,精度为±0.25%,输出信号为4~20 mA;离心泵的转速根据过零点检测、功率和效率可以根据相关参数计算获得。
常规车载离心泵控制单元包含电机控制器、通信接口等部件,但一般已经安装在离心泵内部,无法获取其中间控制参数,如相位角,速度控制误差等;因此要求在测试系统内部包含电机驱动单元,来实现对受测离心泵的驱动控制。该测试系统结构示意图如图1所示,主要由测试及控制模块和数据处理模块组成。
图1 系统结构示意图
微控制器采用的是STM32F407ZGT6,基于ARM Cortex-M4的高端系列芯片,其工作频率最高可达168 MHz,相对于STM32F103系列具有更丰富的资源,更强大的数据处理能力和更高速率的运算功能。该控制器还具有192 kB的内部SRAM和1 024 kB的FLASH,并具有强大的外设配置,如DMA、PWM、ADC、FSMC等,可以省去复杂的外围电路设计。
测试及控制模块由离心泵、单片机、传感器和电子电路组成[7-8]。单片机在测试系统中完全处于被动工作状态,只有当其接收到正确的上位机控制命令后,才会进行相应的操作,否则不停地循环监测串口信息。继电器控制电路采用IO口驱动三极管继而控制继电器通断的方式,分别控制水泵的供电信号和使能信号,实现对水泵的启停。继电器采用的是HF161F-12H/T,其机械寿命可达200万次,电气寿命10万次,完全达到水泵寿命测试次数的标准。驱动电路实现离心泵电机的换向和转速调控;接口电路则将传感器或隔离器输出的信号进行电平转换,方便单片机进行AD采样;电源电路负责整套测试系统的供电。
数据处理模块主要是通过上位机对整个测试的流程进行控制,即通过读取用户在上位机界面输入启停的相关参数,包括启停的时间和次数等,根据读取到的数据,每隔一段时间就通过串口向下位机发送相应的数据作为控制命令,直到测试流程结束。同时,上位机还需要对下位机通过串口发来的反馈信息进行数据提取、计算处理和管理,实现对传感器采集数据的实时显示、绘制性能曲线图和测试结果的保存、查询等功能[9-10]。
离心泵的启动需要同时拥有供电和使能两个信号,使能信号的控制采用光耦PC817,控制端接单片机的IO口,输出端接使能电压Vp,起到很好地隔离控制作用。其电路图如图2所示。
图2 使能信号控制电路图
供电信号控制电路如图3所示,电源信号的控制采用两触点常开继电器,工作电压为12 V,因为单片机IO口的电流过小无法使继电器吸合,所以该电路使用三极管驱动。主电路上离心泵的供电电压Vp约为(即使能电压)12 V,工作电流最大可达15 A,选取的继电器耐压250 V,容许最大电流20 A,符合电路的需求。
图3 供电信号控制电路图
离心泵电机要持续运转,需要换相点提供给单片机;而对电机速度的控制也需要系统能够反馈实时的转速。这些关键信息的获取采用基于反电动势的过零检测法来实现。驱动电路的拓扑结构采用常用的三相全桥电路,结合本系统的需要,水泵工作时最大母线电压为16 V,最大母线电流为15 A。开关管选择型号为STF140N6F7的MOS管,该MOS管的漏级导通最大电流为70 A,最大漏源级电压为60 V,满足设计要求。三相全桥功率电路如图4所示。
图4 三相全桥功率电路
利用离心泵电机每刻都只有两相导通的原理,检测悬空相的反电动势过零点,从而检测出转子的关键位置,然后利用STM32控制器输出相应的PWM信号进行换相控制。已知电机转子旋转一周,开关管有6种工作状态,因此需要换相6次。而每相的定子绕组的反电动势在每个周期都有两个过零点,每个过零点都超前该换相点30度。在每次检测到悬空相的过零点后,延迟一定时间,就是该悬空相对应开关管的导通时刻。
离心泵电机的反电动势是很难直接进行测量的,因此本实验采用检测三相的各端电压,也就是图4的OUTU、OUTV、OUTW信号。然后在相应的PWM时刻采样悬空相的端电压进而求出反电动势过零点。本系统采用H_PWM-L_ON的控制方案,即上桥臂是PWM导通,下桥臂保持恒通的状态。在此方式下,以VT1和VT6导通为例,分别控制VT1开关管的PWM波的高电平和低电平的情况下,分析其悬空相的端电压与其绕组反电动势的关系。当VT1的PWM为高电平和VT6恒导通时,电路的状态如图5所示。
图5 充电状态
此时开关管VT1和VT6都导通,即电路的A、B相导通,虚线箭头为电流的方向,此时可列出悬空相C相的微分方程为:
(1)
式中:UC为悬空相C相的端电压;ec为反电动势;Un为中性点电压;R3为线圈的电阻;L3为线圈的电感;i为线圈的电流。因为此时C相未导通,所以线圈电流为零,可得:
UC=ec+Un
(2)
忽略VT1和VT6导通管压降的情况,可得中性点电压为:
Un=Us/2
(3)
其中,Us为母线电压,将式(3)代入式(2)可得悬空相C相的端电压表达式:
UC=ec+Us/2
(4)
当VT1的PWM为低电平和VT6恒导通时,电路的状态如图6所示。
图6 放电状态
此时VT1管关断而VT6还是处于恒通的状态,虚线箭头为电路的电流流向,AB两相的电感开始放电,通过二极管D4续流,根据图6可得出中性点电压为:
Un=-Vd/2
(5)
式中,Vd为二极管D4的正向导通压降。
根据式(2)可以得出悬空相C相的端电压与其反电动势的关系表达式为:
UC=ec-Vd/2
(6)
一般来说,二极管的管压降会很小,在误差允许的范围内,可以近似认为:
UC=ec
(7)
此时C相的端电压可以准确反映反电动势信号,因此综合上面两种情况,可以在上桥臂开关管PWM为低电平时,采集悬空相的端电压,当端电压过零点时,即可认为是反电动势过零点的时刻。通过这种方法就可以判断每次启停,离心泵的换向是否准确以及是否有漏换向的情况出现。
测试系统中,离心泵的进出水口压力是利用压力传感器检测,但是该器件的输出信号为4~20 mA,因此需要将这种信号转变成单片机AD可以采集的信号,采用型号为RCV420的电流环路接收器,可以将4~20 mA的输入信号转换为0~5 V输出,然后经过分压,将电压信号转换到AD接口容许的范围内,运放OPA2376可以起到很好的隔离保护作用,最终送入单片机的AD模块进行采样,从而获取离心泵的进出水口压力。
为了防止系统过流,离心泵测试系统具有实时采集电机母线电流的功能,只要超过阈值,就会立即软件复位。电流传感器LA25-NP,转换比例为1/1 000,输出端配一个100 Ω的采样电阻,即15 A对应的采样电压是1.5 V,超出该门限值,测试系统立即复位,其检测电路如图7所示。
图7 离心泵电流检测电路
离心泵运行时,要求电压稳定,电压的大幅波动会对离心泵的电机有严重的损耗,因此测试系统会实时对离心泵的工作电压进行检测。具体实现是将离心泵电压信号分压至合适值,再经过型号为AMC1311的隔离式精密放大器,该器件具有很好的隔离以及抗干扰的作用。最后利用运放OPA376进行差分放大,进一步滤除干扰,得到精确的电压值。
主控程序流程如图8所示,本系统采用C语言编程,下位机开发软件为Keil uVision5,上位机开发软件为Microsoft visual studio 2010,下位机程序包括:系统初始化、IO口初始化、AD转换模块初始化、PWM模块初始化、USART串口通信初始化、换相程序、双闭环PID控制程序等;而上位机程序主要是对离心泵运行模式参数的配置,包括循环启停的次数,加减速运行的时间,以及相关测试信息的显示。
图8 主控程序流程图
在离心泵启停耐久测试开始之前,首先在上位机界面中设置离心泵的关键性能参数,包括对离心泵电压、电流、扬程、流量、效率等参数设置相应的阈值。当测试开始后,某项数据超出这个设定的范围,意味着产品出现了质量问题。其次是需要给测试系统配置相关的执行信息,包括启停时间、加减速时间以及循环次数等。
整个测试过程可以分为准备阶段、测试流程阶段和数据显示阶段。准备阶段主要是准确无误地连接好整个离心泵启停耐久测试台的电气线路,在上位机界面设置好相应的串口以及相关的测试参数等信息。测试流程阶段,上位机向下位机发送启停、加减速时间等数据,命令下位机控制离心泵进行相应的动作。离心泵运转期间会实时地监测一些需要监控的数据,而最后的数据显示阶段就是上位机会将接收到的这些数据实时显示在界面中。测试流程界面如图9所示。
图9 上位机测试流程界面图
针对本实验采用的离心泵,对于每一次的启停耐久测试,判断依据是离心泵电压8~16 V,电流不超过15 A,转速误差为±50 r/min,效率大于30%,离心泵电机无漏换向。同时满足上述条件即判断该次检测为产品正常,否则为异常,试验的启停次数为500次,测试结果界面如图10所示。
图10 测试结果界面图
笔者基于STM32F4系列ARM微控制器为硬件设计主线,综合继电器控制、串口通信、电流检测和MFC上位机界面多个模块,完成了对汽车电子离心泵的自动化启停耐久测试,实现了智能设置启停模式、醒目显示测试状态和捕捉离心泵性能测试参数、串口收发和处理数据等功能。该测试系统的研制对模拟汽车电子离心泵日常的启停模式、加快测试效率以及减少测试所耗费的人力有重要意义。