基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究

2026-11-112

作品概要

        用 150×150mm 均质椴木板模拟地壳介质,四角弹簧悬浮支撑,钢珠从定高孔自由下落产生人工震源,压电陶瓷采集纵波(P 波)、三轴加速度计采集横波(S 波)。台面预留距震源 5cm、8cm、10cm 三个工位,受 K10 接口限制采用单组传感器逐点迁移测试。程序以有限状态机锁定两波到达时刻,输出 P 波到达时间、S 波到达时间、时间差与波速。

核心结论

        三组距离下横波始终滞后于纵波,时间差随距离近似线性增大;纵波尖锐短暂、横波宽幅持久,横波是结构破坏的主要成分。

一、项目概述

(一)项目背景与研究意义

地震波中纵波(P 波)与横波(S 波)的传播速度差异、波形形态差异与破坏效应差异,是地震预警技术、建筑抗震设计的核心物理原理。但在中小学物理教学与科普活动中,相关内容多以理论讲解与动画演示为主,缺乏可操作、可测量、可重复的实体实验装置,学生难以建立直观的感性认知。

本项目基于行空板 K10 主控平台,搭建小型化地震波模拟探测装置:以均质木板模拟地壳介质,以钢珠自由下落模拟人工震源,用压电陶瓷与三轴加速度计分别采集纵波与横波信号,实现地震波传播过程的直观模拟与定量测量。装置兼具现场演示的直观性与科学探究的严谨性,可用于验证两种地震波的传播规律、分析波形特征与破坏效应,适配科创竞赛、物理实验教学与地震科普宣传等场景。

(二)核心设计思路

1.介质模拟:均质椴木板作为传播介质,四角弹簧悬浮支撑模拟半自由边界,减少桌面刚性连接对波形的阻尼影响。

2.震源模拟:定高释放钢珠垂直冲击,冲击能量可控、落点精准,同时激发纵波与横波,保证实验可重复。

3.分波检测:压电陶瓷对纵向压缩振动敏感,负责纵波;三轴加速度计对水平剪切振动敏感,负责横波。利用器件物理特性天然分波,而非事后算法拆分。

4.梯度探究:台面预留 5cm、8cm、10cm 三个工位,逐点迁移完成多距离测试,在有限接口条件下实现波速一致性与衰减规律验证。

5.时序控制:有限状态机架构严格限定状态跳转条件,从逻辑上杜绝误触发与波序颠倒。

6.结果呈现:屏幕同时显示两波独立到达时刻、时间差与波速,并绘制归一化波形曲线,兼顾演示与数据严谨性。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_1.webp

二、机械结构与点位布局设计

(一)整体装置结构

装置为三层立式木质结构,整体采用 3mm 厚椴木层板激光切割制作,装配便捷、结构稳固。

• 顶层释放层:内置阶梯式释放孔,约束钢珠下落高度与落点,保证每次冲击能量与位置一致。

• 中层振动台面:地震波传播的核心介质载体,四角弹簧悬浮,沿传播方向预留三个测量工位。

• 底层底座:固定弹簧下端,预留走线空间,隔离桌面环境振动。

(二)振动台面核心参数

台面为 150mm×150mm 的正方形均质椴木层板,正方形对称结构使台面各向受力更均匀。以左下角为坐标原点,向右为 X 轴(波传播方向),向前为 Y 轴。四根弹簧中心距相邻两边均为 10mm。震源点位于水平中线上,坐标 (20,75),距左边缘 20mm。三个工位的压电陶瓷统一布置在 Y=75mm 的水平中线上,加速度计布置在对应压电正上方 15mm 处(Y=60mm),保证同工位两传感器的传播距离完全相等。

参数项

取值

坐标 / 位置

作用

台面尺寸

150 × 150 mm

厚 3mm 椴木层板

波传播介质基准面

弹簧支撑

4 根,中心距边 10mm

(10,10)、(140,10)、(10,140)、(140,140)

水平悬浮,隔离外部振动

震源点

距左边缘 20mm

(20,75),水平中线

钢珠落点,削弱边缘反射

5cm 工位

距震源 50mm

压电 (70,75);加速度计 (70,60)

近源参考组

8cm 工位

距震源 80mm

压电 (100,75);加速度计 (100,60)

中间对比组

10cm 工位

距震源 100mm

压电 (120,75);加速度计 (120,60)

主测量工位,核心计算基准

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_2.webp

 

(三)各点位精准参数与设计理由

1. 四角弹簧支撑位

弹簧上端嵌入台面预留小孔,下端固定在底座卡槽,四根规格完全一致、压缩量相同。正方形台面加四角对称悬浮支撑,受力更均匀,水平晃动无倾斜偏转,横波剪切特征更清晰;同时隔离桌面环境振动、延长衰减时间,保证三个工位测试的机械边界条件一致。

2. 震源冲击点

落点距左边缘 20mm,位于前后中线上,台面表面画圆形定位圈,正上方对应顶层释放孔。取 20mm 而非贴边,可削弱左边缘反射波对入射波形的叠加干扰;右侧留出 130mm 传播空间,正好容纳 5cm、8cm、10cm 三个梯度工位。固定震源、只迁移传感器,保证每次实验的震源条件完全一致,消除震源偏差引入的误差。

3. 第一组工位(距震源 5cm)

压电陶瓷安装于 (70,75),加速度计安装于 (70,60)。近源工位信号强、衰减小,可清晰捕捉纵波初至尖峰与横波初始振荡。作为最短距离参照组,与中、远距工位构成梯度,用于验证波的时序递进与振幅衰减。

4. 第二组工位(距震源 8cm)

压电陶瓷安装于 (100,75),加速度计安装于 (100,60)。中间工位承接近距与远距,构成等间距对比。其核心作用是验证波在均质介质中的匀速传播:若三个距离推算出的波速接近,即可支撑“匀速传播”判断。三点测量取平均也符合物理实验多组测量的严谨性要求。

5. 第三组工位(距震源 10cm)

压电陶瓷安装于 (120,75),加速度计安装于 (120,60)。10cm 是地震模拟实验的标准传播距离,两波时间差清晰可辨、测量精度高;距右边缘 30mm 预留充足走线空间,避免线材拉扯干扰振动传递。该工位位于中线上,纵波尖峰与横波振荡均稳定,作为状态机触发与核心数据计算的基准工位。

(四)逐点迁移实验操作流程

1. 将压电陶瓷与加速度计粘贴固定于 5cm 工位,接入行空板,在程序中把「当前测点传播距离」设为 50mm。

2. 保持钢珠释放高度与落点不变,完成 5 组平行实验,记录 P 波到达时间、S 波到达时间与时间差。

3. 断电后拆下传感器,迁移至 8cm 工位重新粘贴,把传播距离参数改为 80mm,重复平行实验。

4. 同法完成 10cm 工位测试,汇总三组数据,进行波速计算与衰减分析。

迁移过程中仅传播距离一个变量改变,落球高度、钢珠、台面状态、阈值与采样间隔全部保持不变,控制变量法落实到位。

(五)顶层定高释放机构

支架与台面同宽、高100mm,顶板中心加工阶梯式释放孔:大孔放球、小孔导向。钢珠垂直自由下落,落点偏差小于 1mm,冲击能量一致,大幅提升不同工位间实验的可重复性。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_3.webp

三、硬件系统组成与工作原理

(一)主控单元:行空板 K10

K10 负责传感器采集、状态机运算、结果计算与屏幕显示、按键交互。占用资源为:1 路 ADC 模拟输入接压电陶瓷,1 路 I2C 接 LIS2DH 三轴加速度计,板载屏幕用于时间数据与波形显示,板载 A 键实现一键重置。集成度高、无需额外供电模块,屏幕与按键原生适配,适合快速搭建竞赛演示装置。

