前两天,看到头条上有一个有趣的帖子,讨论为什么普通灯泡里通有交流电,电流的大小方向时时刻刻都在改变,而我们看不到灯泡在闪烁?
这个问题如果我再向自己已经上大学的儿子提出,他会嘲笑这问题太简单了。帖子的作者也大体罗列了两个原因,使得人感觉不到灯泡在闪烁:
▲ 视觉暂留效果
人类感知灯光闪烁的能力与视觉暂留现象还不完全一致,人们对于灯光闪烁感知的频率远远高于视觉暂留(大约1/15秒钟左右)对应的频率。为了消除闪烁影响,普通胶片电影播放机对每一帧图片要闪烁两次。
人眼不同部位对于闪烁感知能力也不同。视觉边缘(人眼余光)部分能够感知闪烁的频率比人眼中心位置更高,因此由此侧目能够看到某些闪烁,当正眼看的时候就觉察不出来了。
由于视觉暂留涉及到人的感知能力,不太容易测量。但是对于普通的灯具发出的光强到底变化大多,变化的频率有多少是可以通过光电传感器测量的。
在 SP-45ML光电二极管放大电路及其动态特性 中介绍了一个基于SP-45ML光电管的光强测量电路及其动态特性,它的输出电压与输入光强(光的能量)成线性关系。相应频率大于25kHz,可以用来对于常见到的灯光的光强变化进行的测量。
▲ SP-45ML光电二极管放大模块及其光导纤维
根据测量结果可以确定常见到的灯具:
下面选择办公室里有的几种灯泡,点亮后使用 光导纤维 将灯光引入 SP-45ML光电二极管放大模块 。使用示波器观察测量模块输出电压波形,反映灯光强度的变化。
白炽灯是由电功率所产生的热能使得灯泡内钨丝达到高温后发射出热辐射。热辐射的大小和频谱与灯丝温度有关系。在平稳状态下,输入电功率与辐射能力(保安热传导耗散能量)保持平衡。灯泡消耗的热能量与输入电压幅值,灯丝(热)电阻都有关系。
▲ 小型白炽灯的亮度测试
下图显示了灯泡的光强信号(蓝色)和施加电压信号(橙色,经过变压器降压耦合后的波形)。 可以看到白炽灯的光强变化的频率是输入交流电压频率的两倍(100Hz)。
▲ 交流电与光强波形
由于灯丝的热惯性,所以发射的光强是在一定范围内波动,波形呈现为正弦波。波动的范围是光强平均值的50%左右。下面是具体的测量数据。
下面是另外一个白色LED灯。外观与一只白炽灯泡相类似,内部包括有交流转直流和LED驱动电路、LED灯盘封装在一起。
▲ LED灯
测量到的光强(蓝色)信号基本上是恒定。不随着交流电压的变化而改变。我们知道 LED光强与流过的电流成正比 ,这类灯泡内驱动 LED电路往往具有恒流功能 ,所以整体光强较为恒定。
▲ 交流电与光强曲线
为了提高效率,LED驱动电路采用PWM驱动。所以如果放大光强信号,可以看到LED灯光强呈现高频波动的情况,频率大约为10kHz。光强的变化频率很高。远远超过人类能够感知的频域范围。
▲ LED灯亮度高频波动
具体测量光强波动的范围,大约是36%左右。
这是办公室中另外一个小型日光灯。它的内部安装有电子镇流器,所产生的高压脉冲能够激发日光灯管点亮。
▲ 小型日光灯的光强变化
下图显示了小型日光灯的亮度变化。可以看到它的亮度变化幅度很小,频率是100Hz。从亮度曲线上来看基板上是全波整流,电容滤波之后带动负载的电压波形。
这说明在小型日光灯内的电子镇流器没有对全波整流之后的直流电压进行稳压,而且滤波电容的容值相对较小。
▲ 日光灯光强
下面是具体亮度变化数值。亮度变化幅值大约为21%左右。
现在办公室中还是用着普通的日光灯。这种光源在1934年被发明以来仍然被广泛使用。
虽然灯管在屋顶,借助于长长的光导纤维很容易将灯光引入光强测量模块。
▲ 普通的日光灯管
下图显示了普通的日光灯的光强随着输入电压的变化的情况。和前面白炽灯相比,日光灯光强波动也是100Hz,但波动的波形不一样。白炽灯由于是灯丝的热惯性,所以光强波动呈现出正弦波动曲线。日光灯的光强实际上利用了荧光粉的余辉现象,光强并没有随着电压降低下降到0。当电压重新升高,所激发出的紫外线超过余辉强度后,光强立即上升,此时并没有热惯性,所以光强由弱变强非常快。
▲ 普通日光灯光强变化
通过对光强数值分析,可以看到日光灯的光强变化范围很大。光强变化与平均值相比接近90%!
日光灯光强变化这么大,为什么平时觉察不到呢?主要原因还是因为变化频率(100Hz)超出了人眼感知的范围)。不过据说某些人可以利用眼的余光能够还是能够感知到这100Hz的闪烁。
下面是在实验台上对于样品拍照时补光用的小型卤素灯泡,本质上也是白炽灯,只是内部增加了卤素气体来延长灯泡的使用寿命。
▲ 小型卤素灯泡
下面是该灯泡强度变化(蓝色),相比于前面白炽灯,它的光强变化更小。大约只有20%左右。
▲ 小型卤素灯的亮度变化
由于白炽灯消耗的电能与输入电压的平方成正比,所以它的亮度变化是输入交流电频率的两倍。如果使用二极管将输入交流电进行半波整流,那么灯泡的亮度变化就应该与输入交流电的频率一致了。
▲ 半波整流对白炽灯供电
下图显示了交流电经过一支二极管之后施加在白炽灯上,灯泡亮度的变化。 亮度变化与输入电压的频率一致,都是50Hz。同时亮度变化幅值也大大增加了,亮度变化之与平均值的比值达到了150%左右。
▲ 半波整流后的白炽灯亮度
如果现场观察经过经过半波整流后驱动的白炽灯,实际上是可以感知到它在闪烁的。
通过简单的SP-45ML光电二极管测量普通的灯具光强的亮度变化,可以看到有几种不同的情况:
在国内,交流电频率为50Hz,普通灯具的光强频率都会超过100Hz,人眼不会感知到灯光闪烁。
在有的时候,普通的日光灯如果一端的灯丝损耗较大,使得发射电子的能力远远低于另外一端,此时日光灯的就具有类似二极管整流的特性。此时灯光闪烁频率就是50Hz。很多人就会感觉到灯光在闪烁。
如果你感觉到头上的日光灯闪烁了,是时候该更换一只新的灯管了。
■ 相关文献链接:
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY -- by Dr. ZhuoQing 2020-09-10
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa import *
ds6104open()
x,y1,y2 = ds6104readcal(1,2)
y2 = [c/30 for c in y2]
tspsave('measure', x=x,y1=y1, y2=y2)
plt.plot(x, y1, label='Intensity')
plt.plot(x, y2, label='AC')
plt.xlabel('Time(s)')
plt.ylabel('Voltage(V)')
plt.axis([min(x), max(x), -1, 5])
plt.grid(True)
plt.legend(loc='upper right')
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST2.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# MEAS.PY -- by Dr. ZhuoQing 2020-09-10
#
# Note:
#============================================================
from headm import *
from tsmodule.tsdraw import *
x, y1, y2 = tspload('measure', 'x', 'y1', 'y2')
printf(mean(y1), min(y1), max(y1), max(y1) - min(y1))
pltgif = PlotGIF()
datalen = len(x)
pltlen = int(datalen * 0.7)
plotstep = 50
pltdelta = datalen - pltlen
for i in range(plotstep):
startid = int(pltdelta * i / plotstep)
endid = startid + pltlen
plt.clf()
plt.plot(x[startid:endid], y1[startid:endid])
plt.plot(x[startid:endid], y2[startid:endid])
plt.xlabel("Time(s)")
plt.ylabel("Intensity")
plt.axis([min(x[startid:endid]), max(x[startid:endid]), -1, 5])
plt.grid(True)
plt.tight_layout()
plt.draw()
plt.pause(.001)
if i > 0:
pltgif.append(plt)
pltgif.save(r'd:\temp\1.gif')
printf('\a')
#------------------------------------------------------------
# END OF FILE : MEAS.PY
#============================================================