布朗运动(1827):用手机和 AI 看见原子存在的证据
你能亲手拍到微粒的无规则抖动,并用均方位移估出一个"看不见的分子"的大小量级。
| 需要 | 显微镜(能到 400×,带载物台微调;型号待核实,二手学生显微镜即可)· 载玻片与盖玻片 · 牛奶(全脂,几滴)或中国墨汁(一小滴)· 蒸馏水或凉白开 · 滴管/牙签 · 手机(能拍视频,最好支持慢动作或高帧率)· 手机显微镜支架(或橡皮泥+胶带自制)· 电脑(跑 Python)· 免费软件:Python + OpenCV(pip install opencv-python numpy matplotlib) |
| 时间 | 一个下午到一天(含装片、拍摄、追踪、算) |
| 花费 | ¥0–200(显微镜是唯一大头;已有则几乎为零。具体价格待核实) |
| 难度 | ★★★ |
| 验收 | 做之前写死:① 至少成功追踪 1 颗颗粒 ≥ 100 帧;② 画出均方位移 MSD 对时间间隔 τ 的图,在 τ 较小段近似直线;③ 用 MSD = 4Dτ 拟合出扩散系数 D,数量级落在 10⁻¹³–10⁻¹¹ m²/s 之间(稀释牛奶/墨汁颗粒的典型量级,待核实你体系的具体值);④ 报告由 D 反推的等效粒径 a(Stokes–Einstein:D = kT/(6πηa)),数量级在 0.1–10 μm。四条全中算成功。 |
为什么值得做
1827 年布朗看见花粉颗粒抖个不停,说不清为什么。1905 年爱因斯坦说:这是水分子在撞它。他给出公式,把"抖动"和"分子大小"连起来。1908–1911 年佩兰用实验证实,原子从此不再是假设。
今天你不需要佩兰的耐心:手机拍,AI 追,Python 算。你亲手把"看不见的分子"变成一个能报出来的数。
怎么做
- 配样品。 全脂牛奶用凉白开稀释,约 1:1000(一滴牛奶兑约 50 mL 水),摇匀。或用牙签蘸一点墨汁点到 10 mL 水里。目标:视野里颗粒稀疏、彼此不重叠。太浓就再稀释。
- 装片。 滴一小滴在载玻片中央,盖盖玻片,轻压赶走大气泡。静置 2–3 分钟让水流静止——这一步决定成败。
- 对焦。 400× 下找颗粒。调小光圈(或关掉聚光镜一部分)提高对比度。颗粒应是一个个小亮点/暗点,不是一片糊。
- 拍摄。 手机固定在目镜上,录 30–60 秒。尽量高帧率、固定曝光、固定白平衡、关自动对焦。记录帧率(例如 30 fps 或 120 fps)。
- 追踪。 用 Python + OpenCV:读视频 → 灰度 → 背景减除/阈值 → 找质心 → 逐帧连成轨迹。先只追 1–3 颗最清楚的颗粒。
- 算 MSD。 对每条轨迹算不同时间间隔 τ 的均方位移,画 MSD–τ 图,取小 τ 段线性拟合斜率,D = 斜率/4(二维)。
- 反推粒径。 用 D = kT/(6πηa),T 取室温(如 293 K),η 取水的黏度(约 1.0×10⁻³ Pa·s,随温度变,待核实你室温下的值),解出 a。
- 记录。 写下:帧率、像素/微米标定(用测微尺或已知间距的网格标定,没有就只报相对量级)、拟合区间、D、a。
AI 可以怎么帮你
- 写追踪代码。 prompt:
用 Python + OpenCV 写一个脚本:读入 mp4 视频,转灰度,用背景减除和阈值找出亮颗粒,输出每帧每个颗粒的质心坐标到 CSV。要求参数可调,代码有中文注释。 - 算 MSD 和拟合。 prompt:
我有一份 CSV,列是 frame, particle_id, x, y(单位像素),帧率 30 fps。请写 Python 代码:按 particle_id 分组,计算不同时间间隔 τ 的均方位移 MSD,画 MSD-τ 图,对小 τ 段做线性拟合,输出斜率,并按 D=斜率/4 给出扩散系数。 - 反推粒径。 prompt:
已知扩散系数 D=___ m²/s,温度 T=293 K,水的黏度 η=1.0e-3 Pa·s。用 Stokes-Einstein 公式 D=kT/(6πηa) 反解粒径 a,给出计算过程和单位换算。 - 帮你判断数据是否可信。 prompt:
这是我的 MSD-τ 数据(附上)。请判断:小 τ 段是否近似线性?有没有明显漂移(整体平移)或 confinement(MSD 饱和)的迹象?我该怎么排查? - 解释原理。 prompt:
用高中生能懂的话解释:为什么布朗运动的均方位移和时间的平方根成正比,而不是和时间成正比? - 写实验记录模板。 prompt:
帮我做一个布朗运动实验记录表,包含:样品配比、显微镜倍数、帧率、标定、追踪颗粒数、拟合区间、D、反推粒径、异常备注。
算一下 / 会看到什么
- 你会看到:颗粒在抖,方向随机,走不出视野。
- MSD 对 τ 在小 τ 段近似直线,斜率 = 4D(二维)。
- 典型稀释牛奶/墨汁颗粒:D 在 10⁻¹³–10⁻¹¹ m²/s 量级,反推 a 在 0.1–10 μm 量级。具体值取决于你的颗粒和温度,待核实。
- 关键不是数字多准,而是:你从"抖动"里算出了一个长度,而且量级对得上"胶体颗粒"。
坑
- 水流没停。 最大的失败源。装片后至少静置 2–3 分钟,别碰桌子。整体漂移会伪装成布朗运动。
- 颗粒太密。 追踪算法会串轨。宁可稀十倍。
- 对焦/对比度差。 颗粒糊成一团,质心乱跳。调小光圈、降曝光。
- 手机自动对焦/自动曝光在变。 全程锁死。
- 没标定像素/微米。 只能报相对量级。想报绝对粒径,先用测微尺或已知网格标定。
- 帧率记错。 D 直接错。录之前确认帧率,或录一个秒表画面核对。
- 只追一颗、帧数太少。 统计噪声大。至少 100 帧,最好几颗取平均。
- 把显微镜载物台震动当成布朗运动。 手别放桌上,别开风扇。
想再往前一步
- 换不同稀释度/不同颗粒(牛奶 vs 墨汁 vs 咖啡渣),比较 D。
- 升温/降温(水浴后快速装片),看 D 随 T 变——爱因斯坦公式预言 D ∝ T/η。
- 加一点甘油提高黏度,看 D 下降。
- 用多条轨迹做统计分布,而不只是平均。
- 对照佩兰 1908–1911 年的原始做法,看今天省掉了什么。
安全
- 显微镜是光学仪器,轻拿轻放,别摔。
- 牛奶/墨汁样品无害,但别喝实验用水;做完洗手。
- 盖玻片边缘锋利,小心割手。
- 手机固定牢,别掉下来砸镜头或载物台。
- 不涉及加热、强光、化学品,无特殊风险。