上个月帮一位做桌面级机械臂的同行收拾摊子,他那台设备的关节电机前后换了三回:第一版用有刷直流电机,跑到第三天电刷磨出的黑粉糊在编码器码盘上,位置读数开始飘;第二版换无刷,结果电调启动一顿一顿,负载稍大就触发堵转保护,机器人在半空直接软脚。这类事在我接过的活里出现频率高得离谱——很多人对有刷电机和无刷电机的理解停留在"一个便宜一个有劲",真到选型和调试阶段才发现,两者的驱动逻辑、参数体系、故障模式几乎不是同一套语言。这篇就把我这些年攒下的对比经验、选型算法和调试手法摊开讲清楚:两种电机的换向原理差在哪、选型时哪几笔账最容易被漏算、KV值和转矩常数怎么换算、H桥和三相桥各自该怎么调、遇到启动抖动和异常发热先查什么。不管你是刚接触电机驱动的新手,还是已经调过几版板子的老手,下面这些内容都能直接抄去用。
1. 两种电机的底层差异到底在哪
搞不清换向这件事,后面所有的选型和调试都是盲猜。电机能转,本质是定子磁场拖着转子跑,而转子每转过一个角度,线圈里的电流方向必须跟着翻一次,这个"翻"的动作就是换向。有刷和无刷的全部差异,都浓缩在"谁来干这个翻的动作"上。一个是靠碳刷和换向器物理接触硬掰,一个是靠功率管电子开关软切,两条路线各自带着一串甩不掉的副作用。
1.1 有刷电机:机械换向的代价与红利
有刷电机的结构简单到可以用一句大白话概括:定子是永磁体,转子是绕好线的电枢,电枢上焊着一圈铜片叫换向器,两个碳块压在铜片上叫电刷,电流从电刷进去、经过换向器分配到不同的线圈。转子转到哪儿,换向器就把电流自动切到哪一组线圈,磁场方向永远跟定子对得上,转矩就持续存在。这套机构不需要任何外部电路配合,给它两根线通上直流电,它自己就会转。
红利非常直接:驱动器成本几乎为零。一个H桥芯片、几个MOS管、一路PWM,几块钱的事,连单片机都可以省掉,一个电位器加一片555就能调速。我见过不少低成本设备至今还在用这套方案,因为它的BOM确实压得下去。另外有刷电机的低速启动特性很讨喜,从零速开始就有额定的启动转矩,不需要预定位、不需要开环加速,给电就走,控制代码里省掉一大坨状态机。
代价则集中在三个地方。第一个是电刷磨损,这是物理接触的必然结果,碳刷磨完就得换,寿命从几百小时到几千小时不等,粉尘还会污染周围的光学件和编码器。第二个是换向火花,电刷离开换向片的瞬间会拉弧,这是天然的宽带噪声源,EMC测试里经常是它把辐射项顶超。第三个是维护不可预测,电刷磨损不是线性的,负载重、转速高、环境干燥都会加速,你很难给出一个准确的保养周期。
1.2 无刷电机:把换向交给一堆MOS管
无刷电机把这套机械结构整个搬到了电路里。转子换成永磁体,定子绕三相线圈,换向器换成了六颗(或更多)功率MOS管组成的三相桥,电刷换成了霍尔传感器或者反电动势检测。控制器必须实时知道转子在什么位置,才能决定此刻该给哪两相通电、电流往哪个方向流。位置一旦判断错,轻则抖动失步,重则烧管。
好处是显而易见的:没有物理接触件,寿命从"几千小时"跳到"几万小时"量级,也不用担心粉尘污染。换向由电子开关完成,可以做到很精确的相位控制,效率普遍比同体积有刷电机高十到二十个百分点,同等输出下发热明显更低。转速上限也高得多,有刷电机受限于电刷和换向器的机械强度,转速拉到一两万转就开始跳火花,无刷轻松上到几万转甚至更高。
麻烦的地方在于驱动复杂度直接翻了一个数量级。你得处理三相桥的上下管死区,否则直通就是炸管;得有电流采样做限流,否则堵转就是烧线圈;得判断转子位置,有感要接霍尔线、无感要采反电动势;启动时还得先对齐再加速,不能像有刷那样给电就走。我见过太多项目在这里翻车——硬件画完发现没留电流采样,软件调到一半发现启动逻辑没做,只能重新打板。
1.3 核心参数对照表
下面这张表是我自己整理的一页速查,做方案评审时经常直接甩给同事看。数值是行业常见区间,具体项目还得看具体型号。
| 对比维度 | 有刷直流电机 | 无刷直流电机 |
|---|---|---|
| 换向方式 | 碳刷+换向器机械换向 | 三相桥电子换向 |
| 典型效率 | 60%~75% | 80%~92% |
| 寿命量级 | 数百至数千小时(受电刷限制) | 一万小时以上(受轴承限制) |
| 驱动器成本 | 极低,单H桥即可 | 较高,需三相桥+位置检测+MCU |
| 控制难度 | 给电即转,PWM调速即可 | 需预定位、换相表、限流保护 |
| 启动转矩 | 零速即有额定转矩 | 需对齐与开环加速,低速转矩略弱 |
| 转速上限 | 受电刷限制,通常2万转以内 | 可达数万转 |
| 电磁噪声 | 换向火花带来宽频干扰 | 开关噪声集中,滤波相对好做 |
| 维护需求 | 定期更换电刷、清理粉尘 | 基本免维护,检查轴承即可 |
| 低速平稳性 | 低速有齿槽脉动但整体平顺 | 六步换相低速脉动明显,需FOC改善 |
看这张表的时候有个坑要提醒:效率那一栏的差距不是恒定的。有刷电机在小负载轻载时效率反而不算差,差距真正拉开是在中高负载区间。如果你的设备大部分时间跑在额定转矩的20%以下,为了那点效率差去上无刷,投入产出比并不好看。
2. 选型阶段最容易算错的三笔账
选型这事,我见过的最典型错误是拿两个电机的单价直接对比,然后得出"无刷贵三倍所以不划算"的结论。电机是系统里的一个部件,它的成本要摊到整个系统、整个生命周期里去看。下面三笔账,如果算漏了任何一笔,后期的返工成本都会远超当初省下的钱。
2.1 别只比电机本体价格,算全生命周期
先把成本拆开看。有刷方案的成本构成是:电机本体 + 简单驱动器 + 电刷更换的人工与备件 + 因电刷粉尘导致的周边件清洗或更换。无刷方案的成本构成是:电机本体 + 三相驱动器(含MCU、MOS、采样、霍尔)+ 开发调试工时 + 一次性研发投入。
短期看有刷赢,长期看分水岭出现在两个地方。第一是维护成本,如果设备装在需要拆机才能换电刷的位置,一次上门维护的人工可能就是电机价格的好几倍,这种情况下无刷的溢价一两次维护就赚回来了。第二是开发工时,无刷的驱动调试是真费时间,一个从零开始的团队做出稳定可用的三相驱动,我见过的实际投入在两到六周之间,取决于有没有成熟的参考方案。所以小批量、低成本、维护方便的产品,有刷依然是最优解;批量大、维护困难、寿命要求高的产品,无刷的前期投入是值得的。
还有一个隐性成本容易被忽略:有刷电机的火花干扰会让你的EMC整改变得更贵。整改一次的钱,可能比两个方案之间的电机差价还高。这一条我在做某款带无线通信模块的设备时吃过亏,最后是给电机两端加了一整套滤波才压下去。
2.2 转速与扭矩的匹配:先定减速比再定电机
新手最常犯的顺序错误是先挑电机、再想办法凑转速。正确顺序反过来:先根据负载算出末端的转速和扭矩需求,再倒推电机的转速和扭矩,最后决定要不要加减速箱。
算例走一遍。假设一个移动平台的轮子直径80毫米,要求最高行进速度1.2米每秒,整车加负载20公斤,爬坡角度按15度算。
先算转速:轮子周长 = π × 0.08 = 0.251米,末端转速 = 1.2 / 0.251 = 4.78转每秒,也就是约287转每分钟。
再算扭矩:爬坡时需要克服的重力分量 = 20 × 9.8 × sin(15°) = 20 × 9.8 × 0.259 = 50.8牛。假设两个轮子分担,单轮需要25.4牛的推力,乘以轮半径0.04米,得到单轮扭矩约1.02牛·米。再考虑传动效率和滚动阻力,取1.3倍余量,约1.3牛·米。
如果直接选一个额定扭矩1.3牛·米、转速290转每分钟的电机,体积会很大。更实际的做法是选一个高转速小扭矩的电机配减速箱,比如额定3000转每分钟、扭矩0.13牛·米的电机,配10比1的减速箱,输出就是300转、1.3牛·米,正好对上。这里要注意减速箱的效率,行星减速一般0.9左右,蜗轮蜗杆可能只有0.5到0.7,算扭矩时要把效率除进去。
提示:减速比选完之后一定要复核启动瞬间的扭矩。启动扭矩通常是额定扭矩的两到三倍,减速箱的允许瞬时扭矩如果不够,齿轮会直接崩齿。
2.3 工况决定寿命:连续堵转、频繁启停、低速大扭矩
同一个电机,在不同的工况下寿命能差出好几倍。我在选型时会把工况归成四类来分别判断。
连续运行、负载平稳:这是最友好的工况,两种电机都能胜任,主要看效率和寿命要求。有刷电机在这种工况下只要不超载,电刷寿命能跑到标称值。
频繁启停、正反转:有刷电机的换向火花在每次启停时都会加剧,电刷磨损速度明显上升,正反转切换时冲击电流也大。这种工况我基本直接推无刷,因为无刷的换向是电子的,切换只是改变换相顺序,机械上没有额外损耗。
低速大扭矩:这一条要特别小心。有刷电机低速时散热差,长时间低速大电流会烧线圈;无刷电机在六步换相下低速脉动大,需要靠减速箱或者FOC来改善。如果必须低速直驱,无刷配FOC是更稳的选择,但有感霍尔的安装精度要认真对待。
连续堵转或接近堵转:比如夹爪夹住工件后还持续出力。这种工况下两种电机都会剧烈发热,解决方案不是换电机,而是加限流和过温保护,同时选型时把额定扭矩留出两倍以上余量。我见过一个夹爪项目,电机选得刚好够用,结果夹持力一调大线圈就发黑,最后只能降额使用。
2.4 选型决策表
把上面的判断压缩成一张表,实际做方案时按这个顺序过一遍,基本不会漏项。
| 判断项 | 偏向有刷 | 偏向无刷 |
|---|---|---|
| 年产量与成本敏感度 | 小批量、强成本约束 | 中大批量、可摊薄研发 |
| 维护可达性 | 易拆卸、可定期保养 | 封闭结构、维护困难 |
| 寿命要求 | 数千小时以内 | 一万小时以上 |
| 转速需求 | 一万转以内 | 高速、需高功率密度 |
| 低速平稳性 | 要求一般 | 要求高,可上FOC |
| 环境洁净度 | 对粉尘不敏感 | 有光学件、洁净要求 |
| 电磁兼容压力 | 无射频敏感电路 | 带无线通信、高精度采样 |
| 开发资源 | 无嵌入式人力 | 有MCU与功率电子经验 |
这张表的使用方法是:先看有没有任何一项落在"偏向无刷"且属于硬约束(比如维护不可达、有洁净要求),有的话就直接定无刷,剩下的成本问题想办法优化;如果全部落在左列,那有刷就够了,别为了参数好看硬上无刷。
3. 参数怎么读、怎么算,别被标称值忽悠
电机参数表上那串数字,有一半是需要换算才能用的。KV值、堵转电流、额定功率这几个最容易误读,读错了轻则选型偏小,重则驱动一上电就保护。这一节把换算关系写清楚,配一段可以直接跑的脚本。
3.1 KV值、Kt、Ke 三个数的换算关系
无刷电机参数表上最常见的KV值,定义是每伏特电压对应的空载转速,单位是转每分钟每伏。比如KV=1000,接12伏空载大约能跑到12000转。这个数只对空载有意义,带载之后转速会掉,掉多少取决于负载转矩和电机内阻。
真正在算扭矩时要用的是转矩常数Kt,单位是牛·米每安培。它和KV值在理想情况下是倒数关系,换算公式是:
Kt = 60 / (2π × Kv)拿KV=1000代入,Kt = 60 / (6.2832 × 1000) = 0.00955牛·米每安培。意思是每给1安培电流,理论上输出9.55毫牛·米的扭矩。想输出0.1牛·米,就需要约10.5安培。这个换算在估算电流预算时非常好用。
反电动势常数Ke的单位是伏每千转每分钟,数值上约等于KV的倒数乘以1000,实际工程中直接按 Ke ≈ 1000/KV 估。Ke的用处是算高速时的反电动势:12000转时反电动势约等于12伏,也就是说这时候母线电压如果只有12伏,电机已经到极限转速了,再往上必须提高母线电压。
注意:实际电机的Kt会比理论值低一些,因为有铁损、铜损和漏磁。我在做电流预算时习惯把理论Kt乘个0.85的安全系数,宁可多留一点余量。
3.2 电流预算:堵转、峰值、持续
驱动板烧掉的案例里,有一大半是电流预算没算对。三个电流值必须分开算,混为一谈就是灾难。
堵转电流是最坏情况下的电流,等于母线电压除以回路总电阻。有刷电机直接用万用表量绕组两端电阻,12伏电源、量出来0.8欧,堵转电流就是15安。无刷电机要量任意两相之间的线电阻,因为六步换相时电流总是走两相串联,比如线电阻0.6欧,12伏下的理论堵转电流就是20安。这个值决定了MOS管的选型下限,实际选型时按堵转电流的1.5倍留裕量。
峰值电流是短时间允许通过的电流,通常由线圈的温升速率决定,持续时间在几秒量级。启动瞬间、加速瞬间都会冲到峰值。你可以在驱动里设置一个电流钳位,让控制器只在需要的时候放开。
持续电流才是发热的元凶。线圈温升和电流的平方成正比,持续电流翻倍,温升就是四倍。选型时按额定工况下的持续电流来,别拿峰值去选散热器。
下面这段脚本可以直接改参数跑,输出关键估算值:
import math # ==== 按实际情况改这几个数 ==== V_bus = 12.0 # 母线电压 V Kv = 1000.0 # 无刷电机KV值 rpm/V R_line = 0.6 # 两相间线电阻 欧姆 rated_torque = 0.1 # 目标输出扭矩 N·m Kt = 60.0 / (2 * math.pi * Kv) * 0.85 # 乘0.85为经验修正 I_for_torque = rated_torque / Kt I_stall = V_bus / R_line P_peak = V_bus * I_stall print(f"修正后Kt : {Kt:.5f} N·m/A") print(f"目标扭矩所需电流: {I_for_torque:.2f} A") print(f"理论堵转电流 : {I_stall:.2f} A") print(f"堵转瞬时功率 : {P_peak:.1f} W") print(f"按1.5倍选MOS管 : {I_stall*1.5:.1f} A 以上")跑出来如果发现所需电流接近堵转电流的七八成,说明电机选小了,正常工况应该落在堵转电流的三成到五成之间,留出加速和抗扰的余量。
3.3 母线电压与调速范围的取舍
母线电压这个参数,新手习惯往高了选,觉得"电压高就有劲"。这里面有两个约束。
第一是电机绝缘和驱动器耐压。24伏系统的MOS管选40伏或60伏都行,48伏系统就要上100伏管,成本和体积差距不小。第二是低速调节精度。同样用8位PWM,母线12伏时最小电压步进是12/256 ≈ 47毫伏,母线48伏时步进就是188毫伏。如果你的应用需要很精细的低速控制,比如轻负载缓慢平移,母线电压太高反而会让低速段"一格一格跳"。
我的经验做法是:让额定工况落在母线电压的60%到80%之间。也就是电机在额定转速下需要10伏,选12伏母线;需要18伏,选24伏母线。这样留出的余量既够加速用,又不会让PWM分辨率太浪费。如果确实需要宽调速范围,可以把PWM频率提高、定时器位数加到12位或更高,或者干脆用电流环代替纯电压调。
3.4 极对数与电角度(无刷专用)
无刷电机参数里的"极对数"是竞选型表时最容易被忽略的一行,但它直接决定了电角度和霍尔安装。极对数的意思是转子上一共有几对N-S极,比如7对极就是14个磁极。
关键换算:电角度 = 机械角度 × 极对数。转子机械上转一圈360度,电气上转过的角度是360乘以极对数。7对极的电机转一圈,电气上是7圈。这意味着一个电周期只有机械一周的七分之一,换相表要跑七遍。
这个换算在三个地方会用到。一是霍尔安装,霍尔传感器需要按电角度间隔120度或60度布置,装错位置换相表就全乱。二是FOC的角度换算,编码器读的是机械角,必须乘极对数才能用于坐标变换。三是转速计算,用霍尔跳变间隔算转速时,除的是电周期数而不是机械圈数。我见过一个调试案例,转速始终显示为实际值的七分之一,查了半天最后发现是极对数填错了。
4. 有刷电机的驱动设计与调试实操
有刷驱动看起来简单,一个H桥而已,但真要做到稳定可靠、调速顺滑、不干扰别的东西,里面还是有不少细节。这一节按我实际的调试顺序走一遍。
4.1 H桥拓扑与PWM频率怎么定
经典H桥是四颗MOS管摆成"工"字型,对角导通决定电流方向。做分立方案时要注意几点:上管必须是P管或者配自举电路,N管做上管方便但栅极驱动电压要高于母线,需要电荷泵或自举电容。小功率场合我会直接用集成的H桥驱动芯片,省掉一堆外围,但要注意它的持续电流和峰值电流指标,很多芯片标称3安,那是加了散热焊盘、25度环境下的值,实际装在密闭外壳里可能只能跑到1.5安。
PWM频率的选择有讲究。频率太低,比如500赫兹,电机会发出明显的"嗡嗡"声,电流纹波也大,低速时能感觉到明显的顿挫;频率太高,比如40千赫兹,MOS管的开关损耗上去了,驱动器发热明显,而且很多集成H桥的响应速度跟不上,占空比小了可能直接不出波形。
我的常用区间是16到20千赫兹,刚好在人耳听觉上限附近,噪声基本听不见,开关损耗也在可接受范围。如果对噪声特别敏感,可以往22到25千赫兹走,但要重新算一遍驱动器的温升。补一个实操细节:调试时先把频率定在1千赫兹跑一下,用示波器看波形和电流,确认换向逻辑对了,再往上提频率听噪声,这样排查问题更快。
4.2 续流、滤波、EMC 三件套
有刷电机是感性负载,MOS管关断的瞬间线圈会产生反向电动势,必须有续流通路,否则电压尖峰会直接击穿管子。集成H桥内部一般带体二极管,但体二极管的反向恢复特性一般,大电流场合建议外并联肖特基。判断标准是摸管子的温度——如果关断瞬间的尖峰被吸收了,管子温度应该比较均匀;如果某一颗特别烫,多半是续流路径不对。
滤波这块要分两头做。电机侧在两端并联一个0.1微法陶瓷电容,外壳和端子之间再各接一个,三个电容组成三角滤波,能把换向火花的高频成分压下去不少。电源侧在驱动器入口加磁珠或者小电感,配合电解电容和陶瓷电容组成LC滤波,防止干扰顺着电源线跑回主板。
EMC这块我的血泪教训是:不要等测试不过才整改,布线阶段就要做。电机线双绞、远离信号线、长度尽量短、能贴地走就贴地走。有一次一个带无线模块的设备死活连不上,查了两天才发现是电机线跟天线馈线捆在一起走了一米多,分开走线之后问题当场消失。
4.3 调速手感调优:死区、软启动、制动
调速的"手感"是个很虚但用户感知极强的指标。同样的硬件,参数调得好就是丝滑,调不好就是一顿一顿。
死区补偿:H桥的上下管切换必须留死区时间防止直通,但死区会导致低速时占空比失真,表现为启动时有个"跳变"。解决办法是在软件里对死区造成的电压损失做补偿,占空比低于某个阈值时稍微加一点。具体数值要实测,我一般从死区时间的1.2倍开始试。
软启动:直接给满占空比,启动电流会冲到堵转电流附近,机械上也会有冲击。做法是让占空比在100到300毫秒内线性爬升到目标值,爬升时间根据负载惯量调。惯量大的负载用300毫秒,轻负载用100毫秒就够。
制动方式:这个经常被忽略。自由停车是直接断电,靠摩擦慢慢停,简单但停不准;能耗制动是把电机两端短接,动能转成热,停得快但电流大;反接制动是加反向电压,停得最快但冲击最大,容易烧管。我一般默认用能耗制动,需要精确定位时配合编码器做减速曲线,比硬刹车舒服得多。
4.4 有刷常见故障与处理
电机不转但驱动器发热:先量电机两端有没有电压,有电压不转就是电机卡死或者绕组断路,没电压就往上查驱动器的使能信号和PWM输入。我遇到过一次是使能脚的上拉电阻虚焊,量了半天以为是软件问题。
转速上不去、带载就掉速:多半是电源功率不够,或者线径太细导致压降大。用万用表量电机端子上的实际电压,如果比电源输出低了一伏以上,换粗线或者缩短线长。
运行一段时间后转速不稳、有异响:先看电刷。拆开看碳刷长度,磨到原来的一半以下就该换了。同时清理换向器上的碳粉,用无水乙醇擦,别用砂纸磨。换向器表面发黑但光滑是正常的氧化膜,不要磨掉,磨掉之后反而磨损更快。
干扰周边电路:前面说的三电容加磁珠,配合软件上降低PWM边沿的陡度(如果有可调驱动能力的话)。
5. 无刷电机的驱动设计与调试实操
无刷这块的内容能写一本书,我这里只挑实际项目里绕不开的部分讲,重点是调试顺序和几个容易踩的坑。整套流程走下来,一个新人大概两到三周能调出一个能用的版本。
5.1 三相桥与六步换相的基本盘
三相桥是六颗MOS管,每相一个半桥,分上管和下管。任何时刻只有两相导通、一相悬空,六步换相就是按固定顺序轮流让不同的两相导通,每步转过60度电角度。下面这张换相表是基础中的基础,调试时我一般打印出来贴在手边:
| 步序 | 导通上管 | 导通下管 | 悬空相 | 电角度区间 |
|---|---|---|---|---|
| 1 | A相 | B相 | C相 | 0~60度 |
| 2 | A相 | C相 | B相 | 60~120度 |
| 3 | B相 | C相 | A相 | 120~180度 |
| 4 | B相 | A相 | C相 | 180~240度 |
| 5 | C相 | A相 | B相 | 240~300度 |
| 6 | C相 | B相 | A相 | 300~360度 |
三个阶段必须注意。死区是上管关断到下管开通之间的时间,一般设几百纳秒到一微秒,设太小会直通炸管,设太大会导致低速转矩损失。自举电容如果上管用N沟道MOS,每个电周期都要给自举电容充电,占空比接近100%时充电时间不足会导致上管驱动电压跌落,表现为高速时突然失力。母线电容要就近放,吸收换相瞬间的电流冲击,容量按每安培持续电流配100到200微法估。
5.2 有感还是无感:霍尔与反电动势过零
有感方案用三个霍尔传感器直接读转子位置,优点是零速就知道位置,启动可靠,低速性能好;缺点是要多三根线,霍尔本身有温漂和安装误差,接线错了会直接换相错误。霍尔按120度电角度排布是最常见的,也有60度排布的,两种的换相表不一样,接之前先确认。
无感方案靠检测悬空相的反电动势过零点来推断位置,优点是不用霍尔、成本低、线少;缺点是零速时反电动势为零,无法判断位置,必须用特殊的启动策略,而且低速时反电动势幅值小,信噪比差,容易失步。
我的选择逻辑很直接:需要频繁启停、低速大扭矩、定位精度的场合,一律用霍尔;连续高速运行、成本敏感、线缆受限的场合,用无感。有些方案会做混合,启动用霍尔,高速切无感,复杂度上升但两头的好处都能拿到。
提示:无感的反电动势过零检测需要延迟30度电角度才换相,这个延迟时间随转速变化,高速时延迟很短,低速时延迟很长。算错这个角度是导致无感方案效率低、发热大的常见原因。
5.3 启动三段式:预定位、开环、切闭环
无感启动是整个调试里最磨人的环节,标准做法分三段。
第一段是预定位,也叫对齐。给一个固定的换相状态通电,比如A相接正、B相接负,通电几百毫秒,把转子强行拉到这个位置。电流不能太大,否则会冲一下;也不能太小,否则拉不动。我一般按额定电流的50%到70%来给,时间给200到500毫秒,惯量越大时间越长。
第二段是开环加速,按固定的时间间隔强行换相,从低频慢慢往上加速。这时候不考虑转子实际位置,就是"我按这个节奏换,你跟上"。加速度要给得足够温柔,太快转子跟不上就失步,表现为抖动或者直接停转。
第三段是切闭环,等转速升到反电动势足够大的时候,切换到过零检测换相。切换时机的判断很关键:太早切,反电动势太小,判断不准;太晚切,白白浪费开环时间。我一般按反电动势幅值到母线电压的10%到15%作为切换阈值。
调试这段的经验是:先把开环跑通,再考虑闭环。很多人一上来就想调闭环,结果分不清是开环没配好还是切换出问题。做法是写个测试模式,让电机在开环下固定频率转,用示波器看三相波形是否对称,确认没问题再往下走。
5.4 电调关键参数与调试顺序
无刷电调的可调参数比有刷多得多,我按调试顺序列一遍,照这个顺序走能少走弯路。
| 参数 | 常用值 | 作用与调法 |
|---|---|---|
| PWM频率 | 16~24千赫兹 | 先定这个,避开听觉敏感区 |
| 死区时间 | 300~800纳秒 | 从大到小试,直到波形不失真 |
| 启动电流限制 | 额定电流的60%~80% | 预定位和开环阶段用 |
| 开环换相间隔 | 从20毫秒逐步降到2毫秒 | 影响加速曲线,宁慢勿快 |
| 闭环切换阈值 | 反电动势达母线10%~15% | 太低换相不准,太高浪费高速区 |
| 过流保护阈值 | 堵转电流的80% | 硬件比较器响应,别只靠软件 |
| 过温保护阈值 | MOS结温的80% | 用NTC贴MOS附近测 |
调试顺序建议是:先空载、再轻载、最后满载。空载阶段确认换相顺序和转向,轻载阶段调启动曲线,满载阶段调限流和保护,最后再回头微调PID和滤波器参数。跳过任何一步都会在后面返工。
5.5 无刷常见故障与处理
上电就保护、电机不转:先断开电机只上电,看驱动器是否正常;再量三相之间电阻是否平衡,不平衡就是绕组有问题或者接线错了。有一次我把三相线里的一根和霍尔线接反了,症状就是上电即保护,查了半天。
启动时抖动、原地来回晃:典型的预定位时间不够或者开环加速太快。把预定位时间加长一倍,开环间隔从慢往快调。
能转但一转快就停:大概率是反电动势过零检测被开关噪声淹没了,加RC滤波或者调整采样窗口;也可能是自举电容充电不足,检查高速时的上管驱动电压。
满载时突然掉力、电流飙升:先看是不是失步了。失步的表现是电流突然变大但转速下降,用手摸电机能感觉到明显的顿挫。原因是负载超过了当前换相节奏能提供的扭矩,解决办法是加电流环或者提高母线电压。
MOS管发烫但电流不大:检查死区是不是设得太小导致轻微直通,或者栅极电阻太大导致开关过程变慢、开关损耗上升。用示波器看栅极波形,上升沿应该在几十到一百纳秒量级。
6. 现场排查速查与几条保命经验
调试现场最耗时间的不是写代码,是定位问题。这一节把常见现象和对应的排查路径整理成表,配合几个测量手法,能省掉不少瞎试的时间。
6.1 故障现象对照表
| 现象 | 有刷优先排查 | 无刷优先排查 |
|---|---|---|
| 完全不转 | 电刷接触、绕组断路、使能信号 | 换相顺序、霍尔接线、预定位 |
| 启动抖动 | 电源功率不足、机械卡滞 | 预定位时间、开环加速度 |
| 转速不稳 | 电刷磨损、换向器脏污 | 过零检测噪声、霍尔信号抖动 |
| 异常发热 | 长期过载、低速大电流 | 换相角偏差、死区不当、失步 |
| 电流超标 | 堵转、绕组短路 | 相间短路、驱动直通 |
| 干扰周边 | 换向火花 | 开关噪声、地线布局 |
| 寿命偏短 | 电刷质量、环境粉尘 | 轴承、散热、母线电容老化 |
6.2 仪器与测量方法
示波器是必需品,不是可选项。看三相波形用三通道同时抓,正常的六步换相波形应该是三段对称的梯形波,占空比一致。如果某一相的幅值明显偏低,查那一相的MOS管和驱动电阻。
电流测量优先用钳形表或者串联采样电阻。串联电阻要注意阻值不能太大,否则影响回路;钳形表方便但小电流精度差。我一般用0.01欧的采样电阻配合差分探头,既有精度又不影响电路。
测温别用手摸,用热电偶贴在线圈和MOS管壳上。手摸能忍受的温度大概60度,但MOS管结温到125度才报警,靠手感根本判断不出来。我吃过一次亏,摸着温温的,结果跑了两小时炸管,事后测壳温只有70度,但结温已经逼近极限了。
转速测量可以用光电传感器测反光贴纸,也可以用霍尔信号算。用霍尔算要注意极对数换算,前面说过这个坑。
6.3 几条不打折的经验
第一条:先做硬件保护,再做软件保护。过流用硬件比较器直接关断驱动,软件里再判断一次。只靠软件采样判断过流,等你采到并执行关断,管子可能已经炸了。硬件保护的动作时间要在微秒级。
第二条:所有调试从上电限流开始。第一次上电用可调电源,限流设到预期电流的一半,看到异常立刻断电。这个习惯救过我很多次,尤其是新板子第一次跑的时候。用电池直接上电调试新板,是我见过最贵的坏习惯之一。
第三条:换相表和霍尔接线一定要画出来核对。不要凭记忆接线,画一张表,把每个霍尔状态对应的导通相对上,接完用万用表逐个量通断。这一步花五分钟,能省掉两小时的排查。
第四条:留出测试点和调试接口。板子上给三相、母线、栅极各留测试点,留一路串口或者SWD。这些在画板时只是几个焊盘的成本,调试时能救命。我现在的板子一律留一个四针的调试口,接上就能看波形和打日志。
第五条:别迷信参数表上的额定值。厂商标的额定扭矩通常是"在该扭矩下可以长期运行且温升不超过某一标准",这个标准跟你的实际散热条件差得远。装在密闭塑料壳里的电机,能跑出的持续扭矩可能只有标称的六成。我现在的做法是拿到样机先做一轮温升测试,把实际可持续的扭矩标出来,然后再定控制参数。
最后分享一个我自己常用的小技巧:调无刷启动之前,先用一个很低的目标转速让电机开环转起来,把三相波形抓下来存好,作为"正常状态"的基准。后面出问题时一对比,是波形缺失、幅值不对还是相位偏了,一眼就能看出来。这个基准波形比任何文档都管用,因为它是在你自己的板子、你自己的电机上测出来的,所有寄生参数和布线影响都在里面。