5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 243233|回复: 450
打印 上一主题 下一主题

DIY功能强大,超轻重量的小机无刷电调- BLHeli详解(6楼更新:用遥控器修改电调设置)

  [复制链接]
跳转到指定楼层
楼主
发表于 2012-5-1 21:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
BlHeli开源电调代码-背景篇
最近玩FBL100,到了炎夏准备改无刷电机时发现用市面上电调的效果都很不好,试过华科尔的10LT,以及AOE无刷转换器+6A电调,都是油门1/3位置才能启动,到了2/3位置就满油门了,而这些电调都无法编程改变设置,导致fbl100改无刷很不顺,郁闷之际,看到了国外helifreak论坛用xp 3a/7a/12a电调自己刷程序自制mcpx无刷电调的帖子,进过一番研究,读完了长达79页的帖子后学到了不少电调改良的技巧。
这一周在fbl100gcp/minicp的试验结果也证明了这个程序非常强大。论坛里其实已经也有其他人了解这个Blheli的帖子并自制电调成功,不过由于各种原因都不怎么分享,我认为这违背了原作者Steffen开源代码的精神,独乐乐不如众乐乐,下面这个帖子将这个BLHeli的开源电调项目给国内的模友分享,所有的功劳都归功与老外网友Steffen(helifreak论坛id: sskaug), 活雷锋不多见了,还是老外呢
最初项目是用在采用Atmega8单片机的电调上,比如华科尔的10LT电调:http://www.helifreak.com/showthread.php?t=357151
由于采用Atmega8单片机的电调都不便宜也比较难找,稍微容易买到的华科尔电调,其MCU也被头脑有病的华科尔锁了芯片,要刷程序需要买个空白的MCU替换,焊接难度相当大,所以原作者Steffen又找市面比较便宜的3A电调进行试验,最终将程序移植到成本低廉的C8051F单片机电调上,最终大大降低了DIY电调的成本和可操作性,英文好的模友请自行阅读下面的帖子,可以更好的了解原作和刷电调成功的国外模友的结果
http://www.helifreak.com/showthread.php?t=390517

BLHeli程序支持的功能:
- 更好的支持无刷尾电调,避免用SR120导致尾重的效果(除了3D高手,一般人改尾无刷没有太大的必要。但是改了之后确实可以使小鸡在侧翻滚时更好地保持前后平衡,所以是否改尾无刷取决于你的飞行水平是否足够高J
- 主无刷支持定速模式- 这个很强大,将高档电调才有的定速移植到小鸡,使暴力3D时可以有效地避免电机掉转速,不过定速模式需要很大功率的电机(至少hp05s以上)才有足够的功率余量来让定速发挥作用,所以用一般的c05m电机实际意义不大。还有,由于不是用测旋翼头转速来实现定速,这个定速模式可以看做是一种仿真定速或者伪定速。不过无论如何,开启了定速绝对可以让各种飞行保持高度更稳定,这点就足以秒杀市面上其他小鸡无刷电调(当然卖mcpx电调的商家也会抄袭这个程序出改进版的mcpx电调)
- 可以用遥控器对电调参数编程这点也可以市面上其他小鸡无刷电调的厂家回去面壁三天了;此外有其他网友提供的电脑用编程界面,可以在电脑上很方便的设置电调参数,使笔记本成为编程卡,比用遥控器编程更加直观快捷
-
可以自己DIY出超轻的电调(<0.4g--小鸡减轻重量很有用,即使零点几克的减肥也足以让翻滚更好操控
-
支持MCPX v1v2 –这个程序可以自动识别1khz-12khzPWM有刷信号,经过我的实际测试,可以覆盖所有的迷你机:FBL100(12Khz), Mcpx V1(8Khz), Mcpx v2(1Khz), Genius CP/mini cp(据说是2Khz)
- 不需要额外的有刷转换电路- BLHeli程序即可实现有刷信号识别并控制无刷电机,市面上的类似电调比如华科尔的 10LT都要一个单独有刷转无刷电路,弱爆了。
- 最新试验表明 , Blheli除了可以识别mcpx/fbl/cp之类的有刷输出信号,也可以识别PPM无刷信号,在120d02s之类的接收机也可以正常使用 -- 同时兼容有刷和无刷输入,最强电调有木有:em26:
要尝试用BLHeli代码自己DIY电调的,需要符合下述条件
1.有一定焊接能力:如果用xp 7a/12a来刷,焊接水平要求较低;打算用3a电调来diy超轻电调的则需要比较好的焊接能力(主要是MOS管很小,还要叠焊,如果焊接手艺不过关,容易虚焊并烧MOS管)
2.闲得蛋疼: 工作太忙的还不如等t少、c少之类的js知道这个刷电调原理后再找他们买,出点钱,省点时间买个功能强大的电调也很值
3.买了FBL100需要改无刷电机的: FBL100PWM信号与其他小鸡差别较大,用市面的无刷电调线性很差
4.买不到华科尔10LT电调的:自己动手,丰衣足食


[ 本帖最后由 suvsuv 于 2012-7-27 12:47 编辑 ]

评分

参与人数 21威望 +42 收起 理由
th_ft + 2 很给力!
苏小菜 + 4 很给力!
wskgogo + 1 很给力!
我爱远行. + 2 很给力!
车改 + 2 很给力!

查看全部评分

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2012-5-1 21:12 | 只看该作者
本帖最后由 suvsuv 于 2012-9-16 08:56 编辑

硬件篇- 电调选择
原帖列出可用的电调如下:Supermicro 3.5A DP3A, XP 3a, XP 7a, XP12aTurnigy6A
实际上只要是采用Silicon Labs出的c8051f330单片机的电调都可以用来改装,所以看一下手头上的电调,如果是20脚封装标号为”SIL f330 xxxxx”的芯片就可以用了。
这些芯片其实都是类似的电路,价格有差别在于是否可以编程以及所用的MOS管是否好。对于自己换MOS管来刷的模友,找最便宜的就足够了,换成好的MOS管,可以DIY出比华科尔10LT硬件特性更好的电调,这里说一下,虽然华科尔的产品质量很糟糕,其硬件确是一流的,比mcpx好很多,电调选用的mos特性最好,三轴芯片也远好于mcpx. 但这也说明了硬件再好,没有好软件设计人员,产品依然不行。用很烂的3a电调刷BLheli程序可以得到比市面上任何小鸡电调更好的效果,就是一个很好的例子。我一开始用xp3a刷, 最后用30元的便宜电调(淘宝找DYaS 3A电调)来改,效果也是杠杠的。
下面的电路板图中,白圈的焊点连到编程器/下 载器的C2D接线,红圈焊点连编程器/下 载器的C2K, 黑圈焊点接编程器/下 载器的GND
DP3a,最烂的3电调,换好的MOS管就变成最好的电调:

xp3a, MOS管不好不坏,叠焊6个好的MOS就够了:


xp7a, 用7a和12a不增加mos管也可以足够电流支持mcpx/cp,但是低压特性不好:



xp12a:


Turnigy 6a, 鸡肋,如果不是手头有,不要选这个:


DYS 3a, 最便宜的电调,国外买不到,国内玩家的福气:em15: (从上至下4个焊点分别是C2D, C2K, VCC, GND --由于飞机给电调供电,所以VCC不需要接出引线):

好盈10A也是用c8051f330 单片机,有模友刷blheli也可以正常使用(参见218楼)


[ 本帖最后由 suvsuv 于 2012-8-19 08:39 编辑 ]


3
 楼主| 发表于 2012-5-1 21:14 | 只看该作者
本帖最后由 suvsuv 于 2012-9-16 09:12 编辑

:em15: 关于定速设置
部分模友误以为定速就是简单讲油门曲线设置为一条横线,所以电调的线性无所谓。这种理解是错误的。定速是由电调来根据旋翼头的转速变化来动态修改油门输出(遥控器的油门控制无效),使旋翼头保持几乎不变的转速,所以要达到这个效果,三轴接收机的输出和电调在高油门区域必须有好线性。否则电调根据转速的变化补、减油门的动作将会无法修正旋翼头转速
举例来说。自己在遥控将油门设为80的一条直线,并不是定速,因为随着动作的变化,电机负荷变化,同样的油门输出,转速会随负荷变化而变化,所以定油门!=定速。也就是定速须由三轴接收机(比如v8之类的)或者电调提供这个功能才可实现。Blheli的强大在于引入了高档电调才有的定速功能。但是需要注意的是
1. 最好的定速实现需要物理检测器来实时监控旋翼头转速,并将检测值传入电调或者接收机进行修正。Blheli并没有物理检测接口,按照更专业模友的解释,BlHeli程序应该是检测无刷电机的换向周期知道电机的真实转速,并动态修改油门输出实现旋翼头转速(headspeed)恒定的目的。
2. 定速还依赖于电机的功率,用c05m,hp03s这类电机本身在做3d动作即使满油门都会不够功率而掉转速,所以无论用什么电调定速功能都不可能保证这样的电机能够在大动量动作保持旋翼头转速恒定,因此对这类电机定速功能只能在悬停或者温柔 3d有效。要更好的定速,只能买hp05s甚至hp06v2,电机有足够的功率余量,BLHeli的定速功能才会发挥最大效用  

BlHeli提供了Tx, Armed, Setup三种模式来设置定速。
1. Tx模式下的定速设置我还没完全掌握,大致是将遥控的油门曲线设置为一条横线,电调检测到后就以该油门的初始转速作为定速目标值
2. Armed模式下,开机的时候电调会检测三次设置来获取目标定速值,因此可以利用normal的油门曲线来设置两种不同的定速值,Helifreak一个模友提供的方法如下
比如要设置70和80l两种定速,可以将Norml的油门曲线设置 为 0-70-70-70-80 ;Idle1的油门曲线设置为 100-80-60-80-100 。
当需要用70的定速飞行时,可以如下操作:
a)遥控开机, normal模式, 0油门, 切油门锁定开关 .  
b)电调(飞机)通电, 等电调响3声
c)油门锁定关闭
d) 油门摇杆移动到中间, 电调响1声低音
e)油门摇杆回到最低, 电调响1声高音(进入armed模式)
f)切油门锁定开关
g)切换到idle模式同时将油门摇杆置中(0度螺距,避免后面关闭油门锁定时飞机突然暴起)
h)油门锁定关闭,起飞
同理,如果打算以80的定速飞行,可以用上面a-h同样的步骤,只是在第d)步是将油门摇杆移到最高(让电调读到80的油门设置)即可

3. Setup模式最简单,电调以Governer Setup Targe的值为定速目标值,遥控的油门曲线会被忽略


需要注意的是,3.x 版之前设置了定速是没法取消的,可能会导致如果降落不慎,飞机掉入草丛里就会高速剪草,损失可想而知:em14: 。3.x版就此增加了新功能,如果电调检测到油门在20%以下会自动取消定速,这样降落时可以实现转速缓慢降低再熄火。所以建议最好刷最新版的代码

更详细的BlHeli定速模式设置请参见40楼:http://bbs.5imx.com/forum.php?mod=viewthread&tid=612840&extra=page%3D1&page=2

[ 本帖最后由 suvsuv 于 2012-5-2 23:26 编辑 ]
4
 楼主| 发表于 2012-5-1 21:14 | 只看该作者
FAQ
Q 刷机有风险吗
Ans:  当然有,烧MOS管别找我:em15:

Q.Input Polarity有什么用
Ans: 如果在cp或者fbl100用BlHeli电调,需要注意他们的输出电机信号极性与mcpx刚好是反相的,这也就是为什么有的人在mcpx可以用华科尔主电调,到了cp却只能用华科尔的尾电调(华科尔就是奸商,为了卖两套电调,故意将主尾电机输出信号反相)。解决方法一是将电调从接收板的MOS输入端取信号而不是从电机接口(MOS输出端)取信号; 解决方法二就是将Input Polariy设置为"Negative" --- 可编程的电调就是好,就是好:em24:

Q. 华科尔的电调为什么不能编程
Ans: 如上,因为不能将电调分成主电调和尾电调两套来卖:em01:

Q.可以用在什么机上,九鹰小鸡可以吗
Ans:原帖是在Mcpx上测试的,我自己试过Fbl100(效果很:http://bbs.5imx.com/forum.php?mod=viewthread&tid=611671&extra=page%3D3),Genius CP(貌似到了2/3就满油门了,有空再找一下原因)和Mini CP(线性很好)。 九鹰我没有,不知道效果,理论上也是可以的,除非九鹰使用了12khz至20Khz之间的PWM频率(你也可以自己改程序来识别:em21: )

Q. 什么是MOS叠焊,为什么要这么做
Ans:就是将两个相同的MOS管并联。MOS管并联可以增加电流供应能力(两个并联电流加倍,三个并联x3),同时降低内阻(两个并联 降低一倍,三个并联内阻变为1/3).
华科尔之类的成品电调也是采用两套相同的MOS管并联来实现加大电流和降低内阻值,但是由于3A电调板空间小,只能用一个垒一个的方法进行--“叠焊”。 由于MOS管本身的塑胶封装有足够好的散热性,只要上下两个MOS贴紧,就可以把下层MOS的热量通过上层MOS散发出去
叠焊图解可以参见54楼: http://bbs.5imx.com/forum.php?mod=viewthread&tid=612840&page=3&extra=page%3D1#pid7822024
Q:如何知道飞机可以设置的最大转速:
Ans: 作者提供了一个execl表计算,也可以使用BlHeliSetup软件, 参见57楼: http://bbs.5imx.com/forum.php?mod=viewthread&tid=612840&pid=7822080&page=3&extra=page%3D1#pid7822080
Q:如何用遥控器来修改电调设置:
Ans:操作比较复杂,参见以下帖子
http://bbs.5imx.com/forum.php?mod=viewthread&tid=658193&page=1&extra=page%3D1#pid8243871
Q:电调各参数作用:
Ans: 见201楼: http://bbs.5imx.com/forum.php?mod=viewthread&tid=612840&extra=&page=11

(未完待续)










[ 本帖最后由 suvsuv 于 2012-7-27 14:06 编辑 ]
5
 楼主| 发表于 2012-5-1 21:15 | 只看该作者
原帖太长了,要浓缩到一个页面只能慢慢来,不要着急
6
发表于 2012-5-1 21:16 | 只看该作者
7
发表于 2012-5-1 21:19 | 只看该作者
:loveliness:
8
发表于 2012-5-1 21:45 | 只看该作者
:em26:
9
发表于 2012-5-1 22:00 | 只看该作者
太强大了。。。
10
发表于 2012-5-1 22:18 | 只看该作者
强大顶……
11
发表于 2012-5-1 22:36 | 只看该作者
好帖必须要顶的
12
发表于 2012-5-1 22:46 | 只看该作者
顶顶顶!!!!!!!太强大了
13
发表于 2012-5-1 22:57 | 只看该作者
:em17: 先留名,慢慢看
14
发表于 2012-5-1 23:00 | 只看该作者
相当强大,收藏
15
发表于 2012-5-1 23:22 | 只看该作者
学习、支持:em24: :em26:
16
发表于 2012-5-1 23:33 | 只看该作者
看完后发觉有的钱还是要给别人搛的。LZ卖些成品可能比发些天书实际。不过证实是一个大大的好人。
17
发表于 2012-5-1 23:35 | 只看该作者
很好很强大,能人所不能!
18
发表于 2012-5-1 23:39 | 只看该作者
牛牛牛牛牛XXXXXXXXXX:em26: :em26: :em26:
19
 楼主| 发表于 2012-5-1 23:42 | 只看该作者
原帖由 zoozooo1 于 2012-5-1 23:33 发表
看完后发觉有的钱还是要给别人搛的。LZ卖些成品可能比发些天书实际。不过证实是一个大大的好人。

如果所有的事都能够自己做,这个社 会就不能发展了:em15: ,所以你说的没错,出钱找人XX也是一种可以接受的方法
对于我来说,飞行是一种乐趣,改机也是一种乐趣
20
发表于 2012-5-1 23:43 | 只看该作者
这个贴不顶不行:em26:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表