掌桥专利:专业的专利平台
掌桥专利
首页

一种基于工业物联网的带电源扰动的光闪烁检测系统及其检测方法

文献发布时间:2023-06-19 13:45:04


一种基于工业物联网的带电源扰动的光闪烁检测系统及其检测方法

[技术领域]

本发明涉及光源频闪测试技术领域,具体地说是一种基于工业物联网的带电源扰动的光闪烁检测系统及其检测方法。

[背景技术]

近年来,随着新光源发光二极管的应用越来越广泛,针对健康照明的研究也越来越深入。其中闪烁逐渐被更多的人关注,经相关研究表明,长时间在闪烁或频闪的灯光中会引起精神疲劳、偏头痛等疾病。同时,国内外对LED光源及灯具都有了闪烁或频闪的测试要求,并且中国质量认证中心推出了频闪性能认证,欧盟把闪烁作为灯具必检项之一。由此可见,闪烁或频闪是健康照明领域不可回避,而且是灯具必须进行测试评价和优化设计的一个环节。

目前,国内外针对频闪测试评价工作已陆陆续续展开,出口欧盟的照明产品的ERP指令中要求频闪是必测项目,国内中国质量认证中心于2021年3月推出《照明产品频闪性能认证》。对于光频闪的检测涉及到的标准主要有IEEE Std 1789-2015《高亮LED波动电流对缓解观察者健康风险的IEEE推荐做法》、IEC/TR 61547-1:2020《普通照明用设备-电磁兼容抗扰度要求第1部分:客观光闪烁计和电压波动抗扰度的试验方法》和IEC/TR 63158:2018《普通照明用设备-照明设备频闪效应的客观试验方法》。当前国内针对频闪测试的设备不仅厂家较少,而且精度较低,针对同一个照明灯具测试出来的结果差异很大。不仅如此,在远程检测方面还是空白,无法满足当前市场的检测需求。

基于以上诸多问题,若能提供一种快捷、高效、精准的检测方法和检测系统,通过采用云计算、大数据、人工智能等最先进的技术,从检测到报告的一站式完成,既可以实现远程检测,又可以避免因人员技术基础的限制而无法达到精准检测,为第三方实验室和企业搭建了零距离检测的桥梁。

尽管已有专利参考:CN204789955U-一种照明产品频闪测试系统,但是该系统只是引入不透光的暗室设计,确保光电检测装置采集的数据正确,提高系统的测试精度。而根据以上标准的要求,该方法具有一定的局限性,不能在有外界电压波动干扰的情况下测试闪烁,不能满足标准IEC/TR 61547-1:2020的要求。此外,针对三个标准IEC/TR 61547-1:2020、IEC/TR 63158:2018、IEEE Std 1789-2015的算法和物联网测试系统的搭建没有给出相应的方法。

[发明内容]

本发明的目的就是要解决上述的不足而提供一种基于工业物联网的带电源扰动的光闪烁检测系统,既可以实现远程检测,又可以避免因人员技术基础的限制而无法达到精准检测,为第三方实验室和企业搭建了零距离检测的桥梁。

为实现上述目的设计一种基于工业物联网的带电源扰动的光闪烁检测系统,包括数据采集系统、控制系统和后台处理系统,所述数据采集系统包括暗室1、示波器2和光电接收器3,所述控制系统包括可编程电源5和中控平台6,所述后台处理系统包括客户端7、云服务器8和后台处理计算机9;所述示波器 2、光电接收器3和被测样品4均置于暗室1内,所述暗室1为无杂散光进入的密闭性空间,所述光电接收器3通过线路连接在示波器2上,所述光电接收器3 用于采集被测样品4所发出来的高频光信号,所述被测样品4通过线路连接在可编程电源5一端,并通过可编程电源5为其供电,所述可编程电源5、示波器 2另一端均通过线路连接至中控平台6,所述中控平台6通过线路连接云服务器 8,所述云服务器8分别连接客户端7、后台处理计算机9,所述客户端7通过测试要求发送相关指令到中控平台6以控制可编程电源5输出相应的电信号来点亮被测样品4,所述中控平台6控制可编程电源5的电源输出,并通过示波器 2接收光电接收器3收集的高频光信号,所述中控平台6通过无线传输系统将接收到的光信号发送到云服务器8,所述后台处理系统将云服务器8接收到的数据通过后台处理计算机9完成计算并呈现出最后的结果以及出具检测报告。

