谐波降噪(1) - 基于步进脉冲相位调制

摘要

面向 3D 打印机及其他开环步进驱动平台,本文提出一种基于步进脉冲相位调制的前馈谐波降噪方法。该方法通过三轴 MEMS 加速度计采集结构振动信号,利用快速傅里叶变换提取目标谐波频段能量,并在 STEP 脉冲发送端注入可控的微小时序扰动,以破坏性干涉方式抑制由步进电机转矩脉动引发的结构共振。全文围绕物理机理、数学建模、测量方法、参数辨识、全速域标定及工程实现展开,给出适用于 Cartesian 与 CoreXY 架构的建模与标定流程,并对贪心搜索、贝叶斯优化、线性插值与样条插值等方法进行比较。本文旨在为相关研究人员和工程实践者提供一套逻辑清晰、便于实现的技术说明。

1. 引言与总体方案

1.1 问题定义

在高速运行条件下,3D 打印机、点胶平台和轻型数控机构中的步进电机容易激发结构件、皮带和导轨的固有模态,表现为啸叫、共振和轮廓误差增加。问题根源并不完全来自控制指令本身,而是来自电机转矩脉动与机械结构频响之间的耦合。

对于采用开环驱动器的系统,仅依靠细分、电流斩波或机械加固往往难以在全速域内兼顾成本、噪声和动态性能。本文研究的核心问题是:能否在不改动电机内部电流闭环的前提下,仅通过步进脉冲的发送时序,对特定谐波进行前馈补偿,从而降低结构振动与噪声。

1.2 方法概述

本文采用前馈谐波振动抑制方法。基本思路如下:

  1. 在给定速度和方向下,采集机架三轴振动数据。
  2. 通过 FFT 提取目标谐波频段的能量特征。
  3. 在 STEP 脉冲时间轴上注入幅值为 AnA_nAn、相位为 ϕn\phi_nϕn 的周期扰动。
  4. 以三轴综合振动代价函数 JJJ 为目标,搜索使 JJJ 最小的参数组合。
  5. 在多个速度节点离线标定后,构建查找表或插值模型,供在线运行时调用。

该方法本质上是对原始运动指令做微小的时序整形,而不是改变宏观路径规划。因此,只要补偿幅值受控,理论上不会破坏轮廓精度和终点位置精度。

1.3 系统架构与工作流程

系统由运动规划、脉冲生成、振动测量、频域分析、参数寻优和在线补偿六个部分组成,其闭环标定流程可概括为:

若从标定执行角度展开,可将其细化为更适合工程实现和教学理解的流程:

该展开流程强调了三个关键约束:一是标定必须带速度和方向信息,二是必须保证单电机解耦,三是参数搜索的评价依据始终来自统一的频域代价函数 JJJ。

1.4 适用范围与边界

本文方案适用于开环步进系统,尤其适合低成本、高速度、对噪声敏感的运动平台。对于具备高带宽电流环和位置环的闭环 FOC 或伺服系统,本文方法通常不作为首选,因为外部注入的时序扰动可能与底层闭环控制形成冲突。

1.5 本章小结

本章明确了研究对象、技术路线与系统边界。后续章节将依次说明谐波产生机理、测量与建模方法、参数优化策略以及工程实现方式。

2. 物理机理与数学模型

2.1 谐波与结构共振的来源

步进电机的实际电磁转矩并非理想正弦,而会受到齿槽转矩、反电动势非正弦性、加工误差及磁路不对称等因素影响,形成周期性脉动。可写为:

Te(θe)=Tsyncsin⁡(θe)+∑k=1∞Tksin⁡(kθe+αk)(2-1) T_e(\theta_e) = T_{sync}\sin(\theta_e) + \sum_{k=1}^{\infty} T_k\sin(k\theta_e + \alpha_k) \tag{2-1} Te(θe)=Tsyncsin(θe)+k=1∑∞Tksin(kθe+αk)(2-1)

式中,TsyncT_{sync}Tsync 为同步基波转矩,TkT_kTk 为第 kkk 次谐波转矩分量,θe\theta_eθe 为电气角。若这些谐波频率落入机架、导轨或皮带系统的固有频率附近,就会出现明显的结构共振与声学放大。

2.2 机械角与电气角映射

对于极对数为 NpN_pNp 的步进电机,机械角与电气角之间满足:

θe(t)=Np θm(t)(2-2) \theta_e(t) = N_p\,\theta_m(t) \tag{2-2} θe(t)=Npθm(t)(2-2)

其中,θm(t)\theta_m(t)θm(t) 为机械角,θe(t)\theta_e(t)θe(t) 为电气角。该映射说明,只要已知电机转速和极对数,即可推导激振基频及其倍频位置,为后续 FFT 目标频段提取提供依据。

2.3 位置脉位调制模型

未进行补偿时,匀速运动的理想位移可表示为:

xref(t)=vt(2-3) x_{ref}(t) = vt \tag{2-3} xref(t)=vt(2-3)

在引入谐波补偿后,实际发送给驱动器的参考位移修改为:

x(t)=vt+∑n∈{1,2,4}Ansin⁡(2πfnt+ϕn)(2-4) x(t) = vt + \sum_{n \in \{1,2,4\}} A_n\sin(2\pi f_n t + \phi_n) \tag{2-4} x(t)=vt+n∈{1,2,4}∑Ansin(2πfnt+ϕn)(2-4)

其中,AnA_nAn 和 ϕn\phi_nϕn 分别为第 nnn 次谐波补偿的幅值和相位,fnf_nfn 为目标补偿频率。该表达式对应的工程含义是:在不改变宏观轨迹的条件下,对微观脉冲时序进行调制。

2.4 破坏性干涉条件

设结构原始振动响应为:

e(t)=Bsin⁡(2πfvibt+θ)(2-5) e(t) = B\sin(2\pi f_{vib} t + \theta) \tag{2-5} e(t)=Bsin(2πfvibt+θ)(2-5)

若注入补偿分量

u(t)=Ansin⁡(2πfnt+ϕn) u(t) = A_n\sin(2\pi f_n t + \phi_n) u(t)=Ansin(2πfnt+ϕn)

满足近似条件

An≈B,ϕn≈θ±π(2-6) A_n \approx B, \qquad \phi_n \approx \theta \pm \pi \tag{2-6} An≈B,ϕn≈θ±π(2-6)

则合成响应 e(t)+u(t)e(t)+u(t)e(t)+u(t) 在目标频段内趋于减小。该条件并不要求数学上完全相消,但为参数辨识提供了明确目标,即通过实验搜索找到最接近式 (2-6) 的参数对。

