电机控制算法全景:从六步方波到 FOC,以及它与运动控制到底差在哪
前面两篇,一篇讲运动控制器是什么、五种连 PC 方式怎么选,一篇讲梯形 / S 形曲线、电子凸轮飞剪、龙门同步与分层架构。但它们都停在同一条线以上:主站算出「这一拍该到哪」,然后呢?
指令落到驱动器里,最终要变成三相桥上六个功率管的开关动作,让电机真的吐出那么大的转矩。这一段是另一套完全不同的学问——坐标系是随转子旋转的 dq 轴,被控量是电流和磁链,时间尺度是几十微秒,和你熟悉「毫米、毫秒、多轴插补」完全不在一个量纲上。
更常见的问题是,行业里「运动控制」和「电机控制」经常被混着叫。有人调不好圆弧,去改电流环 PI;有人做伺服驱动,却把轨迹规划当成自己的活。这篇把最底层这层补齐,并把两者的分界画清楚。

全篇一句话:运动控制把「轨迹」做准,电机控制把「转矩」做准。前者输出带时间戳的设定值,后者让电机真的听话;FOC(Field Oriented Control,磁场定向控制)就是目前把转矩做得最准、最线性的主流方法——它的全部技巧,是把交流量变换成直流量再控。
本文路线(从分界到落地,共九节)
① 先划清地盘
② 从 V/f 到六步方波
③ Clarke / Park 变换
④ 一个电流环 tick
⑤ SVPWM
⑥ MTPA / 弱磁
⑦ 无感 FOC
⑧ 与运动控制正面对照
⑨ 开源与落地
一、先划清地盘:两套控制体系,一条 CiA 402 分界线
理解 FOC 之前,先得知道它在整个系统里坐在哪一层。以最常见的 EtherCAT 伺服 + CSP 模式为例,一套典型节拍是这样的:

| 层级 | 谁在算 | 典型节拍 | 输出什么 |
|---|---|---|---|
| 总线周期 | 主站(运动控制器 / IPC) | 1 ms(或 500 µs) | 每轴一个 0x607A 目标位置 |
| 插补细分 / 位置环 | 伺服驱动器 | 约 125 µs(8 kHz) | 1 ms 内插出 8 个细分点,跑位置环 |
| 速度环 | 伺服驱动器 | 约 62.5 µs(16 kHz) | 转矩 / 电流指令 iq* |
| 电流环 = FOC | 伺服驱动器 | 31 ~ 62.5 µs(16 ~ 32 kHz) | vd、vq 电压指令 |
| PWM / 功率级 | 逆变器 | 10 ~ 20 kHz 开关 | 六个功率管占空比 |
这张表里有两条比算法本身更重要的工程规律:
- 内环带宽必须远高于外环。 级联控制的成立前提是「外环眼里,内环是瞬时的」。如果电流环响应比速度环还慢,外环一调就振荡。TI 在 SPRT735 里给过一个很实用的判据:ADC 转换加算法执行带来的延迟,会把电流控制器带宽限制在采样频率的十分之一左右。所以 16 kHz 采样大致对应 1.6 kHz 电流环带宽,别拿 10 kHz 开关频率去奢望 5 kHz 带宽。
- 「分界线」是可以上下移动的。 CiA 402 用操作模式来规定「哪些环在驱动器、哪些环在主站」:PP 模式(1)连轨迹规划都在驱动器;CSP(8)主站每周期只给位置点,驱动器跑完三环;CSV(9)把位置环搬到主站;CST(10)连速度环也搬走,驱动器只剩最内层的电流环——也就是只剩 FOC。这一点后面第八节还会用到。
顺带澄清一个高频误解:CSP 下主站发的不是「脉冲」,也不是「转矩」,而是一个绝对位置点;驱动器内部的插补器按 0x60C2 声明的周期,把相邻两点连成平滑轨迹,再喂给自己的三环。把 0x60C2 配错(比如真实 2 ms 却写成 1 ms),症状是速度顿挫、高速走不到位——这时候去调电流环 PI 是白费力气,病根在时间轴。
二、为什么交流电机「难控」:从 V/f 到六步方波
有刷直流电机之所以好控,是因为机械换向器替你做了一件最关键的事:无论转子转到哪,电枢电流产生的磁动势始终与励磁磁场保持 90° 电角度,转矩天然正比于电枢电流 Te = Kt · Ia。一个 PI 控电流就等于控转矩。
交流永磁同步电机(PMSM / BLDC)没有换向器。三相绕组通的是正弦交流,定子磁动势是一个旋转矢量,转子磁体也是一个旋转矢量。转矩取决于这两个矢量的夹角,而不只是电流幅值。想让交流机像直流机那样「给多少电流出多少力」,就必须实时知道转子磁场的朝向,并把定子电流里「产生转矩的那一份」单独拆出来控——这正是 FOC 要解决的问题。
在 FOC 成为主流之前,工程上有几档过渡方案:

