搜索
bottom↓
回复: 41

BLheli代码用在MK电调上出现高速刹车问题

[复制链接]

出0入0汤圆

发表于 2015-1-23 10:14:41 | 显示全部楼层 |阅读模式
本帖最后由 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代码的坛友,可以一起来讨论下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-1-23 11:29:40 | 显示全部楼层
相位滞后导致原本的加速力矩变成了阻力矩,我猜的~

出0入0汤圆

 楼主| 发表于 2015-1-25 15:07:02 | 显示全部楼层
SMC 发表于 2015-1-23 11:29
相位滞后导致原本的加速力矩变成了阻力矩,我猜的~

这个不能随便猜啦,应该拿代码说话

出0入0汤圆

发表于 2015-1-25 16:32:02 | 显示全部楼层
kingway00 发表于 2015-1-25 15:07
这个不能随便猜啦,应该拿代码说话

得相信我,我的猜测一般很准的,不信的话你把100nf电容改成1uf,你会发现问题更严重,改成10nf会改善许多。

出0入0汤圆

 楼主| 发表于 2015-1-25 16:52:17 | 显示全部楼层
SMC 发表于 2015-1-25 16:32
得相信我,我的猜测一般很准的,不信的话你把100nf电容改成1uf,你会发现问题更严重,改成10nf会改善许多 ...

我帖子上说的解决方案就是去掉这三个电容

出0入0汤圆

发表于 2015-1-25 17:36:36 | 显示全部楼层
BLheli程序没有下到

出0入0汤圆

 楼主| 发表于 2015-1-25 17:44:18 | 显示全部楼层

https://github.com/bitdump/BLHeli
这个是网址,有ATMEGA版本以及C8051版本的

出0入0汤圆

发表于 2015-1-31 20:42:06 | 显示全部楼层
BLHeli程序是用汇编写的,看起来真费劲!

出0入0汤圆

 楼主| 发表于 2015-1-31 21:31:50 | 显示全部楼层
瑞生 发表于 2015-1-31 20:42
BLHeli程序是用汇编写的,看起来真费劲!

但是目前我测试,感觉效果不错,你有在学么?一起交流交流

出0入0汤圆

发表于 2015-1-31 23:14:35 | 显示全部楼层
kingway00 发表于 2015-1-31 21:31
但是目前我测试,感觉效果不错,你有在学么?一起交流交流

准备学,先看了一下。

出105入79汤圆

发表于 2015-2-1 02:32:32 | 显示全部楼层
刹车是换相错误了。

出0入0汤圆

发表于 2015-3-5 11:52:14 | 显示全部楼层
楼主,我也想学习,不知道从何入手,请多指教。

出0入0汤圆

 楼主| 发表于 2015-3-5 17:27:16 | 显示全部楼层
so_so_so_so 发表于 2015-3-5 11:52
楼主,我也想学习,不知道从何入手,请多指教。

我是先学汇编,再学的blheli

出0入0汤圆

发表于 2015-3-12 00:12:49 | 显示全部楼层
楼主你好,你用的是ATMEL的汇编源码么?我在研究他的Silabs的汇编源码。

出0入0汤圆

 楼主| 发表于 2015-3-12 09:44:48 | 显示全部楼层
chliken 发表于 2015-3-12 00:12
楼主你好,你用的是ATMEL的汇编源码么?我在研究他的Silabs的汇编源码。

对,是ATMEL的汇编,芯片是ATMEGA8

出0入0汤圆

发表于 2015-3-12 12:27:58 | 显示全部楼层
kingway00 发表于 2015-3-12 09:44
对,是ATMEL的汇编,芯片是ATMEGA8

你是用的什么编译环境来编译的,我的silicon 用Keil 去编译,不行,报错了

出0入0汤圆

 楼主| 发表于 2015-3-12 14:10:22 | 显示全部楼层
chliken 发表于 2015-3-12 12:27
你是用的什么编译环境来编译的,我的silicon 用Keil 去编译,不行,报错了

avr studio4,编译没问题,不过是针对ATMEGA版本

出0入0汤圆

发表于 2015-3-12 16:11:02 | 显示全部楼层
kingway00 发表于 2015-3-12 14:10
avr studio4,编译没问题,不过是针对ATMEGA版本

我的是报这个错误,如图

出0入0汤圆

 楼主| 发表于 2015-3-13 11:12:32 | 显示全部楼层
chliken 发表于 2015-3-12 16:11
我的是报这个错误,如图

图在哪?

出0入0汤圆

发表于 2015-6-5 23:27:01 | 显示全部楼层
请教一下楼主silab汇编编译环境如何建立?

出0入0汤圆

发表于 2015-7-10 19:49:22 | 显示全部楼层
请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调

出0入0汤圆

 楼主| 发表于 2015-7-11 18:40:12 | 显示全部楼层
a409600516 发表于 2015-7-10 19:49
请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调

不懂,听起来好高端的样子

出0入0汤圆

发表于 2015-7-11 21:05:19 | 显示全部楼层
a409600516 发表于 2015-7-10 19:49
请问楼主了解同步整流吗?我现在BLHeli的基础上修改为同步整流电调

在以往的车用无刷风机中,因为电流比较大,所以需要使用同步整流的方法,这个很早就是成熟技术了。

为了实现同步整流,一般需要带有互补功能的PWM模块,也就是要具有死区功能,以前在普通的8位单片机中很少有这个功能,除了英飞凌的单片机之外。
如果单片机的速度足够快,可以软件模拟,但得不偿失,没有必要,完全可以使用现在先进的32位ARM M0处理器。

出0入0汤圆

发表于 2015-7-13 09:27:53 | 显示全部楼层
mandylion2008 发表于 2015-7-11 21:05
在以往的车用无刷风机中,因为电流比较大,所以需要使用同步整流的方法,这个很早就是成熟技术了。

为了 ...

我是用了三颗同步整流的MOS驱动IC,可以硬件加死区控制。单片机输入一路PWM,后级就会输出两路互补的PWM,然后再BLHeli代码里面改了头文件,以为简单的这样就可以解决了,结果上电就是叫了几下,推油门完全没反应。看过您有在论坛里推荐大家研究BLHeli,请问BLHeli能否做同步整流?我这个方案可行吗?

出0入0汤圆

发表于 2015-7-13 09:41:10 | 显示全部楼层
a409600516 发表于 2015-7-13 09:27
我是用了三颗同步整流的MOS驱动IC,可以硬件加死区控制。单片机输入一路PWM,后级就会输出两路互补的PWM ...

个人觉得最好的方案还是先研究透BLHELI,取得BLDC控制的经验,然后再换用新的单片机,比如STM32,XMC1301等等,甚至用8位的XC836都可以的(英飞凌的DAVE2代码生成器用过后你就会喜欢的)。
基于BLHELI的方案天生就不是做同步整流的。

出0入0汤圆

发表于 2015-7-13 10:48:16 | 显示全部楼层
mandylion2008 发表于 2015-7-13 09:41
个人觉得最好的方案还是先研究透BLHELI,取得BLDC控制的经验,然后再换用新的单片机,比如STM32,XMC1301 ...

意思就是说我用硬件加互补PWM用于BLHeli不行吗?因为现在已经不是学生了,公司不会给你大量的时间去学习的。研究BLHeli代码得花些时间,但是公司看好盈推出同步整流的电调,也想跟上潮流。所以我才想出此方法,如果不行的话我就没必要再折腾下去了。

出0入0汤圆

发表于 2015-7-13 17:17:04 | 显示全部楼层
a409600516 发表于 2015-7-13 10:48
意思就是说我用硬件加互补PWM用于BLHeli不行吗?因为现在已经不是学生了,公司不会给你大量的时间去学习 ...

如果是你们公司想跟上好盈的步伐的话,我可以告诉你好盈现在用的是STM32F051的单片机,好盈刚出的时候我就买了一个研究,发现这个芯片虽然印上了“HW500”的字样,但上面“ST"的标识还是很容易看出来的,根据我以前玩STM32F051的经验以及成本考虑,基本可以确定就是这个型号了。

还是开发无感FOC电调吧,跟在好盈后面打价格战没有意思了。现在飞银加乐都开始卖20元RMB的方波电调,方波还有得玩吗?

出0入0汤圆

发表于 2015-8-19 23:44:19 | 显示全部楼层
mandylion2008 发表于 2015-7-13 17:17
如果是你们公司想跟上好盈的步伐的话,我可以告诉你好盈现在用的是STM32F051的单片机,好盈刚出的时候我 ...