2.5 工程示例:G-code 到脉冲时序调制

以指令 G1 X100 F6000 为例,若 X 轴脉冲当量为 80 step/mm80\ \text{step/mm}80 step/mm,则 100 mm/s100\ \text{mm/s}100 mm/s 对应基准脉冲频率为:

fstep=100×80=8000 Hz f_{step} = 100 \times 80 = 8000\ \text{Hz} fstep=100×80=8000 Hz

若目标补偿频率为 130 Hz130\ \text{Hz}130 Hz,补偿幅值为 0.05 mm0.05\ \text{mm}0.05 mm,相位为 45∘45^\circ45∘,则位移模型可写为:

x(t)=100t+0.05sin⁡(2π⋅130t+π4)(2-7) x(t)=100t+0.05\sin(2\pi\cdot130t+\tfrac{\pi}{4}) \tag{2-7} x(t)=100t+0.05sin(2π⋅130t+4π)(2-7)

为了让这个例子更容易理解,可以把它拆成"未补偿"和"补偿后"两种情况。

  1. 未补偿时,理想位移为:

xref(t)=100t x_{ref}(t)=100t xref(t)=100t

对应的累计脉冲数为:

Pref(t)=xref(t)×80=8000t P_{ref}(t)=x_{ref}(t)\times 80 = 8000t Pref(t)=xref(t)×80=8000t

这意味着脉冲发生器以固定频率 8000 Hz8000\ \text{Hz}8000 Hz 输出脉冲,相邻脉冲间隔为:

Δt=18000=125 μs \Delta t = \frac{1}{8000} = 125\ \mu s Δt=80001=125 μs

  1. 补偿后,位移参考变为式 (2-7),对应的累计脉冲数可写为:

Preal(t)=8000t+4sin⁡(2π⋅130t+π4) P_{real}(t)=8000t + 4\sin(2\pi\cdot130t+\tfrac{\pi}{4}) Preal(t)=8000t+4sin(2π⋅130t+4π)

其中,0.05 mm0.05\ \text{mm}0.05 mm 的补偿幅值乘以 80 step/mm80\ \text{step/mm}80 step/mm,可换算为约 4 个 step 的微小位置扰动。它不会改变最终总脉冲数的大趋势,但会让局部脉冲间隔在 125 μs125\ \mu s125 μs 附近做周期性提前和滞后。

在工程上,可以把两种情况画成下面的时序对比图:

从这个图可以看出,PPPM 的关键不是"多发脉冲"或"少发脉冲",而是"在正确的时间稍微提前或稍微延后发出脉冲"。宏观上,执行器仍然会到达同样的位置;微观上,时序被重新排布,从而向机械系统注入一个相位可控的补偿激励。

从最容易理解的角度总结,这个过程等价于:

  1. 先按照正常轨迹计算应当何时发脉冲。
  2. 再根据查表得到的 AAA 和 ϕ\phiϕ,给这些脉冲附加一个周期性时间偏移。
  3. 该偏移的周期锁定在目标谐波频率附近,因此能对特定共振频段起作用。

因此,式 (2-7) 的作用不是改变运动路径,而是改变脉冲时序,从而改变系统受到的激励方式。

2.6 本章小结

本章说明了谐波噪声的物理来源,并建立了从转矩脉动到脉冲时序调制的数学联系。位置脉位调制的本质是可控前馈扰动,其目标是以较小的时序代价换取目标频段振动能量的下降。

3. 振动测量与代价函数构建

3.1 激振频率与运动速度映射

补偿参数的搜索依赖对目标激振频率的准确估计。对于同步带传动系统,若电机每转一圈带来的线位移为 LrevL_{rev}Lrev,则在 Cartesian 架构下,电机电气基频可写为:

fe,Cartesian=vheadLrevNp(3-1) f_{e,Cartesian} = \frac{v_{head}}{L_{rev}}N_p \tag{3-1} fe,Cartesian=LrevvheadNp(3-1)

在 CoreXY 架构的单电机解耦标定条件下,沿特定对角线运动时,单台电机实际线速度约为 2vhead\sqrt{2}v_{head}2 vhead,因此有:

fe,CoreXY=2vheadLrevNp(3-2) f_{e,CoreXY} = \frac{\sqrt{2}v_{head}}{L_{rev}}N_p \tag{3-2} fe,CoreXY=Lrev2 vheadNp(3-2)

该差异意味着同一打印头速度下,CoreXY 的目标谐波频率通常高于 Cartesian,因此对采样带宽与分析频率分辨率提出了更高要求。

为便于建立数量级直觉,下面给出两个直接的计算示例。设同步轮等效周长 Lrev=40 mmL_{rev}=40\ \text{mm}Lrev=40 mm,电机极对数 Np=50N_p=50Np=50,打印头标称速度 vhead=300 mm/sv_{head}=300\ \text{mm/s}vhead=300 mm/s。

  1. Cartesian 架构:

fe,Cartesian=30040×50=375 Hz f_{e,Cartesian}=\frac{300}{40}\times 50 = 375\ \text{Hz} fe,Cartesian=40300×50=375 Hz

若关心 4 倍频,则目标频率约为:

f4x=4×375=1500 Hz f_{4x}=4\times375=1500\ \text{Hz} f4x=4×375=1500 Hz

此时采样率至少应满足:

fs≥2×1500=3000 Hz f_s \ge 2\times1500 = 3000\ \text{Hz} fs≥2×1500=3000 Hz

  1. CoreXY 架构下的单电机解耦标定:

fe,CoreXY=2×375≈530.3 Hz f_{e,CoreXY}=\sqrt{2}\times375\approx530.3\ \text{Hz} fe,CoreXY=2 ×375≈530.3 Hz

若同样分析 4 倍频,则目标频率变为:

f4x=4×530.3≈2121.2 Hz f_{4x}=4\times530.3\approx2121.2\ \text{Hz} f4x=4×530.3≈2121.2 Hz

对应的最低采样率要求变为:

fs≥2×2121.2≈4242.4 Hz f_s \ge 2\times2121.2 \approx 4242.4\ \text{Hz} fs≥2×2121.2≈4242.4 Hz

这说明同样是 300 mm/s 的标称速度,CoreXY 在单电机解耦标定时对采样带宽的要求明显高于 Cartesian。若传感器最大输出率只有 3200 Hz,则足以覆盖前一种情况,但对后一种情况已经存在失真风险。

3.2 单电机解耦标定原则

为使输入参数与输出振动之间尽可能满足单输入单输出关系,标定时应保证同一时刻仅有一台电机主导激励。否则,多台电机同时运行会引入拍频、串扰和峰值漂移,降低参数搜索的可重复性。

