1. 紧凑电机控制设计的核心矛盾拆解
1.1 为什么“紧凑”两个字让硬件工程师头疼
做电机控制的人都有一个共识:功率级做小容易,做小还能稳定跑起来难。我接触过不少BLDC和直流有刷电机的驱动项目,从电动工具、云台、散热风扇到小型机械臂关节,几乎每一个项目在结构评审阶段都会收到同一句话——“驱动板能不能再小一圈?”
这句话背后压着三座大山。第一座是热。MOSFET的导通损耗和开关损耗最终都变成热量,板子越小,铜箔散热面积越小,热阻越高,同样的电流下温升可能翻倍。第二座是EMI。功率回路的面积直接决定辐射骚扰的强度,你把半桥的两个MOSFET拉近,回路电感是降了,但栅极驱动走线和电流采样走线也被挤到一起,耦合路径变得复杂。第三座是栅极驱动。MOSFET开得快,开关损耗低但EMI差;开得慢,EMI好但发热高。这个矛盾在小体积板子上被放大,因为你没有空间去堆缓冲电路和吸收网络。
所以“一招解决紧凑电机控制设计问题”这个说法,如果真有一招,那这一招一定不是某个单一器件,而是一套围绕功率回路最小化和栅极驱动参数协同的系统性做法。我把它拆成三个层面:布局层面把高频换流回路压到极限,器件层面选对MOSFET和栅极驱动器,参数层面把死区、栅极电阻、驱动电流算清楚。下面逐层展开。
1.2 紧凑设计的三个约束条件
在动手之前,先把约束条件列清楚,不然后面所有选型都是拍脑袋。
约束一:热预算。假设你的板子是两层1盎司铜、面积30mm×30mm,环境温度40℃,允许MOSFET结温最高125℃。那么从结到环境的热阻大概在40~60℃/W量级(取决于铜箔铺法和过孔数量)。如果每颗MOSFET的损耗是0.5W,温升就是20~30℃,勉强能接受。如果损耗到1W,温升直接60℃,加上环境温度就逼近极限了。所以紧凑设计的第一件事是把损耗算出来,而不是先画图。
约束二:电流密度。小板上走大电流,铜箔宽度和过孔数量是硬约束。1盎司铜、10℃温升条件下,1mm宽的走线大约能过1A(外层,短距离)。如果你要过10A,要么加宽到10mm,要么用2盎司铜,要么开窗加锡。很多紧凑板子出问题不是芯片选错,是走线载流不够,跑一会儿就发烫。
约束三:EMI限值。不同应用场景的EMI要求差别很大。消费类产品可能只要求通过轻载测试,工业类产品要过Class B。紧凑设计里,功率回路的寄生电感每增加1nH,在10A/100ns的开关速度下就会多出1V的电压尖峰。这个尖峰会体现在MOSFET漏源电压上,也会通过寄生电容耦合到驱动电路。
把这三个约束写下来,你会发现紧凑设计的本质是在热、EMI、体积之间找平衡点,而这个平衡点的位置由你的具体应用决定。下面进入具体方案。
2. 功率级选型与栅极驱动器的匹配逻辑
2.1 MOSFET选型:不是导通电阻越低越好
很多人选MOSFET第一眼看Rds(on),觉得越低越好。在紧凑设计里这个思路会翻车。原因有两个。
第一,Rds(on)和Qg(栅极总电荷)通常是矛盾的。同样的封装和电压等级,Rds(on)越低,芯片面积越大,Qg越大。Qg大意味着驱动损耗大,开关速度慢,在高频PWM下驱动损耗可能超过导通损耗。举个例子,两颗30V MOSFET,A的Rds(on)=5mΩ、Qg=20nC,B的Rds(on)=2mΩ、Qg=50nC。在20kHz PWM、10A电流下,A的导通损耗是0.5W,B是0.2W;但驱动损耗A是20nC×10V×20kHz=4mW,B是10mW。看起来B还是占优,但如果开关频率提到100kHz,B的驱动损耗到50mW,同时开关损耗因为Qg大而显著增加,差距就缩小了。
第二,紧凑设计里封装热阻比Rds(on)更关键。DFN5×6封装的结到壳热阻大约1.5℃/W,SOP-8大约20℃/W。同样的损耗,DFN封装的温升低一个数量级。所以选型顺序应该是:先定封装和热阻,再在满足热预算的前提下选Rds(on)和Qg的平衡点。
我通常的做法是列一个表,把候选MOSFET的Rds(on)、Qg、Qgd(栅漏电荷)、Vgs(th)、封装热阻、价格都填进去,然后按实际工作电流算总损耗。总损耗=导通损耗+开关损耗+驱动损耗+输出电容损耗。开关损耗的估算公式是:
Psw = 0.5 × Vds × Id × (Qgd / Ig) × fsw
其中Ig是栅极驱动电流,fsw是开关频率。这个公式是简化版,但足够用来做初筛。
2.2 栅极驱动器的关键参数怎么读
栅极驱动器在紧凑设计里的角色被严重低估。很多人把它当成一个“电平转换器”,实际上它决定了开关速度、死区精度和抗干扰能力。
驱动电流。数据手册里的Source/Sink Current通常是峰值电流,比如1A/2A。这个值决定了栅极电荷的充放电速度。实际栅极电流受限于驱动器内部电阻、外部栅极电阻和MOSFET内阻。如果你在栅极串了10Ω电阻,驱动器的2A峰值电流根本用不上,实际电流只有Vdrive/(Rg_ext+Rg_int+Rdrv)≈10V/12Ω≈0.83A。所以选驱动器时,驱动电流要和你打算用的栅极电阻匹配,不是越大越好。
传播延迟和匹配。半桥驱动器的上下管传播延迟如果不匹配,会导致死区时间不可控。紧凑设计里死区时间通常设得很小(100~300ns)来减少续流损耗,这时候延迟匹配就很重要。我见过一些低成本驱动器,上下管延迟差到100ns,结果死区设200ns实际可能只有100ns,直通风险很大。
自举电路。高侧驱动需要自举电容和二极管。紧凑设计里自举电容的容值要算够,否则高侧驱动电压会跌落。经验公式是:
Cboot ≥ (Qg_total × 10) / (Vdrive - Vf)
其中Qg_total是高侧MOSFET的总栅极电荷,Vf是自举二极管压降。比如Qg=50nC、Vdrive=12V、Vf=0.7V,Cboot≥50nC×10/11.3V≈44nF,实际选100nF留余量。自举二极管要选快恢复的,反向恢复时间trr越小越好,否则在高频下会额外损耗。
2.3 半桥布局:把换流回路压到最小
这是紧凑设计的核心中的核心。半桥的换流回路是:高侧MOSFET漏极→高侧MOSFET→低侧MOSFET→源极→地→母线电容→高侧漏极。这个回路包围的面积越大,寄生电感越大,电压尖峰越高。
正确的做法是把母线电容紧贴半桥放置,让换流回路的面积最小。具体来说,高侧MOSFET的漏极和低侧MOSFET的源极之间,应该只隔一个母线电容的距离。很多紧凑板子把母线电容放在板子边缘,半桥放在中间,回路面积大了好几倍,结果MOSFET漏源尖峰高得吓人。
我的实操经验是:先放半桥,再放母线电容,最后放其他。母线电容用多个小容值陶瓷电容并联(比如10个1μF的0805),比用一个大电解电容效果好得多,因为陶瓷电容的ESL低。电解电容放在板子边缘做低频滤波就行。
另外,栅极驱动回路的面积也要小。驱动器到MOSFET栅极的走线要短而粗,返回路径要直接连到MOSFET源极。如果驱动器在板子另一侧,栅极走线穿过整个板子,寄生电感会让开关波形振铃严重。
3. 紧凑布局的实操步骤与参数计算
3.1 从原理图到布局的检查清单
在画PCB之前,先把这几个问题确认清楚:
- 母线电压和最大电流是多少?这决定了走线宽度和电容耐压。
- PWM频率和死区时间是多少?这决定了栅极电阻和驱动器选型。
- 散热路径是什么?是走铜箔散热还是加散热片?这决定了MOSFET封装和铺铜面积。
- EMI要求是什么等级?这决定了是否需要额外的共模扼流圈和Y电容。
确认之后,按以下顺序布局:
- 第一步:放置半桥MOSFET,高侧和低侧紧挨着,漏极和源极的铜箔尽量宽。
- 第二步:放置母线陶瓷电容,紧贴半桥的漏极和源极铜箔,电容的接地端直接连到低侧MOSFET源极。
- 第三步:放置栅极驱动器,尽量靠近MOSFET,驱动器的接地端和MOSFET源极用短而宽的走线连接。
- 第四步:放置自举电容和二极管,紧贴驱动器的自举引脚和高侧MOSFET源极。
- 第五步:放置电流采样电阻,如果是低侧采样,放在低侧MOSFET源极和地之间,走线要开尔文连接。
- 第六步:放置其他外围电路,尽量远离功率回路。
3.2 栅极电阻的计算与实测调整
栅极电阻Rg决定了开关速度。Rg越小,开关越快,开关损耗越低,但EMI越差,电压尖峰越高。Rg越大,开关越慢,EMI越好,但开关损耗越高,发热越严重。
理论计算Rg的方法是先定目标开关时间。假设你希望开关时间tr=100ns,MOSFET的Qgd=10nC,驱动电压Vdrive=12V,那么:
Ig = Qgd / tr = 10nC / 100ns = 0.1A Rg_total = Vdrive / Ig = 12V / 0.1A = 120Ω
这个120Ω是总电阻,包括驱动器内阻、外部栅极电阻和MOSFET内阻。如果驱动器内阻是5Ω,MOSFET内阻是2Ω,那么外部栅极电阻选113Ω左右,实际选100Ω。
但理论计算只是起点。实际调试时,我会先用一个可调电阻或者几个不同阻值的电阻试,观察MOSFET漏源电压的振铃和温升。振铃频率通常在几十MHz到几百MHz,如果振铃幅度超过母线电压的20%,就要加大Rg或者加RC吸收。
注意:栅极电阻的功率也要算。驱动损耗Pgate = Qg × Vdrive × fsw。比如Qg=50nC、Vdrive=12V、fsw=20kHz,Pgate=12mW,0402电阻足够。但如果fsw=100kHz,Pgate=60mW,就要用0603或0805。
3.3 死区时间的设定与验证
死区时间是为了防止上下管直通。死区太小会直通,死区太大会增加续流损耗。在紧凑设计里,死区时间通常由驱动器硬件设定或者由MCU的PWM模块设定。
设定死区时间的依据是MOSFET的关断时间。关断时间包括关断延迟和下降时间。比如某MOSFET的关断延迟是50ns,下降时间是30ns,那么死区时间至少要大于80ns。实际取100~200ns比较稳妥。
验证死区时间的方法是用示波器看半桥中点电压和上下管栅极电压。如果中点电压在死区期间出现异常尖峰,说明死区不够或者有直通。如果中点电压在死区期间长时间停留在中间电平,说明死区太大。
我踩过的一个坑是:驱动器数据手册标称的传播延迟是典型值,实际批次之间可能有±50%的偏差。所以死区时间要留够余量,不能按典型值卡着算。
3.4 电流采样的紧凑方案
紧凑设计里电流采样通常用分流电阻。低侧采样最简单,电阻放在低侧MOSFET源极和地之间。但要注意,低侧采样的共模电压是地,运放好选;高侧采样共模电压是母线电压,需要高压运放或者隔离运放,体积和成本都上去了。
低侧采样的关键是开尔文连接。分流电阻的两个电压检测点要从电阻的焊盘内侧引出,不能从走线上随便取点,否则走线电阻会引入误差。分流电阻的阻值选择要权衡功耗和信噪比。比如10A电流,选1mΩ电阻,压降10mV,功耗0.1W;选5mΩ电阻,压降50mV,功耗0.5W。紧凑设计里功耗是敌人,所以尽量选小阻值,但运放的失调电压和噪声要足够低。
如果不想用分流电阻,也可以用MOSFET的Rds(on)做电流采样。优点是省一个器件,缺点是Rds(on)随温度变化大(约0.5%/℃),精度差。适合对精度要求不高的场合,比如过流保护。
4. EMI滤波与常见问题排查
4.1 紧凑设计里的EMI滤波电路怎么摆
EMI滤波在紧凑设计里经常被忽略,直到测试过不了才临时加。实际上,EMI滤波的位置和参数在布局阶段就要定下来。
典型的EMI滤波是π型滤波:母线输入→共模扼流圈→X电容→Y电容→半桥。共模扼流圈抑制共模噪声,X电容抑制差模噪声,Y电容把共模噪声旁路到地。
紧凑设计里,共模扼流圈通常选贴片式的,体积小但阻抗有限。X电容选陶瓷电容,容值0.1~1μF。Y电容选1~10nF,耐压要够。
关键点是滤波器的接地。Y电容的接地端要直接连到半桥的低侧MOSFET源极,不能连到板子其他地方的“地”。否则共模噪声会通过地平面耦合到其他电路。
另外,滤波器的输入和输出走线要分开,不能平行走,否则会通过寄生电容耦合,滤波效果大打折扣。
4.2 常见问题速查表
| 现象 | 可能原因 | 排查方法 | 解决措施 |
|---|---|---|---|
| MOSFET发热严重 | 开关损耗大、Rg太大、死区太大 | 测栅极波形和漏源波形 | 减小Rg、减小死区、换低Qg MOSFET |
| 漏源电压尖峰高 | 换流回路寄生电感大 | 测漏源电压振铃频率 | 缩小母线电容回路、加RC吸收 |
| 驱动器发热 | 驱动电流不够、自举电容不够 | 测驱动电压和自举电压 | 换大电流驱动器、加大自举电容 |
| EMI测试不过 | 共模噪声大、滤波不够 | 用近场探头定位噪声源 | 加共模扼流圈、优化Y电容接地 |
| 电流采样不准 | 开尔文连接不对、运放失调大 | 测采样电阻两端电压 | 改开尔文连接、换低失调运放 |
| 上电就炸管 | 直通、栅极电压过冲 | 测上下管栅极波形 | 加大死区、加栅极钳位二极管 |
4.3 实操心得与避坑技巧
心得一:先算损耗再画图。我见过太多项目,板子画完了才发现MOSFET损耗超标,只能换封装或者加散热片,结构全部重来。正确的顺序是:定电流和频率→算损耗→选封装和散热方式→画图。
心得二:母线电容不要省。紧凑设计里母线电容占面积,很多人想省掉。但母线电容不够,换流回路的寄生电感就大,电压尖峰就高,MOSFET耐压就要选更高,反而增加成本。我的经验是每10A电流至少配10μF陶瓷电容,越多越好。
心得三:栅极走线要短。驱动器到MOSFET栅极的走线超过10mm,寄生电感就可能引起振铃。如果实在避不开,用双绞线或者同轴走线,但PCB上很难实现。最好的办法是把驱动器放在MOSFET旁边,哪怕牺牲其他电路的布局。
心得四:死区时间用示波器验证。不要相信仿真,仿真里的延迟是理想值。实际板子上电后,用示波器看上下管栅极电压的交叠,确认没有直通。如果交叠了,加大死区。
心得五:EMI滤波要预留位置。即使你预计能过EMI测试,也要在板子上预留共模扼流圈和Y电容的位置。万一过不了,可以马上加上去,不用改板。
心得六:热像仪比手摸靠谱。紧凑板子上元件密集,手摸容易烫伤,而且摸不到内层。用热像仪看温度分布,能快速定位热点。如果没有热像仪,用热电偶贴在MOSFET表面,等温度稳定后读数。
心得七:开源固件可以参考但不要照搬。VESC和Moteus这些开源电机控制固件在算法上很成熟,但它们的硬件设计针对的是特定功率等级和散热条件。直接照搬到紧凑设计里,参数需要重新整定。比如VESC的默认死区是500ns,在紧凑高频设计里可能太大,需要改小。
5. 从设计到验证的完整流程
5.1 设计阶段的仿真与计算
在画图之前,我会用LTspice或者Simplis做一次半桥仿真。仿真模型包括MOSFET的Spice模型、驱动器的行为模型、母线电容的ESL和ESR、寄生电感。仿真的目的是看漏源电压尖峰和开关损耗,不是看EMI。EMI仿真太复杂,小项目不值得做。
仿真参数设置:母线电压、PWM频率、死区时间、栅极电阻、负载电流。跑瞬态分析,看漏源电压波形和栅极电压波形。如果尖峰超过母线电压的50%,就要调整布局参数或者加吸收电路。
仿真之后,用Excel或者Python算一遍损耗和温升。损耗包括导通损耗、开关损耗、驱动损耗、输出电容损耗。温升用热阻模型算,结温=环境温度+总损耗×热阻。如果结温超过125℃,就要换方案。
5.2 打样后的上电测试步骤
第一块板子回来之后,不要直接上满载。按以下步骤来:
- 目视检查:有没有虚焊、短路、元件方向错误。
- 静态测试:不焊MOSFET,只焊驱动器和MCU,上电测驱动电压和PWM波形。
- 低压测试:母线电压降到5V,焊上MOSFET,空载跑PWM,测栅极波形和漏源波形。
- 带载测试:逐步升高母线电压和负载电流,每步测温度,直到满载。
- 长时间测试:满载跑1小时,监测温度变化。如果温度稳定,说明热设计过关。
注意:第一次上电一定要用限流电源,限流值设小一点(比如0.5A)。如果板子有短路,限流电源会保护,不会炸管。
5.3 参数整定与优化
上电测试之后,根据波形调整参数。主要调三个:栅极电阻、死区时间、PWM频率。
栅极电阻的调整方向:如果漏源振铃严重,加大Rg;如果MOSFET发热严重,减小Rg。每次调整后重新测波形和温度。
死区时间的调整方向:如果中点电压在死区期间有尖峰,加大死区;如果续流损耗大,减小死区。死区时间的最小值由MOSFET关断时间决定,不能无限减小。
PWM频率的调整方向:频率越高,电流纹波越小,但开关损耗越大。紧凑设计里,频率通常选20~50kHz。如果电机电感大,频率可以低一些;如果电机电感小,频率要高一些。
5.4 紧凑设计的扩展思路
如果板子还要再小,可以考虑以下方向:
- 用集成MOSFET的驱动器,比如DRV8313、DRV8323,把半桥和驱动器集成在一个芯片里,省掉栅极走线。
- 用多层板,把功率回路放在内层,减少面积。
- 用铝基板或者陶瓷基板,提高散热能力,允许更高的损耗密度。
- 用无传感器控制,省掉霍尔传感器和接口电路。
但每一条路都有代价。集成驱动器的电流能力有限,通常不超过5A;多层板成本高;铝基板加工麻烦;无传感器控制在低速时性能差。所以扩展之前先想清楚,你的应用到底需不需要那么小。
我个人在最近一个24V/10A的紧凑驱动器项目里,用的是DFN5×6封装的MOSFET加外置半桥驱动器,两层板,面积35mm×25mm。满载跑1小时,MOSFET表面温度65℃,环境温度25℃,温升40℃。EMI测试过了Class B,余量6dB。这个结果不算极致,但足够应付大多数紧凑场景。关键是把功率回路压到最小,母线电容用了8颗1μF的0805陶瓷电容,紧贴半桥放置。栅极电阻最终选了15Ω,死区200ns,PWM频率25kHz。这些参数不是算出来的,是算完之后实测调出来的。