自制电调实战:AM32与VESC从选型到首飞全解析

1. 从一堆炸掉的MOS管说起:为什么我要自己折腾电调

第一次接触电调是在三年前,当时手里一架5寸穿越机在高速俯冲时突然失去动力,眼睁睁看着它栽进草丛。捡回来一查,电调烧了两颗MOS管,原厂电调一块要一百多,换起来肉疼。那时候我就想,这玩意儿原理又不复杂,凭什么卖这么贵?于是踏上了自制电调这条路。从最开始的BLHeli到后来的AM32,再到给电动滑板做VESC,前后烧掉的板子和MOS管加起来能铺满一张A4纸。这篇文章就把我踩过的坑、验证过的方案、以及那些教程里不会写的细节,一次性讲清楚。

电调,全称电子调速器,本质就是一个把直流电变成三相交流电驱动无刷电机的功率变换器。FPV穿越机用的电调追求极致轻量和高响应,而VESC则偏向大电流、可编程、带FOC(磁场定向控制)的高性能场景。两者虽然都叫电调,但设计思路、器件选型、固件架构差别很大。本文会分别拆解这两类电调的制作过程,从方案选型、原理图设计、PCB布局、固件烧录到上电调试,每一步都给出可复现的操作。适合有一定电子基础、想自己动手做电调的玩家,也适合想理解电调底层原理的飞手和DIY爱好者。

2. 方案选型:AM32、AT32F421和VESC到底怎么选

2.1 FPV电调的主流固件格局

目前FPV电调固件主要有三个方向:BLHeli_S、BLHeli_32和AM32。BLHeli_S基于8位MCU,便宜但性能有限;BLHeli_32性能好但固件闭源,而且芯片供应不稳定;AM32是开源方案,基于32位ARM Cortex-M0,支持双向DShot、遥测、可调PWM频率,社区活跃,是我现在主推的方案。

AM32支持的MCU里,AT32F421是目前性价比最高的选择。这颗芯片是雅特力出的,主频120MHz,带硬件除法器和浮点单元,价格却只有同级别STM32的三分之一左右。前两年STM32缺货涨价的时候,AT32F421几乎成了DIY电调的救命稻草。它的封装是QFN28,引脚少,适合做20x20mm甚至更小的电调板。

2.2 VESC的定位与开源情况

VESC全称Vedder Electronic Speed Controller,由Benjamin Vedder开发,硬件和固件都是开源的。它和FPV电调最大的区别在于:VESC支持FOC控制,能精确控制电机转矩,适合电动滑板、电动自行车、平衡车这类需要平滑调速和大扭矩的场景。VESC固件可以在多种硬件上运行,官方硬件版本从VESC 4.12到VESC 6系列,国内也有大量基于VESC方案的衍生板。

很多人问VESC是不是全开源,答案是:固件开源,硬件设计文件也开源,但商标和官方硬件销售是受保护的。你可以自己画板子、烧固件、商用,但不能叫它VESC。这一点在动手之前要搞清楚,避免后续产生误解。

2.3 选型对比与决策依据

维度AM32 + AT32F421VESC 4.12/6.x
目标场景FPV穿越机、小型无人机电动滑板、电自、机器人
控制方式梯形波(六步换相)FOC + 梯形波
最大电流30-60A(取决于MOS)50-100A+
MCUAT32F421(120MHz M0)STM32F405(168MHz M4)
固件开源是是
硬件成本单板约15-30元单板约80-200元
调试难度中等较高
适合人群飞手、小型DIY滑板玩家、机器人开发者

选型逻辑很简单:如果你要做的是穿越机电调,追求轻量和高响应,选AM32 + AT32F421;如果你要做的是大功率、需要平滑调速和转矩控制的场景,选VESC方案。两者不是替代关系,而是面向不同需求。

3. AM32电调制作全流程:从原理图到首飞

3.1 核心器件选型与参数计算

先确定电机和电池规格。假设我要做一块支持4S电池(16.8V)、持续30A的电调,驱动2207电机。MOS管选型要考虑耐压、导通电阻和栅极电荷。耐压至少是电池电压的2倍,所以选30V以上的MOS。我常用的是NCEP30T12A,30V/60A,导通电阻3.5mΩ,栅极电荷适中,价格便宜。

栅极驱动芯片选FD6288或类似的三相半桥驱动,内置死区时间,省去自己算死区的麻烦。电流采样用分流电阻加运放,或者直接用MOS的导通电阻估算,但后者精度差,建议还是用分流电阻。分流电阻选0.5mΩ/2W的合金电阻,配合INA240这类电流检测放大器。

电容方面,输入电容按每10A配100μF估算,30A至少300μF低ESR电解电容,再并联几个10μF陶瓷电容滤高频。这个配比不是绝对的,但实测下来比较稳。

3.2 原理图设计与关键网络

