给无人机、涵道、电动滑板车或机器人做动力,无刷电机(BLDC)比有刷电机效率高、寿命长、没火花。但它不像有刷电机那样给个电压就转,必须靠电调(ESC)把直流电变成驱动三相绕组的时序电流。普通舵机信号就能驱动很多电调,所以Arduino也能轻松控制它。这篇把从接线到油门校准和调速的实操讲清楚。

三根电机线+信号线,认清电调
无刷电机一般是三根相线(通常ABC或红蓝黑),直接接到电调的三个输出端子上,不需要管相序,接反了只会反转,交换任意两根就换向。电调另一边是电源线和信号线:电源端接电池(比如3S/4S锂电池),信号端通常是三根针(红黑是电调BEC供出的5V和地,白/黄是PWM信号线)。
接到Arduino上:把电调的PWM信号线接Arduino一个数字PWM脚,信号参考地跟电池共地。很多电调自带BEC能从电池电压稳出5V给接收机或主控供电,所以大多场合Arduino的5V可以由电调提供,省去单独加电源。
油门校准,是起转的关键
电调用之前通常要做一次油门行程校准,这一步不做或做错,电机可能不转或油门发涩。常见校准流程:先给板子写一个先输出高油门(如2000us)再降到最低(1000us)的程序,或手动先把油门摇到最大再上电,听到电调“哔哔”提示音后把油门拉最低,电调记住行程就能正常用了。不同电调提示音不同,以说明为准。
校准后再写普通控制程序:用servo库或直接写PWM,给信号线输出1000us到2000us的脉冲,对应油门最低到最高。用myservo.attach(脚)、writeMicroseconds(1000)最简单,1000是最低、2000是最高,1500左右是中间。

三个高频坑,提前绕开
第一是上电时机。绝大多数电调要求“先上电接收控制信号,再授权输出”,很多电调在没收到最低油门信号时上电会一直响或者拒绝解锁。写代码时先让Arduino输出最低油门(1000us),再给电调上电,通常就能正常解锁。
第二是电池规格和电流。无刷电机启动电流很大,供电要选能扛住峰值电流的电池和电调。电调的“30A/40A”标的是可持续电流,裕量留大一点避免过热烧电调。
第三是别让电机空转或堵转。无刷电机直接转起来是安全的,但堵住转子大电流会长留,容易烧电机或电调。测试时把螺旋桨拆掉、手别碰转动的轴,安全第一。把油门校准、上电顺序和电流裕量三件事捋顺,Arduino驱动无刷电机会让你体验到高效动力的乐趣。



40A电调带3010电机稳,别贪小电流会烧
无刷跑起来是真快,加个螺旋桨测试记得拆掉
三种相线任意交换两根就换向,原来这么简单
无刷电机一定要先校准油门行程,不然电机不转
电调先输出最低油门再上电,这个上电顺序我记住了