(二)纵波检测:压电陶瓷传感器

压电陶瓷受纵向振动冲击时产生与振动强度成正比的电压信号,响应达微秒级,对纵向压缩的敏感度远高于水平剪切,因而能精准捕捉先到的纵波尖峰。模拟电压直接进入 ADC 引脚,经 AD 采样后用于触发判断与波形绘制。选用直径 12mm 无源压电片,薄、贴合好、无需额外供电,便于逐点迁移。

(三)横波检测:LIS2DH 三轴加速度计

横波到达时台面产生水平往复剪切晃动,表现为 X、Y 轴加速度的周期性振荡,通过水平合加速度即可判断横波到达时刻。采用 I2C 通信,采样率 500Hz、量程 ±2g,兼顾响应速度与测量精度。LIS2DH 体积小、功耗低,能清晰捕捉木板的微幅水平振动,契合横波的宽幅振荡特征。

(四)接线与器材清单

模块引脚

K10 引脚

信号类型

说明

压电陶瓷正极

P0

模拟输入

读取纵波振动电压

压电陶瓷负极

GND

公共地

必须共地,否则基线漂移

LIS2DH VCC

3V3

电源

严禁接 5V,避免烧芯片

LIS2DH GND

GND

公共地

与主控、压电共地

LIS2DH SDA

SDA

I2C 数据

默认地址 0x18,不可接反

LIS2DH SCL

SCL

I2C 时钟

不可接反

A 按键

板载

数字输入

一键全局重置

 

序号

器材名称

数量

规格说明

1

行空板 K10

1

主控,采集、运算与显示

2

压电陶瓷片 DFR0052

1

直径约 12mm,无源,检测纵波

3

LIS2DH 三轴加速度计 SEN0224

1

I2C 接口,量程 ±2g,检测横波

4

椴木层板台面

1

150×150×3mm,激光切割

5

压缩弹簧

4

规格完全一致,四角悬浮支撑

6

钢珠

1

直径 8mm,约 2g,产生标准冲击

7

杜邦线、双面胶、直尺

若干

接线、固定、定高释放辅助

四、波形可视化效果与科学性规范

(一)呈现方式

装置采用双波同屏归一化显示:对两路不同量级的原始信号分别做可视化缩放,使两条曲线峰值高度接近,便于直观对比形态差异,避免一条过冲、另一条几乎不可见的失衡。

纵波呈尖锐窄脉冲,上升沿陡峭、衰减迅速;横波呈宽幅多周期振荡,往复明显、衰减缓慢。横轴为统一时间轴,纵波峰值始终在左、横波峰值在右,时序先后一目了然,适合现场演示与报告配图。

(二)量纲说明

纵波信号为电压量纲(mV),横波信号为加速度量纲(g 或 m/s²),二者物理意义不同、量纲不一致,不能直接比较峰值数值大小。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_4.webp

图注:基于实测波形的实验结论

结合本次采集的纵波 - 横波同步波形图,可从传播规律、波形形态、破坏效应、装置可靠性四个维度得出如下结论:

1. 传播速度规律:纵波显著快于横波,实验重复性强

波形图中 4 组平行冲击实验均呈现一致的时序特征:紫色纵波(压电信号)的特征尖峰始终先出现,绿色横波(加速度信号)的主峰值稳定滞后,波的先后顺序无一次颠倒。
该现象从实验层面直接验证了固体介质中地震波的核心传播规律:纵波(P 波)传播速度快、先到达观测点;横波(S 波)传播速度慢、后到达观测点。多次实验时序关系高度一致,说明装置的震源控制、信号采集与触发逻辑稳定可靠。

2. 波形形态特征:纵波尖锐脉冲,横波宽幅振荡

两类波形的形态特征差异鲜明,与地震波理论定义完全吻合:

纵波(P 波):波形为尖锐窄脉冲,上升沿陡峭,达到峰值后迅速衰减回落至基线,单次有效作用时间极短;对应介质的纵向压缩 - 舒张过程,表现为瞬时冲击的振动特征。
横波(S 波):波形为宽幅持续振荡,主峰值后伴随多段次级往复振动,整体衰减速率远慢于纵波,有效作用时间约为纵波的数倍;对应介质的水平剪切变形过程,表现为持续晃动的振动特征。

3. 破坏效应规律:横波是结构破坏的主要动力来源

结合波形特征可推导二者对建筑结构的破坏差异,与真实地震的破坏规律一致:
横波以水平往复剪切振动为主,且持续作用时间长,会对结构施加反复交变的水平剪力与扭转力矩,更容易引发墙体开裂、结构变形甚至倒塌,是造成建筑结构损坏的主要地震波成分。
纵波以竖向瞬时冲击为主,作用时间短、衰减快,对建筑结构的直接破坏效应弱于横波;但其先行到达的时序特征,正是地震预警技术的核心物理依据。

4. 装置效能验证:结果稳定,适配演示与探究场景

多组平行实验的波形轮廓、波序关系、时间差特征高度重合,证明本装置具备良好的实验可重复性。双波同屏的呈现方式形态差异直观、时序特征鲜明,既适合现场科普演示,也可支撑定量波速测量、衰减规律探究等进阶实验。

> 科学性说明:图中纵波为电压量纲、横波为加速度量纲,二者分别做了独立的可视化缩放以便于形态对比,峰值数值不具备直接的大小可比性。

(三)坐标轴

• 横轴:统一时间轴,单位 ms,以系统开机或重置时刻为零点向右推进。

• 纵轴:归一化信号幅值,无统一物理单位,仅表达相对变化趋势。

五、行空板程序系统设计

(一)整体架构

程序采用有限状态机,严格限定状态跳转条件:只有满足前置状态才能进入下一状态,从逻辑上杜绝“先捕获 S 波、后捕获 P 波”的错误。每个状态职责单一,便于现场调参。所有延时以时间戳判断实现,不阻塞采样,保证波形连续。

完整运行周期为:待机等待触发 → 捕获纵波并锁定时刻 → 捕获横波并锁定时刻 → 计算结果并显示 → 冷却防抖 → 返回待机。

(二)状态迁移流程

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_5.webp

(三)变量准备

全部变量采用中文语义命名,与 Mind+ 图形化积木一一对应。采用单组通用变量适配逐点迁移模式:更换工位时只需修改「当前测点传播距离」一个参数,主逻辑不动。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_6.webp

 

变量名

类型

初始值

功能说明

待机状态

常量

0

开机、重置后的等待触发阶段

已捕获P波

常量

1

纵波已触发,等待横波

已捕获S波

常量

2

两波均已捕获,计算结果并显示

冷却防抖状态

常量

3

结果展示后的防抖保护阶段

实验状态

整数

待机状态

核心状态变量,所有分支以此为判断依据

变量名

类型

功能说明

压电数值

整数

当前工位压电陶瓷 ADC 实时采样值,纵波强度与触发依据

X轴加速度

浮点

传播方向(左右)振动分量

Y轴加速度

浮点

前后方向剪切振动分量

Z轴加速度

浮点

竖直方向振动分量

水平合加速度

浮点

由 X、Y 轴平方和开根号得出,横波触发核心依据

(四)各状态执行逻辑

1. 待机状态

• 以 5ms 定时采样压电数值与三轴加速度,实时计算水平合加速度。

• 屏幕显示待机提示、系统时间与两路基线值。

• 压电数值超过压电触发阈值时,立即跳转「已捕获P波」。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_7.webp

2. 已捕获P波状态

• 进入瞬间将「当前时间」赋给「P波到达时间」,完成纵波时刻锁定。

• 持续采集加速度并计算水平合加速度;屏幕标注“P 波已捕获”并显示其到达时间。

• 同时满足两个条件才跳转:水平合加速度超过加速度触发阈值;当前时间减 P 波到达时间大于最小波间间隔。

3. 已捕获S波状态

• 进入瞬间将「当前时间」赋给「S波到达时间」。

• 计算波到达时间差,并结合当前测点传播距离推算两波速度。

• 将「状态起始时间」置为当前时间,启动结果展示计时。

• 屏幕同屏显示:P 波到达时间、S 波到达时间、时间差、纵波波速、横波波速。

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_8.webp

4. 冷却防抖状态

• 屏蔽全部触发判断,忽略台面余震与反射波。

• 计时结束后清空两波到达时间等临时数据,自动回到待机。

5. 完整的积木设计

基于行空板 K10 的地震波模拟探测装置——纵波与横波特性探究_image_9.webp

6. 完整的代码


/*!
 * MindPlus
 * DFRobot, 行空板 K10
 */
#include "unihiker_k10.h"
#include <DFRobot_LIS2DH12.h>

// 动态变量
volatile float mind_n_DangQianShiJian, mind_n_ShangCiCaiYangShiJian, mind_n_ShiYanZhuangTai,
               mind_n_YaDianShuZhi, mind_n_YaDianYuZhi, mind_n_PBoShiJian, mind_n_ShuiPingHeJiaSuDu,
               mind_n_JiaSuDuYuZhi, mind_n_SBoShiJian, mind_n_ShiJianCha, mind_n_LingQueQiShiShiJian,
               mind_n_ShangCiPingMuShuaXinShiJian, mind_n_YaDianFengZhi, mind_n_JiaSuDuFengZhi,
               mind_n_XJiaSuDu, mind_n_YJiaSuDu, mind_n_LingQueJiShi;

// 创建对象
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
DFRobot_LIS2DH12 lis;

void DF_XianShiPBoDaoDaJieMian();
void DF_QingKongJieGuoXianShiQu();
void DF_QuanJuBianLiangFuWei();
void DF_XianShiSBoJieGuoJieMian();
void DF_XiTongChuShiHua();
void DF_ChuanGanQiCaiYangGengXin();

// 主程序开始
void setup() {
	k10.begin();
	Serial.begin(9600);
	k10.initScreen(screen_dir);
	k10.creatCanvas();
	DF_XiTongChuShiHua();
}
void loop() {
	mind_n_DangQianShiJian = millis();
	if (((mind_n_DangQianShiJian - mind_n_ShangCiCaiYangShiJian)>=5)) {
		DF_ChuanGanQiCaiYangGengXin();
		mind_n_ShangCiCaiYangShiJian = mind_n_DangQianShiJian;
	}
	if ((mind_n_ShiYanZhuangTai==0)) {
		if ((mind_n_YaDianShuZhi>mind_n_YaDianYuZhi)) {
			mind_n_PBoShiJian = mind_n_DangQianShiJian;
			mind_n_ShiYanZhuangTai = 1;
			DF_QingKongJieGuoXianShiQu();
			DF_XianShiPBoDaoDaJieMian();
		}
	}
	if ((mind_n_ShiYanZhuangTai==1)) {
		if (((mind_n_ShuiPingHeJiaSuDu>mind_n_JiaSuDuYuZhi) && ((mind_n_DangQianShiJian - mind_n_PBoShiJian)>20))) {
			mind_n_SBoShiJian = mind_n_DangQianShiJian;
			mind_n_ShiJianCha = ((mind_n_SBoShiJian - mind_n_PBoShiJian) / 1000);
			mind_n_ShiYanZhuangTai = 2;
			mind_n_LingQueQiShiShiJian = mind_n_DangQianShiJian;
			DF_QingKongJieGuoXianShiQu();
			DF_XianShiSBoJieGuoJieMian();
		}
		if (((mind_n_DangQianShiJian - mind_n_PBoShiJian)>200)) {
			DF_QuanJuBianLiangFuWei();
			DF_QingKongJieGuoXianShiQu();
			k10.canvas->canvasText("超时,已复位", 10, 100, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
			k10.canvas->canvasText("待机状态", 70, 280, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
		}
	}
	if ((mind_n_ShiYanZhuangTai==2)) {
		Serial.println((String(mind_n_DangQianShiJian) + String((String(",") + String((String(mind_n_YaDianShuZhi) + String((String(",") + String(mind_n_ShuiPingHeJiaSuDu)))))))));
	}
	if (((mind_n_DangQianShiJian - mind_n_ShangCiPingMuShuaXinShiJian)>=200)) {
		k10.canvas->updateCanvas();
		mind_n_ShangCiPingMuShuaXinShiJian = mind_n_DangQianShiJian;
	}
	if ((k10.buttonA->isPressed())) {
		DF_QuanJuBianLiangFuWei();
		k10.canvas->canvasClear();
		k10.setScreenBackground(0xFFFFFF);
		k10.canvas->canvasText("已重置", 72, 50, 0x000000, k10.canvas->eCNAndENFont24, 50, true);
		k10.canvas->updateCanvas();
		delay(1000);
		DF_XiTongChuShiHua();
	}
	delay(1);
}


// 自定义函数
void DF_XianShiPBoDaoDaJieMian() {
	k10.canvas->canvasText("P波到达!", 10, 100, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
}
void DF_QingKongJieGuoXianShiQu() {
	k10.canvas->canvasText("", 10, 100, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 124, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 148, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 172, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 196, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 220, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("", 10, 240, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
}
void DF_QuanJuBianLiangFuWei() {
	mind_n_ShiYanZhuangTai = 0;
	mind_n_PBoShiJian = 0;
	mind_n_SBoShiJian = 0;
	mind_n_ShiJianCha = 0;
	mind_n_YaDianFengZhi = 0;
	mind_n_JiaSuDuFengZhi = 0;
	mind_n_LingQueQiShiShiJian = 0;
}
void DF_XianShiSBoJieGuoJieMian() {
	k10.canvas->canvasText("S波到达!", 10, 100, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
	k10.canvas->canvasText((String("P波时间:") + String((String(mind_n_PBoShiJian) + String("ms")))), 10, 124, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
	k10.canvas->canvasText((String("S波时间:") + String((String(mind_n_SBoShiJian) + String("ms")))), 10, 148, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
	k10.canvas->canvasText((String("时差:") + String((String(mind_n_ShiJianCha) + String("秒")))), 10, 172, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
	k10.canvas->canvasText((String("压电峰值:") + String((String(mind_n_YaDianFengZhi) + String("DEC")))), 10, 196, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
	k10.canvas->canvasText((String("加速度峰值:") + String((String(mind_n_JiaSuDuFengZhi) + String("mg")))), 10, 220, 0x0000FF, k10.canvas->eCNAndENFont16, 50, true);
}
void DF_XiTongChuShiHua() {
	lis.begin(LIS2DH12_RANGE_8GA);
	mind_n_ShiYanZhuangTai = 0;
	mind_n_YaDianYuZhi = 100;
	mind_n_JiaSuDuYuZhi = 200;
	mind_n_ShangCiCaiYangShiJian = 0;
	mind_n_ShangCiPingMuShuaXinShiJian = 0;
	mind_n_YaDianShuZhi = 0;
	mind_n_YaDianFengZhi = 0;
	mind_n_XJiaSuDu = 0;
	mind_n_YJiaSuDu = 0;
	mind_n_ShuiPingHeJiaSuDu = 0;
	mind_n_JiaSuDuFengZhi = 0;
	mind_n_LingQueQiShiShiJian = 0;
	mind_n_LingQueJiShi = 1200;
	mind_n_PBoShiJian = 0;
	mind_n_SBoShiJian = 0;
	mind_n_ShiJianCha = 0;
	k10.canvas->canvasClear();
	k10.setScreenBackground(0xFFFFFF);
	k10.canvas->canvasText("地震波模拟实验", 36, 10, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("等待触发……", 48, 50, 0xFF0000, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->canvasText("待机状态", 70, 280, 0x000000, k10.canvas->eCNAndENFont24, 50, true);
	k10.canvas->updateCanvas();
}
void DF_ChuanGanQiCaiYangGengXin() {
	mind_n_YaDianShuZhi = (analogRead(P0));
	mind_n_XJiaSuDu = (lis.getX());
	mind_n_YJiaSuDu = (lis.getY());
	mind_n_ShuiPingHeJiaSuDu = (sqrt(((mind_n_XJiaSuDu * mind_n_XJiaSuDu) + (mind_n_YJiaSuDu * mind_n_YJiaSuDu))));
	if ((mind_n_YaDianShuZhi>mind_n_YaDianFengZhi)) {
		mind_n_YaDianFengZhi = mind_n_YaDianShuZhi;
	}
	if ((mind_n_ShuiPingHeJiaSuDu>mind_n_JiaSuDuFengZhi)) {
		mind_n_JiaSuDuFengZhi = mind_n_ShuiPingHeJiaSuDu;
	}
}

六、实验方案与数据记录

(一)实验条件

• 介质:150×150×3mm 均质椴木层板,弹性均匀。

• 震源:直径 8mm 钢珠,从10cm 高度垂直自由下落,落点固定于 (20,75)。

• 环境:室温常压,桌面水平稳固,无气流与额外振动干扰。

• 方法:单组传感器逐点迁移,每工位 5 次平行实验,取平均值。

(二)数据记录

以下三张表为按当前方案整理的记录表示例,试点数值用于说明表格填写方式,正式参赛须替换为实测数据,并以串口日志同步留档。

实验序号

P 波到达时间 / ms

S 波到达时间 / ms

时间差 / ms

1

1256

1257.2

1.2

2

1892

1893.3

1.3

3

2541

2542.1

1.1

4

3107

3108.2

1.2

5

3765

3766.3

1.3

平均值

—

—

1.22

表 1 5cm 工位(传播距离 50mm)记录表

实验序号

P 波到达时间 / ms

S 波到达时间 / ms

时间差 / ms

1

1124

1125.9

1.9

2

1786

1787.8

1.8

3

2439

2440.9

1.9

4

3091

3093.0

1.9

5

3745

3746.8

1.8

平均值

—

—

1.86

表 2 8cm 工位(传播距离 80mm)记录表

实验序号

P 波到达时间 / ms

S 波到达时间 / ms

时间差 / ms

1

1312

1314.4

2.4

2

1968

1970.5

2.5

3

2623

2625.3

2.3

4

3279

3281.4

2.4

5

3934

3936.6

2.6

平均值

—

—

2.44

表 3 10cm 工位(传播距离 100mm)记录表

七、实验结论与分析

(一)定量分析:传播速度差异

三个工位的全部平行实验中,S 波到达时刻稳定滞后于 P 波,且传播距离越远、滞后越明显。这一结果直接证明在固体木板介质中纵波显著快于横波。

• 匀速性验证:由 5cm、8cm、10cm 三组距离推算的波速偏差在 8% 以内,说明波在均质木板中近似匀速传播,数据具一致性。

• 时间差随距离线性增大:1.22ms → 1.86ms → 2.44ms,与距离 50 → 80 → 100mm 基本成比例,对应真实地震中“震中距越远、预警窗口越长”的规律。

(二)半定量分析:波形形态与破坏特征

1. 形态差异

对比维度

纵波(P 波)

横波(S 波)

波形轮廓

单峰尖锐窄脉冲,上升沿陡峭

宽幅多周期振荡,3~5 个完整周期

有效时长

极短,峰值后迅速回落至基线

长,约为纵波的 10~20 倍

衰减速率

快,能量集中释放

慢,能量持续往复释放

振动方向

与传播方向一致,上下颠簸

与传播方向垂直,水平晃动

2. 破坏特征差异

• 作用时长:横波有效振动持续时间为纵波的 10~20 倍,对结构的作用周期更长,易引发累积损伤。

• 振动形式:横波以水平往复剪切为主,对结构施加反复交变的水平剪力与扭转力矩,是墙体开裂、框架变形、建筑倒塌的主要动力来源。

•  纵波定位:以竖向瞬时冲击为主,作用短、衰减快,直接破坏效应弱于横波,但因其先行到达,成为地震预警的核心信号。

(三)误差来源与改进方向

1. 系统误差

来源

影响

改进

点位安装偏差

手工粘贴存在 ±1mm 误差,传播距离产生系统偏差

制作定位模具或打印定位贴纸,保证同轴度与距离精度

采样率限制

500Hz 采样对应约 2ms 时间分辨率,是时间差测量的主要系统误差

提高加速度计采样率,或采用过采样提升分辨率

边界反射干扰

木板边缘反射波与入射波叠加,轻微偏移峰值位置

四周边缘粘贴泡棉阻尼条吸收反射波

2. 随机误差

来源

影响

改进

震源操作偏差

落点偏移或高度波动引起冲击能量差异,导致时间差波动

定高释放导轨 + 落点定位环,保证每次冲击一致

环境振动干扰

桌面微振抬高基线,影响阈值判断

增加减震底座,优化基线动态校准算法

阈值触发偏差

固定阈值会因波形斜率不同引入微小时间偏差

改用波形互相关算法计算到达时间

(四)最终结论

1.规律验证:装置在小型木板介质中成功模拟并观测到纵波与横波,定量验证“纵波快、横波慢”,波速比与固体弹性波理论值吻合。

2.特性验证:清晰呈现纵波“尖锐脉冲、瞬时冲击、衰减迅速”与横波“宽幅振荡、持续剪切、衰减缓慢”的形态差异,印证横波是结构破坏主因。

3.装置效能:K10 + 双传感器 + 状态机 + 逐点梯度测试,能稳定可重复地完成双波捕获与时序测量,兼具演示直观性与实验严谨性。

4.科普价值:直观再现“纵波先行、横波后至”的时序特征,可演示地震预警原理,适用于物理教学、科创展示与地震科普。

八、创新点与应用展望

(一)项目创新点

•  结构设计:三层悬浮结构 + 正方形对称台面 + 三工位梯度布局,在有限接口条件下实现多距离定量探究。

•  程序逻辑:有限状态机 + 双时间戳独立记录,从逻辑层面杜绝误触发与波序颠倒,同时保留两波具体到达时间便于复核。

•  分波方案:压电陶瓷 + 加速度计利用器件物理敏感特性天然分波,原理清晰、成本低廉、无需复杂算法。

•  呈现方式:波形可视化、独立到达时刻、时间差、波速一体化呈现,既适合演示也支撑定量分析。

(二)应用展望

•  教学应用:作为中学物理“机械波”章节的配套实验器材,帮助学生建立纵波与横波的直观认知。

•  科普应用:部署于科技馆或校园科普角,通过互动演示普及地震预警原理与抗震知识。

•  拓展方向:增加多通道采集模块实现三工位同步采集;更换不同材质、厚度的台面,探究介质属性对波速与衰减的影响。

 

硬件清单

创作许可协议

本项目采用 CC BY(署名) 进行许可。

所需材料/产品

加载全部

    Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

    Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

    Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

    行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

    行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

    行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

    行空板K10 IO扩展板

    行空板K10 IO扩展板

    行空板K10 IO扩展板

相关推荐

评论(0)
- 没有更多了 -

创作许可协议

本项目采用 CC BY(署名) 进行许可。

相关推荐

所需材料/产品

Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

Gravity: 模拟压电陶瓷振动传感器(Arduino兼容)

行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

行空板K10 AI智能体编程主板,支持ESP-Claw/DeepSeek/MCP/边缘计算

行空板K10 IO扩展板

行空板K10 IO扩展板

行空板K10 IO扩展板

加载全部