基于单片机的滤膜阻塞式污染监测仪控制系统设计*
2023-08-22马鸿宇荣唯帅王天奇卢继霞
马鸿宇 ,彭 浩 ,荣唯帅 ,王天奇 ,卢继霞
(中国矿业大学(北京)机电与信息工程学院,北京 100083)
0 引言
液压系统是液压-机电产品的重要组成部分,然而,液压系统经常会出现某些具有随机性、隐蔽性、复杂性的严重故障,造成巨大的经济损失。相关调查资料显示,有90%的机械液压系统磨损和故障与液压油液污染有关,特别是固体颗粒污染物。因此,要想提高液压系统的安全可靠性,就必须特别注意对液压油介质的污染控制问题[1-3]。也就是说,对液压油污染度进行实时在线监测控制和处理具有非常重要的现实意义[4]。
油液中固体颗粒污染度检测的常见方法包括重量分析法、颗粒计数器分析法和半定量分析法等,可以用单位体积中固体颗粒的数量或者单位体积中固体颗粒的质量来定量表示油液中固体颗粒物的含量,也可以采用NAS 1638 或ISO 4402 等标准规定的污染度等级来半定量地表示液压油的污染程度。颗粒分析法包括显微镜法和自动颗粒计数法,而半定量的检测方法包括电容法和滤膜阻塞法等[5-7]。
目前对油液污染度进行检测的仪器主要采用光电检测原理,但是光电检测原理受油液本身颜色和气泡的影响较大。使用滤膜阻塞法检测有许多优点,即检测结果不受油液中的气体和液体杂质的影响,也不受油液本身颜色的影响,因此检测的准确度高。以滤膜阻塞技术设计的检测仪有孔令仁等设计的DW3 型油液污染度检测系统,可以实现对系统的自动化控制[8-9],但是仍有较多待改进之处。例如,其主控器选择PLC 控制,体积较大,成本较高;此外,大小测试缸的切换仍然需要手动进行,自动化程度需要进一步提升;还有一点就是没有考虑真空脱气功能。课题组对DW3 型在线油液污染度监测系统进行改进,增加真空脱气及自动换缸功能,进一步提高系统的自动化程度;采用STM32 单片机作为主控器,减小仪器体积,并且进一步降低成本。
1 系统整体设计
1.1 系统组成及工作过程
油液污染度检测原理采用滤膜恒压阻塞技术,让油液在恒压作用下通过微孔滤膜,油液中的污染颗粒物将会随着时间堵塞滤膜,导致滤膜流量逐渐衰减。通过检测流量变化信息,利用污染度检测数学模型便可获得油液污染度信息。根据该原理设计的检测系统可以分为三个部分:取样部分、测试部分和反冲洗部分。检测系统原理图如图1 所示,取样部分包括二位二通阀、取样缸、配置块、电机1 及触碰开关1 等,主要实现将系统中油液抽吸至取样缸。测试部分包括测试缸、高度传感器、位移传感器、微孔滤膜、二位三通阀等,主要作用是通过将位移传感器传递出的位移信号和实验测得的阈值相对比,得出油液污染度等级,并根据高度传感器接收到的信号判断测量是否准确、需不需要进行换缸操作。反冲洗部分包括电机2 和二位三通阀等,主要作用是在测试结束后,把阻塞在滤膜上的固体污染物冲洗回取油箱。信号处理部分包括位移传感器、计算机和打印机,计算机根据位移传感器传递来的信号,拟合成为一个指数函数曲线,通过指数函数的5 个参数对比得出油液污染度等级。
图1 在线检测系统原理图
在线检测系统包括初始化、取油、真空脱气、测试缸自动切换、滤膜反冲洗及取样缸吸排油识别等功能。
初始化功能:系统开始检测前,需要检测取样缸和测试缸底部的触碰开关3 和4 是否处于闭合状态,若为闭合状态,则表示取样缸和测试缸内没有油液,可以直接进行污染度检测。如果没有处于闭合状态,需要让3YA 和4YA 得电,电机2 反转,将两个缸内残留的油液排干净之后,触碰开关3 和4 闭合,再进行污染度检测。
取样和真空脱气功能:1YA 得电,电机1 正转拉动取样缸活塞上移,当触碰开关2 闭合时,表示取样过程结束。此时让1YA 失电,电机1 继续正转进行真空脱气。开关3 闭合证明真空度达到从油液中脱气的要求,此时电机1停止正转,延时40 s,保证油液中的气泡被完全脱出。
测试缸自动切换功能:在油液污染度检测系统中,为了扩大污染度检测范围,采用了双膜双缸的设计,大小缸的切换通过电磁阀5 换向实现。在用大缸测试时通过高度传感器2 的信号确定需不需要换小缸进行测试,若油液污染度太高,导致高度传感器2 接收不到信号,就需要换成小缸进行测试;在用小缸进行测试时,通过上位机传递的位移信息,判断一定时间内小缸是否达到满量程,若达到满量程的时间很短,则说明油液比较干净,需要转换回大缸测试。
滤膜反冲洗功能:在进行下次测试前需要将滤膜表面堵塞的颗粒反冲洗干净,也就是测试缸中的油液在拉绳电机2 的拉力作用下,活塞下移,使油液反冲过滤膜,将滤膜上阻塞的污染物随着油液排出检测装置。排油过程中4YA 得电,油液直接通过液压阀排出检测系统。
取样缸吸排油识别功能:通过计算,在取样缸满足小缸测试的油液体积高度位置放置一个高度传感器1。在切换到小缸进行测试时,需要判断取样缸活塞下降过程中高度传感器1 是否接收到了信号。如果高度传感器接收到信号,就证明取样缸中的油液不足以进行小缸测试,需要重新进行一次取油过程再进行测试;如果高度传感器没有接收到信号,那就证明油液足够进行小缸测试,则直接进入测试阶段。
1.2 系统控制方案
本系统选用STM32 单片机对油污在线自动检测过程进行自动化控制,极大程度上减少了成本。检测系统的控制方案如图2 所示,STM32 单片机作为主控器,通过触碰开关和高度传感器传递来的信号控制电磁阀的得电/失电和电机的正反转,控制系统的工作流程。上位机作为信息处理模块,接收位移传感器传递的位移信息,拟合曲线,并得出油液污染度等级。
图2 控制方案原理图
2 控制流程和程序设计
2.1 主控器的选择
STM32 是意法半导体公司的一款32 位MCU,STM32 拥有超低的硬件价格,超多的外设,丰富多样的规格型号,出色的实时性和低的研发费用。STM32 以其丰富的多元化的产品线、高可靠的综合性价比、简单易用的存储式开发模式,在众多高性能的32位MCU中脱颖而出。
相比于PLC 电路控制,STM32 单片机具有体积小、成本低等优点,所以本设计采用来自意法半导体公司的STM32F103RCT6 嵌入式微处理器作为处理核心,拥有高性能、低成本、低功耗、方便二次开发等特点[10]。
2.2 自动控制流程图设计
自动控制系统是在STM32 单片机的控制下,使系统依次完成初始化、取样、测试、反冲洗等基本检测流程,并且根据传感器接收到的信号判断需不需要换缸,最终可以进行一个循环往复的实时检测。通过控制面板的停止按键控制整个检测过程结束。
系统开始检测之前,需要对仪器的状态进行检测,检测是否处于初始位置,开关3、4 都闭合证明取样缸和测试缸内都没有油液,可以直接进行测试,如果开关3、4 没有都闭合,就需要进行一次排油,以保证仪器处于初始状态,使得测试结果更加精准。初始化程序控制流程图如图3所示。
图3 初始化程序流程图
初始化结束之后,确保了仪器处于初始状态,开始进入取样阶段。1YA得电,电机正转拉动取样缸活塞上移,使得油液进入取样缸,开关2 闭合证明取到的油液足够进行测试。此时1YA 失电,电机继续正转,到开关1 闭合达到足够的真空度能够使得油液中的气体析出。停止一段时间,使得油液中的气体完全排出,也就是真空排气阶段。取样和真空排气阶段流程图如图4所示。
图4 取样和真空排气阶段流程图
测试完之后,需要进行滤膜的反冲洗,通过电机推动测试缸活塞下推,把测试缸油液排出测试缸的同时冲洗滤膜,使得之前阻塞了滤膜的固体颗粒随着油液回到取样缸。同时取样缸也进行排油,为新的测试做准备。反冲洗流程图如图5 所示。
图5 反冲洗流程图
最后,需要设计大小缸切换的流程图。在一定时间内测试缸的高度传感器接收到信号,证明测试结果准确,不需要进行换缸,如果没接收到信号,则需要进行换缸操作,5YA得电换用小缸测试。自动控制系统动作流程图如图6 所示。
图6 自动控制系统动作流程图
2.3 STM32单片机接线
根据系统的动作流程图对STM32 单片机引脚功能进行设计,一共8 个输入引脚,分别为PA0 至PA7。在检测系统运行过程中,行程开关的闭合和高度传感器的信号等会让相对应的输入引脚显示高电平,通过编程扫描各个输入引脚的状态,可以判断油液污染度检测过程进行到了哪个步骤,并根据这些判断,系统进行取样、测试、排油以及大小缸的切换等操作。
STM32 单片机与电磁阀、电机和高度传感器等的接线图如图7 所示,图中绘制了单片机与电磁阀和电机的接线方式,单片机能够通过控制引脚的高低电平来控制电磁阀的得电与失电,并且通过判断输入引脚的高低电平确定系统的操作进程。
图7 STM32接线图
2.4 程序设计
STM32CubeMX 生成初始文件之后,需要对主函数进行编写以实现自动化控制过程,通过引用HAL库的函数,借助C 语言对程序进行编写,根据之前做的运动流程图,通过对输入引脚高低电平的判断,来控制输出引脚的高低电平,进而实现对系统的自动化控制。由于篇幅限制,以小缸测试阶段为例。小缸测试阶段程序设计如图8 所示,通过接收开关和传感器传递来的信号控制引脚的高低电平,并控制电磁阀和电动机的工作和断电状态,进而实现对系统的自动化控制。Proteus仿真图如图9所示。
图8 小缸测试阶段程序设计
图9 小缸测试阶段Proteus仿真结果
3 结论
课题组提出了恒压堵塞型油污自动检测系统的改进方案,对控制系统进行了重点研究。改进后的方案包含了对取样缸油液的脱气功能,使产品的在线测试更方便;双缸双膜的测试方式可以在不影响检测精度的情况下扩大对油液的污染度检测范围,同时设计和控制的复杂程度也较之前产品得到降低;采用STM32 单片机代替PLC 对系统进行自动化控制,能够有效降低成本,减小仪器整体的体积和重量。Proteus 仿真结果表明,改进的方案可以实现对系统整体的自动化控制。