视频里看到了明显的预定位。。。但是能兼容各种电机各种负载的开环加速,这个还是比较有技术含量,值得深究。。。

出0入0汤圆

发表于 2015-10-9 21:25:41 | 显示全部楼层
jamesdeep 发表于 2015-8-19 23:44
视频里看到了明显的预定位。。。但是能兼容各种电机各种负载的开环加速,这个还是比较有技术含量,值得深 ...

你自己画的MK电调板子吗?还有板子吗?谢谢

出0入0汤圆

发表于 2015-10-10 11:50:30 | 显示全部楼层
你自己画的MK电调板子吗?还有板子吗?谢谢

出0入0汤圆

 楼主| 发表于 2015-10-10 19:28:47 | 显示全部楼层
hanhanlili 发表于 2015-10-10 11:50
你自己画的MK电调板子吗?还有板子吗?谢谢

还有,空板子

出0入0汤圆

发表于 2015-11-5 17:55:52 | 显示全部楼层
请问MK电调V1.2版本的电路可以烧写BLHeli的什么版本?《BLHeli supported Atmel ESCs》中该选择哪一个呢?

出0入0汤圆

 楼主| 发表于 2015-11-5 23:53:46 | 显示全部楼层
真的好多巧合 发表于 2015-11-5 17:55
请问MK电调V1.2版本的电路可以烧写BLHeli的什么版本?《BLHeli supported Atmel ESCs》中该选择哪一个呢?
...

都烧不了,要自己改一些端口和设置

出0入0汤圆

发表于 2015-11-6 09:12:41 | 显示全部楼层
楼主貌似自己搞得电调,不错

出0入0汤圆

 楼主| 发表于 2015-11-6 09:16:02 | 显示全部楼层
RudeBoy 发表于 2015-11-6 09:12
楼主貌似自己搞得电调,不错

硬件参考的是MK的,软件参考的BLheli,不过都要作一定修改。应该还好,学BLheli的时候那汇编简直。。。

出0入0汤圆

发表于 2015-11-16 20:23:13 | 显示全部楼层
我用Ride7新建工程,然后下载了最新的14.2程序,但是编译不成功。是不是还需要什么补丁啊?

Building G:\My_BLHeli\BLHeli.asm
due to missing G:\My_BLHeli\BLHeli
Unknown tool: $(Target.Tools.Assembler)
  
Build failed

出0入0汤圆

发表于 2016-2-23 09:03:53 | 显示全部楼层
你好,我最近在MK源程序的基础上也做了一个电调。但发现定位处不太好,初始总定位到AB相。定位时会出现小范围(小于60°电角度)现象。请问下BLHELI代码中的定位是采用的这样的技术吗?

出0入0汤圆

发表于 2016-3-2 20:24:29 | 显示全部楼层
BLHELI代码 中有开任意相定位吗?知道的回答下,谢谢

出0入0汤圆

发表于 2016-3-2 20:40:08 | 显示全部楼层
现在方波电调真的没得搞了,FOC电调也没多少技术含量了。

出0入0汤圆

 楼主| 发表于 2016-3-2 22:15:29 | 显示全部楼层
鸵鸟蝈蝈 发表于 2016-3-2 20:40
现在方波电调真的没得搞了,FOC电调也没多少技术含量了。

那应该什么电调?

出0入0汤圆

发表于 2016-4-11 21:20:24 | 显示全部楼层
lz能大概简绍一下blheli的思路吗?还有blheli开源代码中过零点检测电路是带rc还是没有,正打算研究blheli8051f310的开源程序,因为汇编不好,看比较难懂,lz要是能讲一下思路,再去看就好多了,学习汇编lz有什么推荐的书?

出0入0汤圆

 楼主| 发表于 2016-4-11 23:05:05 | 显示全部楼层
浪子怀海 发表于 2016-4-11 21:20
lz能大概简绍一下blheli的思路吗?还有blheli开源代码中过零点检测电路是带rc还是没有,正打算研究blheli80 ...

我这个帖子的意思就是过零检测电路不要加上电容,不然会导致过零信号延迟,高速的时候电机会出现突然停转的现象。
思路什么的现在都快忘得差不多了。
至于学汇编,我是看的王爽的“汇编语言”第二版,这本书讲的是DOS汇编的,其实学习这个主要是学习汇编的思路,在AVR上用汇编的时候实际上用的是AVR的指令集,但大同小异。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-23 15:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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