用pyvisa 1.13.0版本 visa1.0.0在仪器安捷伦33120A和EG\&G 7265 DSP Lock-in Amplifier 设置7265的灵敏度,输入模式,检测模式,参考源的浮动模式,耦合模式,开启低通滤波器,输入增益,前置放大器的电路模式,时间常数,参考信号的谐波次数。并设置33120A的峰峰值vpp,设置正弦波的频率和幅值,直流偏置电压,设置信号发生器输出信号的幅值去扫描音叉谐振子频率和振幅并绘出图像的python代码利用import pyvisa as visa
时间: 2023-12-11 18:03:48 浏览: 82
版本为ceres-solver-1.13.0,对应的是ros-melodic的环境,激光--cartographer中使用
5星 · 资源好评率100%
好的,以下是您需要的Python代码,其中包含了设置仪器参数、扫描谐振子频率和振幅并绘图的代码:
```python
import pyvisa as visa
import numpy as np
import matplotlib.pyplot as plt
# 创建visa资源管理器
rm = visa.ResourceManager()
# 连接安捷伦33120A信号发生器
sig_gen = rm.open_resource('GPIB0::10::INSTR')
# 连接EG&G 7265 Lock-in放大器
lock_in_amp = rm.open_resource('GPIB0::1::INSTR')
# 设置7265的灵敏度为10mV
lock_in_amp.write('SENS 13')
# 设置7265的输入模式为A-B
lock_in_amp.write('INP 0')
# 设置7265的检测模式为RMS
lock_in_amp.write('DET 1')
# 设置7265的参考源为外部参考源并选择浮动模式
lock_in_amp.write('FMOD 1')
# 设置7265的耦合模式为AC
lock_in_amp.write('COUP 0')
# 开启7265的低通滤波器
lock_in_amp.write('OFSL 1')
# 设置7265的输入增益为10
lock_in_amp.write('IGND 2')
lock_in_amp.write('ICPL 0')
lock_in_amp.write('ISRC 0')
lock_in_amp.write('SENS 13')
# 设置7265的前置放大器电路模式为A-B
lock_in_amp.write('INP 0')
# 设置7265的时间常数为300ms
lock_in_amp.write('OFLT 6')
# 设置7265的参考信号的谐波次数为1
lock_in_amp.write('HARM 1')
# 设置33120A的峰峰值vpp为2V
sig_gen.write('VOLT:UNIT VPP')
sig_gen.write('VOLT 2')
# 设置33120A的正弦波频率为1kHz
sig_gen.write('APPL:SIN 1000, 2')
# 设置33120A的直流偏置电压为0V
sig_gen.write('VOLT:OFFS 0')
# 扫描音叉谐振子频率和振幅并绘图
freq_list = np.linspace(100, 10000, 100)
amp_list = []
for freq in freq_list:
sig_gen.write(f'APPL:SIN {freq}, 2')
lock_in_amp.write('REST')
amp = float(lock_in_amp.query('OUTP? 1'))
amp_list.append(amp)
plt.plot(freq_list, amp_list)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude (V)')
plt.show()
# 关闭仪器连接
sig_gen.close()
lock_in_amp.close()
rm.close()
```
注意:以上代码只是一个示例,实际情况下需要根据仪器的具体型号和参数进行修改。另外,由于每个人使用的仪器可能不同,所以在使用代码时需要进行相应的调整。
阅读全文