APP下载

基于STM32的油液颗粒污染度检测系统设计*

2018-12-28韩瑞欣姜泽坤尹文杰张传昊魏冬梅

关键词:油液油泵串口

韩瑞欣 姜泽坤 魏 坤 尹文杰 张传昊 魏冬梅**

(1.山东师范大学物理与电子科学学院,山东 济南 250014; 2.河南省方城县机电信息中等职业学校,河南 南阳 473200)

0 引 言

机械化成为当今社会发展主流,机械磨损是产生机械故障和减少使用寿命的主要原因.润滑油素有机械设备的“血液”之称,具有密封、防腐、润滑、减震和减磨作用[1-2].随着润滑油的使用,其质量会大大下降[3],因此,针对润滑油质量的检测越来越重要.

目前油液检测的方法主要有理化指标分析法与磨损颗粒分析法[4].理化指标分析法通过对油液化学性质的变化分析判断油的质量.在油液使用过程中,由于自身衰变和外界氧化,其理化指标会发生变化[5].此外还存在众多不确定的环境因素导致油液中颗粒增多,理化指标分析法无法得到油液中颗粒杂质数量,而颗粒数量是影响油液质量的主要因素.磨损颗粒分析法通过分析油液中颗粒大小、数量等信息判断油液的污染状况,是目前油液检测中的主要方法.

常用的磨损颗粒检测法有铁谱分析法、磁塞检测法、红外光谱法、颗粒消光计数法[6].颗粒消光法利用含有颗粒的介质对激光的反射和吸收特征判断颗粒的大小和数量[7-10],该方法测量精度高,可同时获得颗粒的尺寸和数量信息,且实现方法简单,便于便携设计,达到“在线”测试目的.

1 油液颗粒污染度检测系统结构和原理分析

1.1 系统的整体构架

本系统主要包括主控模块、显示模块、检测模块、电源模块等四大部分,整体结构图如图1所示.其中主控模块可以实时控制电源模块为各个模块供电.检测模块负责检测油液获取数据信息,并与主控模块进行通信[11].图2概括了本系统硬件操作流程.对于系统的整体性操作步骤见表1.

图1 系统整体结构图

图2 系统的硬件操作流程图

I打开面板电源开关,除油泵外所有部件(包括传感器、显示屏等)和电路上电工作.II点击显示屏上“开始”按钮,油泵上电,开始工作,将油液从油瓶抽取到系统管路中,先后流经颗粒度传感器和湿度传感器进行检测,油液最后再流回油瓶.III根据实际需要或油液粘度及环境因素,在第II中,可点击显示屏上“速度+”和“速度-”按钮改变齿轮泵的转速,控制管路中油液的流量.IV点击显示屏上“停止”按钮,齿轮泵(泵)断电,结束工作.V单片机实时接收颗粒度传感器和湿度传感器的输出信号.根据颗粒度传感器的输出信号可以获取瞬时速度(即流量)和不同尺寸分段的颗粒度数量信息.根据湿度传感器的输出信号获取油液温度、相对含水率.VI显示屏上电后,将单片机处理的结果(检测结果)进行实时显示.

1.2 颗粒计数传感器原理分析

该传感器有三个通道,一个进油口,一个出油口,一个电源及串口通道.包含一个测量单元、激光源和一个光敏二极管,如图3所示.

图3 颗粒传感器检测原理图

当激光束通过测量单元到达光敏二极管,如果有粒子经过测量单元,则会挡住部分激光,到达光敏二极管的光强度减小,颗粒越大,强度降低的越大,通过光强度的强弱转化为粒子的颗粒大小,进而测算出粒子数量.此外,根据不同颗粒的尺寸及数量,根据国际污染度等级标准,测算出ISO4406、GJB420B、SAEAS4059等级标准.

2 系统硬件设计

2.1 主控模块

本文采用STM32F103RCT6单片机作为油液颗粒污染度检测系统的主控芯片[12-14].STM32是一种嵌入式微控制芯片,外接晶振,经倍频后,最高运行速度可达72 MHz.STM32有64个可任意控制的I/O接口,丰富的串口资源.STM32的103系列支持5路串口,均可实现单工通信和半双工通信.此外,STM32内部具有两路12位高精度DAC,可以方便实现开关调控.

2.2 串口通信硬件设计

目前串口通信标准主要有RS-232C和TTL电平标准.RS-232C标准以电压正负来表示逻辑状态,逻辑1(MARK)范围是-3~-15 V,逻辑2(SPACE)范围是+3~+15 V,PC机中串口多采用RS-232标准.TTL电平标准是一种以二进制形式进行数据传输通信的标准协议,通常,+5 V代表逻辑“1”,0 V代表逻辑“0”,多用于单片机.所以在进行单片机与PC机通信之前,需要进行电平转换.考虑到转换速率以及数据的可靠性,采用MAX3232进行电平转换.