原理图分几个模块:电源、MCU最小系统、栅极驱动、功率桥、电流采样、信号输入。电源部分用LDO把电池电压降到3.3V给MCU,注意LDO的输入耐压要够,4S满电16.8V,选20V以上的LDO。MCU最小系统包括晶振(AT32F421可以用内部时钟,省一个晶振)、复位电路、SWD调试口。

栅极驱动的自举电容很关键,一般选100nF/50V,耐压要高于电池电压。自举二极管选快恢复的,反向恢复时间要短。功率桥的三相输出要预留足够的铜皮面积,走线要短而粗,减少寄生电感。

信号输入部分,DShot信号线要串一个100Ω电阻,再并一个TVS管防静电。这个电阻不是随便选的,太大影响信号上升沿,太小起不到限流作用,100Ω是实测比较合适的值。

3.3 PCB布局的五个致命细节

PCB布局是电调制作里最容易翻车的地方。我烧过的板子里,至少一半是布局问题导致的。

第一,功率地和信号地要分开,最后在一点连接。功率地的电流很大,如果和信号地混在一起,MCU会被干扰到复位。

第二,栅极驱动走线要短,最好控制在10mm以内。走线长了,栅极电感会导致MOS开关时振荡,严重时直接炸管。

第三,自举电容要靠近驱动芯片的自举引脚,距离不超过5mm。这个电容负责给高侧MOS提供栅极电压,走线长了充放电不及时,高侧MOS会发热甚至烧毁。

第四,电流采样的分流电阻要放在功率地的回流路径上,采样线要从电阻的焊盘直接引出,用开尔文连接。如果从旁边随便引,采样值会漂。

第五,MOS管的散热焊盘要打足够多的过孔,最好每个焊盘打9个以上0.3mm的过孔,把热量传到背面铜皮。电调工作时MOS温度能到80度以上,散热不好直接降功率。

3.4 固件烧录与参数配置

AM32固件用ST-Link或AT-Link烧录,接线是SWDIO、SWCLK、GND、3.3V四根线。烧录前先用AT32的官方工具解锁芯片,再烧AM32的hex文件。烧录完成后,用AM32的调参软件连接,配置以下参数:

  • 电机方向:正转或反转,根据电机安装方向选
  • PWM频率:24kHz或48kHz,48kHz更平滑但开关损耗大
  • 启动功率:默认50%,如果电机启动困难可以加到70%
  • 电流限制:根据MOS和电机规格设,30A电调设25A比较安全
  • 温度保护:设100度降功率,120度关断

调参软件里有个“电机进角”参数,默认是自动。如果电机在中高油门有异响,可以手动调进角,一般5到15度之间试。

3.5 上电测试与首飞验证

第一次上电一定要用限流电源,设0.5A限流,看电流是否正常。如果电流直接拉满,说明有短路,立刻断电检查。正常情况空载电流在20-50mA左右。

然后接电机,用调参软件做电机检测。AM32会自动测电机参数,包括电阻、电感、KV值。检测通过后,慢慢推油门,听电机声音是否平滑。如果有卡顿或异响,检查焊点是否虚焊、MOS是否损坏。

首飞前在地面做一次全油门测试,持续10秒,摸MOS温度。如果烫手但能忍受,说明散热还行;如果烫到不能摸,需要降功率或改散热。首飞选空旷场地,先低空悬停,确认动力响应正常再拉高。

4. VESC制作要点:FOC调试与参数整定

4.1 VESC硬件架构与关键差异

VESC的硬件比FPV电调复杂得多。以VESC 4.12为例,MCU是STM32F405,带浮点运算,能跑FOC算法。功率桥用6颗MOS,通常选低导通电阻的型号,比如IRFS7530,导通电阻1.4mΩ,持续电流能到100A以上。电流采样用三相分流电阻,每相一个,配合运放做差分放大。

VESC的电源部分也更讲究,需要多路稳压:5V给运放和霍尔传感器,3.3V给MCU,还有一路给CAN收发器。如果要做再生制动,输入电容要更大,因为制动时电流会倒灌回电池。

4.2 FOC调试的核心参数

VESC的FOC调试比AM32复杂,核心参数有这几个:

  • 电机电阻和电感:VESC会自动检测,但检测前要确保电机自由转动
  • 磁链观测器增益:影响低速时的转矩平滑度,默认值一般够用,如果低速抖动可以调
  • 电流环PI参数:决定电流响应速度,默认值适合大多数电机,如果电机发热严重可以降比例增益
  • 速度环PI参数:决定速度响应,滑板场景可以调慢一点,避免急加速

调试时先用小电流(比如5A)做电机检测,检测完成后用手转动电机,看VESC能否感知反电动势。然后慢慢加电流,观察电机是否平滑转动。如果电机抖动或发热,先降电流环比例增益,再调积分增益。

4.3 VESC的常见故障与排查

VESC最常见的故障是DRV8301或DRV8302驱动芯片烧毁,通常是因为MOS短路或栅极驱动电压异常。排查时先测驱动芯片的供电和自举电压,再测MOS的栅极电阻是否正常。如果驱动芯片发烫,基本可以确定是它坏了。