| 策略 | 核心思路 | 转矩脉动 | 低速 / 动态 | 典型场景 |
|---|---|---|---|---|
| V/f 控制 | 只控电压幅值与频率,不控相位与夹角 | 高 | 零速转矩差、响应慢 | 风机、水泵 |
| 六步方波(梯形波) | 每 60° 电角度换相,任意时刻两相导通一相悬空 | 较高(约 6%~15%) | 低速抖动、噪声明显 | 航模电调、电动工具、风扇 |
| SPWM 正弦波 | 三相电流按正弦调制,波形平滑了 | 中(约 2%~5%) | 负载角不可控,高速相位滞后、效率下降 | 中端家电、车载低噪风机 |
| FOC 矢量控制 | 坐标变换解耦出励磁 / 转矩分量,分别闭环 | 低 | 低速大转矩、宽调速、转矩线性 | 工业伺服、机器人、电动车主驱 |
| DTC 直接转矩控制 | 滞环直接选电压矢量控磁链与转矩,无需坐标变换 | 中 | 转矩响应最快,参数鲁棒 | 牵引、电梯曳引、高速主轴 |
DTC 值得多说一句:它不是 FOC 的「低配版」,而是另一条技术路线。DTC 用滞环比较器直接选开关状态,省掉了坐标变换和 PWM 调制器,动态响应比 FOC 更快、对电机参数更不敏感;代价是开关频率不固定,转矩脉动和噪声比 FOC 大,低速性能也更难做。ABB ACS880 这类变频器走的就是这条路。
FOC 的历史其实比很多人以为的早:1968 年 K. Hasse 提出间接磁场定向,1972 年西门子 Felix Blaschke 发表磁场定向原理与 TRANSVEKTOR 直接控制,1980 年代 Werner Leonhard 完成理论体系化。真正让它普及的不是理论突破,而是 DSP / C2000 / STM32 这类带硬件浮点和 PWM 同步 ADC 的 MCU 变便宜了——因为 FOC 每个电流环 tick 都要跑两次坐标变换、两个 PI、一次 SVPWM。
三、FOC 的核心:把交流量变成直流量
FOC 的全部魔法在两次坐标变换。设三相电流满足 ia + ib + ic = 0(三相对称、无中线),采样两相即可:
/* Clarke:三相静止 abc -> 两相静止 alpha-beta */
i_alpha = ia;
i_beta = (ia + 2.0f * ib) / 1.7320508f; /* 1/sqrt(3) */
/* Park:两相静止 -> 随转子旋转的 dq(theta_e = 极对数 p * 机械角) */
id = i_alpha * cosf(theta_e) + i_beta * sinf(theta_e);
iq = -i_alpha * sinf(theta_e) + i_beta * cosf(theta_e);

关键是最后这一步。因为 dq 坐标系跟着转子一起转,稳态下原本随时间正弦变化的三相电流,投影到这个旋转系里就成了两个常数:普通 PI 控制器跟踪直流量可以做到零静差,而让 PI 去追一条正弦曲线,必然存在幅值衰减和相位滞后,转速越高越严重。这就是「FOC 让交流机拥有直流机控制性能」的真正含义。
再看物理意义。PMSM 在 dq 系下的电磁转矩为:
Te = 1.5 * p * [ psi_m * iq + (Ld - Lq) * id * iq ]
磁体转矩项 磁阻转矩项(凸极效应)
表贴式 SPMSM:Ld ≈ Lq -> Te = 1.5 * p * psi_m * iq
内嵌式 IPMSM:Ld < Lq -> 负的 id 也能贡献转矩(MTPA 的由来)
id 沿转子磁体轴线,只改变磁链、不做功;iq 超前 90° 电角度,纯粹产生转矩。对表贴式电机,转矩与 iq 严格成正比——一条干净的标量转矩指令。基速以下令 id = 0,把所有电流都拿去出力,就是最经典的 id=0 控制;基速以上注入负 id 削弱磁场扩速,就是第六节要讲的弱磁。
编码器零位必须标定。 Park 变换完全依赖准确的转子电角度 theta_e。90° 电角度的偏差会让磁通轴和转矩轴互换(电流全变成励磁,电机不出力还发热);180° 偏差会让转矩反向(一使能就飞车)。所以 FOC 驱动器上电或首次装机,都要跑一次编码器零位 / 磁极对准例程,并在带载下复核。
四、一个电流环 tick 里跑完的闭环
把上面所有零件串起来,就是下面这张图。典型每 25 ~ 125 µs 重复一次,且必须与 PWM 定时器中断严格同步:

