基于PyQt5平台的木材在线品质监测及评等系统
2022-08-02高德伟宋得意纪亚旭
高德伟, 施 鑫, 王 正, 宋得意, 纪亚旭
(1.南京林业大学机械电子工程学院,江苏 南京 210037;2.南京林业大学材料科学与工程学院,江苏 南京 210037;3.南京市田家炳高级中学,江苏 南京 210000;4.哈尔滨市宾县农村公路事业发展中心,黑龙江 宾县 150040)
21世纪以来,木材加工生产已向柔性化及智能化方向发展[1],数控木工机械技术水平越来越高[2,3]。同时,涌现了如超声波检测、X射线检测、红外检测等许多光电检测技术[4,5],这些新兴的检测技术方法的应用,使得木材无损检测工作进入到一个崭新的研究阶段,也使得木材缺陷检测的自动化程度迅速提高[6]。在信息化发展阶段,随着计算机技术的迅猛发展,机器视觉、人工智能[7,8]、大数据等概念已深入人心,数字信号与图像处理技术被运用到木材无损检测技术[9,10]中,使得木材无损测技术有了更高的发展平台。
1 系统总体方案设计
本系统主要分为上位机、嵌入式主板两大部分,其总体设计方案如图1所示。其方案流程为:嵌入式主板通过通信串口连接到PC机。单片机(STM32 F103VE)[11]将加速度传感器的拾振信号通过信号滤波、放大等调理后,再进行A/D转化得其数字信号。基于Python[12,13]编程,通过串口RS232在PC机上得到频域谱和时域谱,取基频值f1测算出木材弹性模量E;再根据木材弹性模量的数值区间,可将被测木材的品质划分为4个质量等级(一等品、二等品、合格品、不合格品),并直接显示在PC机上。
图1 系统总体方案设计框图
2 硬件方案设计
本文硬件设计电路核心为电荷转电压电路[14]、二阶低通滤波电路、偏置电路、放大电路、限幅电路。同时使用单片机(STM32F103VE)作为本系统的控制模块。
首先,将加速度传感器放置在所测板材的一端,用橡胶锤轻敲板材的另一端。加速度传感器将拾振到轻微信号。因这些信号非常微弱,需通过信号调理仪器将拾振后的信号进行放大,变为-5~5 V;然后,通过设计电路进行处理,主要利用加法器将信号进一步放大,变为0~10 V;最后,利用2个反向比例的放大器将信号变为0~3.3 V,以便于STM32单片机接收。
2.1 电荷转电压信号电路设计
电荷转电压设计电路如图2所示。I1为加速度计,在工作时不需额外的电源进行供电。该传感器放置于木材某一端,与木材表面相接触。当木材受到敲击后,传感器跟随木材发生轻微的振动并产生少量的电荷信号。芯片Op07是微弱信号处理中常用的一款芯片,能起到有效地将微弱信号进行放大地作用。
图2 电荷转电压电路
2.2 二阶低通滤波电路设计
由于电荷转电压电路的输出信号中夹杂着不同频率的无用信号,为了能够获得有效的低频信号,需滤除杂波信号。低通滤波电路,可将高频杂波信号进行滤除,由两个相同的RC滤波器和放大器连接组成,二阶低通滤波电路如图3所示。
图3 二阶低通滤波电路
此电路设计原理为相应的两级RC电路移相为-180°,此时电路的输出电压恰好与输入电压的相位相反,所以此刻通过电容C的信号到集成运放的同向端的信号为负反馈信号。在此电路中反馈信号都具有减弱输入信号的功能,故而会使得电压的放大倍数成倍减小。因此,本反馈环节具有输入阻抗高和输出阻抗低的特性,此反馈将会大幅度地衰减从二阶有源低通滤波器输入的高频端信号,从而只允许低频信号通过。
2.3 偏置电路设计
二阶低通滤波电路的输出信号有正信号和负信号,而单片机只能采集到大于0 V的正信号,因此为了使单片机采集到的信号不失真,本文设计了一个偏置电路,此目的是将二阶低通滤波传过来的电压偏置为0~3.3 V。偏置电路主要由TL084运放、电阻及电容所组成,偏置电路如图4所示。
图4中电阻R7、R8大小均为100 kΩ,这样运放同相输入端电压为1.65 V,也就是偏置电路中偏置电压为1.65 V,在电阻R8两端并联电容可滤除干扰信号,将运放的反相输入端与输出端相连可构成一个电压跟随器,能够使电路的输入阻抗增大,输出阻抗减小。
图4 偏置电路
2.4 放大电路设计
放大电路采用TL084、电阻、电容、滑动变阻器组成,放大电路如图5所示。该电路为同相放大电路,在运放的同相输入端接一个补偿电阻R30,以保证集成运放输入端差分放大电路外接电阻的对称性,在运放的反相输入端接一个大小为10 kΩ的电阻R40,在运放的反相输入端与输出端之间接一个滑动变阻器和10 kΩ大小的电阻R50,通过调节滑动变阻器来调节电路的放大倍数,根据图5可知该电路的放大倍数为1+(RP+R50)/R40。
图5 放大电路
2.5 限幅电路设计
利用二极管的单向导通原理设计的限幅电路如图6所示。当T1输入的电压高于4 V时,则电路向上导通,当T1输入的电压低于-0.7 V时,电路则向下导通。当电压处于-0.7 V和4 V之间时,则电路就会向右导通,从Q1输出。
图6 限幅电路
正常情况下,二极管的工作状态有正向导通和反相截止两个方式,利用二级管的此种特性可以设计系统所需要的限幅电路。限幅电路主要作用是限制电压信号的大小。
3 软件方案设计
本系统下位机部分由单片机控制,采用Keil软件编程;上位机部分由Python软件编程。本系统的软件设计流程图如图7所示。
图7 木材在线品质监测及评等系统的软件设计流程图
首先对STM32串口和各个模块进行初始化,包括STM32和各个模块的连接的串口以及上位机和下位机的串口通信检测,采集各个模块的数据,将模块数据通过串口传输至上位机,以此实现上位机和下位机之间的数据通信,接着利用传输过来的数据进行公式计算,将其分析得出的木材品质分等在上位机上可视化。
通过Python编程中的FFT算法将信号分别传入STM32单片机和串口,对进入STM32单片机的这部分信号进行A/D采集;然后,通过蝶形运算,算出前n阶频率;接着,创建Excel表格将数据导入,进行FFT分析;取峰值频率,通过弹性模量公式的计算,根据所测木材的弹性模量进行质量评等并且在上位机界面上显示。本文重点介绍弹性模量及其分等程序。
3.1 弹性模量计算及其分等
弹性模量E在本文中是一个非常重要的概念,它是对工程材料进行等级划分的一个不可或缺的性能参数,具体概念是指材料在受到外力作用时发生形变所需要的力。弹性模量是材料抵抗弹性变形能力的指标,通常在工程应用中都把它作为一个衡量材料优劣的指标。动态弹性模量的计算式如式(1)所示。
(1)
式中:ρ为气干密度(g/cm3);f1为一阶弯曲固有频率(Hz);L为试件的长度(m);h为试件厚度(m)。根据式(1)可算得木材的弹性模量。
弹性模量计算及分等代码:
def jisuan_E(self):
p=self.lineEdit_P.text()
p=float(p)
if (self.comboBox_fe.currentText()==“f1”):
f0=l_line_hz[0]
if (self.comboBox_fe.currentText()==“f2”):
f0=l_line_hz[1]
if (self.comboBox_fe.currentText()==“f3”):
f0=l_line_hz[2]
if (self.comboBox_fe.currentText()==“f4”):
f0=l_line_hz[3]
f0=float(f0)
print(f0)
up=0.9463*p*L**4*f0*f0
down=0.03*0.03*10**9
global jisuan1
jisuan1=up/down
print(jisuan1)
jisuan1=round(jisuan1,6)
self.textBrowser_E.setText(str(jisuan1))
def jisuan_pd(self):
global jisuan1
if jisuan1>=12:
# print("一等品")
self.textBrowser_N.setText("一等品")
elif jisuan1>=6.0 and jisuan1<=11.999:
# print("二等品")
self.textBrowser_N.setText("二等品")
else:
# print("不合格品")
self.textBrowser_N.setText("不合格品")
4 系统功能调试
系统功能调试通过对10块规格相同的单板层积材(LVL)试件进行试验,样品的气干密度是0.5 g/cm3,规格为500 mm×200 mm×20 mm,含水率为13%。所以计算出此样品的理想弹性模量的值为12,如果样品的弹性模量值大于12,则是一等品,如果样品的弹性模量在9~11.999之间,则为二等品,如果弹性模量在6~8.999之间,则为合格品,如果弹性模量小于6,则为不合格品。
根据一阶弯曲频率测算出LVL的弹性模量,最终评判出10块板材试件的三种等级品质结果,分别是一等品、二等品及不合格品。
通过弹性模量公式计算得出该批单板层积材试件的质量等级,FFT分析结果如图8所示。
图8 FFT分析结果
5 结束语
研究结果表明:本研究能确保使用PyQt5平台中设计搭建的图形化界面系统的稳定运行;通过Q/V转换的放大电路,实现对微弱信号的检测;通过滤波电路、限幅电路、A/D转换电路,完成对其模拟量的精确测量;通过使用弹性模量计算模块,完成对于单板层积材在线检测过程的实时品质分等。在各个部分组合的相互协作下,经过一些调试结果表明:本系统实现了设计之初的各项需求和功能,并且达到运行时能够稳定划分木材质量等级的目标。