本文最后更新于149 天前,其中的信息可能已经过时,请自行注意文章有效性。
题目要求
电压(V) | 0 | 2 | 4 | 6 | 8 | 10 | ||
照度
lx |
0 | 电流(μA) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
10 | 电流(μA) | 0.0 | 17.5 | 18.0 | 18.4 | 18.7 | 20.6 | |
20 | 电流(μA) | 0.0 | 29.2 | 29.8 | 30.4 | 30.7 | 31.2 | |
30 | 电流(μA) | 0.0 | 41.6 | 42.6 | 43.2 | 43.9 | 44.3 | |
40 | 电流(μA) | 0.0 | 57.3 | 58.6 | 59.6 | 60.5 | 61.5 | |
50 | 电流(μA) | 0.0 | 71.5 | 72.7 | 73.2 | 74.1 | 75.1 | |
60 | 电流(μA) | 0.0 | 88.9 | 91.0 | 92.6 | 94.0 | 95.2 | |
70 | 电流(μA) | 0.0 | 102.0 | 104.3 | 106.0 | 107.5 | 109.1 | |
80 | 电流(μA) | 0.0 | 118.4 | 121.2 | 123.3 | 125.2 | 126.8 | |
90 | 电流(μA) | 0.0 | 135.4 | 138.6 | 141.1 | 141.3 | 145.0 | |
100 | 电流(μA) | 0.0 | 161.0 | 164.8 | 167.5 | 170.1 | 172.2 |
要求如下:
1)绘制光敏三极管的光照特性曲线图以及伏安特性曲线图;
2)100lx的光照条件下,得到伏安特性的线性模型(U=kI+b),计算线性度并判断该三极管是否适合当作测量元件。
3)若该三极管适合当测量元件,请分析三极管可以测量什么物理量,并给出方案;若该三极管不适合当作测量元件,请给出三极管的其他应用,并给出方案。
题目回答
第一题
import matplotlib.pyplot as plt import numpy as np from pylab import mpl mpl.rcParams["font.sans-serif"] = ["SimHei"] V = np.array([0, 2, 4, 6, 8, 10]) lx = np.array([0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]) I = np.array([ [0, 0, 0, 0, 0, 0], [0, 17.5, 18, 18.4, 18.7, 20.6], [0, 29.2, 29.8, 30.4, 30.7, 31.2], [0, 41.6, 42.6, 43.2, 43.9, 44.3], [0, 57.3, 58.6, 59.6, 60.5, 61.5], [0, 71.5, 72.7, 73.2, 74.1, 75.1], [0, 88.9, 91, 92.6, 94, 95.2], [0, 102, 104.3, 106, 107.5, 109.1], [0, 118.4, 121.2, 123.3, 125.2, 126.8], [0, 135.4, 138.6, 141.1, 141.3, 145], [0, 161, 164.8, 167.5, 170.1, 172.2], ])
# 绘制光照特性曲线图 plt.figure(figsize=(20, 6)) # 绘制伏安特性曲线图 plt.subplot(1, 2, 1) for i, illuminance in enumerate(lx): plt.plot(V, I[i], label=f'{illuminance}lx') plt.title('伏安特性曲线图') plt.xlabel('电压 (V)') plt.ylabel('电流 (μA)') plt.legend()
plt.figure(figsize=(8, 6)) for f, V in enumerate(V): plt.plot(lx, I[:,-f], label=f'{V}lx') plt.title('光照特性曲线图') plt.xlabel('电压 (V)') plt.ylabel('电流 (μA)') plt.legend() plt.tight_layout() plt.show()
第二题
from sklearn.linear_model import LinearRegression V_100lx = V.reshape(6,1) I_100lx = I[-1] V_100lx,I_100lx
output:(array([[ 0], [ 2], [ 4], [ 6], [ 8], [10]]), array([ 0. , 161. , 164.8, 167.5, 170.1, 172.2]))
model = LinearRegression() model.fit(V_100lx, I_100lx) slope = model.coef_[0] intercept = model.intercept_ r_squared = model.score(V_100lx, I_100lx) predicted_currents = model.predict(V_100lx) linearity = r_squared * 100 print('斜率为','%2f'%slope, '\n截距为','%2f'%intercept,'\n线性度为', '%2f'%linearity)
output:斜率为 12.728571 截距为 75.623810 线性度为 48.566287
plt.figure(figsize=(18, 6)) plt.subplot(1, 2, 2) plt.plot(V, I[-1], 'o-', label='100lx 下的伏安特性') plt.plot(V,slope*V+intercept,label='100lx 下的拟合曲线') plt.title('伏安特性曲线图 (100lx)') plt.xlabel('电压 (V)') plt.ylabel('电流 (μA)') plt.legend() plt.tight_layout() plt.show()
第三题
鉴于线性度较低,这表明该光敏三极管可能不太适合直接用作精密的测量元件,尤其是在需要高精度线性响应的场合。不过,光敏三极管在变化的光照条件下能产生不同的电流响应,这一特性仍然使其在一些应用场合中非常有用。例如,它可以被用于光电耦合器的受光接受光信号,将光信号转化成电信号。
在光电耦合器输入端加入电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的光敏三极管上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电—光—电的转换。利用三极管单向导通以及其具有饱和区的原理,光电耦合器可以做到单向电信号导通,抗干扰性强,且电流输出稳定可靠。