MAX3232是Maxim公司推出的一款低功耗、高速率的电平转换芯片,工作电压范围为3~5.5 V.外部仅需两个0.1 μF、两个1 μF的小尺寸电荷泵电容,即可实现TTL与RS-232之间的转换.此外,MAX3232具有高速率的数据传输,在120 Kbps的速率下,依然可以保证电平转换的可靠性、稳定性.MAX3232外设图如图4所示,它可以同时完成两个串口的电平转换.

图4 MAX3232外设图

2.3 油泵调速硬件设计

为了将调节电压的范围放大到0~5 V,系统采用TI公司的轨对轨放大芯片TLV2772.该芯片供电范围为2.7~5 V,为了实现0~5 V放大要求,采用5 V供电,设计原理图如图5所示.

图5 DA电压放大电路图

图5中3脚为放大输入端.将DA转换后的输出电压直接接到3脚,经过放大后,电压从1脚输出,滤除高频噪声后接入油泵控制端.为了实现单片机的I/O口实时控制24 V供电的油泵工作,系统采用DSP2a-DC5V继电器,设计原理图如图6所示.

图6 油泵继电器电路图

DSP2a-DC5V内部利用电磁继电器的原理,当单片机的CTrl6引脚输出高电平时FCX191 A导通,DSP2a-DC5V内部左半部分回路导通,形成一个电磁铁吸引右半部分开关闭合,则连接油泵的整个电源回路导通,油泵上电工作.当单片机的CTrl6引脚输出低电平时FCX191 A断开,DSP2a-DC5V内部左半部分回路断开,右半部分的开关因为失去了磁性吸引而断开,则油泵的电源回路断开,进而使油泵停止工作.

2.4 系统电源方案设计

2.4.1系统总电源模块设计

为了实现电源自动切换,采用Linear Technology Corporation公司的低损耗高效能双路快速电源切换芯片LTC4416[15].当一路电源出现故障时,迅速切换到另一路备用电源,不会产生设备断电的情况,且两路输出电压波动都很小,不会对设备造成影响.本文利用LTC4416与SI7461DP配合实现电源切换,其压降仅为25 mV,远远低于二极管的导通电压,为了达到芯片主动关断一路电源的目的,采用两个MOSFET“背靠背”的方案,设计原理图如图7所示.

图7中E1和E2分别为主电源与电池供电的使能控制端,直接控制G1与G2输出高低电平,进而控制PMOS的管截止还是导通状态.LTC4416电压切换的标准值由外设电路设计给定.定义VFAIL为主电源供电的最低电压,VRESTORE为适配器开始工作的最低电压.

图7 系统总电源原理图

(1)

(2)

其中VETH=1.222 V,R4//R7为两电阻并联.取R2=162 kΩ,R4=10 kΩ,R7=100 kΩ,则VFAIL=1.222×(162+10)/10=21.08V,VRESTORE=1.222×18.2=22.998 V.

当主电源接入24 V时,高于23 V的标准工作电压,此时E1使能,控制G1产生下拉电流,Q1导通,此时V1=Vs>V2,G2产生上拉电流,Q2、Q3截止,避免产生逆向电流;当主电源接入电压低于21 V时,E2使能,控制G2产生下拉电流,Q2、Q3导通,此时V2=Vs>V1,G1产生上拉电流,Q1截止,避免产生逆向电流.

2.4.2显示屏电源模块设计

显示屏电源采用可调降压稳压芯片TPS54340来实现.设计原理图如图8所示.

24 V电压经过两个电容滤除高频成分后接入2脚,EN使能后芯片开始工作,BOOT口输出电压经电感电容滤除纹波之后脚到达输出端,此时FB通过外设电路中的R39、R40分得一个输入电压,反馈给芯片.FB脚内部是一个误差运放其参考电压为0.8 V.如果FB获得的反馈电压低于0.8 V时,芯片提高输出电压,FB获得的反馈电压也随之升高,直至达到0.8 V时,整个芯片开始稳定工作,保持输出电压稳定.如果FB获得的反馈电压高于0.8 V,芯片降低输出电压,FB获得的反馈电压也随之降低,直到0.8 V时,整个芯片开始稳定工作,输出电压稳定.根据公式:

(3)

确定电阻R39、R40的数值,其中0.8 V为内部参考电压,VOUT为输出电压,此处为12 V.选RLS=R40=3.3 kΩ,则RHS=R39=46.2 kΩ.因为实际情况下没有46.2 kΩ电阻,故选择47 kΩ电阻.经过外部电阻选择之后,芯片便可以稳定的输出12 V电压,进而驱动迪文屏显示达到设计要求.

