简介:这份文档是南昌大学大学物理实验课程中「数字示波器的使用」实验报告,面向正在修读大学物理实验的本科生,以及需要参考实验报告写作规范与数据处理格式的学习者。报告完整记录了实验目的、实验原理、仪器、内容步骤、数据记录与处理、结果分析、误差分析和思考题解答,属于可直接对照使用的实验文档资料。资源包共1个doc文件,约178KB,体量轻便,便于打印或二次编辑。报告围绕双踪示波器展开,讲清了示波管电子枪与XY偏转板的结构、电子开关交替显示CH1与CH2波形的机制、扫描同步与Time/div调节对稳定波形的影响,并给出正弦波峰峰值与周期的测量数据,例如v/div取5.8V时Vpp为11.6V、t/div取4ms时周期为2.5ms。李萨如图形部分还列出1:1、1:2、1:3等频率比与切点数nx、ny的对应关系。内容兼顾原理梳理、数据表格与误差来源讨论,适合课前预习、课后核对与复习归纳使用,目前已有419人学习下载。
1. 示波器的使用实验报告,真正拉开分差的是数据处理链路
南昌大学基础实验大楼211室,双踪示波器、信号发生器、两根探头,两个小时。动手部分照着讲义走基本不会卡,真正让人回去熬夜的是那几张表格:V/div 该记哪一挡、格数怎么读、Vpp 和有效值差多少、李萨如图形的切点数到底数哪一边。
《示波器的使用实验报告》这份文档把目的、原理、仪器、步骤、数据表和五道思考题一次给全,本质是一条完整的测量链:电子枪激发荧光点,偏转板把电压变成位移,扫描发生器把时间轴拉开,触发电路把波形钉住,最后才轮到读数与误差换算。
当成填空题抄,数据处理一栏必定翻车;当成一条链来拆,反而是最容易拿分的部分。后面按原理颗粒度、定量读数、李萨如图形、误差留档展开,操作给到具体旋钮和参数,换算给出能直接跑的脚本。
2. 示波管、扫描发生器与触发同步:原理要写到什么颗粒度
2.1 电子枪、偏转板与荧光屏:位移正比于电压这条线性关系
示波管是抽成高真空的喇叭形玻璃泡,内部电子枪由灯丝、阴极、栅极和阳极组成:灯丝加热阴极使其发射电子,栅极电压控制电子束强弱,阳极负责加速和聚焦。电子束穿过两对互相垂直的偏转板后打在荧光屏上,荧光物质发光形成亮点,余晖让亮点在电子束移开后的极短时间内仍然可见。
偏转板的接法是最容易记反的地方:Y 偏转板是水平放置的两块电极,加上电压后电子束在垂直方向偏转;X 偏转板是垂直放置的两块电极,使电子束在水平方向偏转。所以 Y 偏转板上的电压决定光点纵坐标,X 偏转板上的电压决定横坐标。偏转电压线性变化时,光点位移与电压成正比——这条线性关系就是 V/div 刻度存在的全部理由。
写报告时把链条讲全:被测电压 → 偏转板间电场 → 电子束偏移 → 荧光屏光点位移 → 纵向格数 × V/div = 电压值。少了任何一环,"为什么格数能直接换算成电压"就答不上来。
2.2 双踪的电子开关:分时复用,不是两套电子枪
双踪示波器的控制电路包含电子开关、垂直放大、水平放大、扫描发生器、同步电路和电源。电子开关以远高于被测信号频率的速率,把 CH1 和 CH2 轮流送到同一对 Y 偏转板上,屏上忽而显示 CH1、忽而显示 CH2;靠荧光余晖加上人眼视觉暂留,看起来就是两条并存的波形。
这里的关键在于:双踪是分时复用,两路共用同一套垂直偏转系统与同一套时基,因此两路信号之间的时间关系是可信的。这正是 X-Y 模式下能比较相位、能看李萨如图形的前提。反过来说,电子开关频率不够或者被测频率太高时,两路波形会亮度不均甚至互相串扰。
| 控制电路模块 | 作用 | 对应面板操作 | 报告里的表述要点 |
|---|---|---|---|
| 电子开关 | 分时切换 CH1/CH2 到 Y 偏转板 | CH1/CH2 开关、DUAL 模式 | 强调共用一套偏转系统 |
| 垂直放大 | 把 mV 级信号放大到能驱动偏转板 | V/div、垂直位移、耦合方式 | 对应纵向刻度的电压标定 |
| 扫描发生器与水平放大 | 产生锯齿波,形成时间轴 | Time/div、水平位移 | 对应横向刻度的时间标定 |
| 同步(触发)电路 | 取部分被测信号强制锯齿波同步 | 触发源、触发方式、LEVEL | 稳定显示的核心,必写 |
| 电源 | 提供各路工作电压 | 无 | 一般不必展开 |
2.3 稳定波形的三个条件:时基、触发源、触发电平
扫描电压周期与被测周期一致或成整数倍时,每次扫描的起点都落在波形的同一相位,屏上得到完整周期的稳定波形;周期不一致或不成整数倍时,每次起点相位不同,波形就横向跑动。为了让"一致"长时间保持,示波器内部用同步电路从垂直放大电路取一部分被测信号送进扫描发生器,迫使锯齿波与被测信号同步,这叫内同步;同步信号来自外部接口则叫外同步。
面板上真正决定波形能不能停住的是 LEVEL(触发电平)。它决定扫描在波形的哪个电压高度启动:电平落在波形幅值范围内,扫描正常进行;电平抬到波峰之上或压到波谷之下,触发条件永远不满足,扫描消失,屏上只剩一个孤零零的光点。很多人张口就说"示波器坏了",八成是这里被上一次实验的人拧歪了。
把三个条件记成一句话:Time/div 让屏上显示 2~3 个完整周期,触发源选到有信号的那一路,触发电平落在波形幅值中间。下面用一段脚本把"为什么相位差会导致波形跑动"量化出来。
import numpy as np fs, fx = 200_000, 100 # 内部时基 200 kSa/s,被测信号 100 Hz t = np.arange(0, 0.05, 1/fs) sig = np.sin(2 * np.pi * fx * t) def scan_start_phase(t_scan): """扫描周期为 t_scan 时,前 5 帧的起始相位(弧度)""" edges = np.arange(t[0], t[-1], t_scan) return [2 * np.pi * fx * e for e in edges[:5]] for ts in (0.0100, 0.0103): phases = [p % (2 * np.pi) for p in scan_start_phase(ts)] print(f"T_scan={ts*1000:.1f} ms -> " + ", ".join(f"{p:.3f}" for p in phases))逻辑说明:10.0 ms 恰好等于被测周期 1/100 Hz,取模后每帧起始相位完全相同,波形在屏上静止;10.3 ms 时每帧相位依次偏移约 0.19 rad,表现为波形缓慢横向移动,这正是没调准 Time/div 时的现象。
参数说明:fs是模拟采样密度,只影响曲线光滑度,不影响结论;fx是被测频率;t_scan是扫描周期,对应面板 Time/div 乘以格数。实测调试时判断标准就一条——连续几次扫描的起点是否落在同一相位上。
3. V/div 与 T/div 定量读数:Vpp、有效值与周期的换算
3.1 峰峰值、振幅、有效值的换算关系
示波器直接读到的是纵向格数,纵向格数乘 V/div 得到峰峰值 Vpp,再除以 2 得到振幅,正弦信号的有效值等于振幅除以 √2,也就是 Vpp/(2√2) = 0.3536 Vpp。这个 0.3536 的系数只在正弦波下成立,方波、三角波要用各自的波形因数,报告里最好注明一句前提。
| 序 | dy(格) | V/div (V) | Vpp = dy×V/div (V) | 振幅 = Vpp/2 (V) | 有效值 (V) |
|---|---|---|---|---|---|
| 1 | 5.8 | 2 | 11.6 | 5.80 | 4.10 |
| 2 | 2.3 | 5 | 11.5 | 5.75 | 4.07 |
两组的相对偏差只有 0.87%,说明读数在半个格以内——换挡互验是报告里最有说服力的一句话。
| 序 | dx(格) | T/div | T = dx×T/div | f = 1/T |
|---|---|---|---|---|
| 1 | 4.0 | 2.5 ms | 10 ms | 100 Hz |
| 2 | 2.0 | 5 ms | 10 ms | 100 Hz |
时间轴同样换挡重测,两次都落在 10 ms,与信号源设定的 100 Hz 完全吻合。电压和时间各做一次换挡互验,比在误差分析里硬写"读数不准"要强得多。
3.2 用脚本把表格数据重算一遍
数据抄进 Word 之后最容易出的问题是小数点错位和单位遗漏,用脚本重算一次,顺便让报告里的数字有出处。
from docx import Document import numpy as np doc = Document("示波器的使用实验报告.docx") tbl = doc.tables[0] # 电压数据表 rows = [[c.text.strip() for c in r.cells] for r in tbl.rows] dy = np.array([float(rows[1][0]), float(rows[2][0])]) # 格数 vdiv = np.array([float(rows[1][1]), float(rows[2][1])]) # V/div vpp = dy * vdiv vrms = vpp / 2 / np.sqrt(2) for i in range(2): print(f"第{i+1}组: Vpp={vpp[i]:.1f} V, 有效值={vrms[i]:.2f} V") print(f"换挡相对偏差 {abs(vpp[0]-vpp[1])/vpp.mean()*100:.2f}%")逻辑说明:doc.tables[0]取文档里的第一张表,逐行把单元格文本转成浮点数,再用公式复算一遍,避免手算时把 div 数和电压值弄反。
参数说明:rows[1][0]是表格第 2 行第 1 列(跳过表头),如果你的表格多了序号列,索引整体后移一位;np.sqrt(2)对应有效值换算,非正弦信号要替换成对应的波形因数。
注意:python-docx 只能读 .docx。手上这份是 .doc 老格式时,先另存为 .docx 或用 LibreOffice 批量转换一次,否则会直接抛异常。
3.3 格数法与光标法:什么时候用哪个
数字示波器自带 CURSOR 功能,可以直接读出 ΔV 和 ΔT,精度比人眼数格子高。但大物实验仍然要求用格数法,考的是对 V/div、T/div 含义的理解,两种方法各写一段正好覆盖。
| 方法 | 操作 | 主要误差来源 | 适用场景 |
|---|---|---|---|
| 格数法 | 数波形在纵向/横向占的格数,乘挡位值 | 荧光线宽、半格内估读 | 教学实验、快速估算 |
| 光标法 | 调两条光标卡住波峰波谷或相邻同相点 | 垂直分辨率、光标对准 | 精确测量、相位差比较 |
读数时有几个提高一致性的习惯:把波形调到屏面中央三分之一区域,避开边缘非线性;用垂直位移把波谷压在某条格线上当基准;Time/div 控制在屏上显示 2~3 个完整周期,格数太多时数错的风险成倍上升。
3.4 两组数据别硬套标准差
只有两组读数时算 A 类不确定度是没有意义的,硬写标准差只会让人觉得在凑数。常见做法是改用 B 类估算:按仪器说明书标称的垂直增益误差(大致 3%~5% 量程)加上半格估读误差合成,再按方和根取一个整数值。以 11.6 V 为例,量程 2 V/div、屏高 8 格即 16 V 满量程,5% 就是 0.8 V,估读半格换算成电压是 1 V,方和根后取一位有效数字约 1 V,写进报告就是 11.6 ± 1 V。这个量级比纠结小数点后面第二位诚实得多。
4. 双踪模式下的李萨如图形:CH2 接入与切点数法
4.1 X-Y 模式:HORI MENU + F5 究竟切了什么
日常模式里,横轴由内部时基产生的锯齿波驱动;切到 X-Y 模式后,X 偏转板改由 CH1 的信号驱动,CH2 仍然走垂直通道,于是两个正弦信号在互相垂直的方向上同时作用于光点,形成李萨如图形。面板上写成 HORI MENU + F5,功能就是把水平通道的信号源从内部时基切到 CH1。
操作序列按文档的顺序来:CH1 接参考信号 fx(比如 100 Hz),CH2 接待调信号源,先各自调出幅度合适、大小相当的波形;再按 HORI MENU 进入水平菜单,用 F5 把水平源切到 CH1;最后只调 CH2 那路信号源的频率,观察图形变化。X-Y 模式下 Time/div 和触发电平基本失去作用,图形是否稳定只取决于两路频率是否成简单整数比,这一步再去拧 LEVEL 是白费力气。
注意:两路信号的幅度要调到接近满屏的 60%~80%,幅度太小图形挤在中间数不清切点,太大则超出屏面,切点被裁掉。
4.2 切点数法:从图形反推频率比
李萨如图形的判读规则是切点数与频率成反比:水平方向的切点数 nx 与垂直方向的切点数 ny 满足 nx : ny = fy : fx,等价写法是 fx : fy = ny : nx。所谓切点,是曲线贴到屏幕上下(或左右)边缘极值点的位置,数的时候只数屏面内的完整切点。
| fx (Hz) | fy (Hz) | fx : fy | nx | ny | nx : ny |
|---|---|---|---|---|---|
| 100 | 100 | 1 : 1 | 1 | 1 | 1 : 1 |
| 100 | 200 | 1 : 2 | 2 | 1 | 2 : 1 |
| 100 | 300 | 1 : 3 | 3 | 1 | 3 : 1 |
fy 越高,垂直方向振荡越快,曲线在水平方向上来回穿越的次数越多,屏幕上边缘的切点也就越多,这与表格里的数据完全对得上。
注意:这份文档前文原理图的标注(nx/ny = 1/2、1/3)与后文数据表采用的约定不一致。交报告前把定义统一写清——nx 数上下边缘、ny 数左右边缘,否则批改的人容易判成数错。
4.3 用 matplotlib 复现图形并自动数切点
肉眼看图数切点,图形一复杂就容易多数一个,用脚本复现一遍可以拿来核对。
import numpy as np def lissajous(fx, fy, n=8000): t = np.linspace(0, 1/fx, n) # 观察窗取 x 方向一个周期 return np.sin(2*np.pi*fx*t), np.sin(2*np.pi*fy*t) def count_tangents(sig, ratio=0.9): """统计极大值个数,即图形贴到上边缘的切点数""" idx = np.where((sig[1:-1] > sig[:-2]) & (sig[1:-1] >= sig[2:]))[0] + 1 return len([i for i in idx if sig[i] > ratio * sig.max()]) for fx, fy in [(100, 100), (100, 200), (100, 300)]: x, y = lissajous(fx, fy) print(f"fx:fy={fx}:{fy} -> 上边缘切点 {count_tangents(y)}, " f"右边缘切点 {count_tangents(x)}")逻辑说明:观察窗取 X 方向的一个完整周期,因此 x 只有一个极大值(右边缘 1 个切点);y 在该窗口内振荡 fy/fx 次,极大值个数就是上边缘切点数。输出与实验表格中的 nx、ny 一一对应。
参数说明:n是采样点数,取大一些可以避免极值点被漏采,但不要大到影响显示;ratio=0.9是峰值筛选阈值,用来滤掉数值噪声造成的伪峰,信号幅度不足时可以调低到 0.7。
4.4 同步旋钮为什么救不了李萨如图形
同步旋钮控制的是内部时基锯齿波与被测信号的相位锁定关系,作用对象是 X 通道的扫描信号。X-Y 模式下 X 偏转板已经改由外部 CH1 驱动,时基不参与作图,调同步旋钮自然没有效果。
图形缓慢旋转的真实原因是两路信号源各自的频率漂移,或者是两个信号发生器没有共用参考时基。稳定的做法是把 fy 调到与 fx 严格成整数比,再微调最后一两位;如果图形以每几秒一圈的速度缓慢转动,说明频率差在几十毫赫兹量级,多数台式信号发生器的频率分辨率足够调到图形"停住"。
5. 误差预算与原始数据留档:让读数可复现
误差分析写"仪器误差"四个字是拿不到分的,得指明是哪一环引入了多少量级的不确定度。下面这张表来自实际做实验时的观察顺序,可以按它逐条排查。
| 现象 | 可能原因 | 改善方法 |
|---|---|---|
| 波形左右缓慢跑动 | 扫描周期与被测周期不成整数倍 | 细调 Time/div,必要时用触发微调 |
| 波形上下跳动 | 触发电平漂在边沿附近 | 把 LEVEL 调到波形幅值中间偏上 |
| 两次换挡结果差得多 | 荧光线宽大、读数位置随手 | 固定用某条格线作基准,读波谷到波峰 |
| 切点数看不准 | 幅度太小或图形偏出屏面 | 两路幅度调到满屏 60%~80% 并对中 |
| 图形整体旋转 | 两路信号源频率漂移 | 微调 fy 末位,尽量共用同一台信号源 |
有个细节值得单独拎出来:文档思考题第 5 题给出"周期 0.2 ms 的正弦电压、屏上显示 3 个完整稳定波形",扫描电压周期应当是两个量相乘,0.2 × 3 = 0.6 ms。原文档写成 0.06 ms,小数点错位了一档,照抄会直接丢分。原理上讲,屏上出现 3 个完整波形意味着扫描周期是被测周期的 3 倍,不是一个周期的三分之一,方向别搞反。
原始数据的留档同样影响复核效率。做完实验当场截的图,文件名通常是 IMG_0001 这种,一周后根本分不清哪张对应哪个挡位,用一条命令按日期归拢,比事后凭记忆补写可靠得多。
# 原始数据归档:按修改日期加前缀,统一放进 raw_data 目录 mkdir -p raw_data for f in IMG_*.png; do ts=$(date -r "$f" +%Y%m%d) mv "$f" "raw_data/${ts}_$(basename "$f")" done ls -l raw_data | head逻辑说明:date -r读取文件修改时间,basename保留原文件名,重命名后同一批截图按日期排在一起,写报告时按时间线对齐挡位记录。
参数说明:+%Y%m%d是日期格式,想精确到时分可以改成+%Y%m%d_%H%M;如果截图存放在子目录,把IMG_*.png换成对应路径并把mv改为带-i交互确认,避免同名覆盖。
交报告前把 raw_data 目录和文档一起打包,每一组读数都能顺着文件名找到对应挡位,返工率会低很多。
本文还有配套的精品资源,点击获取