BLheli代码用在MK电调上出现高速刹车问题
本帖最后由 kingway00 于 2015-1-23 10:14 编辑最近学习BLheli无刷电机代码,感觉很好,只是有些细节还不是太清楚,电机倒是能转,使用的电路就是MK电调电路,不过请看下面视频,随着油门加大,电机声音有明显的阶梯感,不仅如此,电机在高速阶段,出现了刹车现象
http://player.youku.com/player.php/sid/XODc3NzA2NzUy/v.swf
开始我以为是电源电路没设计好的问题,导致单片机复位,后来我尝试观察5V稳压端电压,发现即使在刹车时候,电压依然稳定在5V,所以问题不在这。这时我突然想起以前有人说过MK电调在过零检测电路那块的三个滤波电容会导致过零比较迟缓,再看我现在的情况,正好是高速阶段出现刹车,没准正好是这个原因,于是我试着把这三个电容去掉,如下图
去掉后再实验,不仅没出现高速刹车现象,电机加速声音也平滑了
http://player.youku.com/player.php/sid/XODc3Njk4Mjk2/v.swf
所以大家如果用MK电调电路出现类似情况,可以考虑使用这种解决方法。不过还有问题就是,为什么有电容时会出现高速刹车现象(为什么不是别的现象?比如振动,电机跳动转动之类的),主要是BLheli的过零检测函数wait_for_comp_out_low/high,我始终有疑问,我看这个函数的意思,并非是等到真正的过零点,而是等待计算好的时间后,只要没检测到消磁现象,就直接准备换向了。可能是我理解有问题,如果也有学习BLheli代码的坛友,可以一起来讨论下{:smile:} 相位滞后导致原本的加速力矩变成了阻力矩,我猜的~ SMC 发表于 2015-1-23 11:29
相位滞后导致原本的加速力矩变成了阻力矩,我猜的~
这个不能随便猜啦,应该拿代码说话{:lol:} kingway00 发表于 2015-1-25 15:07
这个不能随便猜啦,应该拿代码说话
得相信我,我的猜测一般很准的,不信的话你把100nf电容改成1uf,你会发现问题更严重,改成10nf会改善许多。 SMC 发表于 2015-1-25 16:32
得相信我,我的猜测一般很准的,不信的话你把100nf电容改成1uf,你会发现问题更严重,改成10nf会改善许多 ...
我帖子上说的解决方案就是去掉这三个电容{:smile:} BLheli程序没有下到{:cry:} suda2008wuli 发表于 2015-1-25 17:36
BLheli程序没有下到
https://github.com/bitdump/BLHeli
这个是网址,有ATMEGA版本以及C8051版本的 BLHeli程序是用汇编写的,看起来真费劲!{:sweat:} 瑞生 发表于 2015-1-31 20:42
BLHeli程序是用汇编写的,看起来真费劲!
但是目前我测试,感觉效果不错,你有在学么?一起交流交流 kingway00 发表于 2015-1-31 21:31
但是目前我测试,感觉效果不错,你有在学么?一起交流交流
准备学,先看了一下。 刹车是换相错误了。 楼主,我也想学习,不知道从何入手,请多指教。 so_so_so_so 发表于 2015-3-5 11:52
楼主,我也想学习,不知道从何入手,请多指教。
我是先学汇编,再学的blheli 楼主你好,你用的是ATMEL的汇编源码么?我在研究他的Silabs的汇编源码。 chliken 发表于 2015-3-12 00:12
楼主你好,你用的是ATMEL的汇编源码么?我在研究他的Silabs的汇编源码。
对,是ATMEL的汇编,芯片是ATMEGA8 kingway00 发表于 2015-3-12 09:44
对,是ATMEL的汇编,芯片是ATMEGA8
你是用的什么编译环境来编译的,我的silicon 用Keil 去编译,不行,报错了 chliken 发表于 2015-3-12 12:27
你是用的什么编译环境来编译的,我的silicon 用Keil 去编译,不行,报错了
avr studio4,编译没问题,不过是针对ATMEGA版本 kingway00 发表于 2015-3-12 14:10
avr studio4,编译没问题,不过是针对ATMEGA版本
我的是报这个错误,如图 chliken 发表于 2015-3-12 16:11
我的是报这个错误,如图
图在哪? 请教一下楼主silab汇编编译环境如何建立? 请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调 a409600516 发表于 2015-7-10 19:49
请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调
不懂,听起来好高端的样子 a409600516 发表于 2015-7-10 19:49
请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调
在以往的车用无刷风机中,因为电流比较大,所以需要使用同步整流的方法,这个很早就是成熟技术了。
为了实现同步整流,一般需要带有互补功能的PWM模块,也就是要具有死区功能,以前在普通的8位单片机中很少有这个功能,除了英飞凌的单片机之外。
如果单片机的速度足够快,可以软件模拟,但得不偿失,没有必要,完全可以使用现在先进的32位ARM M0处理器。
mandylion2008 发表于 2015-7-11 21:05
在以往的车用无刷风机中,因为电流比较大,所以需要使用同步整流的方法,这个很早就是成熟技术了。
为了 ...
我是用了三颗同步整流的MOS驱动IC,可以硬件加死区控制。单片机输入一路PWM,后级就会输出两路互补的PWM,然后再BLHeli代码里面改了头文件,以为简单的这样就可以解决了,结果上电就是叫了几下,推油门完全没反应。看过您有在论坛里推荐大家研究BLHeli,请问BLHeli能否做同步整流?我这个方案可行吗? a409600516 发表于 2015-7-13 09:27
我是用了三颗同步整流的MOS驱动IC,可以硬件加死区控制。单片机输入一路PWM,后级就会输出两路互补的PWM ...
个人觉得最好的方案还是先研究透BLHELI,取得BLDC控制的经验,然后再换用新的单片机,比如STM32,XMC1301等等,甚至用8位的XC836都可以的(英飞凌的DAVE2代码生成器用过后你就会喜欢的)。
基于BLHELI的方案天生就不是做同步整流的。 mandylion2008 发表于 2015-7-13 09:41
个人觉得最好的方案还是先研究透BLHELI,取得BLDC控制的经验,然后再换用新的单片机,比如STM32,XMC1301 ...
意思就是说我用硬件加互补PWM用于BLHeli不行吗?因为现在已经不是学生了,公司不会给你大量的时间去学习的。研究BLHeli代码得花些时间,但是公司看好盈推出同步整流的电调,也想跟上潮流。所以我才想出此方法,如果不行的话我就没必要再折腾下去了。 a409600516 发表于 2015-7-13 10:48
意思就是说我用硬件加互补PWM用于BLHeli不行吗?因为现在已经不是学生了,公司不会给你大量的时间去学习 ...
如果是你们公司想跟上好盈的步伐的话,我可以告诉你好盈现在用的是STM32F051的单片机,好盈刚出的时候我就买了一个研究,发现这个芯片虽然印上了“HW500”的字样,但上面“ST"的标识还是很容易看出来的,根据我以前玩STM32F051的经验以及成本考虑,基本可以确定就是这个型号了。
还是开发无感FOC电调吧,跟在好盈后面打价格战没有意思了。现在飞银加乐都开始卖20元RMB的方波电调,方波还有得玩吗? mandylion2008 发表于 2015-7-13 17:17
如果是你们公司想跟上好盈的步伐的话,我可以告诉你好盈现在用的是STM32F051的单片机,好盈刚出的时候我 ...
视频里看到了明显的预定位。。。但是能兼容各种电机各种负载的开环加速,这个还是比较有技术含量,值得深究。。。 jamesdeep 发表于 2015-8-19 23:44
视频里看到了明显的预定位。。。但是能兼容各种电机各种负载的开环加速,这个还是比较有技术含量,值得深 ...
你自己画的MK电调板子吗?还有板子吗?谢谢 你自己画的MK电调板子吗?还有板子吗?谢谢 hanhanlili 发表于 2015-10-10 11:50
你自己画的MK电调板子吗?还有板子吗?谢谢
还有,空板子 请问MK电调V1.2版本的电路可以烧写BLHeli的什么版本?《BLHeli supported Atmel ESCs》中该选择哪一个呢?
真的好多巧合 发表于 2015-11-5 17:55
请问MK电调V1.2版本的电路可以烧写BLHeli的什么版本?《BLHeli supported Atmel ESCs》中该选择哪一个呢?
...
都烧不了,要自己改一些端口和设置 楼主貌似自己搞得电调,不错 RudeBoy 发表于 2015-11-6 09:12
楼主貌似自己搞得电调,不错
硬件参考的是MK的,软件参考的BLheli,不过都要作一定修改。应该还好,学BLheli的时候那汇编简直。。。 我用Ride7新建工程,然后下载了最新的14.2程序,但是编译不成功。是不是还需要什么补丁啊?
Building G:\My_BLHeli\BLHeli.asm
due to missing G:\My_BLHeli\BLHeli
Unknown tool: $(Target.Tools.Assembler)
Build failed
你好,我最近在MK源程序的基础上也做了一个电调。但发现定位处不太好,初始总定位到AB相。定位时会出现小范围(小于60°电角度)现象。请问下BLHELI代码中的定位是采用的这样的技术吗? BLHELI代码 中有开任意相定位吗?知道的回答下,谢谢 现在方波电调真的没得搞了,FOC电调也没多少技术含量了。 鸵鸟蝈蝈 发表于 2016-3-2 20:40
现在方波电调真的没得搞了,FOC电调也没多少技术含量了。
那应该什么电调? lz能大概简绍一下blheli的思路吗?还有blheli开源代码中过零点检测电路是带rc还是没有,正打算研究blheli8051f310的开源程序,因为汇编不好,看比较难懂,lz要是能讲一下思路,再去看就好多了,学习汇编lz有什么推荐的书? 浪子怀海 发表于 2016-4-11 21:20
lz能大概简绍一下blheli的思路吗?还有blheli开源代码中过零点检测电路是带rc还是没有,正打算研究blheli80 ...
我这个帖子的意思就是过零检测电路不要加上电容,不然会导致过零信号延迟,高速的时候电机会出现突然停转的现象。
思路什么的现在都快忘得差不多了。
至于学汇编,我是看的王爽的“汇编语言”第二版,这本书讲的是DOS汇编的,其实学习这个主要是学习汇编的思路,在AVR上用汇编的时候实际上用的是AVR的指令集,但大同小异。
页:
[1]