基础知识
Electronic Speed Control(ESC)代表电子速度控制器,简称电调。电调从飞行控制器接收油门信号,并以所需速度驱动无刷电机。
电调固件是在每个电调上运行的软件,它确定电调的性能,支持的协议以及可以使用的配置接口。电调可以使用的固件取决于硬件。
-
SimonK:最古老的两种开源电调固件之一,已经过时不再更新。
-
BLHeli:最古老的两种开源电调固件之一,由于其广泛的功能和友好的用户界面而变得流行。
-
BLHeli_S:BLHeli固件的第二代。专门为具有Busybee处理器的电调开发。
-
BLHeli_32:第三代和最新一代BLHeli固件。专门为32位电调编写,不再开源。
准备材料
Arduino系列开发板一枚,最好是Arduino Nano开发板。
杜邦线若干。
软件
-
BLHeliSuite。
- BLHeliSuite16714903开源BLHeli-S电调调参软件最新版(2022.12)
- BLHeliSuite32 Rev32.10.0.0开源BLHeli-S电调调参软件最新版Windows版(2023.11)
- BLHeliSuite32 Rev32.10.0.0开源BLHeli-S电调调参软件最新版Linux版(2023.11)
- BLHeliSuite32 Rev32.10.0.0开源BLHeli-S电调调参软件最新版MacOS版(2023.11)
- 官方下载地址:https://blhelisuite.wordpress.com/
- 或者直接下载:https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite。
-
Arduino驱动。即USB转串口模块的驱动CH340。
操作流程
BLHeliSuite的手册位于BLHeliSuite/Manuals目录。
BLHeliSuite的手册主要文件内容:
BLHeli programming adapters.pdf:烧录器的制作和使用,主要参考这篇文章进行BLHeli电调固件烧录工具的制作。
BLHeli manual xxx xxx.pdf:Atmel MCU和SiLabs MCU的电调的参数。
BLHeli supported xxx ESCs.pdf:支持的Atmel和SiLabs电调的图片及参数。
BLHeliSuite 4w-if interfaces pinout.pdf:Arduino板上用于Atmel/SiLabs电调的BLHeliSuite的4w-if的引脚配置。
BLHeliSuite 4w-if protocol.pdf:用于Atmel/SiLabs电调的BLHeliSuite的4w-if的通信协议。
制作Arduino烧录器
官方的具体的说明文档在这里。
烧录方法有很多种,我们选择制作Arduino 4way-interface烧录器。
- 连接Arduino开发板至电脑,确认驱动安装完好。打开BLHeliSuite软件,点击【Make Interfaces】标签页。
-
在Port里选择Arduino所连接到的串口。正常的话这里应该显示你的USB转换串口芯片的名字。如果没有请检查硬件连接和驱动程序。注意你的不一定是【COM17】,可能是任何一个其他数字。【Arduino Board】选择【Nano w/ATmega328】,【Baud】选择【115200】,点击【Arduino 4way-interface】。
-
点击【OK】。
- 选择图中所选中的那一个hex文件打开。
- 点击【Yes】。
- 几秒钟后看到差不多这样一屏信息就算成功啦,点击【OK】。
- 按照下图在菜单中选择【SILABS C2 (4way-if)】一项,注意此选项和你在之前步骤所选择的编程器直接相关。其他教程可能制作的是不同的编程器,这个选项也会不同。然后注意要在左下角的【Port】那里选择你的串口,和步骤2的一样。
- 到此你的烧录器已准备就绪!
硬件连接
将制作好的烧录器与电调使用杜邦线进行连接,连接过程中需要接四根线(VCC GND C2D C2CK),如有供电至少接GND C2D C2CK三根线。图中黑色为GND,白色为C2D,红色为C2CK。
不同Arduino开发板的引脚对应图如下。
参考资料: