
无刷电机的相电阻和相电感是FOC驱动绕不过去的两个基础参数。我见过太多人在这上面翻车有人拿万用表随便量一下相间电阻就填进代码结果电流环振荡得跟筛糠一样有人用DIY的LCR电桥测电感测出来的数值和实际差了将近一倍调了半天PID才发现是测量环节就错了。这两个参数看起来简单但测量方法、测量条件、测量工具的选择每一步都有讲究。这篇内容就是把我这些年从万用表到专业电桥的完整测量流程梳理一遍把踩过的坑和验证过的方法都摊开讲清楚不管你是刚接触无刷电机的新手还是已经调过几版FOC的老手应该都能从中找到自己需要的东西。1. 先搞清楚你到底要测什么1.1 相电阻和相电感的物理意义无刷电机的三相绕组在物理上是对称分布的每一相都有自己的电阻和电感。相电阻就是绕组铜线的直流电阻它决定了电机在堵转或者低速大电流工况下的铜损也直接影响电流环的稳态增益。相电感则反映了绕组对电流变化的阻碍能力它和PWM开关频率一起决定了电流纹波的大小也影响电流环的动态响应速度。很多人会问为什么不能直接用万用表量相间电阻然后除以二理论上星形接法的电机相间电阻确实是相电阻的两倍但实际测量中万用表的表笔接触电阻、引线电阻、测量电流大小都会影响结果。尤其是低阻值电机相电阻可能只有几十毫欧万用表那点测量精度根本不够看。相电感就更麻烦了万用表根本没有电感档必须用专门的LCR电桥或者DIY测量电路。1.2 为什么这两个参数对FOC如此关键在FOC控制中电流环的PI参数整定高度依赖电机的电气参数。电流环的带宽通常设定在PWM频率的十分之一到五分之一而带宽的计算公式里电感L和电阻R是核心变量。如果电感测大了算出来的带宽偏低实际响应会偏慢如果电感测小了带宽算高了系统容易振荡。电阻的影响主要体现在低频段它决定了电流环的直流增益和稳态误差。我自己的经验是相电阻测量误差控制在5%以内相电感测量误差控制在10%以内电流环基本就能调出一个不错的效果。但如果电感误差超过20%那PID参数就得靠试凑法慢慢磨了效率极低。1.3 不同测量方法的适用边界测量方法的选择取决于你对精度的要求、手头的工具、以及电机本身的参数范围。大致可以分三个层次测量方法适用电阻范围适用电感范围精度工具成本万用表直接测量1Ω不适用低极低万用表恒流源10mΩ~1Ω不适用中低DIY LCR电桥10mΩ~100Ω10μH~10mH中高中专业数字电桥1mΩ~1MΩ1μH~1H高高对于大多数DIY玩家和小型电机应用DIY LCR电桥已经足够。但如果你做的是高精度伺服或者需要批量生产的一致性检测专业电桥是必须的。2. 万用表测相电阻能用但别全信2.1 万用表测电阻的原理和局限普通数字万用表测电阻用的是比例法内部提供一个已知的参考电阻通过被测电阻和参考电阻串联分压测量分压比来推算被测电阻。这个方法在测量高阻值kΩ级别时很准但测量低阻值Ω以下时表笔线电阻和接触电阻就成了大问题。一根普通表笔的线电阻大概在20~50mΩ接触电阻取决于氧化程度和压力可能从几毫欧到几百毫欧不等。更麻烦的是很多万用表的最小电阻档分辨率只有0.1Ω对于相电阻只有50mΩ的电机来说读数基本没有参考价值。我试过用某品牌DT830B万用表测一个2208云台电机的相间电阻读数在0.3Ω和0.5Ω之间跳根本没法用。2.2 四线制测量消除引线电阻的关键如果你只有万用表但又想测低阻值可以用四线制测量的思路。具体做法是用一个恒流源给绕组通一个已知电流比如1A然后用万用表的高精度毫伏档测量绕组两端的电压降再根据欧姆定律算出电阻。这样表笔的引线电阻和接触电阻不会影响电压测量因为电压测量回路几乎没有电流流过。恒流源可以用一个LM317搭一个简易的或者直接用可调电源串一个功率电阻。关键是电流要稳定测量时要等读数稳定后再记录。我一般会通1A电流测三次取平均这样测出来的相电阻误差可以控制在2%以内。2.3 温度对电阻测量的影响铜的电阻温度系数是0.393%/°C也就是说温度每升高10°C电阻就增加约4%。如果你在电机刚跑完一圈、绕组还热着的时候测电阻测出来的值会比冷态高不少。正确的做法是让电机在室温下静置至少30分钟确保绕组温度和环境温度一致后再测量。我吃过这个亏有一次调一个轮毂电机冷态测的相电阻是0.12Ω跑了几分钟后热态再测变成了0.15Ω电流环的稳态误差明显变大。后来在代码里加了温度补偿问题才解决。所以如果你要做高精度控制冷态电阻和热态电阻都要测心里有个数。2.4 相间电阻和相电阻的换算陷阱星形接法的电机相间电阻是相电阻的两倍这个没错。但三角形接法的电机相间电阻和相电阻的关系就不是简单的两倍了。三角形接法下相间电阻等于相电阻并联另一相电阻后再串联第三相电阻算下来是相电阻的2/3。如果你搞错了接法算出来的相电阻会差很多。判断接法的方法很简单用万用表测三个相间电阻如果三个值基本相等再看电机引出线的数量。三根引出线通常是星形接法六根引出线可能是星形也可能是三角形需要看绕组连接方式。最可靠的方法是拆开电机看绕组端部的连接或者用LCR电桥测相间电感和相电感的比值来判断。3. 电感测量万用表搞不定的事3.1 为什么万用表测不了电感普通万用表没有电感测量功能因为电感测量需要交流激励源和相位检测电路这比电阻测量复杂得多。有些高端万用表有电感档但测量原理通常是基于LC振荡或者交流分压精度和量程都很有限对于无刷电机这种低电感几十到几百微亨的测量场景基本不可用。我见过有人试图用万用表的电容档来测电感原理上确实有办法把电感转换成电容来测量但需要额外的谐振电容和计算操作繁琐且误差大。对于无刷电机相电感测量这条路走不通。3.2 DIY LCR电桥的核心原理DIY LCR电桥的核心思路是用一个已知频率的交流信号激励被测电感测量电感两端的电压和流过电感的电流通过幅值和相位差算出阻抗再分离出电感和电阻分量。具体实现方式有很多种常见的是自动平衡电桥和阻抗分压法。自动平衡电桥的精度更高但电路复杂需要精密的运算放大器和相位检测电路。阻抗分压法简单一些用一个已知的参考电阻和被测电感串联测量参考电阻两端的电压和被测电感两端的电压通过矢量运算算出阻抗。我推荐用阻抗分压法入门电路简单用STM32的ADC配合DMA采样就能实现。3.3 许老师电桥的开关鉴相和ADC积分电路解析许老师电桥是DIY圈子里很流行的一个开源LCR电桥项目它的核心是开关鉴相和ADC积分电路。开关鉴相的原理是用与激励信号同频的方波控制模拟开关对被测信号进行同步解调把交流信号转换成直流信号再用ADC测量。这种方法对ADC的采样率要求不高但需要精确的相位控制。ADC积分电路的作用是对解调后的信号进行积分滤除高频噪声提高测量精度。积分时间越长噪声抑制越好但测量速度越慢。在实际调试中我建议积分时间设置在10~100ms之间根据测量精度和速度的要求折中。3.4 测量频率的选择100Hz还是1kHzLCR电桥的测量频率直接影响电感测量结果。对于无刷电机相电感通常在几十到几百微亨测量频率一般选1kHz或者10kHz。频率太低感抗太小电阻分量占主导测量误差大频率太高绕组的集肤效应和寄生电容开始显现测量值会偏小。我一般先用1kHz测一遍再用10kHz测一遍如果两个频率下测出来的电感值差异在5%以内说明测量结果可信。如果差异很大说明电机绕组有较大的寄生电容或者测量电路有问题需要进一步排查。4. 从零搭建一套可信的测量流程4.1 测量前的准备工作测量前需要做几件事第一确认电机的接法星形还是三角形这决定了相电阻和相电感的换算关系第二记录环境温度铜电阻对温度敏感后续可能需要补偿第三检查电机引出线的接触情况氧化或者松动的接头会引入额外的接触电阻。如果是六根引出线的电机还要确认三相绕组的对应关系。可以用万用表通断档找出同一相的两根线然后标记好U、V、W三相。有些电机还有霍尔传感器的引出线不要和绕组线搞混了。4.2 相电阻的完整测量步骤我推荐的相电阻测量流程是这样的将电机置于室温环境静置30分钟以上。用万用表通断档确认三相绕组的引出线对应关系。如果是星形接法测量任意两相之间的电阻记为R_ab、R_bc、R_ca。计算相电阻R_phase (R_ab R_bc R_ca) / 6。如果电机相电阻低于1Ω改用四线制测量用恒流源通1A电流用毫伏档测量电压降。每个相间电阻测量三次取平均值。记录测量时的环境温度。这里解释一下为什么用三个相间电阻的平均值除以6星形接法下R_ab R_a R_bR_bc R_b R_cR_ca R_c R_a三式相加得R_ab R_bc R_ca 2(R_a R_b R_c)如果三相平衡R_a R_b R_c R_phase则R_phase (R_ab R_bc R_ca) / 6。这样算可以消除单次测量的随机误差。4.3 相电感的测量与验证相电感的测量比电阻麻烦因为电感测量受频率、激励电平、绕组位置等多个因素影响。我的做法是用LCR电桥在1kHz频率下测量任意两相之间的电感记为L_ab、L_bc、L_ca。星形接法下相电感L_phase (L_ab L_bc L_ca) / 6。改变转子位置每隔30度机械角测量一次观察电感变化。如果电感随转子位置变化超过10%说明电机有凸极效应FOC控制中需要考虑凸极补偿。在10kHz频率下重复测量对比两个频率下的结果。对于表贴式永磁电机电感随转子位置的变化很小基本可以认为是常数。对于内嵌式永磁电机凸极效应明显交轴电感和直轴电感差异可能达到20%以上这时候需要分别测量Ld和Lq不能简单用平均值。4.4 测量结果的交叉验证测完电阻和电感后最好做一次交叉验证。方法是用LCR电桥测量绕组的阻抗幅值和相位角然后根据Z R jωL反算出电阻和电感和直接测量的结果对比。如果两者差异在5%以内说明测量结果可信。另一个验证方法是给电机通一个已知频率的正弦电压测量电流的幅值和相位根据V I × (R jωL)反算参数。这个方法更接近电机实际工作状态但需要信号发生器和功率放大器设备要求高一些。5. 那些年我踩过的测量坑5.1 表笔接触电阻导致的误判有一次我测一个4010电机的相电阻万用表读数在0.8Ω左右我觉得不对劲因为这个电机应该是0.3Ω左右。后来换了一根短而粗的表笔读数变成了0.35Ω。原来之前那根表笔的线电阻就有0.4Ω加上接触电阻直接把测量结果翻了一倍多。这个坑的教训是测低阻值电机时一定要用短粗表笔或者直接用四线制测量。表笔的线电阻和接触电阻在低阻测量中是不可忽略的误差源。5.2 电感测量时的激励电平问题LCR电桥的激励电平测试电压会影响电感测量结果尤其是对于有磁芯的电机。激励电平太低磁芯可能工作在非线性区测出来的电感偏小激励电平太高磁芯可能饱和电感也会偏小。我一般把激励电平设置在1Vrms左右这个电平下磁芯通常工作在线性区。有一次我用0.1Vrms的激励电平测一个内嵌式电机的电感测出来只有标称值的一半。后来把激励电平调到1Vrms测量值就正常了。所以测量时要注意电桥的激励电平设置不要用默认值就完事。5.3 转子位置对电感测量的影响对于内嵌式永磁电机转子位置对电感测量影响很大。我第一次测一个内嵌式电机时没有固定转子位置测出来的电感值忽大忽小我还以为是电桥坏了。后来用胶带把转子固定住再测就稳定了。正确的做法是测量时用胶带或者夹具固定转子然后每隔一定角度测量一次记录电感随角度的变化曲线。如果要做FOC控制需要找到电感最大和最小的位置分别对应交轴和直轴电感。5.4 温度漂移和测量时间的关系电感测量对温度也敏感但不像电阻那么直接。温度变化会影响磁芯的磁导率从而改变电感值。测量时如果电桥的激励电流较大绕组会发热电感值会随时间漂移。我一般会在测量前让电机静置测量时尽量快速完成避免长时间通电导致温度变化。如果发现测量值随时间有单调变化的趋势说明温度在漂移需要等温度稳定后再测或者记录变化趋势做补偿。6. 测量结果怎么用到FOC代码里6.1 电流环PI参数的整定公式拿到相电阻R和相电感L之后电流环的PI参数可以按以下公式初步整定电流环带宽f_bw ω_bw / (2π)通常取PWM频率的1/10到1/5。比例增益Kp ω_bw × L积分增益Ki ω_bw × R举个例子PWM频率20kHz取带宽2kHz相电感100μH相电阻0.1Ω则Kp 2π × 2000 × 0.0001 ≈ 1.26Ki 2π × 2000 × 0.1 ≈ 1257。这个参数可以作为初始值然后根据实际响应微调。6.2 参数误差对控制效果的影响相电阻误差主要影响电流环的稳态误差和低频增益。如果电阻测大了Ki算出来偏大系统可能振荡如果电阻测小了Ki偏小稳态误差变大。相电感误差主要影响电流环的带宽和相位裕度。电感测大了Kp偏大系统可能超调电感测小了Kp偏小响应变慢。根据我的经验电阻误差在10%以内电感误差在20%以内电流环基本能稳定工作。但如果要做高精度控制最好把误差控制在5%以内。6.3 实测验证从方波响应看参数是否合理整定完PI参数后给电流环一个方波指令观察电流的实际响应。如果上升时间符合预期超调量在10%以内没有持续振荡说明参数基本合理。如果超调很大或者振荡说明Kp偏大如果上升太慢说明Kp偏小。根据响应曲线微调Kp和Ki直到满意为止。我一般会用示波器的电流探头观察相电流波形或者用STM32的DAC输出电流采样值通过串口传到上位机画波形。这个方法比盲调高效得多。7. 工具选型从万用表到专业电桥的性价比分析7.1 入门级万用表恒流源如果你只是偶尔测几个电机预算有限万用表加一个简易恒流源就够了。万用表选带毫伏档的分辨率至少1mV。恒流源可以用LM317搭或者买一个便宜的恒流模块。这套方案的总成本可以控制在100元以内适合DIY玩家。缺点是测量效率低每次都要手动记录和计算而且电感测不了。如果你只需要测电阻这套方案够用。7.2 进阶级DIY LCR电桥DIY LCR电桥的成本大概在200~500元取决于你选的元器件和PCB打样费用。许老师电桥的开源方案很成熟照着做基本能跑通。测量精度可以做到1%左右对于大多数无刷电机应用足够了。DIY电桥的优点是灵活可以自己改测量频率和激励电平适合喜欢折腾的玩家。缺点是需要一定的模拟电路调试经验如果焊接或者调试有问题测量结果可能不准。7.3 专业级同惠TH2810D等数字电桥如果预算充足直接上专业数字电桥是最省心的。同惠TH2810D是很多实验室的标配测量精度高操作简单支持多种测量频率和等效电路模型。价格大概在3000~5000元对于个人玩家来说不便宜但对于工作室或者小批量生产来说这个投资是值得的。专业电桥的另一个好处是测量速度快可以配合自动化测试系统做批量检测。如果你要做电机的一致性筛选专业电桥是必须的。7.4 选型建议根据应用场景决定我的建议是如果你只是做一两个DIY项目万用表加恒流源就够了如果你经常测电机或者需要测电感DIY LCR电桥是性价比最高的选择如果你做的是产品开发或者批量生产直接上专业电桥省下来的时间比电桥本身值钱。8. 一些容易被忽略的细节8.1 电机引出线的处理电机的引出线如果太长会引入额外的电感和电阻。测量时尽量用短线或者把引出线的影响考虑进去。如果引出线是漆包线要确保接触点刮漆干净否则接触电阻会很大。我一般会在测量前用砂纸把引出线端头的漆刮掉然后上锡确保接触良好。如果是插接件要检查插接件的接触电阻必要时直接焊接。8.2 测量夹具的设计如果经常测量同一种电机建议做一个专用的测量夹具。夹具的作用是固定电机和引出线保证每次测量的接触状态一致。夹具的接触电阻要尽量小可以用铜片或者镀金触点。我自己用洞洞板做了一个简单的夹具把电机固定在上面引出线用螺丝压接测量重复性好了很多。8.3 环境电磁干扰的排除LCR电桥测量的是小信号容易受到环境电磁干扰。测量时尽量远离变频器、开关电源等干扰源。如果测量值跳动较大可以尝试缩短测量线、加屏蔽层、或者改变测量频率。我在实验室测量时如果发现读数不稳定会把电桥的测量线绞在一起减少环路面积干扰会明显减小。8.4 测量数据的记录和管理测量数据要养成记录的习惯包括电机型号、测量温度、测量频率、激励电平、测量结果等。这些数据在后续调试和对比时非常有用。我一般用Excel表格记录每次测量后及时录入方便后续分析。如果做批量测量可以给每个电机编号记录每个电机的参数方便筛选一致性好的电机。9. 从测量到控制的闭环思维测量相电阻和相电感不是目的目的是让FOC控制跑得更好。所以测量的时候就要想着这些参数怎么用测量精度要求多高测量条件怎么模拟实际工作状态。比如电机在实际工作中绕组温度会升高电阻会变大如果你只测冷态电阻电流环在热态时可能会有稳态误差。这时候可以在代码里加温度补偿或者把电流环的积分增益设得稍微大一点让系统对电阻变化不敏感。再比如电机的电感会随电流变化饱和效应如果你只在小电流下测电感大电流时电感可能下降很多电流环的带宽会变化。这时候可以在不同电流下测电感画出电感-电流曲线在代码里做查表补偿。这些细节看起来麻烦但正是这些细节决定了你的FOC控制是“能跑”还是“跑得好”。我自己的体会是花在测量和验证上的时间最终都会在调试效率上省回来。测量越准调试越顺这个账怎么算都划算。