进一步地,所述示波器2和光电接收器3为一套用于接收高频光信号的光信号采集和显示系统,所述示波器2通过网线、数据线或无线网连接中控平台6,并将探测到的光信号数据传输到中控平台6,所述光电接收器3为一个接收高频光信号的信号采集器。

进一步地,所述可编程电源5通过网线或数据线连接到中控平台6,所述可编程电源5接受中控平台6的控制信号并做出输出响应,以输出被测样品4所需要的电参数来点亮被测样品4。

进一步地,所述中控平台6通过有线或无线方式来接收和发送信号,并将处理好的数据通过无线发射模块发送至云服务器8。

进一步地,所述客户端7为测试操作端,所述客户端7控制中控平台6按照要求进行测试,所述客户端7将云服务器8的测试数据通过后台处理计算机9 和计算软件进行计算,以完成测试并出具报告。

进一步地,所述数据采集系统收集灯具和光源的光输出波形,并通过控制系统发送至后台处理系统,所述后台处理系统采用微服务架构,并通过系统中的日志系统查看是否有攻击的情况以及集群的资源使用情况。

进一步地,所述光闪烁检测系统的部署采用docker加kubernetes进行部署,将每一个微小的服务打包成docker,镜像部署在服务器,再使用Kubernetes 统一管理每一个微服务;当服务器硬件资源不够使用时动态的添加机器,以扩展系统的整体性能。

本发明还提供了一种基于工业物联网的带电源扰动的光闪烁检测方法,包括以下步骤:

1)连接好检测系统,先将稳定好的60W白炽灯作为被测样品4安装到支架上,然后通过客户端7设置可编程电源5在输出230V、50Hz的同时施加8.8Hz 调制频率和0.275%的相对电压波动的电信号给到被测样品4;

2)将光电接收器3放置在被测样品4下方能接收到光的地方,采集180秒以上的光信号,并将测试数据传输到后台处理计算机9,并通过计算软件进行处理得到计算结果;

3)将上述测试得到的光信号数据以四个数学模型为基础,使用python语言进行程序代码编译与计算分析,即可得出光闪烁计算结果

该光闪烁检测方法种,四个数学模型具体如下:

模块1:照度适配器

照度适配电路:

一阶低通滤波器传递函数:

模块2:加权滤波器

眼睛-大脑反应加权滤波器:

基准60W白炽灯的模拟频率响应函数:

标准电压闪烁计的传递函数:

由以上(1)(2)(3)(4)可以得到

模块3:平方乘法器、滑动均值滤波器和放大器