另一个常见问题是CAN通信失败,通常是终端电阻没接或接线错误。CAN总线两端各需要一个120Ω终端电阻,中间节点不需要。如果通信不稳定,检查线缆是否双绞、屏蔽层是否接地。

5. 常见问题与排查技巧实录

5.1 电调上电就烧MOS的排查思路

这个问题我遇到过至少五次,原因五花八门。按以下顺序排查:

  1. 先测功率桥的三相输出是否短路,用万用表二极管档测,正常应该有0.4-0.6V压降
  2. 测栅极驱动输出是否正常,上电瞬间用示波器看栅极波形,如果有振荡或尖峰,检查栅极电阻和自举电容
  3. 检查MOS的栅极阈值电压是否匹配驱动芯片输出,有些MOS的阈值电压很低,容易被干扰误开通
  4. 检查死区时间是否足够,FD6288默认死区约200ns,如果MOS开关速度太快,需要外加死区

5.2 电机启动困难或反转的解决方法

AM32的启动算法对电机参数敏感。如果电机启动困难,先检查电机线序是否正确,然后调启动功率和启动时间。启动功率默认50%,可以加到70%;启动时间默认100ms,可以加到200ms。如果电机反转,在调参软件里改电机方向,或者对调任意两根电机线。

VESC的启动问题通常是霍尔传感器相位不对,或者无感启动参数不合适。先确认霍尔线序,再调启动电流和启动转速。如果无感启动失败,可以先用有感模式启动,再切换到无感。

5.3 电调发热严重的优化方向

电调发热主要来自MOS的开关损耗和导通损耗。降低发热有几个方向:

  • 降低PWM频率,从48kHz降到24kHz,开关损耗减半
  • 换导通电阻更低的MOS,比如从3.5mΩ换到1.4mΩ
  • 增加散热铜皮面积和过孔数量
  • 降低电流限制,牺牲一点性能换温度
  • 检查栅极驱动电阻是否合适,太大导致开关慢,太小导致振荡

5.4 常见问题速查表

现象可能原因排查方法解决措施
上电短路MOS击穿、焊接短路万用表测三相输出更换MOS、重新焊接
电机不转信号线接反、固件未烧录测信号线电压、检查固件调换信号线、重新烧录
电机抖动进角不对、PID参数不当调进角、降PID增益手动调进角、重调PID
电调发热PWM频率高、MOS导通电阻大测温度、查MOS型号降频、换低阻MOS
通信失败终端电阻缺失、线序错误测CAN电阻、查线序加120Ω电阻、调线序
电流采样漂移采样线未开尔文连接检查采样走线重新布线、开尔文连接

6. 几个让我印象深刻的踩坑经历

第一次做AM32电调时,我把自举电容放在了驱动芯片的另一侧,走线大概15mm。上电后电机能转,但高侧MOS烫得厉害,跑了不到一分钟就冒烟了。后来用示波器看栅极波形,发现高侧栅极电压在开关时塌陷,导致MOS工作在线性区,功耗剧增。把自举电容挪到驱动引脚旁边,走线缩到3mm,问题解决。这个教训让我明白,电调里每一个电容的位置都不是随便放的。

还有一次做VESC,电机检测一直失败,提示电感值异常。查了半天发现是分流电阻的采样线从电阻旁边随便引的,没有开尔文连接,导致采样值被功率地的压降污染。重新画板,从电阻焊盘内侧直接引出采样线,问题消失。开尔文连接这个词听起来很专业,其实就是让采样线从电阻的焊盘根部引,不要和功率电流走同一条路径。

最后一个坑是关于MOS的。有段时间我贪便宜买了一批散装MOS,参数看着一样,但装上去后电调效率明显低,MOS温度高十几度。后来用图示仪测了一下,发现这批MOS的导通电阻比标称值高了一倍。从那以后我只从正规渠道买MOS,贵一点但省心。

7. 写在最后:一些实用的建议

如果你刚开始做电调,建议先从AM32 + AT32F421入手,成本低、社区活跃、资料多。第一块板子不要追求小尺寸,用2层板、大焊盘,方便调试。烧录固件前先用限流电源测短路,这一步能救你很多MOS管。

VESC适合有一定经验之后再碰,因为它的调试参数多,硬件也复杂。但一旦调好,FOC的平滑度和转矩控制是梯形波没法比的。做VESC时,电流采样和栅极驱动是重点,这两部分做好了,成功率能到八成以上。

工具方面,一台带电流显示的限流电源、一个示波器、一个万用表,这三样是必备的。示波器不用太贵,能看栅极波形和电流波形就行。另外多备一些MOS和驱动芯片,调试阶段烧器件是常态,别因为烧了几个就放弃。

最后说一个我常用的技巧:每次改板子之前,先在面包板上搭一个最小系统验证核心电路。比如先验证栅极驱动和功率桥能不能正常开关,再验证MCU能不能输出PWM。这样即使有问题,排查范围也小很多。直接画板子然后一次成功,那是运气好,不是常态。