// FOC 电流环 ISR 骨架(示意,省略标幺化与限幅)
void FOC_CurrentLoop_ISR(void) {
// 1. PWM 中点触发的 ADC:采两相电流 + 母线电压
float ia = ADC_GetPhaseA(), ib = ADC_GetPhaseB();
// 2. 读转子电角度(编码器 / 旋变 / 观测器)
float theta = Encoder_GetElectricalAngle();
// 3. Clarke + Park
float i_alpha = ia, i_beta = (ia + 2.0f * ib) * INV_SQRT3;
float ct = cosf(theta), st = sinf(theta);
float id = i_alpha * ct + i_beta * st;
float iq = -i_alpha * st + i_beta * ct;
// 4. 两个 PI(含抗积分饱和)+ 交叉耦合解耦前馈
float vd = PI_D(id_ref - id) - omega_e * Lq * iq;
float vq = PI_Q(iq_ref - iq) + omega_e * (Ld * id + psi_m);
// 5. 反 Park + SVPWM
float v_alpha = vd * ct - vq * st;
float v_beta = vd * st + vq * ct;
SVM_CalcDuty(v_alpha, v_beta, Vdc, &da, &db, &dc);
PWM_SetCompare(da, db, dc); // 6. 更新比较寄存器
}
看骨架容易,真正让电流环好用的一堆细节都在注释外:
- 采样时刻。 相电流必须在 PWM 零矢量中点采样,避开开关动作的电流尖峰;单电阻采样还要处理「采样窗口不够」的欠采样重构。
- 解耦前馈。 dq 轴电压方程里存在
-ωe·Lq·iq与+ωe·(Ld·id+ψm)的交叉耦合项,转速越高耦合越强。不补偿就靠 PI 硬扛,表现为高速下电流跟踪变慢、转矩掉。 - PI 整定。 常用零极点对消:
Kp = Ls · ωc、Ki = Rs · ωc(ωc为目标电流环带宽),把电机的一阶 RL 极点抵掉。速度环则用对称最优法。电阻随温度漂移、电感随饱和变化,是参数整定失真的主要来源,高端方案会做在线辨识。 - 抗积分饱和(anti-windup)。 电压指令触及母线电压上限时必须冻结或回退积分项,否则限幅解除瞬间会有一大坨积分量冲出来造成过流。
- 死区补偿。 功率管死区与管压降让实际输出电压偏离指令,在低速小电流时尤其明显,是低速爬行和转矩脉动的重要来源,通常用查表前馈补偿。
还要注意三环的输入输出关系:位置环输出速度指令、速度环输出转矩指令 iq*、电流环输出电压。FOC 严格说只是最内层的电流环;平时说「FOC 驱动器」,是把三环都做进去的整机产品。
五、SVPWM:把电压指令翻译成六个开关
反 Park 给出的是一个静止 alpha-beta 平面上的电压矢量,但三相逆变器只能输出离散的开关状态:六个功率管组成三个桥臂,共 8 种组合(6 个有效矢量 + 2 个零矢量)。SVPWM 要做的,是在一个 PWM 周期 Ts 内,用相邻两个有效矢量和零矢量按时间加权,合成出任意方向的目标矢量:

扇区 I: Uref * Ts = T1 * U1 + T2 * U2 + T0 * U0
T1 = Ts * m * sin(60° - theta) / sin(60°)
T2 = Ts * m * sin(theta) / sin(60°)
T0 = Ts - T1 - T2 // 零矢量补齐
七段式: U0 -> U1 -> U2 -> U7 -> U2 -> U1 -> U0 // 每次只切一个桥臂,开关次数最少
为什么不用更直观的 SPWM?因为 SVPWM 在调制波里注入了三次谐波共模偏置,这个共模分量在线电压中自动抵消,于是基波相电压幅值能从 Vdc/2 提到 Vdc/√3——直流母线电压利用率提高约 15.5%。同样的电池、同样的母线,能多榨出转速与转矩余量,谐波还更低。
PWM 开关频率通常取 10 ~ 20 kHz:太低会落进人耳可闻范围(啸叫)、电流纹波大;太高则开关损耗上升、死区占比变大、MCU 算力吃紧。GaN / SiC 宽禁带器件把开关频率往上推,本质上是在用器件换电流环带宽和滤波器体积,这是当前伺服驱动小型化的主要方向之一。
六、基速以上:MTPA、弱磁与 MTPV
id = 0 只在基速以下成立。转速一高,反电动势 E = ωe · ψm 跟着涨,很快顶到逆变器能给出的最大电压,电流调节器饱和、失控。这时就得主动注入负的 id,用去磁磁动势削弱直轴磁场,把电压压回去,换取更高的转速范围。

在 id-iq 平面上,约束非常直观:
- 电流极限圆:由逆变器额定电流和电机热限决定,固定不动。
- 电压极限椭圆:中心在
(-ψm/Ld, 0),长轴与转速成反比,转速越高收缩得越小。 - 区段 I(恒转矩):沿 MTPA 轨迹走到基速点 A。MTPA = Maximum Torque Per Ampere,用最小的定子电流出给定的转矩,铜损最低。表贴式电机 Ld ≈ Lq,MTPA 退化为
id = 0;内嵌式 IPMSM 有磁阻转矩,MTPA 是一条负id曲线。 - 区段 II(恒功率 / 弱磁):沿电流极限圆向左上移动,
id越来越负、iq越来越小,转矩随转速反比下降、功率近似恒定。 - 区段 III(MTPV):再往上,恒功率也维持不住,工作点改沿 MTPV(Maximum Torque Per Voltage)轨迹走,直到最高转速。
工程上有个容易吃亏的细节:不要等电压真的饱和了才切弱磁。电流调节器一旦饱和就暂时失去对电流的控制能力,会出现明显的转矩突跌。常见做法是提前 5%~10% 转速进入弱磁过渡,或者直接用电压闭环弱磁(把 Vd²+Vq² 与母线电压上限的差送进 PI,动态调节超前角),比开环查表更抗母线电压波动和温漂。
七、没有编码器怎么办:无感 FOC 与全速域观测器
Park 变换需要转子角度。加编码器 / 旋变最省事,但增加成本、体积和故障点,家电、风机、水泵这类场景往往装不起。于是有了无位置传感器 FOC:用相电流和端电压,通过电机数学模型把角度「算」出来。

难点是物理性的、绕不过去的:反电动势幅值与转速成正比,零速时等于零,基于反电势的观测器在低转速下信噪比急剧恶化,可观性直接退化。所以工业上几乎都采用分速域混合方案:

| 速域 | 主导方法 | 原理要点 | 主要代价 |
|---|---|---|---|
| 0 ~ 3% 额定转速 | 高频注入 HFI | 向 d 轴注入 1~3 kHz 信号,利用凸极 / 磁饱和效应解调位置 | 可闻噪声、算力、对参数敏感 |
| 3% ~ 15% | 改进滑模观测器 ASMO | 电流模型 + 反馈校正,等效控制量低通滤波取反电势,PLL 提取角度速度 | 抖振、相位滞后,需电阻在线辨识 |
| > 15% | 反电势 / EKF | 反电势信噪比充足,EKF 融合电压与电流模型 | 协方差调参、母线电压精度敏感 |
几个只在实机调试时才会撞上的经验值:SMO 分离出的等效控制量是高通后的高频抖振信号,必须再经低通滤波才能当反电势用;反电势滤波器截止频率常取 500 Hz ~ 1 kHz,要与电气频率匹配(例如 7 对极、2000 rpm,电气频率约 233 Hz)。角度提取推荐用 PLL 而非直接 atan——反正切在反电势过零附近会产生角度跳变,PLL 是闭环跟踪,带宽常取 100 ~ 200 Hz,太大引入噪声、太小滞后真实角度。
选型判据:需要零速力矩保持、精确定位、力控的场合(机器人关节、伺服轴),老老实实用编码器 / 旋变,无感 FOC 在这些场景的代价往往超过省下的传感器钱。无感方案真正的主场是成本、体积、可靠性压倒定位精度的地方:风扇、水泵、压缩机、电动工具、高速风筒。启动策略(预定位 → I-F 强拖 → 闭环切换)和失步后重同步,比观测器本身更决定产品体验。
八、正面对照:电机控制 vs 运动控制
现在可以把开头那笔糊涂账算清了。两者名字像、也确实首尾相接,但从被控量到数学工具到标准体系,几乎没有重叠:

| 维度 | 电机控制(本文) | 运动控制(p=227) |
|---|---|---|
| 被控量 | 定子电流、磁链、电磁转矩 | 各轴位置 / 速度、轴间几何关系 |
| 坐标系 | dq 旋转坐标系(电角度) |
笛卡尔 / 关节空间(mm、deg) |
| 时间尺度 | 25 ~ 125 µs,10 ~ 40 kHz | 0.25 ~ 1 ms 插补;1 ~ 200 Hz 规划 |
| 核心数学 | Clarke / Park、dq-PI、SVPWM、观测器 | 加减速、插补、前瞻、凸轮表、耦合补偿 |
| 反馈来源 | 相电流、母线电压、编码器电角度 | 光栅 / 编码器机械位置、多轴相位 |
| 标准依托 | 无强制算法标准;CiA 402 只规定接口语义 | PLCopen MC、CiA 402、G 代码 |
| 典型病症 | 转矩脉动、低速爬行、失步、过流 | 过切、圆变椭圆、跟随误差、机械共振 |
把这套分界放回 CiA 402 里看,会特别清楚:
- PP(模式 1):主站给终点和速度,驱动器内部自己生成整条加减速曲线——轨迹规划也在从站。单轴定位最省事,但做不了多轴协调。
- CSP(模式 8):主站当「路标员」,每 1 ms 发一个
0x607A;驱动器当「踩油门的人」,插补 + 三环全包。这是多轴联动的主流。 - CSV(9)/ CST(10):把位置环、速度环逐级搬回主站,驱动器只剩速度环 / 电流环。CST 用在力控、张力、收放卷——主站必须自己兜住所有稳定问题,少一层阻尼,控不好就是振荡。
最容易踩的跨层误判:「两轴走圆弧变成椭圆」几乎从来不是电流环的锅。真正的病根通常在上面三层——没配 DC 同步让各轴生效时刻差了几十微秒、0x60C2 与真实总线周期不符、单位换算链 0x608F/0x6091/0x6092 填错、或者没加速度前馈(0x60B1)导致各轴跟随误差不一致。反过来,「电机低速嗡嗡响、停稳后有微小抖动」多半也和轨迹规划无关,得去查电流采样偏置、死区补偿、齿槽转矩与编码器分辨率。先按时间尺度定位层,再动手调参数。
这也解释了为什么 FOC 是「通用性」的底座:CiA 402 只规定 0x6040 是控制字、0x607A 是目标位置,并不规定你用 FOC 还是 DTC 还是方波。但只要宣称自己是「伺服驱动器」,转矩就必须足够线性、脉动足够小、带宽足够高——于是几乎所有伺服产品都收敛到了 FOC。我们在TwinCAT 与 IgH 双主站验证 CSP 里测的是接口与状态机的通用性,而驱动器内部默默把每个位置点变成 iq* 的,就是这一整套算法。
九、开源生态、上手路线与前沿方向
十年前学 FOC 得啃 TI 的应用手册和几万行库;现在有几个成熟的开源实现可以直接读、直接改:
| 项目 | 硬件 / 许可 | 特点 | 适合 |
|---|---|---|---|
| SimpleFOC | Arduino / STM32 / ESP32 / Teensy,MIT | 文档极全、模块化,支持 15+ MCU 架构;社区 2000+ 成员 | 入门、教学、快速原型(功率一般 < 5 A) |
| VESC | STM32F405 + DRV8302,GPL 3.0 | FOC / 无感 / HFI / 参数自辨识齐备;核心就 mc_interface.c、mcpwm_foc.c、foc_math.c 三个文件不到一万行;VESC Tool 上位机可实时看波形 |
读工程级 FOC 源码、电动交通、机器人关节 |
| ODrive | STM32F4,双路 BLDC,MIT | 位置 / 速度 / 电流三环完整,Python API + odrivetool | 机械臂、CNC、精密滑台原型 |
| 厂商方案 | TI C2000 + InstaSPIN-FOC;ST X-CUBE-MCSDK | 带参数辨识、观测器库、电机控制 GUI,量产工具链完整 | 产品化、功能安全 |
建议的上手顺序:先用 SimpleFOC 让电机转起来(开环速度 → 有感位置 → 电流闭环),再读 VESC 的 mcpwm_foc.c 看工程上怎么处理采样、观测器和故障保护,最后回到自己的硬件上做参数辨识与死区补偿。跳过开环对标定的验证,几乎必然卡在「电机抖但不转」上——九成是极对数、编码器零位或相序不对。
前沿方向大致三条线:
- 模型预测控制(MPC / FCS-MPC):直接枚举逆变器开关状态、用代价函数选最优,天然处理多约束,动态比 PI 更快;代价是算力与模型精度,目前在高性能驱动与牵引里逐步落地。
- AI 辅助而非 AI 替代:参数自整定、电阻 / 磁链在线辨识、齿槽转矩前馈学习、观测器增益自适应。注意它和强化学习做轨迹规划不是一回事——17 ms 量级的推理延迟进不了 31 µs 的电流环,学习出来的策略只能放在确定性控制器外面、经安全投影再下放。
- 宽禁带器件 + 更高开关频率:GaN / SiC 把 PWM 推到几十甚至上百 kHz,电流环带宽、滤波器体积、低速纹波同步改善,也对 ADC 采样和 MCU 算力提出新要求。
十、落地排查清单
| 现象 | 优先怀疑(按层定位) |
|---|---|
| 电机抖但不转 / 发热无力 | 极对数、相序、编码器零位(90° 电角度误差会让 d/q 互换)、电流采样极性 |
| 低速爬行、有周期性顿感 | 死区未补偿、电流采样偏置、齿槽转矩、编码器分辨率不足 |
| 高速转矩掉、电流跟不上 | 交叉耦合解耦前馈缺失、电压饱和未提前弱磁、母线电压测量误差 |
| 转矩脉动大、噪声明显 | 是否误用了六步方波;SVPWM 扇区判断 / 零矢量分配;PWM 频率落入音频段 |
| 启动反转、重载启动失败 | 无感方案零速不可观;需要预定位或高频注入,检查强拖斜率与切换判据 |
| 多轴圆弧变椭圆 / 高速走不到位 | 不在电流环:查 DC 同步、0x60C2、单位换算链、速度前馈 0x60B1 |
| 使能瞬间猛冲 | 不在电流环:CSP 下 0x607A 未先对齐 0x6064 |
结语
把这三篇连起来看,一条完整链路就齐了:
工艺要求(Hz 级) → 轨迹规划与前瞻 → 插补与多轴同步(kHz 级) →
0x607A周期下发 → 驱动器三环 → FOC 电流环(几十 µs) → SVPWM → 三相桥 → 电磁转矩 → 机械运动。
运动控制负责让「所有轴在同一时刻到达该到的地方」,电机控制负责让「每一台电机在该时刻真的吐出该吐的力」。前者算的是几何和时间,后者算的是磁链和电流;前者出问题表现为轨迹变形,后者出问题表现为振动、发热和噪声。FOC 的伟大之处,是用两次坐标变换把一台难以驾驭的交流机,变成了一个增益恒定的转矩放大器——正因为它把最底层做「透明」了,上面那些插补、凸轮、飞剪、乃至今天的具身智能分层架构,才有了可靠的执行底座。
下一篇如果继续往下挖,值得单独写的是电流环带宽与延迟预算的实测方法(怎么用阶跃响应和扫频量出真实带宽),或者从零实现一个最小 FOC 工程(SimpleFOC + 无刷电机 + AS5600,把本文的公式逐行变成能跑的代码)。
系列互链:
运动控制器与五种连 PC 方式 ·
运动控制算法全景(插补 / S 曲线 / 飞剪 / 分层架构) ·
EtherCAT 标准全景(CiA 401 / 402 的来龙去脉) ·
用 TwinCAT 与 IgH 双主站验证 CSP 从站 ·
EtherCAT 从站研发技术路线 ·
CiA 402 入门到实战 ·
机械臂的电机与减速机
本文技术参数与标准编号参考 TI SPRT735、CiA 402 / ETG 规范、MathWorks Motor Control Blockset 文档及 SimpleFOC / VESC / ODrive 官方资料整理;图表为示意,具体数值随电机与硬件平台而异。