3 软件设计

系统上电开机后,自动进行硬件初始化设置,配置相关寄存器、传感器数据稳定等.初始化大约5 s,之后进行软件初始化,配置DA、串口、中断等.准备工作做好之后,主程序进入显示程序,后面所有功能都围绕显示程序展开,执行完之后都要回到显示程序.紧接着进入按键扫描,当有按键按下时,判断哪个按键被按下,当按下“开始”键之后,DA开始工作输出模拟电压;当按下“速度+”键之后,DA输出量增加;当按下“速度-”键之后,DA输出量减少;当按下“停止”键之后,DA输出量为0,并且程序返回到显示程序.处理完按键之后开始通过串口向颗粒传感器、湿度传感器发送指令,当收到回复后进入串口中断,接收数据后送到显示.如果没有收到回复则直接回到显示程序.当没有按键按下的时候也要回到显示程序.

3.1 油泵驱动部分设计

对于油泵速度调节,系统采用STM32内部自带的DA模块.STM32内置DAC是12位数字输入,转化为模拟电压量输出,为了达到更高的精度,选取配置DAC为12位模式.通过DAC输出0~3.3 V之间任意电压值,经过放大到0~5 V后进行输入到油泵的速度控制端,通过控制电压的不同来实现转速分档.

3.2 串口通信部分设计

STM32有USART_CR1~3三个串口控制寄存器,USART_CR1是最常用的,其中RXNEIE为接受缓冲区非空中断使能.系统采用串口中断法进行串口通信.首先在程序中启用USART中断功能,当数据接收完之后,USART_CR1寄存器中的RXNEIE置为‘1’,然后产生中断,可以在中断函数中将数据读出,然后清除中断标志.串口中断法的优点在于摆脱了对CPU的实时依赖,当数据接收完毕之后,自动进入中断函数,然后CPU去执行数据处理,通过中断法,大大提高了CPU的执行速率.同时串口中断法大大降低了CPU的占用率,各个串口按照中断优先级协调工作,数据有条不紊地进行接收处理显示.

传感器接收到一次指令后都会输出一串数据量很大的数据,如何快速接收并且不遗漏数据是一个需要解决的关键问题,针对数据量大的问题,选择在内存中开辟两块容量为300的临时缓存区,当有数据传来时,先进行存储,当存储完了之后再进行数据处理,这样便避免了数据丢失的问题.

本系统可以显示的最大颗粒数为8 000 000个/100 ml,然而常用的数据类型无符号整型一个变量为16位,数值范围只是0~65 536,根本不可能满足本设计的数据处理及显示要求,鉴于数据量之大,固选用无符号长整型变量,其数值范围是0~2^32,完全可以满足设计的需求.在传送32位数据的问题上,采用先传送高位数据的原则,先传送最高的8位数据,然后传送次高位的8位数据,然后传送再次高位的8位数据,最后传送剩余8位数据.为了方便数据移位处理,先建立4个临时缓存区,分别存储这32位数据.这样便实现了一个32位数据通过串口传输的目的.

4 实验测量

应用本系统对实际生活中的多个油液环境进行了测量,获取了多组实验数据,表2列出了其中两组实验数据.

通过比对,实验结果均与实际情况相吻合.在实验测量中,通过系统内部计算,可在显示屏上直接获取有用信息,更加明确地展示出本系统的优越性和方法的应用价值.

表2 两组实验数据

5 结束语

本文设计的油液颗粒污染度检测系统可实现对直径为4、6、14、21 μm的颗粒含量测量,同时可以实时显示ISO、GJB、SAE等三个国际统一标准等级.此外本系统实现了便携式的在线检测,打破了传统离线测量的拘束,易于推广.在实际测试中本系统具有良好的数据稳定性,传感器与单片机的通信稳定可靠,最终经过处理分析后的数据与实际值相差不大.本系统的不足在于对油泵流量的控制上不够精确,只是通过DA粗略地控制油泵的转速,而没有具体的计量,对传感器数据的测量造成一些影响.当测试完成后,只能粗略地通过油泵进行排油,缺少清洗管道,对于排油问题有待继续改造.

猜你喜欢

油液油泵串口
基于在线监测的油液污染智能控制系统
汽轮机主油泵损毁事故分析及解决办法
浅谈AB PLC串口跟RFID传感器的通讯应用
通过油液分析查找发动机抱轴故障原因
关于交直流高压油泵分析及建议
液压润滑系统的油液污染控制措施
糯扎渡水电站推力外循环油泵启动逻辑优化
油泵壳体的冲压工艺及模具设计
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索