4008| 6
|
MTO1804无刷电机引发的悲惨经历之一:起底神秘的无名电调 |
前言原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正。 首先感谢DFRobot论坛的活动以及小77,电机拿到手之后对比我之前的XXD C2312-13T无刷电机,发现真的很小。另外看到其他坛友的发帖,有的说CW也有说CCW,说明一些小概念也很模糊。这里就以探究神秘无名电调真面目为主线,和大家整理分享一下最近学了点啥。另外因为大部分都是我自己总结的,所以语言表述上肯定有不严谨的地方。
1、基础知识这俩就不写了,分享下视频,大家都讲得比我好。 1.1 什么是无刷电机1.2 什么是电子调速器2、产品解读我们来到DFRobot这款无刷电机的产品页面,首先来看看无刷电机本体,主要参数包括如下:
再来看看电调。
3、简单测试由于不知道电调的型号,我们用一般的方法来测试一下是否可用。首先将电调和电机焊接好,我这里测试过了,并排三条线焊上去(注意套热缩管)是正转,所以大家调换任意两条线的位置就行了,当然最好自己先试试再焊接。因为不知道具体使用的什么电调,所以使用通用的接线方式,以我的Hobbywing Xrotor 20A为例,接线方式如下: 【两部遥控器,T6为日本手,油门在右;i6x为美国手,油门在左。油门不会自动回中】
这里专门把这根黑色鳄鱼线拉出来批判,插电无反应,我排查了两天都没想到是它,因为之前没弄过,不知道,还想过共地什么的,但根本就是因为这条线是断路的!!!卡了我那么久,头都想秃了。 上电之后,会听到一阵音乐,然后把遥控器的油门慢慢上推,就会看到电机转起来了。上推不会回中的那个摇杆就是油门。 4、无名电调ok,我们知道,一般的电调都需要油门校准,有些还支持编程,但是这块电调外面就是热缩管包着,没有标品牌型号,也不知道参数和说明书,这样就不能改造也不能安全使用了。那咋办嘛,问问客服,然后客服表示我也不知道啊。 所以黑衣电调到底是何方神圣?虽然剪开热缩管可以一探究竟,然而想想拔掉外套有点变态而且不美观,那有没有不剪开的情况下通过软件的方法鉴定它的身份呢?我们来挑战一下,想想不拆马甲就可以看电脑内存颗粒的软件Thaiphoon Burner,我们也应该可以通过软件的方法揭开谜底。下面化身面无表情的打字记录机器。 4.1 找出电调软件代理人飞控告诉电调要做什么,电调控制电机完成相应动作,电调也是一个单片机,有它的操作系统(firmware 固件),折腾路由器刷各种系统的肯定熟悉这个。电调固件可以通过某种协议和外界交互,相当于电机和外界的中间代理人,我们首先调查调查一般啥人能当代理,有什么路子能和这位代理大哥搭上话。 4.2 电调常见固件电调固件决定电调的性能、通讯协议以及交互界面,常见的固件包括以下几种:
SimonK和BLHeli是两个最早的开源固件,后来SimonK久未更新,2015年之后基本市面上就是用的BLHeli固件了。后来随着软硬件的发展,出现了第2代BLHeli_S和第3代BLHeli_32固件。除了这两者之外,有些电调厂家也有自己的专有闭源固件。Via BLHeli一般是Atmel和SiLabs的8051单片机,BLHeli_S使用SiLbas的BB1和BB2芯片,后面会讲;BLHeli_32使用32bit的芯片,性能那是强了很多。不过目前市面上仍然有很多采用8bit芯片的电调,主要是便宜而且核心功能都有。
4.3 验证假设我们首先假设DF的电调是采用BLHeli,然后去验证是不是,一般的固件都会提供相关交互工具,我们放狗一搜,来到了BLHeli的github项目主页,继而了解到有一个软件叫做BLHeliSuite,可以刷新升级、配置电调固件。进入下载页面,看到Windows下有两个版本:16和32,先都下载回来。 后续通过这篇文章了解到,BLHeli和BLHeli_S适用8bit处理器,使用BLHeliSuite16714902;BLHeli_32适用ARM 32bit处理器,使用BLHeliSuite32_32711。我们的DF电机电调比较新,盲猜其电调使用的是ARM 32bit的处理器,打开软件: 两眼一抹黑,有点厉害。愣着干啥啊,赶紧想想办法,看看咋用的。噼里啪啦一阵敲,你猜怎么着,还真让我找到法子了。 4.3.1 PassThough《HOW TO CONNECT/FLASH BLHELI_32 ESC VIA FC PASSTHROUGH》,这种方法称作 于是几天过去了,增长了很多知识。它诞生自CleanFIght固件,是一款支持STM32芯片的飞控系统,但是翻了翻自己的开发板库,有STM32F411,Nucleo-F767ZI,STM32F103,但是都不在官方支持列表里,自己编译移植又怕进坑,看着自己手里基于Arduino Mega装载Ardupilot系统的APM2.8飞控板,留下了落后的眼泪。 此路不通,再寻别径。 4.3.2 1-Wire除了通过飞控的PassThough方式外,还有一种使用Arduino做编程器的方法,但是用于老BLHeli固件的,不知道Arm 32的电调能不能行,死马当活马医呗,万一赌对了呢,单车变摩托。好,开始整活。 我先拿我之前的电调做实验,型号是Hobbywing Xrotor 20A,考虑比较老,使用的BLHeliSuite16,方式差不多,积累经验。幸运的是在软件目录里的 首先使用Arduino Uno(其他大多数Arduino板也行)连接到电脑,识别后选中Arduino的接口,如下图设置: 【因为不知道使用的什么芯片,BD23都可以试试】
然后失败了。没识别出来,我不记得当时有没有用那根黑色的鳄鱼线了,反正我又自闭了,又头秃了,又放空了一段时间。 关于共地的测试我又回来了,越挫越勇,这两天一直寻思着是不是电调和Arduino要共地,因为之前使用LN298N直流电机驱动的时候要共地。于是掏出来DF家的DC-DC 降压模块,接线上电一气呵成,伴随着一股青烟扶摇直上,电调的sig线接头也变形了,赶紧断开,继续自闭。注意动力锂电池电流很高,很危险!!!** 关于接不接电机我之前不接电机的,没有响,也不知道软件识没识别电调,因为以为是电调发出的嘀嘀嘀,所以一直以为失败的,后来才知道声音是接上电机发出的声音。 4.4 久旱逢甘霖琢磨着要不试试DF的电调吧,换个心情,既然换心情,就把电机接上去。打开BLHeliSuite32,制作设置界面差不多,4-way固件选哪个都可以,我用的Multi。接线上电一气呵成,一如既往没有识别,但是这个电调上电有声。有戏!总不会是8bit的电调吧???竟然真的是8bit的电调,BLHeliSuite16识别如图: 感动的眼泪都要出来了。平复一下激动的心情,定睛一看,没有电调的牌子,只有G-H-30字样,使用BLHeli_S 16.5的固件。至此我们终于揭开了黑衣电调的第一层面纱,G-H-30啥意思呢?
G我没整明白啥意思,H搞懂了,代表BB2芯片,BLHeli_S支持两个芯片,都是SiLabs的,性能较之前的芯片有极大提升:
采用BLHEli_S的电调较之前的软硬件改进可以参考这里,具体的芯片规格参考这里。虽然不是最新的Arm32电调,现在的电调也不错,性价比高,但是我在这里绕了好大一圈,一直在用BLHeliSuite32,肯定识别不了。
4.4.1 更上一层楼现在我们获得了新信息:G-H-30,BLHeli_S ,BB2,下一步以以下关键字搜索:
结合DFRobot产品页面的线索: 主要关注电调的布局(芯片位置、信号线位置),尺寸重量、电流、输入电压等参数,最终找到如下产品:
最后确定二者采用G-H-30固件。但是电调板信号线位置能对上,芯片形状位置对不上,仔细一看电调实物,原来DFRobot产品介绍页面的示意图是错的。。。实物布局和上述两款电调一致。感觉离真相越来越近了。 【RS20A电调布局图】 好在Cicaca电调介绍页面有使用说明书( 【默认参数】 【校准音调】 4.5 电调优化 (TBD...)遥控器调参演示 4.5.1 升级固件
4.5.2 综合优化
小结回头看来,个人水平学识有限,走了太多弯路,写下来贻笑大方,无奈自己记性不好,这里于人于己留个笔记。 |
总结一下,DFRobot产品介绍页面电调的配图错了。 上次的JetsonNano产品介绍也错了,是没有板载eMMC的版本 |
434 KB, 下载次数: 3223
说明书cn/en
855.97 KB, 下载次数: 3276
说明书cn/en
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed