3. 采集需求建模与指标定义
实验目标通常以自然语言描述,例如“验证电机在阶跃负载下的转速恢复能力”。这句话无法直接驱动采集系统,必须把它翻译成一组可执行的采集契约:采什么、多久采一次、采多准、各通道之间如何对齐、每条数据带哪些说明信息、什么条件下触发反馈。这一过程称为采集需求建模。它的核心思路是反推:从实验结论需要什么证据出发,倒推数据必须满足的条件,而不是先看采集卡有什么通道再决定采什么。
从实验目标到采集字段
反推的第一步是明确“结论需要哪些量”。以电机阶跃负载实验为例,要证明转速恢复能力,至少需要转速本身、负载转矩、母线电流和给定转速指令。转速是结论量,负载转矩是激励量,母线电流用于判断是否出现限流,给定指令用于计算恢复时间。四者缺一不可,否则结论无法闭环。
字段定义不能只写名称,还要写清物理含义、单位、量程和符号约定。例如转速字段定义为“电机轴端机械转速,单位 r/min,量程 0~3000,正方向与编码器 A 相超前 B 相一致”。符号约定必须在建模阶段固定,否则后续“恢复时间”可能因正负号理解不同而算错。建议用一张字段表固化这些信息:
| 字段 | 物理含义 | 单位 | 量程 | 用途 |
|---|---|---|---|---|
| n_motor | 电机轴端转速 | r/min | 0~3000 | 结论量 |
| T_load | 负载转矩 | N·m | 0~5 | 激励量 |
| I_bus | 母线电流 | A | -20~20 | 限流判断 |
| n_ref | 给定转速 | r/min | 0~3000 | 恢复时间基准 |
采样频率:由动态过程决定
采样频率不是越高越好,而是由被测量的动态带宽决定。若转速恢复过程的主要时间常数约为 80 ms,按工程经验取 10 倍以上采样率,则采样周期应不大于 8 ms,对应 125 Hz 以上。为留出余量,可选 200 Hz,即采样周期 5 ms。负载转矩若由阶跃信号源产生,其跳变沿本身很快,但真正需要分辨的是跳变后的响应,因此可与转速同频采样。
母线电流可能包含开关纹波,若直接 200 Hz 采样会混叠。此时应区分“采集频率”和“分析带宽”:可以在前端加截止频率 100 Hz 的抗混叠滤波,再以 200 Hz 采样;若必须观察纹波,则需单独提高该通道采样率并记录原始波形。这说明不同字段可以有不同采样频率,不必强行统一。
精度与分辨率
精度要求同样由结论反推。若要求恢复时间分辨到 10 ms,而转速在恢复段的变化率约为 200 r/min 每 100 ms,则 10 ms 对应约 20 r/min 的变化。要可靠判断这一变化,转速测量分辨率应优于 5 r/min。若编码器为 2500 线、四倍频,则每转 10000 计数,在 1 s 测速窗口下分辨率约为 0.1 r/min,满足要求;但若用 10 ms 窗口测速,计数仅约 100,量化误差约 1%,对应 30 r/min,反而不够。因此精度指标必须和测速算法、窗口长度一起定义,不能只写“精度 0.1%”。
时序要求与通道对齐
多通道数据必须能回答“同一时刻发生了什么”。若转速和电流由不同设备采集,需定义统一时基。常用做法是让所有设备接收同一硬件触发信号,或使用 IEEE 1588 类时钟同步,并在元数据中记录各通道时间戳。若无法硬件同步,则至少记录触发时刻和采样起始时刻,并在分析时做时间对齐。时序要求应明确写出:通道间同步误差不超过多少毫秒,触发延迟不超过多少毫秒。
元数据规范
元数据是让数据可被他人理解和复现的关键。每条实验记录至少应包含:实验编号、日期时间、操作人、实验目标、字段清单及单位、采样频率、量程、滤波器设置、触发条件、设备型号与编号、软件版本、环境温度。缺少元数据的数据文件,几周后连自己都无法解释。建议把元数据与数据存为同一目录下的 JSON 或 YAML 文件,字段名与数据列名一一对应。
反馈触发条件
反馈触发条件决定系统在什么情况下自动响应。它应写成明确的逻辑表达式,并绑定到具体字段和阈值。例如:
触发条件 A:n_motor < 0.9 * n_ref 且持续 50 ms
触发条件 B:I_bus > 15 A 且持续 20 ms
触发条件 C:T_load 阶跃后 500 ms 内 n_motor 未回到 0.95 * n_ref
响应动作:
A → 记录恢复段波形并标记“恢复超时”
B → 立即降低负载并记录限流事件
C → 触发报警并保存前后各 2 s 数据
触发条件中的阈值、持续时间、响应动作都必须来自实验目标,而不是随意设定。阈值过松会漏报,过紧会频繁误触发,因此建模阶段应先用预实验数据估算正常波动范围,再留出合理裕量。
建模结果的检查
完成建模后,用三个问题自检:第一,每个字段是否都能对应到实验结论中的某个判断?第二,采样频率和精度是否足以分辨结论所需的最小变化?第三,触发条件是否能在不误报的前提下捕获目标事件?若任一问题无法回答,说明建模尚未完成。采集需求建模的产出不是一份文档,而是一组可以直接写入采集程序、数据表和触发逻辑的约束条件。只有这些约束明确,后续的自动采集与反馈才有可靠依据。