
一个电机设计需求摆到面前2极12槽永磁直流有刷电机目标空载转速3000 rpm输出转矩写着“0”。这个“0”很容易被解读成“电机不转”或者“模型没收敛”实际上它是有刷直流电机最常被忽略的一个工况——空载运行点。也就是说电机在额定电压下自由旋转轴端不挂任何负载这时候输出转矩自然为零转速则由反电动势与外加电压的平衡决定。用Motor-CAD这类电磁仿真工具来验算这个工况比拍脑袋选几个参数靠谱得多。很多工程师一提到Motor-CAD第一反应就是无刷电机、永磁同步电机那一套。其实对有刷直流电机Motor-CAD同样能完成2D电磁场求解只是换向部分需要额外处理。我尽量把自己从磁路估算、几何建模、换向设置到空载仿真判读的全过程写清楚中间也会穿插一些计算方法和踩坑记录适合正在做直流微特电机选型、或者想用仿真手段反推设计参数的朋友参考。1. 为什么是2极12槽方案背后的工程账1.1 极槽配合的选型逻辑拿到“2极12槽”这个配置先别急着建模得先算一笔账搞清楚这个极槽数到底合不合理。2极也就是极对数p等于1。对有刷直流电机来说极对数少直接把换向问题简化了一大截。因为电枢每转一圈电流换向的次数与极对数直接相关p1时每一圈每个线圈只需要经历两次电流反向电刷磨损和换向火花的压力都会小很多。加上有刷电机天然存在机械换向极数越多换向周期越短电感造成的延迟换向就越严重火花、噪声、电刷寿命全都会跟着恶化。所以小型直流永磁电机里2极几乎是统治级的存在。12槽的意义则在于绕线工艺和齿槽转矩的权衡。槽数太少比如4槽、6槽绕组只能做成集中式气隙磁场畸变大齿槽转矩也明显槽数太多比如18槽、24槽虽然电磁性能更好但转子冲片加工、绕线、换向片焊接的成本都会涨。12槽对应12个换向片每个元件占一个槽叠绕节距是整数绕线头尾清清楚楚生产上非常好安排。如果按三相无刷电机的习惯去套每极每相槽数2极12槽在m3的时候q值是2属于整数槽绕组齿槽转矩的基波阶次是LCM(2p, Q)12齿槽频率高、幅值相对低空载手拧转子的“克力”手感会比4槽6槽那种方案舒服很多。我倾向于把极槽配合理解成一种“够用就行”的工程妥协。2极12槽在性能、成本、工艺三方面都比较均衡不太会出大问题。真正需要关心的反而是后面那几个容易出错的参数——磁钢厚度、电枢匝数、换向器片间距离。1.2 “输出转矩0”在设计指标里的真实位置这个项目的指标里写“3000rpm输出转矩0”翻译成工程语言是电机在给定电压下空载运行稳定转速为3000转/分轴端输出转矩为零。电机转矩平衡方程其实特别朴素电磁转矩Te克服摩擦损耗转矩Tf和铁耗等效转矩Tfe之后剩下的部分才用来加速或者输出到负载。空载稳态时Te等于Tf加上Tfe对外输出的机械转矩是0但电磁转矩并不是零只是数值小到可以忽略。如果用Motor-CAD直接做恒转速仿真把转速设成3000 rpm、负载转矩设成0软件会给出一个很有意思的状态电枢电流很小只有空载损耗对应的电流反电动势非常接近外加电压电机几乎工作在电动与发电的临界点上。这正是判断设计是否合理的关键瞬态。另一个容易被忽略的点是转速3000 rpm对应的是“空载转速”。负载一旦加上去转速会沿着直流电机的机械特性曲线往下掉掉多少取决于电枢电阻和转矩常数。如果设计时只看空载转速不校核额定负载下的转速-转矩交叉点样机出来后很可能出现负载转速低到没法用的情况。所以这个“0转矩”工况其实是对“电压匹配”的验证而不是一个无意义的数据。2. 在Motor-CAD里把模型搭出来的完整过程2.1 建模边界与几何输入Motor-CAD里有不同的电机模板直接用永磁无刷模板来建2极12槽的有刷电机几何是比较省事的路子。有刷直流电机和无刷永磁电机的电磁本质都是永磁体提供励磁、电枢绕组切割磁力线差别只在于通电切换方式由电子换向变成了机械换向。2D瞬态场求解器并不关心换向器长什么样它只看线圈电流的方向变化所以完全可以先按无刷模板把几何建好再把通电逻辑改成直流换向模式。几何参数方面我拿一个典型的小功率直流电机外壳尺寸来做说明。电机机壳外径约50 mm定子内径也就是电枢外径约36 mm叠厚25 mm气隙取0.4 mm。这里气隙不能太小因为小电机转子装配误差大0.2 mm虽然磁阻更低但工艺稍微漂移就容易扫膛0.4 mm左右的空隙对批量生产更友好。12槽的槽型我建议用梨形槽。梨形槽底部宽、开口窄既方便自动绕线机下线又能减少齿槽转矩。槽口宽大约1.2 mm槽底半径1.8 mm槽肩半径0.6 mm。这些尺寸在Motor-CAD的槽型编辑器里可以直接填。如果你已经有DXF图纸也可以在Motor-CAD里导入轮廓曲线用多边形定义齿和槽的形状。这个方法更接近真实冲片但要求图纸的坐标和单位都对得齐。我个人的习惯是先用模板参数初步跑一版确认磁路是否合理再导入精确DXF做二次仿真这样能省掉大量调网格的时间。2.2 磁钢、绕组、换向片的参数化磁钢是决定反电动势系数ke的核心。这个项目中转速要求是3000 rpm先把外加电压定为24 V那么空载时反电动势大约要等于24 V反电动势系数ke就是ke E / n 24 / 3000 0.008 V/rpm反电动势公式可以简化为E (p * Z * Φ * n) / (60 * a)其中p是极对数1Z是电枢总导体数Φ是每极磁通a是并联支路数。对于2极12槽单叠绕组a等于1。如果假设每极磁通Φ约为1 mWb就可以反推需要的总导体数Z (60 * a * ke) / (p * Φ) (60 * 0.008) / (1 * 0.001) 480480个总导体平摊到12个槽里每槽40根线。如果是双层绕组那就是每槽20匝。这个匝数在小型直流电机里很常见铜线直径可以选0.5 mm左右槽满率大约60%电机温升不会太夸张。磁性材料我选了烧结钕铁硼。N35牌号的剩磁大约1.17 T矫顽力足够适合做扁平磁瓦。2极结构用两块弧形磁钢直接贴在内定子内侧磁钢厚度取2 mm极弧系数取0.85左右。极弧不要取太满留出一点换向区空间否则电刷换向时短路电流会变大。换向器处理是整个仿真里最需要理解的一环。12槽对应12个换向片转子每转过30度机械角电枢绕组的通电方向就切换一次。在Motor-CAD里我通过在电流波形里加一个由转子位置角驱动的手动开关逻辑把360度电周期划成12个区段每个区段内对应的线圈组合电流方向一致。实际电机里电刷通过机械接触完成这个切换但在2D电磁求解里等效成“理想开关序列”已经足够反映转矩波动和反电动势波形。这里要特别注意电刷中心线的位置。2极电机的电刷应该位于磁极中性线上也就是两块磁钢交界的位置。如果电刷偏移了气隙磁场的空间位置会和电枢电流的磁轴错位导致出现“火花倾向增大、转矩变小”的现象。仿真模型里可以通过偏置电流切换点来实现。2.3 材料与损耗模型定子轭和电枢铁芯我都用了常见的硅钢片材料比如DW470之类的取向或无取向电工钢叠片系数按0.95设置。铁芯损耗系数在Motor-CAD的Material界面里可以直接定义它会自动计算磁滞损耗和涡流损耗。磁钢的材料参数里面剩磁、矫顽力、工作温度这三项要填准。钕铁硼的温度系数大约-0.12%/℃如果电机工作环境到80℃剩磁会掉将近7%空载转速也会上升。项目如果只按常温20℃算样机跑到高温环境时转速就会偏高这一点后面样机验证还要再提。有刷电机的摩擦损耗比无刷电机大不少主要是电刷和换向器之间的滑动摩擦还有两个轴承的摩擦。Motor-CAD的Loss界面里可以设置机械损耗我一般先给一个“空载总损耗0.5W”的初值再用实测数据修正。这个值直接影响空载电流判读不要默认设成0。3. 对3000rpm空载零转矩工况进行仿真分析3.1 驱动与工况设定仿真工况的设置逻辑是这样的让电机转速恒定为3000 rpm负载转矩设为0然后给电枢施加24 V的直流电压。在这个条件下电机不是“什么都不干”而是靠反电动势把电枢电流压到极小刚好够克服铁耗和摩擦损耗。Motor-CAD的驱动设置里把Control Type选为转速控制目标转速填3000 rpm负载转矩0 N·m电压源24 V。求解时间要覆盖几个电周期2极电机每个机械周期就是1个电周期3000 rpm下每秒要转50圈电周期频率是50 Hz周期20 ms。建议至少求解60 ms也就是3个电周期确保进入稳态再读数据。电流方向切换的位置用“转子位置角开关表”实现。12个换向片对应每30度换一次向在一个电周期里12个区段每个区段内给某几个槽的线圈指派正向或反向电流。这个开关表可以在Motor-CAD的Circuit/Angle驱动里编辑或者通过外部脚本导入。3.2 反电动势与空载电流判读仿真跑完以后最先看的是反电动势波形和电枢电流波形。理想情况下反电动势是平顶波幅值接近24 V电流纹波很小。空载电流可以用这个思路预估如果已知空载总损耗P0那么空载电流I0大约等于P0除以24 V。比如总损耗0.5 WI0大概是20 mA。仿真结果里电磁转矩波形虽然是波动的但平均值接近0.02 N·m左右的很小数值这是因为软件算的是电磁转矩需要抵消空载损耗对应的阻力转矩。既然指标里明确“输出转矩0”那在结果后处理里就要把负载输出转矩单独提取成负值或零值。Motor-CAD里可以直接看“Shaft Torque”这一项它已经扣除了机械损耗和铁耗。空载时这个值应该基本贴合0或者在正负几个mN·m之间浮动。如果曲线明显偏到几十mN·m那说明负载没设对或者电流开关表里的磁轴位置偏了。我写了一个简单Python脚本用来校验反电动势系数方便把仿真结果和手算结果对比# 反电动势常数校验 p 1 # 极对数 a 1 # 并联支路数 Z 480 # 电枢总导体数 Phi 1.0e-3 # 每极磁通Wb ke p * Z * Phi / (60 * a) print(fke {ke:.5f} V/rpm) print(f3000rpm反电动势 {ke * 3000:.2f} V)按前面参数算出来ke正好是0.008 V/rpm3000 rpm反电动势24 V和24 V供电电压匹配空载转速才会正好落在3000 rpm附近。如果算出来差距大先检查每槽导体数和磁通估算比盲目调模型高效得多。3.3 齿槽转矩与齿槽频率永磁电机不可能完全避开齿槽转矩只是大小问题。2极12槽的齿槽转矩基波频率是极数和槽数的最小公倍数也就是12次/圈对应到3000 rpm就是600 Hz的转矩波动。齿槽转矩本身跟电流大小无关所以空载仿真时正好观察它最干净。空载转矩波形里如果看到一个600 Hz的周期脉动幅值在几mN·m以内可以接受超过10 mN·m就要考虑优化极弧系数、磁钢斜极或者槽口宽度。有刷电机的转矩波动来源比无刷更复杂一些。除了齿槽转矩还有换向瞬间电枢反应引起的转矩突变。每30度发生一次换向换向点处的转矩波形会有毛刺。普通仿真看平均转矩即可但如果要做低噪声设计就得重点看这个换向尖峰。3.4 损耗分解与温度预估空载时电机发热主要来自三块铁耗、摩擦损耗和空载电枢铜耗。空载电枢电流很小铜耗通常只有几十毫瓦所以空载温升基本由铁耗和摩擦主导。Motor-CAD的Loss Map能输出不同转速和转矩下的损耗矩阵。把3000 rpm、0 N·m这个点单独提取可以看到铁耗分布其中磁钢表面的涡流损耗是个容易低估的项。钕铁硼有导电性气隙磁场里的谐波会在磁钢表面感应涡流谐波越强损耗越大。如果磁钢表面涡流损耗超过铁耗的30%就要考虑磁钢分块或者增加气隙。做完电磁仿真后我把模型衔接到Motor-CAD的Thermal模块手动输入机壳散热系数大概估算绕组稳态温升。这个方法比直接跑3D热仿真快适合快速排查设计风险。4. 仿真实操中踩过的坑与排查速查表4.1 几何与网格层面的几个坑第一个容易翻车的地方是槽口宽度过小导致网格畸变。1.2 mm的槽口在整机尺寸里已经算小的如果网格剖分精度不够槽口附近的磁密会算得明显偏低表现出来就是转矩曲线很难看。解决方法是给槽口区域单独加密“Mesh Control”或者把槽口临时放宽到1.5 mm判断趋势确认设计没问题后再改回真实尺寸。第二个坑是磁钢极弧系数和换向区对不上。仿真时如果把磁钢极弧取到0.95换向区内磁场几乎为零的区域太小电刷切换瞬间的电流断续会非常剧烈转矩波形会出现很大的负尖峰。建议极弧系数先按0.8到0.85做后续再根据实测火花等级调整。第三个坑是模型单位。Motocad老版本按mm建模新版本支持自定义单位DXF导入时如果单位错配整个模型会直接缩小1000倍转矩结果小到没有参考价值。导入后第一时间检查转子直径是不是36 mm。4.2 结果判读层面的几个坑空载仿真结果里“电磁转矩”不等于“轴转矩”。电磁转矩要扣除铁耗和机械损耗这两个阻力项才是轴端输出。仿真报告如果直接抄电磁转矩平均值写出来的指标会和实测差一截。我在项目里习惯同时在Motor-CAD里看Shaft Torque和Output Torque两个量确保报表口径正确。还有一个典型问题是电流开关表方向错乱。2极12槽的换向顺序一旦从30度改成60度电流和磁场的夹角就从90度变成60度转矩下降30%以上。出现这种情况时转矩波形会整体下移而不是单纯波动变大。对照原理图检查每个30度区段内线圈的电流方向能很快定位。4.3 仿真转速与实测转速差异仿真中如果铁耗或摩擦损耗设置偏小空载电流就会算得比实测小反电动势近似等于外加电压转速可能只偏差几十转。但如果实测转速比仿真高很多常见原因是磁钢牌号用错了实际磁通偏低ke变小同样电压下转速自然升高。温度对转速的影响很容易忽略。钕铁硼在高温下剩磁下降ke变小空载转速升高。如果是铜绕组温度升高电阻变大负载转速下降更快。所以在仿真报告里最好给出常温与高温两个工况的转速值避免样机测试在不同季节出现对不上的情况。5. 从空载仿真延伸到样机验证的几个建议空载仿真结果稳定之后不要急着出报告先做三件小事。第一把仿真得到的ke值和实测反电动势对一下。实测方法是反拖电机到3000 rpm用示波器测电枢开路电压。电压幅值和24 V越接近说明磁路设计越准。这一项是磁钢厚度和匝数设计最直接的验证误差超过5%就要检查磁钢牌号或极弧系数。第二看换向火花和电刷磨损。仿真只能反映电磁换向的好坏接触电阻、换向片表面膜层这些只能靠样机测试。空载3000 rpm运行时如果火花等级超过一定限度优先检查换向器片间电压和电刷弹簧压力而不是改动磁钢。第三测机械损耗的实际值。反拖测试时测得的输入功率去掉铁耗剩下的就是摩擦损耗。把实测损耗填回Motor-CAD的热模型里重新跑一遍会发现绕组温升的预测比默认值精准很多。这个数据后续做负载工况分析也非常有用。我个人做这类直流有刷电机项目的时候习惯了用“空载转速先定盘子负载转矩再定里子”的顺序。空载仿真最快暴露的是磁钢和匝数是否匹配电源电压这一关过了再按额定负载校核转矩和温升整个设计逻辑就很顺。遇到客户只给了空载参数、没给负载要求的情况这个办法更能避免设计跑偏。最后补充一个小技巧Motor-CAD里把转速设成3000 rpm、转矩设成0跑完之后顺手把横坐标改成机械角度观察一个电周期内的转矩波形能直接看到换向点位置是不是正好落在转矩波形的过零点。如果换向尖峰和齿槽转矩峰叠加得很严重后续做低噪声改进时可以针对性调整电刷偏置角这个细微动作经常能救回不少性能余量。