用pyvisa 1.13.0版本 visa1.0.0在仪器安捷伦33120A和EG&G 7265 DSP Lock-in Amplifier扫描音叉谐振子频率并绘图的完整python代码利用import pyvisa as visa
时间: 2024-02-11 13:05:28 浏览: 141
Python-PyVisa:使用PyVisa控制测试设备的基本功能
以下是使用 PyVISA 库连接到安捷伦 33120A 信号发生器和 EG&G 7265 DSP 锁相放大器,扫描音叉谐振子频率并绘图的完整 Python 代码:
```
import pyvisa as visa
import numpy as np
import matplotlib.pyplot as plt
# 连接到安捷伦 33120A 信号发生器
rm = visa.ResourceManager()
sig_gen = rm.open_resource('GPIB0::10::INSTR')
# 连接到 EG&G 7265 DSP 锁相放大器
lockin = rm.open_resource('GPIB0::12::INSTR')
# 设置锁相放大器的灵敏度
lockin.write('SEN 24')
# 设置扫描的频率范围和步长
freq_start = 1000
freq_stop = 2000
freq_step = 10
# 初始化扫描结果列表
freq_list = []
amp_list = []
# 扫描音叉谐振子频率并测量振幅
for freq in np.arange(freq_start, freq_stop, freq_step):
# 设置信号发生器的频率
sig_gen.write(f'FREQ {freq} Hz')
# 等待稳定
time.sleep(0.1)
# 读取锁相放大器的振幅值
amp = lockin.query_ascii_values('OUTP?1')[0]
# 将扫描结果添加到列表中
freq_list.append(freq)
amp_list.append(amp)
# 绘制扫描结果图像
plt.plot(freq_list, amp_list)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude (V)')
plt.show()
```
这段代码首先使用 PyVISA 库连接到 GPIB 地址为 10 和 12 的仪器,分别为安捷伦 33120A 信号发生器和 EG&G 7265 DSP 锁相放大器。然后设置锁相放大器的灵敏度为 24,并指定扫描的频率范围、步长等参数。接着使用 for 循环扫描音叉谐振子频率,并读取锁相放大器的振幅值,将扫描结果保存到列表中。最后使用 Matplotlib 库绘制扫描结果图像。
阅读全文