读BLHeli有感
今天在github上面下载了BLHeli的汇编源码,花了几个小时看了一下AVR版本的,发现BLHeli有如下问题:1、关于PWM输出精度:使用Timer2(8位)中断生成PWM,这样理论上最小的PWM分辨率只有1/255,对于高精度的控制显然是不够;
2、关于启动方案:简化版的“三段式”,相比德国MK的代码,甚至直接省略了开环加速的过程,一开始给BC相通电之后,竟然不作延时直接切入闭环控制,闭环一开始的换相延时是通过程序预设的值给定的,这种做法显然不适用于那些低转速的无刷电机,也许用在航模电机上问题不大;
3、关于同步整流控制:在PWM-OFF时续流相的MOS一直处于导通状态,这样相当于把电机两端直接短接,岂不会造成力矩的剧烈波动?
其他欢迎补充交流。 楼主,请问Blheli的比较器电路有加电容滤波吗,如果没有,获取过零点信号是扫描式的还是中断,PWM的频率是多少,谢谢 本帖最后由 mikeyaosemiac 于 2015-9-19 08:41 编辑
个人理解
1.这个是性能所致。。。
2.这个对MOS和电机压力比较大,不过兼容性似乎比开环切闭环好
3.damp light=active freewheeling+regenerative brake,同步整流和煞车,带来的是超快的油门跟随,要的就是快响应,针对多轴的,缺点是增大MOS管和电机的压力 mikeyaosemiac 发表于 2015-9-19 08:27
个人理解
1.这个是性能所致。。。
2.这个对MOS和电机压力比较大,不过兼容性似乎比开环切闭环好
1、可以用T1定时器代替T0,这样控制精度上升很多
2、对于航模电机兼容性的确可以,但是不能移植用于工业无刷直流电机,否则启动肯定卡死
3、同步整流跟油门响应的快速性有什么关系?没理解 本帖最后由 jamesdeep 于 2015-9-19 09:55 编辑
leeloo 发表于 2015-9-19 08:11
楼主,请问Blheli的比较器电路有加电容滤波吗,如果没有,获取过零点信号是扫描式的还是中断,PWM的频率是 ...
BLHeli只是代码,没有硬件
你刷的硬件上面可以有也可以没有
PWM频率可设置:8-16k均可
可以理解为是扫描式,但需要和中断一起配合 原来是研究电调的,还没听过BLheli 开源的ESC32用的STM32,avr的性能只能如此了 楼主你第2点我不同意,他是在加速阶段有检测的,才会切入闭环。并且从我学BLheli代码和MK代码来看,BLheli代码要好得多,我板子借鉴的是MK的电调板,先开是学的也是MK的,但是始终弄不出来,最后换成BLheli的,不仅效果好,也收获了很多思路 还有你说的第三点,我不懂什么同步整流,但是把两端接在一起,是为了刹车。BLheli专门有参数来处理刹车,是快速刹车还是慢速刹车,效果区别很大。快速刹车电机很快就停止了,代价是打开MOS管消耗能量。 本帖最后由 jamesdeep 于 2015-9-19 20:50 编辑
kingway00 发表于 2015-9-19 20:00
楼主你第2点我不同意,他是在加速阶段有检测的,才会切入闭环。并且从我学BLheli代码和MK代码来看,BLheli ...
你说“他是在加速阶段有检测的,才会切入闭环”,你指的加速阶段具体是程序中的哪一段呢?还有检测指的是检测什么?
我认为启动的代码在最新的BLHeli14.1 asm源文件的第 5924-5944行(行数可能有偏差,前面我加了一些注释),这一段实际上只做了对BC相通电然后计算换向时间,接着就跳入了闭环,中间我并未发现有任何检测。
兄弟你也说说你对BLHeli启动部分的理解?
jamesdeep 发表于 2015-9-19 20:39
你说“他是在加速阶段有检测的,才会切入闭环”,你指的加速阶段具体是程序中的哪一段呢?还有检测指的是 ...
damped light模式是同步整流和煞车的合体,打开就同时打开两个,煞车就是减速的时候直接短路了减速,能量在电机上面快速消耗,这个可以大大提高响应。同步整流可以提高效率不影响响应两个是绑定的。 mikeyaosemiac 发表于 2015-9-20 12:03
damped light模式是同步整流和煞车的合体,打开就同时打开两个,煞车就是减速的时候直接短路了减速,能量 ...
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 jamesdeep 发表于 2015-9-19 09:49
BLHeli只是代码,没有硬件
你刷的硬件上面可以有也可以没有
谢谢,LZ的耐心回复 jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...
是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。 jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...
是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。 jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...
是的,本来加速就比减速响应快的(因为大PWM时推力比空载时候阻力要大),加速还要更快就用速度闭环PID。 kingway00 发表于 2015-9-19 20:03
还有你说的第三点,我不懂什么同步整流,但是把两端接在一起,是为了刹车。BLheli专门有参数来处理刹车,是 ...
这位兄弟你对BLHeli的启动有何看法?怎么不回 jamesdeep 发表于 2015-9-22 13:58
这位兄弟你对BLHeli的启动有何看法?怎么不回
做这个电调是半年前的事了,现在很多不清楚了。所以不敢随便乱讲:),并且我当时本身对他电机运行的时候过零检测还有疑惑,但是实际的效果是很好。
至于你说的启动部分,我记得他的启动是和正常运转的代码写在一起的,只是插入了部分标志变量,来判断是否在启动。
而我说的检测,是指他在启动的时候,仍然在进行换向等待时间的判断,判断成功后才进入的闭环。
kingway00 发表于 2015-9-22 15:00
做这个电调是半年前的事了,现在很多不清楚了。所以不敢随便乱讲:),并且我当时本身对他电机运行的时候 ...
哦,好吧,最后做到哪一步了?怎么不继续做了呢 jamesdeep 发表于 2015-9-22 16:14
哦,好吧,最后做到哪一步了?怎么不继续做了呢
你可以看下我发的帖子,最后能够在MK电调板上运行。本来是用来做四轴,飞控板和电调板都搞定,机架什么的全部买好,就差组装。
但是后面因为学业,要做其他事,这些东西都吃灰了。 kingway00 发表于 2015-9-22 16:47
你可以看下我发的帖子,最后能够在MK电调板上运行。本来是用来做四轴,飞控板和电调板都搞定,机架什么的 ...
真是可惜了,以后还会继续搞不? jamesdeep 发表于 2015-9-22 17:24
真是可惜了,以后还会继续搞不?
这个是我业余爱好,闲下来的话就会考虑{:lol:} jamesdeep 发表于 2015-9-20 13:21
你的意思是同步整流能够提高油门响应,指的是刹车的响应,而不是加速的响应 ...
是的,所谓的响应快就是减速的时候带了刹车而已。不用同步整流仅仅加刹车也可以使相应加快 mk的滤波电容和换相延迟不确定,注定是入门级的,可惜bl全是汇编,多数人看了郁闷。 也许用C改写就能满足多数人的需求了 mandylion2008 发表于 2015-10-2 07:28
也许用C改写就能满足多数人的需求了
那你可以改下出个教程呗 a409600516 发表于 2015-10-9 09:54
那你可以改下出个教程呗
现在对电调毫无兴趣了,但是看俄罗斯的开源云台程序,还是C的,居然都看不懂! mandylion2008 发表于 2015-10-9 10:07
现在对电调毫无兴趣了,但是看俄罗斯的开源云台程序,还是C的,居然都看不懂! ...
To mandylion2008:
哪里可以下载到俄罗斯的开源云台程序,C代码哈。谢谢! mark一下 mark,楼主还在研究电调吗? 感谢楼主分享
页:
[1]