用python代码实现“用 电压扫描命令将其设置到 Sourcemeter 的输出端口上。接着使用 time.sleep 命令等待一段时间,这里是 0.3 秒,以确保电压已经稳定输出。最后使用 k2401.read_current 命令读取此时 Sourcemeter 上的电流值,并将其存储在列表 Ilist 中。电压值和测量的电流值保存到一个excel表格里面,并保存到E盘测试文件夹中,再用代码画出这个表格里面的数据图
时间: 2024-02-03 19:12:24 浏览: 73
以下是实现上述功能的Python代码:
```python
import visa
import time
import openpyxl
import matplotlib.pyplot as plt
# 连接 Sourcemeter
rm = visa.ResourceManager()
k2401 = rm.open_resource('GPIB0::24::INSTR')
# 设置输出端口和电压值
k2401.write('smua.source.func = smua.OUTPUT_DCVOLTS')
k2401.write('smua.source.levelv = 1.0')
# 等待电压稳定
time.sleep(0.3)
# 读取电流值
Ilist = []
for i in range(10):
Ilist.append(float(k2401.query('print(smua.measure.i())')))
# 将数据保存到Excel表格
wb = openpyxl.Workbook()
ws = wb.active
ws.title = 'Data'
ws['A1'] = 'Voltage (V)'
ws['B1'] = 'Current (A)'
for i in range(10):
ws.cell(row=i+2, column=1, value=1.0)
ws.cell(row=i+2, column=2, value=Ilist[i])
wb.save('E:\\test\\data.xlsx')
# 绘制数据图
plt.plot([1.0]*10, Ilist)
plt.xlabel('Voltage (V)')
plt.ylabel('Current (A)')
plt.title('Current vs. Voltage')
plt.savefig('E:\\test\\data.png')
```
需要注意的是,上述代码中的 GPIB 地址和电压值需要根据实际情况进行修改。此外,需要安装 pyvisa、openpyxl 和 matplotlib 库。
阅读全文