写一个测量MOS管IDVG曲线的程序
时间: 2023-09-17 19:07:24 浏览: 53
以下是一个测量MOS管IDVG曲线的Python程序,使用Keithley 2400仪器进行测试,需要通过GPIB接口连接到计算机:
```python
import visa
import numpy as np
import time
# 初始化GPIB通信
rm = visa.ResourceManager()
keithley = rm.open_resource('GPIB0::24::INSTR')
# 设置仪器参数
keithley.write('*RST')
keithley.write(':SENS:FUNC "CURR"')
keithley.write(':SENS:CURR:PROT 0.1')
keithley.write(':SENS:CURR:RANG:AUTO ON')
keithley.write(':SENS:CURR:NPLC 1')
keithley.write(':FORM:ELEM CURR,VOLT')
keithley.write(':OUTP ON')
# 设置测试范围
V_GS_start = 0.0 # 起始Gate-source电压
V_GS_stop = 5.0 # 终止Gate-source电压
V_GS_step = 0.1 # 步进电压
V_DS = 1.0 # Drain-source电压
# 初始化数据存储数组
V_GS_list = np.arange(V_GS_start, V_GS_stop + V_GS_step, V_GS_step)
I_DS_list = np.zeros_like(V_GS_list)
# 开始测试
for i in range(len(V_GS_list)):
keithley.write(':SOUR:VOLT:LEV {}'.format(V_GS_list[i]))
time.sleep(0.1)
I_DS_list[i] = float(keithley.query(':READ?'))
# 关闭仪器输出
keithley.write(':OUTP OFF')
# 绘制IDVG曲线
import matplotlib.pyplot as plt
plt.plot(V_GS_list, I_DS_list)
plt.xlabel("Gate-source voltage (V)")
plt.ylabel("Drain-source current (A)")
plt.show()
```
这个程序首先通过GPIB通信初始化了Keithley 2400仪器,设置了测试参数和范围,并使用循环逐步改变Gate-source电压并测量对应的Drain-source电流。最后将得到的数据绘制成IDVG曲线。