jamesdeep 发表于 2015-9-18 22:53:36

读BLHeli有感

今天在github上面下载了BLHeli的汇编源码,花了几个小时看了一下AVR版本的,发现BLHeli有如下问题:

1、关于PWM输出精度:使用Timer2(8位)中断生成PWM,这样理论上最小的PWM分辨率只有1/255,对于高精度的控制显然是不够;

2、关于启动方案:简化版的“三段式”,相比德国MK的代码,甚至直接省略了开环加速的过程,一开始给BC相通电之后,竟然不作延时直接切入闭环控制,闭环一开始的换相延时是通过程序预设的值给定的,这种做法显然不适用于那些低转速的无刷电机,也许用在航模电机上问题不大;

3、关于同步整流控制:在PWM-OFF时续流相的MOS一直处于导通状态,这样相当于把电机两端直接短接,岂不会造成力矩的剧烈波动?

其他欢迎补充交流。

leeloo 发表于 2015-9-19 08:11:29

楼主,请问Blheli的比较器电路有加电容滤波吗,如果没有,获取过零点信号是扫描式的还是中断,PWM的频率是多少,谢谢

mikeyaosemiac 发表于 2015-9-19 08:27:24

本帖最后由 mikeyaosemiac 于 2015-9-19 08:41 编辑

个人理解
1.这个是性能所致。。。
2.这个对MOS和电机压力比较大,不过兼容性似乎比开环切闭环好
3.damp light=active freewheeling+regenerative brake,同步整流和煞车,带来的是超快的油门跟随,要的就是快响应,针对多轴的,缺点是增大MOS管和电机的压力

jamesdeep 发表于 2015-9-19 09:47:38

mikeyaosemiac 发表于 2015-9-19 08:27
个人理解
1.这个是性能所致。。。
2.这个对MOS和电机压力比较大,不过兼容性似乎比开环切闭环好


1、可以用T1定时器代替T0,这样控制精度上升很多

2、对于航模电机兼容性的确可以,但是不能移植用于工业无刷直流电机,否则启动肯定卡死

3、同步整流跟油门响应的快速性有什么关系?没理解

jamesdeep 发表于 2015-9-19 09:49:20

本帖最后由 jamesdeep 于 2015-9-19 09:55 编辑

leeloo 发表于 2015-9-19 08:11
楼主,请问Blheli的比较器电路有加电容滤波吗,如果没有,获取过零点信号是扫描式的还是中断,PWM的频率是 ...

BLHeli只是代码,没有硬件

你刷的硬件上面可以有也可以没有

PWM频率可设置:8-16k均可

可以理解为是扫描式,但需要和中断一起配合

RudeBoy 发表于 2015-9-19 09:52:14

原来是研究电调的,还没听过BLheli

Flyback 发表于 2015-9-19 10:39:51

开源的ESC32用的STM32,avr的性能只能如此了

kingway00 发表于 2015-9-19 20:00:15

楼主你第2点我不同意,他是在加速阶段有检测的,才会切入闭环。并且从我学BLheli代码和MK代码来看,BLheli代码要好得多,我板子借鉴的是MK的电调板,先开是学的也是MK的,但是始终弄不出来,最后换成BLheli的,不仅效果好,也收获了很多思路

kingway00 发表于 2015-9-19 20:03:13

还有你说的第三点,我不懂什么同步整流,但是把两端接在一起,是为了刹车。BLheli专门有参数来处理刹车,是快速刹车还是慢速刹车,效果区别很大。快速刹车电机很快就停止了,代价是打开MOS管消耗能量。

jamesdeep 发表于 2015-9-19 20:39:07

本帖最后由 jamesdeep 于 2015-9-19 20:50 编辑

kingway00 发表于 2015-9-19 20:00
楼主你第2点我不同意,他是在加速阶段有检测的,才会切入闭环。并且从我学BLheli代码和MK代码来看,BLheli ...

你说“他是在加速阶段有检测的,才会切入闭环”,你指的加速阶段具体是程序中的哪一段呢?还有检测指的是检测什么?

我认为启动的代码在最新的BLHeli14.1 asm源文件的第 5924-5944行(行数可能有偏差,前面我加了一些注释),这一段实际上只做了对BC相通电然后计算换向时间,接着就跳入了闭环,中间我并未发现有任何检测。

兄弟你也说说你对BLHeli启动部分的理解?

mikeyaosemiac 发表于 2015-9-20 12:03:02

jamesdeep 发表于 2015-9-19 20:39
你说“他是在加速阶段有检测的,才会切入闭环”,你指的加速阶段具体是程序中的哪一段呢?还有检测指的是 ...

damped light模式是同步整流和煞车的合体,打开就同时打开两个,煞车就是减速的时候直接短路了减速,能量在电机上面快速消耗,这个可以大大提高响应。同步整流可以提高效率不影响响应两个是绑定的。

jamesdeep 发表于 2015-9-20 13:21:47

mikeyaosemiac 发表于 2015-9-20 12:03
damped light模式是同步整流和煞车的合体,打开就同时打开两个,煞车就是减速的时候直接短路了减速,能量 ...

你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应

leeloo 发表于 2015-9-20 18:27:08

jamesdeep 发表于 2015-9-19 09:49
BLHeli只是代码,没有硬件

你刷的硬件上面可以有也可以没有


谢谢,LZ的耐心回复

mikeyaosemiac 发表于 2015-9-22 13:08:32

jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...

是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。

mikeyaosemiac 发表于 2015-9-22 13:10:09

jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...

是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。

mikeyaosemiac 发表于 2015-9-22 13:11:54

jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...

是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。

jamesdeep 发表于 2015-9-22 13:58:47

kingway00 发表于 2015-9-19 20:03
还有你说的第三点,我不懂什么同步整流,但是把两端接在一起,是为了刹车。BLheli专门有参数来处理刹车,是 ...

这位兄弟你对BLHeli的启动有何看法?怎么不回

kingway00 发表于 2015-9-22 15:00:39

jamesdeep 发表于 2015-9-22 13:58
这位兄弟你对BLHeli的启动有何看法?怎么不回

做这个电调是半年前的事了,现在很多不清楚了。所以不敢随便乱讲:),并且我当时本身对他电机运行的时候过零检测还有疑惑,但是实际的效果是很好。
至于你说的启动部分,我记得他的启动是和正常运转的代码写在一起的,只是插入了部分标志变量,来判断是否在启动。
而我说的检测,是指他在启动的时候,仍然在进行换向等待时间的判断,判断成功后才进入的闭环。

jamesdeep 发表于 2015-9-22 16:14:17

kingway00 发表于 2015-9-22 15:00
做这个电调是半年前的事了,现在很多不清楚了。所以不敢随便乱讲:),并且我当时本身对他电机运行的时候 ...

哦,好吧,最后做到哪一步了?怎么不继续做了呢

kingway00 发表于 2015-9-22 16:47:17

jamesdeep 发表于 2015-9-22 16:14
哦,好吧,最后做到哪一步了?怎么不继续做了呢

你可以看下我发的帖子,最后能够在MK电调板上运行。本来是用来做四轴,飞控板和电调板都搞定,机架什么的全部买好,就差组装。
但是后面因为学业,要做其他事,这些东西都吃灰了。

jamesdeep 发表于 2015-9-22 17:24:44

kingway00 发表于 2015-9-22 16:47
你可以看下我发的帖子,最后能够在MK电调板上运行。本来是用来做四轴,飞控板和电调板都搞定,机架什么的 ...

真是可惜了,以后还会继续搞不?

kingway00 发表于 2015-9-22 17:55:26

jamesdeep 发表于 2015-9-22 17:24
真是可惜了,以后还会继续搞不?

这个是我业余爱好,闲下来的话就会考虑{:lol:}

a409600516 发表于 2015-9-23 09:43:39

jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...

是的,所谓的响应快就是减速的时候带了刹车而已。不用同步整流仅仅加刹车也可以使相应加快

=FBI= 发表于 2015-10-2 00:38:34

mk的滤波电容和换相延迟不确定,注定是入门级的,可惜bl全是汇编,多数人看了郁闷。

mandylion2008 发表于 2015-10-2 07:28:29

也许用C改写就能满足多数人的需求了

a409600516 发表于 2015-10-9 09:54:11

mandylion2008 发表于 2015-10-2 07:28
也许用C改写就能满足多数人的需求了

那你可以改下出个教程呗

mandylion2008 发表于 2015-10-9 10:07:50

a409600516 发表于 2015-10-9 09:54
那你可以改下出个教程呗

现在对电调毫无兴趣了,但是看俄罗斯的开源云台程序,还是C的,居然都看不懂!

piaoyuhanxin 发表于 2016-1-6 23:56:44

mandylion2008 发表于 2015-10-9 10:07
现在对电调毫无兴趣了,但是看俄罗斯的开源云台程序,还是C的,居然都看不懂! ...

To mandylion2008:
哪里可以下载到俄罗斯的开源云台程序,C代码哈。谢谢!

308594151 发表于 2016-1-7 09:45:58

mark一下

浪子怀海 发表于 2016-4-11 22:20:07

mark,楼主还在研究电调吗?

aisledianzi 发表于 2019-4-21 19:37:23

感谢楼主分享
页: [1]
查看完整版本: 读BLHeli有感