第一次把 FOC 跑起来是在一块 STM32F4 的板子上,照着 SimpleFOC 的例程改的。上电,电机轻轻一抖,然后开始疯狂加速,吓得我直接拔线。后来知道那叫"飞车",是电角度错拍的典型症状。那之后断断续续折腾了两三年,从关节模组到平衡车轮毂电机都碰过。这篇不打算讲 FOC 的原理推导——原理文章网上一大把,比我讲得好的也不少——只总结使用层面的东西:电流怎么采、角度怎么标、参数怎么算、坑都在哪儿。结论先放前面:FOC 本身不难,难的是采样和标定,90% 的玄学问题出在这两处。1. 先把骨架过一遍不推导,只说流程。每个电流环周期(通常等于 PWM 周期)做这几件事:采两相电流(第三相用 ia+ib+ic=0 重构),采母线电压;Clark 变换:三相 → αβ 静止两相坐标系:iα = ia,iβ = (ia + 2ib)/√3;Park 变换:αβ → dq 旋转坐标系,靠电角度 θe 旋过去:id=iαcosθe+iβsinθe,iq=−iαsinθe+iβcosθei_d = i_\alpha\cos\theta_e + i_\beta\sin\theta_e,\qquad i_q = -i_\alpha\sin\theta_e + i_\beta\cos\theta_e