白炽灯的照度波形:E(t)={1+(d

模块4:统计分析

E(t)={1-(d

式中,S是复数拉普拉斯变量;τ

本发明同现有技术相比,提供了一种快捷、高效、精准的检测方法和物联网检测系统,通过采用云计算、大数据、人工智能等最先进的技术,从检测到报告的一站式完成,既可以实现远程检测,又可以避免因人员技术基础的限制而无法达到精准检测,为第三方实验室和企业搭建了零距离检测的桥梁;而且,本发明能够有效结合当前测试标准的要求,简易高效地完成带电源扰动的光闪烁检测工作,不仅可以减少测试人员的工作量,还可以通过物联网实现远程检测,解决了传统实验室光闪烁测试的复杂性,值得推广应用。

[附图说明]

图1是本发明的结构示意图;

图中:1、暗室 2、示波器 3、光电接收器 4、被测样品 5、可编程电源 6、中控平台7、客户端 8、云服务器 9、后台处理计算机 11、数据线。

[具体实施方式]

下面结合附图对本发明作以下进一步说明:

本发明涉及设备物联、远程控制、光信号采集、数据传输及分析、云计算、频闪危害评估等技术领域,具体地说是一种基于工业物联网的带电源扰动的光闪烁检测系统及其检测方法。

如附图1所示,所述的基于工业物联网的带电源扰动的光闪烁检测系统,包括数据采集系统、控制系统和后台处理系统,其中,数据采集系统由暗室1、示波器2、光电接收器3和被测样品4组成;控制系统由可编程电源5和中控平台6组成;后台处理系统由客户端7、云服务器8、后台处理计算机9和计算软件组成。示波器2、光电接收器3和被测样品4放置在暗室1内,暗室1是一个空间足够大的、无杂散光进入的密闭性空间;光电接收器3是连接在示波器2 上的采集被测样品4所发出来的能接收高频光信号的接收器;被测样品4是通过可编程电源5为其供电的常见样品;可编程电源5一端连接到中控平台6,一端输出连接到被测样品4,这样客户端7可以通过测试要求发送相关指令到中控平台6来控制可编程电源5输出相应的电信号(主要有电压、电流、频率)来点亮被测样品;中控平台6通过线路连接云服务器8,云服务器8分别连接客户端7、后台处理计算机9;中控平台6一端连接到可编程电源5控制电源输出,一端通过网线连接示波器2接收高频光电接收器收集的光信号,另外还将接收到的光信号整理好后通过无线传输系统将接收到的光信号发送到云服务器8;后台处理系统将云服务器接收到的数据通过计算机9和计算软件完成计算并呈现出最后的结果并直接出具检测报告。

其中,暗室1是一个不受外界杂散光干扰的内部反射率极低的密闭性空间,可以容置示波器2、光电接收器3、被测样品4和测试人员。示波器2和光电接收器3是一套可以接收高频光信号的光信号采集和显示系统,示波器2可以通过网线、数据线或无线网连接并将探测到的光信号数据传输到中控平台6,光电接收器3是一个可以接收高频光信号的信号采集器。被测样品4是一个有支架固定住的灯具或光源,可以通过可编程电源5点亮。可编程电源5是一个可以稳定输出电信号的稳定性高的电源,可以通过外界的软件输入相应的信号来控制其输出被测样品所需要的电参数来点亮被测样品4,可编程电源5可以通过网线连接到中控平台6,接受中控平台6的控制信号并做出输出响应。示波器2和电光接收器3所组成的光信号采集系统可以通过光信号采集器替代,但该采集器需具备接收高频光信号的信号采集系统,并且可以将采集到的信号传输到中控平台6。

中控平台6具备信号接收和发送功能,可以通过有线或无线来接收和发送信号,本系统采用但并不限于网线或数据线来接收示波器或类似设备所采集的光信号,并将处理好的数据通过无线发射模块发送至云服务器8,云服务器8是一个具备较大容量和较高传输速度的计算机系统。中控平台6还通过网线或数据线连接到可编程电源5,按照标准的测试要求来控制电源的输出参数,从而实现被测样品4按照要求点亮来完成测试。客户端7是测试操作端,是测试需求的操控端,可以控制中控平台6按照要求来进行测试,同时将云服务器8的测试数据通过后台处理计算机9和计算软件进行计算,完成测试并出具报告。计算软件是可以按照IEC/TR 61547-1:2020标准要求来处理和计算测试结果的软件系统,并且可以按照相应要求出具相关参数的测试报告并完成WORD编辑。

本发明中,数据采集系统主要是收集灯具和光源的光输出波形,通过中控系统发送到后台处理系统。后台处理系统主要采用的是微服务架构,不会因为意外情况导致系统瘫痪,长时间稳定的对外提供服务,能够7*24小时实时监控整体情况。通过系统中的日志系统能够很好的查看系统的整体情况,例如:是否有攻击的情况,集群的资源使用情况等。另外,该集群将认证系统单独独立出来,目的是为了不让认证体系暴露在公网,从而保证了整套系统的安全性。

对于数据方面,本发明采用主从数据库和一个备份的数据库,当主数据库出现意外,从数据库可以立刻对外提供服务,并且可以实时进行数据备份,以保证数据的可靠性和安全性。检测系统的部署采用docker加kubernetes进行部署,将每一个微小的服务打包成docker,镜像部署在服务器,再使用 Kubernetes统一管理每一个微服务;当服务器硬件资源不够使用可以动态的添加机器,已扩展系统的整体性能。

本发明还提供了一种基于工业物联网的带电源扰动的光闪烁检测方法,包括以下步骤:

1)连接好测试系统,先将稳定好的60W白炽灯作为被测样品4安装到支架上,然后通过客户端7设置可编程电源5在输出230V,50Hz的同时施加8.8Hz 调制频率和0.275%的相对电压波动的电信号给到被测样品;

2)将光电接收器3放置在被测样品下方能接收到光的地方,采集180秒以上的光信号,并将测试数据传输到计算机9,并通过计算软件进行处理得到计算结果;

3)将上述测试得到的光信号数据以四个数学模型为基础,使用python语言进行程序代码编译与计算分析,即可得出光闪烁计算结果

四个模块的具体数学模型如下:

模块1:照度适配器

照度适配电路:

一阶低通滤波器传递函数:

模块2:加权滤波器

眼睛-大脑反应加权滤波器:

基准60W白炽灯的模拟频率响应函数:

标准电压闪烁计的传递函数:

由以上(1)(2)(3)(4)可以得到

模块3:平方乘法器、滑动均值滤波器和放大器

白炽灯的照度波形:E(t)={1+(d

模块4:统计分析

E(t)={1-(d

式中,S是复数拉普拉斯变量;τ

部分核心程序代码如下:

def ft_example():

data=pd.read_csv('./50s.csv',sep=',')

data.columns=['time','num']

y=data['num']

x=data['time']

yy=fft(y)#快速傅里叶变换

yreal=yy.real#获取实数部分

yimag=yy.imag#获取虚数部分

yf=abs(fft(y))#取模

yf1=abs(fft(y))/((len(x)/2))#归一化处理

yf2=yf1[range(int(len(x)/2))]#由于对称性,只取一半区间

xf=np.arange(len(y))#频率

xf1=xf

xf2=xf[range(int(len(x)/2))]#取一半区间

#原始波形

plt.subplot(221)

plt.plot(x[0:200],y[0:200])

plt.title('Original wave')

#混合波的FFT(双边频率范围)

plt.subplot(222)

plt.plot(xf,yf,'r')#显示原始信号的FFT模值

plt.title('FFT of Mixed wave(two sides frequency range)', fontsize=7,color='#7A378B')#注意这里的颜色可以查询颜色代码表

#混合波的FFT(归一化)

plt.subplot(223)

plt.plot(xf1,yf1,'g')

plt.title('FFT of Mixed wave(normalization)',fontsize=9, color='r')

plt.subplot(224)

plt.plot(xf2,yf2,'b')

plt.title('FFT of Mixed wave)',fontsize=10,color='#F08080')

plt.show()

def percent_flicker(l_vector):

”'

#照度闪烁百分比

:param l_vector:#样本向量

:param fs:#采样频率

:return:

”'

l_vector=np.array(l_vector).reshape(1,len(l_vector))

l_av=np.mean(l_vector)

A=np.max(l_vector)

B=np.min(l_vector)

P_fl=100*(A-B)/(A+B)

return P_fl;

def flickerIndex(l_vector):

avgL=np.mean(l_vector)

w=np.array(l_vector).reshape(len(l_vector),1)-np.tile(avgL,(len(l _vector),1))

w=np.where(w>0,w,0)

a1=np.sum(w)

a2=sum(l_vector)

fi=a1/a2

return fi;

def light_flickermeter_metric_PstLM(l_vector,FS):

l_vector=np.array(l_vector).reshape(1,len(l_vector))

u_0=l_vector/np.mean(l_vector)

#设置滤波器

HIGHPASS_ORDER=1

HIGHPASS_CUTOFF=0.05;

LOWPASS_CUTOFF=35;

LOWPASS_ORDER=6;

u_0_ac=u_0-np.mean(u_0)#减去直流分量

b_hp,a_hp=signal.butter(HIGHPASS_ORDER,HIGHPASS_CUTOFF/(FS /2),'highpass')#配置滤波器8表示滤波器的阶数

u_hp=signal.filtfilt(b_hp,a_hp,u_0_ac)#data为要过滤的信号

u_hp=np.array(u_hp)

smooth_limit=min(round(FS/10),u_hp.shape[1])

smooth_limit=int(smooth_limit)

linspace_data=np.linspace(0,1,smooth_limit)[np.newaxis, 0:smooth_limit]

u_hp[0,0:smooth_limit]=u_hp[0,0:smooth_limit]*linspace_data #升维

b_bw,a_bw=signal.butter(LOWPASS_ORDER,LOWPASS_CUTOFF/(FS/ 2),'lowpass')

u_bw=signal.filtfilt(b_bw,a_bw,u_hp)

u_bw=np.array(u_bw)

num1=[0.041661,44.758,2715.6,29839,0]

den1=[1,196.32,11781,534820,3505380]

SCALING_FACTOR=1.101603155420234e+06#输出按比例缩放

b_w,a_w=signal.bilinear(num1,den1,FS)

u_w=signal.filtfilt(b_w,a_w,u_bw)

u_w=np.array(u_w)

u_q=u_w**2

#一阶低通滤波器

LOWPASS_2_ORDER=1

LOWPASS_2_CUTOFF=1/(2*math.pi*300e-3)

b_lp,a_lp=signal.butter(LOWPASS_2_ORDER,LOWPASS_2_CUTOFF /(FS/2),'lowpass')

s=SCALING_FACTOR*lfilter(b_lp,a_lp,u_q)

#np.save('4.txt',s)

P_inst=s

tau_transient=20#以秒为单位的瞬态时间

n_transient=tau_transient*FS

s=s[0,int(n_transient):]

NUMOF_CLASSES=10000

ret=plt.hist(s,NUMOF_CLASSES)

cum_probability=100*(1-np.cumsum(ret[0]/np.sum(ret[0])))

#计算各百分位数

p_50s=np.mean([get_percentile(cum_probability,ret[1],30), get_percentile(cum_probability,ret[1],50),get_percentile(cum_probabi lity,ret[1],80)])

p_10s=np.mean([get_percentile(cum_probability,ret[1],6), get_percentile(cum_probability,ret[1],8), get_percentile(cum_probability,ret[1],10), get_percentile(cum_probability,ret[1],13), get_percentile(cum_probability,ret[1],17)]);

p_3s=np.mean([get_percentile(cum_probability,ret[1],2.2), get_percentile(cum_probability,

ret[1],3),get_percentile(cum_probability,ret[1],4)])

p_1s=np.mean([get_percentile(cum_probability,ret[1],0.7), get_percentile(cum_probability,ret[1],1),get_percentile(cum_probabi lity,ret[1],1.5)])

p_0_1=get_percentile(cum_probability,ret[1],0.1)

PstLM=np.sqrt(0.0314*p_0_1+0.0525*p_1s+0.0657*p_3s +0.28*p_10s+0.08*p_50s);#计算结果,得到Pst

return PstLM,s;

def get_percentile(cum_probability,magnitude,limit):

data=np.abs(cum_probability-limit)

min_data=np.min(data)

index=data.tolist().index(min_data)

return magnitude[index];

本发明并不受上述实施方式的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

技术分类

06120113794738