做一体化关节、电动工具、无人机云台、水下推进器的朋友,应该都有这种经历:方案刚定型的时候很兴奋,等到要把控制板塞进一个更小的腔体、还想把峰值扭矩往上提一档的时候,突然发现哪哪都不对——不是MOS烫到不能摸,就是电流采样毛刺变大,要么就是无感FOC一启动就失步。这时候大家都会冒出一个同样的疑问:为什么同样是FOC控制,别人家的方案能做到小体积加高扭矩,我用通用MCU加硅MOS的组合就是不行?
这个问题我前前后后折腾了近两年,从算法、硬件、结构到器件选型都过了一遍,才慢慢看清楚背后的逻辑。今天这篇不聊那种“看完还是不知道怎么下手”的泛泛介绍,直接拆解这个组合为什么难做,以及如果已经被迫选了这个路线,还有哪些办法可以补救。
1. 扭矩和体积这笔账,先从物理层面算清楚
先把最容易误会的一点说清楚:FOC算法本身只负责“怎么让电流按想要的方式流”,它不负责“热量怎么散出去”。扭矩和体积之间的矛盾,从第一步设计目标开始就已经写死在物理公式里了。
FOC的核心,是把三相定子电流通过坐标变换分解到旋转坐标系下,用id控制励磁分量,用iq控制转矩分量。对于表贴式永磁同步电机,转矩可以近似写成:
Te = 1.5 × p × ψf × iq
也就是说,输出扭矩基本和q轴电流成正比。想要更高扭矩,就得灌更大电流。电流一大,发热就来了:定子绕组有铜损P = I²R,MOS管有导通损耗P = I² × Rdson,开关过程中还有开关损耗Psw = 0.5 × Vds × Id × (tr + tf) × fsw。这些损耗最终全部变成热,而这些热只能从封装、PCB铜箔和外壳散掉。
问题就在这里:小体积意味着散热面积小、热阻大、热容小。同样一套BOM,同样10A的相电流,大板子温升可能只有30°C,小板子能冲到80°C以上。你要把温度压住,就只能降电流,扭矩自然就跟着掉了。
这里要给不太熟悉热设计的读者补一个概念:热阻的单位是°C/W,表示每消耗1W功率,温度会比环境高多少度。一颗TO-252封装的硅MOS,结到环境的热阻大约50到80°C/W;而同样Rdson的DFN3×3封装,热阻可能直接翻到100°C/W往上。你换小封装省下的那点面积,最后全都以“温度压不住”的形式还回来了。
我做过一个很典型的估算:三相全桥6颗5mΩ的硅MOS,相电流峰值15A,对应每颗MOS的RMS电流约8.7A,单颗导通损耗就是0.38W,6颗加起来2.3W;再加上开关损耗和驱动损耗,总功耗轻松超过3W。如果板级热阻是40°C/W,温升直接就是120°C,这还没算定子绕组的热量传回来一部分。这种条件下,高扭矩只能是极短时间的峰值,想持续输出基本不可能。
所以这个问题的第一个答案很直白:扭矩高不高,不只看MOS能扛多少安培,还要看整块板子能不能把热量送出去。小体积和高扭矩之间的第一道坎,就是散热面积的物理上限。
1.1 电流采样电阻也在偷偷吃掉扭矩余量
很多人做FOC只盯着MOS选型,忽略了采样电阻。为了测相电流,你必须串一个采样电阻进去,阻值越小损耗越小,但信噪比越差。想要高扭矩的同时保证采样精度,就得用低阻值加高增益运放,这又对运放的噪声和PCB布局提出了更高要求。
在小体积方案里,采样电阻本身还会发热。我曾经用过3颗5mΩ采样电阻做三相低端采样,持续8A相电流时,单颗电阻功耗约0.11W,加上自身封装小,温度能比板面环境高出20多度。阻值随温度漂移,采样值也跟着跑,最后电流环的扭矩输出肉眼可见地波动。所以高扭矩设计里,采样电阻的功率裕量、温度系数、布局位置,都得当成关键器件来对待,不能随便丢一个0603上去完事。
1.2 PCB走线电阻:小板子上不能忽略的压降
还有一笔容易被忽略的账:PCB铜箔走线电阻。在小板上,相线往往要走很长一段细线才能到连接器,如果铜箔宽度不够,走线电阻可能已经接近甚至超过采样电阻的阻值。我实测过一块30×20mm的双层板,相线走线电阻约8mΩ,比采样电阻还大。这意味着同样10A电流,在走线上就白白损耗了0.8W,还造成了电压降,电机端真正得到的电压变低,转速和扭矩都受影响。
这种损耗在原理图上看不见,但温度相机一扫,走线位置明显发烫。解决方式就是在布线阶段把相线铜箔加宽、走短,最好多层板用内层大铜皮并联。这个细节在评估板上没人会提醒你,到了自己压缩体积的时候就成了实实在在的坑。
2. 通用MCU不是为电机控制而生的,差异全在外设
讲完热,再来看控制器的另一半:通用MCU。
我常跟新人说一句话:通用MCU做FOC不是不能跑,问题是它把资源花在了太多方向上,没有为电机控制做专门的硬件加速。做FOC最吃紧的根本不是主频,而是外设的时序配合能力。
2.1 算力决定载波频率,载波频率决定电流纹波和扭矩动态
FOC电流环的带宽一般要控制在载波频率的1/10到1/20之间。如果PWM载波只有10kHz,电流环带宽最多也就1kHz,动态响应自然跟不上;而且10kHz载频下的电流纹波很大,纹波大意味着同样平均电流下发热更多。
通用MCU大多主频在几十到一百多MHz,跑完ADC采样、坐标变换、双闭环PID再加上无感观测器之后,往往只能支撑10k到20k的载波频率。想上40k甚至80k,算力直接捉襟见肘。载波上不去,电流环响应就慢,动态扭矩就出不来。很多人在项目里感觉“电机高速时候还行,低速一突一突的”,其实就是电流环带宽不够。
有朋友可能会问:那我把算法精简一点,不就能跑更高频率了吗?可以,但代价是位置观测精度下降、抗负载扰动能力变弱。算力和性能之间永远是跷跷板,通用MCU在这个天平上给你留的余量本来就不多。
2.2 采样同步、死区补偿、PWM分辨率:三个绕不开的痛点
FOC的电流采样必须在PWM载波的特定时刻进行,一般选在计数器峰值或谷值,也就是开关管的开关沿附近。这时候电流信号最稳定,不容易受到开关噪声干扰。可通用MCU的ADC触发如果没法跟PWM硬件精确对齐,就得靠软件延时去凑,凑不准就会出现采样毛刺,电流环发飘,扭矩输出一抖一抖的。
死区补偿也一样。三相全桥上下管互补导通必须有死区时间,通用MCU即使有硬件死区插入,也不一定有死区补偿功能,只能靠软件估。而低速大电流工况下,死区造成的电流畸变非常明显,补偿不好就是扭矩抖动、噪音大。我见过不少项目在低速段怎么调PI都调不稳,最后发现是死区补偿压根没做,电流波形在过零点附近明显畸变。
PWM分辨率在小体积高扭矩场景里更是容易被忽略。举个例子:12V母线,PWM频率20kHz,如果主频只有72MHz,一个载波周期也就3600个计数单位,满占空比只有3600步,每一步对应的电压分辨率是12V除以3600,大约3.3mV。听起来不大,但电流环在低速小电流时,这个分辨率会导致输出扭矩波动,严重时电机低速运行会发出明显的高频“嗡嗡”声。
2.3 外置信号链拉大的面积账
通用MCU内部很少集成运放和比较器,即便有,往往也就一两个。可是FOC至少要采两相电流,最好还能做母线过流保护,这就得外挂运算放大器和比较器。一颗运放加上配套的电阻电容,哪怕全部用最小的封装,也要占掉不少面积;高速比较器加基准源,又是一块空间。
更麻烦的是,这些外置器件在布局时还都得尽量靠近MCU、靠近采样电阻,走线不能随便拉。在小板子上,你为了塞下这些器件,整个布局都被迫妥协,功率区和信号区互相挤压,EMI问题跟着冒出来。专用电机控制MCU就不一样,内部集成运放、比较器、PGA,甚至可以直接把电流采样信号调理好再送进ADC,板子面积能大幅缩小。这也是为什么很多小体积方案宁愿选外设更“能打”的电机控制MCU,而不是纯粹追求便宜大碗的通用MCU。
3. 硅MOS的物理天花板,决定它很难“小而猛”
说完MCU,再看功率级的核心:硅MOS。很多人觉得硅MOS这么成熟,随便选一颗不就完了。但放到小体积高扭矩的场景里,硅MOS的物理特性会处处拖后腿,不是选型软件上看着“达标”就真的能用。
3.1 导通电阻、栅极电荷和体二极管的三角博弈
低压硅MOS的导通电阻确实能做到很低,比如30V耐压的管子做到1到2mΩ不稀奇。但注意,低Rdson不是白来的,代价通常是晶胞密度高、Qg大。Qg大意味着驱动电路要给栅极充更多电荷,驱动损耗上升;也意味着开关速度受限、开关损耗增加。你在选型时把Rdson压低了一个数量级,结果Qg涨了两三倍,高频下开关损耗把省下来的那点导通损耗全吃回去了。
更隐蔽的是体二极管反向恢复问题。FOC的续流电流会经过MOS内部的体二极管,硅MOS的体二极管从导通切换到阻断时,需要先把存储电荷抽走,这个过程叫反向恢复,会产生额外损耗和振铃。振铃会顺着功率环路耦合到电流采样电路里,导致ADC采样值抖动、电流环不稳定。频率越高、电流越大,这个影响越明显。
我实测过,当开关频率超过40kHz之后,纯硅MOS方案的体二极管反向恢复损耗会非常明显地上升,同时在开关波形上出现严重的振铃。这个振铃不是你改改驱动电阻就能完全消除的,它和MOS本身的寄生参数强相关。所以高频化这条路上,硅MOS确实不如氮化镓这类宽禁带器件来得干净,后者的反向恢复电荷几乎为零,这是材料层面的先天优势。
3.2 封装散热能力:小封装MOS的热特性差距
同样Rdson的MOS,TO-252封装和DFN3×3封装,散热能力差得很远。TO-252能把热量从大pad导到PCB的大面积铜箔,DFN3×3的散热路径窄,结到环境热阻高出两三倍很常见。在小体积方案里,你几乎没有太多PCB面积去铺铜散热,MOS的热量只能憋在芯片里。
这里有一个实际经验:用好DFN封装的MOS,关键是它底部那个大pad一定要焊接到足够大的铜箔上,并且铜箔要尽可能多地打过孔连接到其他层。很多人缩小板子后把铜箔面积一并缩小,等于把这个散热通道直接砍掉了。我见过一个方案,MOS底下只有一小块孤立的铜皮,连过孔都舍不得打,结果MOS温度比同板其他方案高了30多度。这已经不是器件选型的问题了,是PCB设计把器件能力废掉了。
3.3 高温下的正反馈:硅MOS越热越难扛
还有一个很多新手不知道的细节:硅MOS的导通电阻会随结温升高而变大,大概每升高100°C,Rdson增加50%以上。这就形成了一个正反馈循环:电流大→发热→Rdson变大→发热更严重。在小体积方案里,散热能力本来就差,MOS结温一旦上去,性能就打折得更厉害,最后能持续输出的电流远远低于规格书标称值。
所以在小体积高扭矩设计里,硅MOS的“甜蜜区”其实很窄:低频、低压、中低功率。一旦想往高频、高功率密度方向走,硅MOS就会成为整个系统里最先顶不住的那个环节。
4. 无感FOC对硬件提出的额外要求,比有感苛刻得多
现在的FOC方案,尤其是小体积产品,绝大多数都在往无感方向做。省掉编码器确实能让尺寸变小,但对电路设计的要求反而更高了,这一点很容易被低估。
无感FOC的核心是反电动势观测器,它的输入就是相电流和母线电压。观测器的精度直接决定了转子位置估计准不准。如果相电流采样偏了哪怕几十毫安,或者采样结果里混入了开关噪声,位置估计就会振荡,轻则电流环抖动,重则直接失步。很多人在调无感FOC时发现“代码都一样,换了块板子就不行”,十有八九是采样链路在硬件上出了问题。
4.1 采样链路噪声:小体积方案最难对付的敌人
当控制板缩小后,功率线和信号线挤在一起,噪声耦合几乎是必然的。MOS开关瞬间的dv/dt和di/dt很大,会通过寄生电容和互感把噪声串到采样信号里。我见过一个实际案例:相电流采样电阻离MOS的开关节点只有不到3mm,每次开关动作都会在采样信号上叠加一个尖峰,ADC采到的电流值上下乱跳,观测器完全没法用。
解决方向有三个:一是采样走线用差分对,尽量远离功率环路;二是采样时刻错开开关沿,等振铃衰减完再触发ADC;三是在采样信号进入MCU之前加一级RC滤波,带宽和延迟要折中。这些做法在评估板上可能无所谓,但在小体积方案里是决定能不能稳定运行的关键。
4.2 转子初始位置检测:对电流采样瞬时精度要求极高
静止状态下,无感FOC不知道转子朝向哪边,得先注入电压矢量或者高频信号来估计初始位置。这个环节对电流采样的瞬时精度要求非常高。高频注入法需要从响应电流里提取出位置相关的分量,如果采样噪声大、分辨率低,提取出来的信号就是一团糊,初始位置估计不准,启动瞬间就会蹿动甚至反转。
还有一种更简单粗暴的强制定向启动方法:不管转子在哪里,先施加一个固定方向的电压矢量把转子拉到一个已知位置,然后再切闭环。这个方法对硬件要求低一些,但会有“啪”一下的预定位动作,在有些应用场景里不能接受,而且大扭矩负载下预定位还可能失败。
通用MCU加外置运放的组合,在初始位置检测这个环节的表现经常很不稳定。我在项目里为了过这个坎,调了两周,最后发现是一颗采样电阻布局离MOS太近,开关信号串了进来。如果你在做小体积无感方案,建议从一开始就把“采样链路噪声”当成正式的设计指标来对待,而不是等算法调不通了再回头查板子。
5. 打破困局的几条现实路径
讲到这里,先厘清一个概念:通用MCU加硅MOS并不是完全不能做小体积高扭矩,只是它的“甜区”在更大尺寸、更低功率密度的场景。如果一定要在小体积里抠出高扭矩,下面这几条路是实测有效的。
5.1 在软件算法上把扭矩“抠”回来
MTPA(最大转矩电流比)控制可以让每安培电流输出更大的扭矩。方法是在id轴上注入适当的负向电流,利用电机自身的磁阻转矩。对内嵌式永磁电机效果尤其明显,我实测过在某些电机上相同电流下扭矩能提升8%到12%。弱磁控制则能在高速区延长恒功率范围,让电机在额定转速以上还能输出可用扭矩。
过调制策略也值得关注。SVPWM在线性区最大能输出的相电压是母线电压的0.577倍,用过调制可以把这个利用率往上推,接近方波运行的0.637倍。在12V低压系统里,每一伏电压都很珍贵,过调制相当于免费提高了电压利用率,扭矩和转速上限都能受益。
更实际的优化是提升PWM载波频率的同时把采样点对准。不少通用MCU即使不是专门的电机控制型号,只要PWM能触发ADC并且支持比较寄存器,就能做到高精度同步采样。再配合死区补偿和电流采样零点校准,低速扭矩抖动和启动性能能改善不少。这些算法层面的优化,虽然不能扭转物理极限,但至少能把通用MCU方案的性能上限顶高一些。
5.2 从分立走向集成:给小体积和可靠性松绑
如果板子面积真的很紧张,分立的栅极驱动加6颗MOS加采样电路加保护电路,很容易占掉一半以上的面积。很多小体积方案直接换用了集成驱动级,把栅极驱动和MOS封装到一个模块里。内部走线短,开关振铃小,布局面积大幅减小,EMI也容易过。
高压小功率有IPM智能功率模块,低压小功率也有不少半桥驱动加MOS集成在一起的产品。它们的导通电阻和开关性能不一定比最顶级的分立MOS强,但胜在集成度带来的面积和可靠性的收益,在小体积场景里往往比那几点损耗更值钱。另外,把电流采样放进芯片内部也是一种思路:选带集成运放加比较器加高级PWM的电机控制MCU,省掉整条外置信号链。芯片可能贵几块钱,但PCB面积、贴片费用、调试时间省得更多。
5.3 结构散热和系统电压,往往是被低估的两张牌
当板子缩到很小,单纯靠PCB铜箔散热已经到头了。这时候得让结构帮忙散热:把MOS的散热pad直接焊接到铝基板或陶瓷基板上,或者把板子压在金属壳体上,中间垫导热垫片。这是很多高功率密度电机控制器真正的秘诀——电路板上的物料可以小,但整个系统的散热能力不能小。
系统电压也是容易被漏掉的一点。同样10A电流,12V系统只能输出120W,48V系统能输出480W。在功率需求固定的前提下,把电压翻4倍,电流可以降到1/4,走线和MOS的损耗降到约1/16。所以在结构允许的情况下,把电机和控制器的平台电压从12V提到24V甚至48V,是提高扭矩密度最直接的手段之一,比你在MOS选型上费半天劲都管用。
6. 实测感受与选型参考
我最早做的一版关节模组驱动,用的是电机专用MCU加集成驱动级,板子面积大概一个拇指头那么大,峰值扭矩能做到标称值的1.3倍,温升还能接受。后来为了压BOM成本,替换成通用MCU加分立硅MOS,结果板子面积大了近一半,峰值扭矩反而只能做到标称值附近,持续扭矩掉得更明显。
后来我又把通用MCU换回带内部运放的电机控制MCU,成本比最便宜的通用方案贵了一些,但板子面积少了差不多20%,调试周期也大幅缩短。对产品项目来说,这个差价很划算——尤其是把工程师调无感FOC的时间成本算进去之后,专用器件贵的那几块钱几乎可以忽略不计。
如果你正在纠结怎么选型,我整理了一个简单的对比表,基于自己这几年的实测感受,不一定对所有项目都适用,但大致能反映这类方案在小体积高扭矩场景下的差异:
| 方案组合 | 电路板面积 | 峰值扭矩能力 | 无感调试难度 | BOM成本 | 可靠性 |
|---|---|---|---|---|---|
| 通用MCU + 外置运放 + 分立硅MOS | 大 | 中 | 高 | 低 | 中 |
| 电机专用MCU + 分立硅MOS | 中 | 中高 | 中 | 中 | 中高 |
| 电机专用MCU + 集成驱动模块 | 小 | 高 | 低 | 中高 | 高 |
| 低压驱动SoC + GaN方案 | 极小 | 高 | 中 | 高 | 高 |
最后说一句实在话,也是我个人踩过坑之后的体会:很多人卡在“为什么别人能做那么小、扭矩那么大”这个问题上,其实不是别人有什么黑魔法,而是他们把热量管理、采样链路和功率器件封装这些“看不见的细节”都当成了第一优先级来设计。通用MCU加硅MOS这套组合,胜在灵活和成本,输在集成度和寄生参数。如果你对体积和扭矩密度有硬指标,建议在一开始就把MCU外设、功率器件封装和散热结构放到一起评估,而不是先在评估板上跑通算法,再考虑怎么把它塞进小腔体。这个顺序一旦搞反,耽误的不是几天,而是整个项目的迭代周期。