对于 Cartesian 架构,可采用纯 X 或纯 Y 方向直线运动进行单轴标定。对于 CoreXY 架构,则应通过 45∘45^\circ45∘ 或 135∘135^\circ135∘ 对角线运动,使一台电机工作而另一台电机保持静止,从而完成单电机解耦。

3.3 正反向独立标定的必要性

理论上,若系统完全对称,则速度 +v+v+v 与 −v-v−v 的补偿参数应具有简单镜像关系;但在实际机构中,皮带张力、摩擦、回差和安装误差会导致明显的方向不对称。因此,正反向应分别标定,至少应分别记录相位参数,必要时幅值也应独立存储。

3.4 采样率与抗混叠约束

设目标分析频率上限为 fmaxf_{max}fmax,则采样频率应满足奈奎斯特条件:

fs≥2fmax(3-3) f_s \ge 2f_{max} \tag{3-3} fs≥2fmax(3-3)

在工程上,考虑滤波余量、传感器性能和 FFT 分辨率,建议采样率适当高于理论下限。对于高速度 CoreXY 系统,若需要观察 4 倍频甚至更高频成分,采样率通常应达到数千赫兹以上。

这里给出一个更具体的选型示例。假设当前测试条件为:

  1. 目标结构为 CoreXY。
  2. 打印头速度为 300 mm/s300\ \text{mm/s}300 mm/s。
  3. 目标分析谐波为 4 倍频。
  4. 已由上节计算得到 fmax≈2121.2 Hzf_{max}\approx2121.2\ \text{Hz}fmax≈2121.2 Hz。

则不同采样率下的判断如下:

采样率 fsf_sfs 是否满足奈奎斯特 结论
1600 Hz1600\ \text{Hz}1600 Hz 必然混叠,不能用于该工况
3200 Hz3200\ \text{Hz}3200 Hz 可用于较低频谐波,但不足以覆盖本例 4 倍频
5000 Hz5000\ \text{Hz}5000 Hz 满足基础采样要求,适合进一步做频域分析

除采样率外,还应关注 FFT 频率分辨率。若采用 fs=3200 Hzf_s = 3200\ \text{Hz}fs=3200 Hz、N=1024N = 1024N=1024 点 FFT,则频率分辨率为:

Δf=fsN=32001024≈3.125 Hz \Delta f = \frac{f_s}{N} = \frac{3200}{1024} \approx 3.125\ \text{Hz} Δf=Nfs=10243200≈3.125 Hz

该量决定了频谱上相邻频点的间距。若目标峰值恰好位于两个频点之间,仅取单点会低估峰值,因此后续必须配合带宽窗口 ΔfBW\Delta f_{BW}ΔfBW 进行局部峰值提取。

3.5 窗函数与 FFT 处理

为减小有限时窗带来的频谱泄漏,采样序列在 FFT 前应施加窗函数。以汉宁窗为例:

wm=0.5(1−cos⁡2πmN−1)(3-4) wm = 0.5\left(1-\cos\frac{2\pi m}{N-1}\right) \tag{3-4} wm=0.5(1−cosN−12πm)(3-4)

对任一轴向加速度序列 amamam,其频域表示为:

X(k)=∑m=0N−1amwme−j2πNkm(3-5) X(k)=\sum_{m=0}^{N-1} amwme^{-j\frac{2\pi}{N}km} \tag{3-5} X(k)=m=0∑N−1amwme−jN2πkm(3-5)

在实际实现中,通常对 X、Y、Z 三轴分别进行 FFT,再在目标频带上提取幅值特征。

3.6 目标频带窗口设置

由于 FFT 频率分辨率有限,且真实系统存在转速波纹和结构频响展宽,因此不宜只读取单个离散频点。设目标中心频率为 fkf_kfk,则可在窗口

fk−ΔfBW, fk+ΔfBW\] \[f_k-\\Delta f_{BW},\\ f_k+\\Delta f_{BW}\] \[fk−ΔfBW, fk+ΔfBW

内提取局部峰值。ΔfBW\Delta f_{BW}ΔfBW 需要同时满足两点:

  1. 足以覆盖频率漂移和 FFT 栅栏效应。
  2. 不至于扩展到相邻谐波频段,引入串扰。

更具体地说,带宽窗口之所以要"配合"采样率和 FFT 一起设定,是因为它本质上是在回答两个问题:

  1. 目标峰值可能偏离理论频点多少?
  2. 为了不漏掉这个峰值,至少要在理论频点两侧留多宽的搜索余量?

常见的窗口选取逻辑如下:

  1. 先由采样率和 FFT 点数确定频率分辨率 Δf=fs/N\Delta f = f_s/NΔf=fs/N。
  2. 再给窗口设定一个不小于若干个频率分辨率的余量,避免单点漏峰。
  3. 最后检查窗口是否过宽,避免把邻近谐波或寄生峰一起纳入。

例如,若 fs=3200 Hzf_s=3200\ \text{Hz}fs=3200 Hz、N=1024N=1024N=1024,则:

Δf=3.125 Hz \Delta f = 3.125\ \text{Hz} Δf=3.125 Hz

如果只取理论频点一个 bin,那么目标峰值一旦偏在两个频点之间,就可能被低估。一个更稳妥的做法,是至少保留 3 倍频率分辨率作为下限:

ΔfBW,min≈3Δf≈9.4 Hz \Delta f_{BW,min} \approx 3\Delta f \approx 9.4\ \text{Hz} ΔfBW,min≈3Δf≈9.4 Hz

工程上通常会向上取整到 ±10 Hz\pm 10\ \text{Hz}±10 Hz 或 ±20 Hz\pm 20\ \text{Hz}±20 Hz,用于覆盖以下几类误差:

  1. FFT 栅栏效应导致的单点偏差。
  2. 电机实际转速波纹造成的频率轻微漂移。
  3. 结构共振峰本身不是理想尖峰,而是具有一定展宽。

下面给出一个完整示例。假设理论目标频率为 fk=1500 Hzf_k = 1500\ \text{Hz}fk=1500 Hz,FFT 分辨率仍为 3.125 Hz3.125\ \text{Hz}3.125 Hz。若取:

ΔfBW=20 Hz \Delta f_{BW} = 20\ \text{Hz} ΔfBW=20 Hz

则实际搜索区间为:

1480,1520 Hz 1480,1520\ \text{Hz} 1480,1520 Hz

这意味着算法不会只盯住 1500 Hz 单点,而是会在该区间内寻找局部最大值。若真实峰值由于机械漂移落在 1492 Hz 或 1508 Hz,仍能被窗口正确抓到。

但窗口也不能无限放大。设相邻谐波峰分别位于 1500 Hz 和 1600 Hz,则窗口半宽必须满足:

ΔfBW<1600−15002=50 Hz \Delta f_{BW} < \frac{1600-1500}{2} = 50\ \text{Hz} ΔfBW<21600−1500=50 Hz

否则窗口就有可能越过两个峰之间的分界,把邻近谐波一起纳入,导致搜索目标失真。

因此,可以把带宽窗口理解为"围绕理论频点画一个有限宽度的搜索框"。这个搜索框既要足够宽,防止漏掉真实峰值;又要足够窄,防止抓到不该抓的邻近峰。对轻载步进系统,一个常用且易实现的经验范围是:

  1. 下限不低于 3Δf3\Delta f3Δf。
  2. 经验值常取 ±10 Hz\pm 10\ \text{Hz}±10 Hz 到 ±30 Hz\pm 30\ \text{Hz}±30 Hz。
  3. 上限必须小于相邻谐波间距的一半。

3.7 三轴综合振动代价函数

为避免单轴观测带来的方向偏置,本文采用三轴频域幅值的欧几里得范数构建代价函数:

J(ftarget)=max⁡k∈fk−ΔfBW, fk+ΔfBW∣X(k)∣2+∣Y(k)∣2+∣Z(k)∣2(3-6) J(f_{target}) = \max_{k \in f_k-\\Delta f_{BW},\\ f_k+\\Delta f_{BW}}\sqrt{|X(k)|^2+|Y(k)|^2+|Z(k)|^2} \tag{3-6} J(ftarget)=k∈fk−ΔfBW, fk+ΔfBWmax∣X(k)∣2+∣Y(k)∣2+∣Z(k)∣2 (3-6)

该定义具有两个优点:

  1. 对传感器安装方向不敏感,具有较好的旋转不变性。
  2. 能反映空间整体振动水平,避免单轴最优而整机并不最优的情况。

其数据处理过程可进一步表示为:

例如,在某次测试中,目标频带内某一点的三轴幅值分别为 ∣X∣=0.8|X|=0.8∣X∣=0.8、∣Y∣=0.6|Y|=0.6∣Y∣=0.6、∣Z∣=0.3|Z|=0.3∣Z∣=0.3,则综合评分为:

J=0.82+0.62+0.32=1.09≈1.044 J = \sqrt{0.8^2+0.6^2+0.3^2} = \sqrt{1.09} \approx 1.044 J=0.82+0.62+0.32 =1.09 ≈1.044

若另一组参数使得三轴幅值变为 0.50.50.5、0.40.40.4、0.20.20.2,则有:

J=0.52+0.42+0.22=0.45≈0.671 J = \sqrt{0.5^2+0.4^2+0.2^2} = \sqrt{0.45} \approx 0.671 J=0.52+0.42+0.22 =0.45 ≈0.671

由于第二组参数对应的 JJJ 更小,因此说明其在空间总体振动抑制上更优。

3.8 本章小结

本章建立了从速度到目标频率、从采样到 FFT、从频域特征到代价函数的完整测量链路。该链路为后续参数搜索提供了可重复、可量化的评价标准。

4. 参数辨识与优化算法

4.1 优化问题定义

给定速度、方向和目标谐波阶次后,需要求解参数对 (A,ϕ)(A,\phi)(A,ϕ),使代价函数 JJJ 最小:

min⁡A,ϕJ(A,ϕ)(4-1) \min_{A,\phi} J(A,\phi) \tag{4-1} A,ϕminJ(A,ϕ)(4-1)

该问题通常是非凸的,且每次评价都需要真实运动和实际采样,因此属于典型的高代价黑盒优化问题。工程上常用两类方法:方案 A 为分步贪心搜索,方案 B 为贝叶斯优化。前者强调实现简单,后者强调全局搜索效率。

4.2 方案 A:分步贪心搜索

方案 A 的核心思想是把二维搜索拆分成两个一维问题:先找相位,再找幅值。这样做的原因是相位对破坏性干涉的影响通常更敏感,先把相位调到接近最优,后续的幅值搜索会更稳定。

4.2.1 第一步:固定幅值,搜索相位

设初始测试幅值为 AinitA_{init}Ainit。在第一步中,算法保持 A=AinitA=A_{init}A=Ainit 不变,只在相位区间内搜索最优的 ϕ\phiϕ。常见做法是先粗扫,再局部细化:

  1. 以较大步长在 0,2π0,2\\pi0,2π 上扫描,找到若干低谷区域。
  2. 选择最低谷附近作为局部搜索起点。
  3. 使用更小步长继续比较,直到相位收敛。

其执行流程可写为:

这一步的目标不是立刻得到最终参数对,而是先找到一个足够接近反相抵消条件的相位值 ϕopt\phi_{opt}ϕopt。

4.2.2 第二步:固定相位,搜索幅值

当 ϕopt\phi_{opt}ϕopt 确定后,算法进入第二步。此时相位保持不变,只沿幅值方向搜索 AAA。搜索逻辑与相位完全一致,只是搜索变量换成了补偿幅值:

  1. 固定 ϕ=ϕopt\phi = \phi_{opt}ϕ=ϕopt。
  2. 测试 A−ΔAA-\Delta AA−ΔA、AAA、A+ΔAA+\Delta AA+ΔA 三个点。
  3. 若左侧或右侧更优,则向对应方向滑动。
  4. 当中心点成为局部最小值时,得到 AoptA_{opt}Aopt。

从物理意义上看,若相位已经接近最优,则改变幅值就是在判断"补偿过小、刚好合适还是补偿过大"。因此这一阶段通常比相位搜索更容易收敛。

4.2.3 STEP_SLIDE 的三点滑动机制

无论优化变量是 ϕ\phiϕ 还是 AAA,底层都可以统一用三点滑动法实现。设当前搜索中心为 XkX_kXk,步长为 dXdXdX,则测试三点:

  1. Xk−dX→JminusX_k-dX \rightarrow J_{minus}Xk−dX→Jminus
  2. Xk→JcenterX_k \rightarrow J_{center}Xk→Jcenter
  3. Xk+dX→JplusX_k+dX \rightarrow J_{plus}Xk+dX→Jplus

其判据如下:

  1. 若 JminusJ_{minus}Jminus 最小,说明更优点在左侧。
  2. 若 JplusJ_{plus}Jplus 最小,说明更优点在右侧。
  3. 若 JcenterJ_{center}Jcenter 最小,说明当前已落入局部谷底。

可以将它理解为"离散版梯度下降",只不过不显式计算导数,而是直接通过三次真实测量判断下降方向。

4.2.4 方案 A 的工程例子

假设某一速度点下,当前固定幅值为 A=30A=30A=30,搜索相位。若测试结果为:

  1. ϕ=0∘→J=10.0\phi=0^\circ \rightarrow J=10.0ϕ=0∘→J=10.0
  2. ϕ=10∘→J=9.2\phi=10^\circ \rightarrow J=9.2ϕ=10∘→J=9.2
  3. ϕ=−10∘→J=10.5\phi=-10^\circ \rightarrow J=10.5ϕ=−10∘→J=10.5

由于右侧点最小,说明更优相位在正方向。随后继续测试 20∘20^\circ20∘、30∘30^\circ30∘ 直到 90∘90^\circ90∘ 附近。如果测得:

  1. ϕ=90∘→J=4.0\phi=90^\circ \rightarrow J=4.0ϕ=90∘→J=4.0
  2. ϕ=100∘→J=4.2\phi=100^\circ \rightarrow J=4.2ϕ=100∘→J=4.2

则可判断最优相位位于 90∘90^\circ90∘ 附近。再固定该相位搜索幅值。若依次得到:

  1. A=40→J=3.8A=40 \rightarrow J=3.8A=40→J=3.8
  2. A=50→J=2.6A=50 \rightarrow J=2.6A=50→J=2.6
  3. A=60→J=2.0A=60 \rightarrow J=2.0A=60→J=2.0
  4. A=70→J=2.4A=70 \rightarrow J=2.4A=70→J=2.4

则说明最优幅值位于 A=60A=60A=60 附近,最终得到参数对 (Aopt,ϕopt)=(60,90∘)(A_{opt},\phi_{opt})=(60,90^\circ)(Aopt,ϕopt)=(60,90∘)。

方案 A 的优点是计算量低、容易下沉到 MCU;缺点是如果初始点靠近伪局部极小值,就可能收敛到局部最优而不是全局最优。

4.3 方案 B:贝叶斯优化

当系统具备上位机算力时,可采用贝叶斯优化对 (A,ϕ)(A,\phi)(A,ϕ) 联合求解。与方案 A 不同,方案 B 不先拆分变量,而是把二维参数空间整体看作一个待搜索平面,再用代理模型预测哪些区域最值得继续测试。

4.3.1 基本流程

贝叶斯优化通常包含以下四步:

  1. 先在参数空间内选少量点做初始测试。
  2. 用这些真实样本建立代理模型,例如高斯过程模型。
  3. 用采集函数在"去已知低谷附近继续细找"和"去未知区域继续探索"之间做平衡。
  4. 选择新的测试点,执行真实测量,再更新模型。

其流程可以概括为:

这种方法的关键优势在于,每一次新测试都不是盲试,而是利用已有样本信息做"最有价值的一次试探"。

4.3.2 方案 B 的工程例子

仍以上节的同一速度点为例,假设真实最优点位于 (60,90∘)(60,90^\circ)(60,90∘),但系统并不知道。贝叶斯优化可能先随机选取三组样本:

  1. (0,0∘)→J=10.0(0,0^\circ) \rightarrow J=10.0(0,0∘)→J=10.0
  2. (100,180∘)→J=15.0(100,180^\circ) \rightarrow J=15.0(100,180∘)→J=15.0
  3. (50,−90∘)→J=5.5(50,-90^\circ) \rightarrow J=5.5(50,−90∘)→J=5.5

此时模型会认为第三个点附近较优,但右上区域样本极少、不确定性很高。采集函数综合"低均值"和"高方差"后,可能选择 (55,80∘)(55,80^\circ)(55,80∘) 作为下一次测试点。若真实测得:

(55,80∘)→J=2.5 (55,80^\circ) \rightarrow J=2.5 (55,80∘)→J=2.5

则模型会迅速把低谷区域收缩到该点附近。随后再测试:

(60,90∘)→J=2.0 (60,90^\circ) \rightarrow J=2.0 (60,90∘)→J=2.0

即可定位真正最优点。和方案 A 相比,方案 B 往往能用更少的测试次数避开伪局部极小值,但前提是系统具备更高的软件复杂度和计算资源。

4.4 两类方法的工程比较

比较项 方案 A:分步贪心搜索 方案 B:贝叶斯优化
搜索变量处理 先相位后幅值,分两步 幅值与相位联合搜索
计算资源 中到高
实现复杂度
对初值敏感性
局部最优风险 较高 较低
物理测试次数 中等 通常更少
典型部署位置 MCU 本地标定 上位机辅助标定
适用场景 快速、低成本、可接受局部解 追求更高精度和更少试次

4.5 本章小结

本章将参数辨识归纳为非凸黑盒优化问题,并给出了两类典型解法。方案 A 适合嵌入式控制器上的低成本实现,方案 B 更适合上位机参与的高效全局标定。对而言,可以把两者理解为"简单但可能卡在局部谷底"和"更聪明但实现更复杂"这两类典型工程取舍。

5. 全速域标定与参数插值

5.1 离散速度节点标定

由于不同速度会激发不同频段的结构模态,单一参数对无法覆盖整个速度范围。因此,应在多个速度节点分别完成参数标定。例如,对速度集合

V={±50, ±100, ±150, ..., ±300} mm/s \mathcal{V}=\{\pm 50,\ \pm100,\ \pm150,\ \dots,\ \pm300\}\ \text{mm/s} V={±50, ±100, ±150, ..., ±300} mm/s

中的每个点,分别求得对应的最优参数 (Aopt,ϕopt)(A_{opt},\phi_{opt})(Aopt,ϕopt),并形成带方向信息的查找表。

一个适合教学和实现的离散打点流程如下:

这样得到的不是单个最优点,而是一张随速度和方向变化的参数地图。在线运行时,控制器从这张地图上读取或插值出当前所需补偿量。

5.2 方法 A:一阶线性插值

当实际运行速度 vvv 位于相邻节点 vk,vk+1v_k,v_{k+1}vk,vk+1 之间时,可先采用一阶线性插值。该方法默认参数在两个已知节点之间近似线性变化,优点是实现简单,适合 MCU 实时运算。

α=v−vkvk+1−vk,α∈0,1(5-1) \alpha = \frac{v-v_k}{v_{k+1}-v_k},\qquad \alpha\in0,1 \tag{5-1} α=vk+1−vkv−vk,α∈0,1(5-1)

A(v)=(1−α)Ak+αAk+1(5-2) A(v)=(1-\alpha)A_k+\alpha A_{k+1} \tag{5-2} A(v)=(1−α)Ak+αAk+1(5-2)

ϕ(v)=ϕk+α(ϕk+1−ϕk)(5-3) \phi(v)=\phi_k+\alpha(\phi_{k+1}-\phi_k) \tag{5-3} ϕ(v)=ϕk+α(ϕk+1−ϕk)(5-3)

其执行步骤可以概括为:先找到相邻速度节点,再计算权重 α\alphaα,最后分别对幅值与相位做线性过渡。该方法实现最简单,但在节点交界处导数不连续,动态性能一般。

5.3 方法 B:最小二乘全局拟合

若希望以较少参数描述整段速度范围,可对幅值或相位分别拟合多项式。该方法的思路不是"通过每一个点",而是"寻找整体误差最小的一条平滑曲线"。例如:

A(v)=p0+p1v+p2v2+⋯+pMvM(5-4) A(v)=p_0+p_1v+p_2v^2+\cdots+p_Mv^M \tag{5-4} A(v)=p0+p1v+p2v2+⋯+pMvM(5-4)

通过最小化残差平方和:

min⁡p0,...,pM∑i=1K(A(vi)−Ameasured(vi))2(5-5) \min_{p_0,\dots,p_M}\sum_{i=1}^{K}\left(A(v_i)-A_{measured}(v_i)\right)^2 \tag{5-5} p0,...,pMmini=1∑K(A(vi)−Ameasured(vi))2(5-5)

得到全局拟合系数。若采用一阶拟合 y=kv+by = kv + by=kv+b,则斜率和截距可由下式求得:

k=n∑viyi−∑vi∑yin∑vi2−(∑vi)2 k = \frac{n\sum v_iy_i - \sum v_i\sum y_i}{n\sum v_i^2-(\sum v_i)^2} k=n∑vi2−(∑vi)2n∑viyi−∑vi∑yi

b=∑yi−k∑vin b = \frac{\sum y_i-k\sum v_i}{n} b=n∑yi−k∑vi

其中,yiy_iyi 可以表示幅值数据,也可以表示相位数据。该方法计算平滑,但不一定穿过所有标定点,可能牺牲局部精度。若系统参数随速度变化较平缓,它可以显著压缩存储量;若真实曲线存在局部陡变,则可能出现欠拟合。

5.4 方法 C:三次样条插值

若要求插值结果经过所有测点,同时在节点处保持较高平滑性,可采用三次样条插值。对区间 vk,vk+1v_k,v_{k+1}vk,vk+1 构造:

Sk(v)=ak+bk(v−vk)+ck(v−vk)2+dk(v−vk)3(5-6) S_k(v)=a_k+b_k(v-v_k)+c_k(v-v_k)^2+d_k(v-v_k)^3 \tag{5-6} Sk(v)=ak+bk(v−vk)+ck(v−vk)2+dk(v−vk)3(5-6)

并在拼接节点上满足函数值、一阶导数和二阶导数连续。若采用自然边界条件,则端点二阶导数取零。对于只有 3 个等距节点的教学示例,样条求解可以简化为先求二阶导数参数 M1,M2,M3M_1,M_2,M_3M1,M2,M3,再代回分段公式求目标点的函数值。该方法通常比线性插值更平滑,也比高阶全局多项式更稳定,因此更适合作为工程实现方案。

5.5 相位解卷绕处理

相位是模 2π2\pi2π 变量,直接拟合或插值可能在 000 与 2π2\pi2π 的边界产生跳变。因此在方法 B 和方法 C 中,通常都应先进行解卷绕:

ϕunwrap(k)=ϕunwrap(k−1)+wrapToPi⁡(ϕmeasured(k)−ϕunwrap(k−1))(5-7) \phi_{unwrap}(k)=\phi_{unwrap}(k-1)+\operatorname{wrapToPi}\left(\phi_{measured}(k)-\phi_{unwrap}(k-1)\right) \tag{5-7} ϕunwrap(k)=ϕunwrap(k−1)+wrapToPi(ϕmeasured(k)−ϕunwrap(k−1))(5-7)

拟合完成后再对输出取模还原。该步骤对相位拟合和插值的稳定性十分关键。

5.6 三种方法的演算实例

设已标定得到三组数据:

速度 vvv 幅值 AAA 相位 ϕ\phiϕ
100 mm/s100\ \text{mm/s}100 mm/s 50 30∘30^\circ30∘
150 mm/s150\ \text{mm/s}150 mm/s 80 70∘70^\circ70∘
200 mm/s200\ \text{mm/s}200 mm/s 100 120∘120^\circ120∘

若当前运行速度为 130 mm/s130\ \text{mm/s}130 mm/s,下面分别演示方法 A、B、C 的求解过程。

演算 1:方法 A

线性插值权重为:

α=130−100150−100=0.6 \alpha = \frac{130-100}{150-100}=0.6 α=150−100130−100=0.6

因此幅值与相位分别为:

A(130)=50+0.6×(80−50)=68 A(130)=50+0.6\times(80-50)=68 A(130)=50+0.6×(80−50)=68

ϕ(130)=30∘+0.6×(70∘−30∘)=54∘ \phi(130)=30^\circ+0.6\times(70^\circ-30^\circ)=54^\circ ϕ(130)=30∘+0.6×(70∘−30∘)=54∘

结论是:方法 A 得到 A(130)=68A(130)=68A(130)=68、ϕ(130)=54∘\phi(130)=54^\circϕ(130)=54∘。它最容易实现,但相邻区间拼接时会形成折线。

演算 2:方法 B

为了便于手工计算,设采用一阶全局拟合 y=kv+by = kv + by=kv+b。下面分别对幅值和相位求拟合直线。

第一步,先处理幅值数据 (100,50)(100,50)(100,50)、(150,80)(150,80)(150,80)、(200,100)(200,100)(200,100)。令 n=3n=3n=3,则:

∑vi=100+150+200=450 \sum v_i = 100+150+200 = 450 ∑vi=100+150+200=450

∑vi2=1002+1502+2002=72500 \sum v_i^2 = 100^2+150^2+200^2 = 72500 ∑vi2=1002+1502+2002=72500

∑Ai=50+80+100=230 \sum A_i = 50+80+100 = 230 ∑Ai=50+80+100=230

∑viAi=100×50+150×80+200×100=37000 \sum v_iA_i = 100\times50 + 150\times80 + 200\times100 = 37000 ∑viAi=100×50+150×80+200×100=37000

代入上面的斜率与截距公式,可得:

kA=3×37000−450×2303×72500−4502=111000−103500217500−202500=750015000=0.5 k_A = \frac{3\times37000 - 450\times230}{3\times72500 - 450^2} = \frac{111000 - 103500}{217500 - 202500} = \frac{7500}{15000} = 0.5 kA=3×72500−45023×37000−450×230=217500−202500111000−103500=150007500=0.5

bA=230−0.5×4503=53≈1.67 b_A = \frac{230 - 0.5\times450}{3} = \frac{5}{3} \approx 1.67 bA=3230−0.5×450=35≈1.67

因此幅值拟合直线为:

A(v)≈0.5v+1.67 A(v) \approx 0.5v + 1.67 A(v)≈0.5v+1.67

代入 v=130v=130v=130,得到:

A(130)≈0.5×130+1.67=66.67 A(130) \approx 0.5\times130 + 1.67 = 66.67 A(130)≈0.5×130+1.67=66.67

第二步,再处理相位数据 (100,30∘)(100,30^\circ)(100,30∘)、(150,70∘)(150,70^\circ)(150,70∘)、(200,120∘)(200,120^\circ)(200,120∘)。此时:

∑ϕi=30+70+120=220 \sum \phi_i = 30+70+120 = 220 ∑ϕi=30+70+120=220

∑viϕi=100×30+150×70+200×120=37500 \sum v_i\phi_i = 100\times30 + 150\times70 + 200\times120 = 37500 ∑viϕi=100×30+150×70+200×120=37500

代入同样的公式,有:

kϕ=3×37500−450×22015000=112500−9900015000=0.9 k_{\phi} = \frac{3\times37500 - 450\times220}{15000} = \frac{112500 - 99000}{15000} = 0.9 kϕ=150003×37500−450×220=15000112500−99000=0.9

bϕ=220−0.9×4503=−61.67 b_{\phi} = \frac{220 - 0.9\times450}{3} = -61.67 bϕ=3220−0.9×450=−61.67

因此相位拟合直线为:

ϕ(v)≈0.9v−61.67 \phi(v) \approx 0.9v - 61.67 ϕ(v)≈0.9v−61.67

代入后有:

ϕ(130)≈0.9×130−61.67=55.33∘ \phi(130) \approx 0.9\times130 - 61.67 = 55.33^\circ ϕ(130)≈0.9×130−61.67=55.33∘

方法 B 的特点是结果整体平滑,但它不保证经过全部原始测点,因此更适合曲线总体趋势稳定、且希望降低存储量的场景。

演算 3:方法 C

若采用三次样条插值,则会在区间 100,150100,150100,150 上构造一段三次多项式,并保证与相邻区间在一阶、二阶导数上连续。为了能够手工跟算,这里采用 3 个等距节点、自然边界条件的最简情形。

第一步,定义等距步长:

h=150−100=50 h = 150-100 = 50 h=150−100=50

自然边界条件意味着:

M1=0,M3=0 M_1 = 0, \qquad M_3 = 0 M1=0,M3=0

对 3 个等距节点,内部节点的二阶导数满足:

M1+4M2+M3=6h2(y1−2y2+y3) M_1 + 4M_2 + M_3 = \frac{6}{h^2}(y_1 - 2y_2 + y_3) M1+4M2+M3=h26(y1−2y2+y3)

第二步,先对幅值数据 50,80,10050,80,10050,80,100 求 M2M_2M2。有:

y1−2y2+y3=50−2×80+100=−10 y_1 - 2y_2 + y_3 = 50 - 2\times80 + 100 = -10 y1−2y2+y3=50−2×80+100=−10

4M2=62500(−10)=−0.024 4M_2 = \frac{6}{2500}(-10) = -0.024 4M2=25006(−10)=−0.024

M2=−0.006 M_2 = -0.006 M2=−0.006

第三步,定义目标点在区间 100,150100,150100,150 上的左右权重:

λ=150−13050=0.4,t=130−10050=0.6 \lambda = \frac{150-130}{50} = 0.4, \qquad t = \frac{130-100}{50} = 0.6 λ=50150−130=0.4,t=50130−100=0.6

于是样条函数可写为:

SA(130)=M1h26λ3+M2h26t3+(A1−M1h26)λ+(A2−M2h26)t S_A(130)=M_1\frac{h^2}{6}\lambda^3 + M_2\frac{h^2}{6}t^3 + \left(A_1-M_1\frac{h^2}{6}\right)\lambda + \left(A_2-M_2\frac{h^2}{6}\right)t SA(130)=M16h2λ3+M26h2t3+(A1−M16h2)λ+(A2−M26h2)t

因为 M1=0M_1=0M1=0,且

M2h26=−0.006×25006=−2.5 M_2\frac{h^2}{6} = -0.006\times\frac{2500}{6} = -2.5 M26h2=−0.006×62500=−2.5

所以:

SA(130)=(−2.5)(0.6)3+50(0.4)+(80+2.5)(0.6) S_A(130)=(-2.5)(0.6)^3 + 50(0.4) + (80+2.5)(0.6) SA(130)=(−2.5)(0.6)3+50(0.4)+(80+2.5)(0.6)

SA(130)=−2.5×0.216+20+82.5×0.6=−0.54+20+49.5=68.96 S_A(130)= -2.5\times0.216 + 20 + 82.5\times0.6 = -0.54 + 20 + 49.5 = 68.96 SA(130)=−2.5×0.216+20+82.5×0.6=−0.54+20+49.5=68.96

第四步,对相位数据 30∘,70∘,120∘30^\circ,70^\circ,120^\circ30∘,70∘,120∘ 做同样处理。此时:

y1−2y2+y3=30−2×70+120=10 y_1 - 2y_2 + y_3 = 30 - 2\times70 + 120 = 10 y1−2y2+y3=30−2×70+120=10

4M2ϕ=62500(10)=0.024 4M_2^{\phi} = \frac{6}{2500}(10) = 0.024 4M2ϕ=25006(10)=0.024

M2ϕ=0.006 M_2^{\phi} = 0.006 M2ϕ=0.006

进一步有:

M2ϕh26=0.006×25006=2.5 M_2^{\phi}\frac{h^2}{6} = 0.006\times\frac{2500}{6} = 2.5 M2ϕ6h2=0.006×62500=2.5

所以相位样条值为:

Sϕ(130)=2.5(0.6)3+30(0.4)+(70−2.5)(0.6) S_{\phi}(130)=2.5(0.6)^3 + 30(0.4) + (70-2.5)(0.6) Sϕ(130)=2.5(0.6)3+30(0.4)+(70−2.5)(0.6)

Sϕ(130)=2.5×0.216+12+67.5×0.6=0.54+12+40.5=53.04∘ S_{\phi}(130)= 2.5\times0.216 + 12 + 67.5\times0.6 = 0.54 + 12 + 40.5 = 53.04^\circ Sϕ(130)=2.5×0.216+12+67.5×0.6=0.54+12+40.5=53.04∘

因此,方法 C 的结果为:

A(130)=68.96,ϕ(130)=53.04∘ A(130)=68.96, \qquad \phi(130)=53.04^\circ A(130)=68.96,ϕ(130)=53.04∘

该结果的价值在于,它不仅接近原始测点趋势,而且在速度连续变化时具有更平滑的一阶、二阶导数特性。

三种方法的比较
方法 是否经过全部测点 平滑性 实现难度 适用场景
方法 A:线性插值 一般 MCU 实时计算、快速验证
方法 B:全局拟合 参数压缩、总体趋势建模
方法 C:三次样条 在线控制、兼顾精度与平滑性

5.7 本章小结

本章说明了为什么必须进行全速域离散标定,并比较了三类常用过渡方法。综合精度、平滑性与实现复杂度,三次样条插值通常是更均衡的工程选择。

6. 工程实现建议

6.1 标定流程建议

为保证标定结果可复现,建议采用以下流程:

  1. 固定传感器安装位置和安装方向。
  2. 按架构选择单电机解耦轨迹。
  3. 对每个速度节点分别进行正向和反向标定。
  4. 每个测试点重复采样多次,并取统计稳定值。
  5. 对异常点进行复测,而不是直接参与插值。

6.2 在线运行流程

在线运行时,控制器可按照以下顺序工作:

该流程适合在主控固件中以查表加轻量插值的方式实现,实时开销较低。

6.3 参数存储与维护

建议将正反向参数、不同电机参数以及不同谐波阶次参数分开存储,避免查询逻辑混乱。若设备经过以下操作,应考虑重新标定:

  1. 更换电机、驱动器或皮带轮。
  2. 调整皮带张力或导轨预紧。
  3. 明显改变平台负载。
  4. 机架结构件拆装后重新组装。

6.4 误差来源与调试建议

工程调试中常见误差来源包括:

  1. 传感器安装不牢,导致高频响应失真。
  2. 采样率不足,引起混叠。
  3. 解耦轨迹选择不当,导致多电机串扰。
  4. 速度节点过稀,导致在线补偿过渡不准。
  5. 相位插值未解卷绕,造成跨界跳变。

因此,调试优先级通常应为:先保证测量链路可信,再优化搜索策略,最后优化插值模型。

6.5 本章小结

本章从落地实施角度给出了标定、存储、在线调用与调试建议。对于多数开环步进平台,可靠的测量与清晰的参数管理往往比复杂算法更重要。

7. 方案评估与结论

7.1 与闭环 FOC 谐波补偿的比较

比较项 本文方法 典型闭环 FOC 补偿
控制对象 STEP 脉冲时序 电流环或转矩环
依赖硬件
实施位置 运动指令发送端 驱动内部闭环
适用系统 开环步进平台 伺服或高性能闭环系统
全速域覆盖能力 依赖多速度节点标定和插值,可覆盖常用速度范围 依赖闭环反馈,可在连续速度范围内实时调节
实时性 在线查表和调制开销低,但参数更新主要依赖离线模型 在线补偿能力强,但要求控制器和采样链路具备较高实时带宽
在线适应能力 一般 较强

本文方法的优势在于硬件成本低、部署门槛低、可兼容大量现有开源控制平台;不足在于全速域覆盖主要依赖离线速度节点密度,实时更新能力弱于 FOC 类闭环系统。换言之,本文方法更像"先标定、后调用"的前馈方案,而 FOC 更像"边运行、边修正"的在线反馈方案。

7.2 工程局限性

本文方案的主要限制如下:

  1. 补偿参数依赖离线标定,难以完全应对长期漂移。
  2. 全速域标定时间较长,特别是在双向、多电机、多谐波条件下。
  3. 对高加速度瞬态工况,静态速度节点插值无法完全描述真实动态响应。
  4. 若系统已经具备高带宽闭环控制,则本文方法的收益可能下降,甚至与原有控制环冲突。

7.3 结论

本文围绕开环步进系统的谐波噪声问题,构建了一套基于步进脉冲相位调制的前馈降噪方法。通过建立谐波机理模型、设计三轴振动测量与频域评价方法、引入参数辨识算法,并结合全速域标定与插值策略,形成了从理论到工程实现的完整技术链路。

从工程角度看,该方法特别适合硬件预算有限、但希望显著改善高速运行噪声的运动平台。若后续能够结合在线状态估计、自适应更新或更精细的动态模型,其应用范围和稳定性仍有进一步提升空间。

相关推荐
惆怅客1231 天前
UVa12327/LA5705 Xavier is Learning to Count
fft·快速傅里叶变换·容斥原理·icpc·uva·生成函数的乘法
联泰科技3D打印2 天前
联泰科技单组份TPU弹性树脂技术参数与工艺优势:开盖即用(免混合/免脱泡),工作窗口数天,搭配FX380(3.5h/6只鞋)全流程自动化
3d打印·增材制造·联泰科技·3d打印鞋
ACQTEC研索仪器2 天前
DIC 技术测量结构固有振型的优势:以研索仪器VIC-3D系统为例的实测解析
fft·vic-3d·dic技术·dic测量·非接触全场测量·结构动力学·模态振型
ACQTEC研索仪器2 天前
数字图像相关(DIC)技术应用于手机振动ODS分析
fft·vic-3d·dic技术·dic测量·工作变形ods
3D打印资源库4 天前
库早报|比亚迪入局,将建超40万㎡金属3D打印工厂;山特维克退出3D打印;华工激光拟建8万㎡增材制造基地
3d打印·3d打印资源库
DreamLife☼4 天前
OpenBCI-特征提取技术:频域分析与时频分析
gui·脑机接口·fft·时域·频域·cyton·openbic
3D打印资源库9 天前
库早报|我国3D打印设备出口翻倍增长,全年有望冲击800万台;3D打印相关企业超20万家;郑州“十五五”加快布局增材制造
3d打印
学不懂飞行器10 天前
电赛保姆级教程】从炸管到国一:电赛电源类(DC-DC/单相逆变)硬核避坑与拓扑全指南
stm32·单片机·嵌入式硬件·电赛·fft
3D打印资源库1 个月前
双喷嘴,不止一台?创想三维新机疑似曝光
3d打印·创想三维·多头3d打印机