thomasdu 发表于 2008-7-19 13:14:28

BLDC驱动的最佳效果之CPU计算能力推算

下面推算有误,数据相差60倍,也就是1秒钟和1分钟的关系 —— by 楼主补充于发贴后
----------------------------------------------------------

很想做BLDC驱动,动手之前,在CPU选择上晃点,做个简单的BLDC驱动的CPU计算能力推算

CPU任务:
1、产生PWM波形
2、检测反电动势
3、执行换相操作

按照1万转的电机,要精确的监测出每一相的过零点,需要的AD变换速度大概是:1/(10000*3*100) = 0.3us,如果只检测一相的过零点,其他2相根据监测值进行推算,则AD需要的速度为1us

假设换相的最佳角度<3度,则时间 < (1/10000)*(3/360) = 0.8us

执行一次换相,假设使用RISC CPU,最高中断级别执行,每次需要执行50条指令,则,0.8us/50 = 60 MIPS

研究了一下STM32的资料,结论大概就是,基本上也就在1W转这个档次的电机可控,1W转已经比较吃力了,还要保证程序写的好,执行效率很高,到了2万转估计CPU就只有蒙了哈,结果就是烧电机或驱动管


需要达成的目标是飞行电流最小,滞空时间更长,就需要精确控制,1万转以下,可以使用STM32,1万转以上的电机,要重新考虑方案。

附上ST公司的AN2030文档中的一个反电动势波形图,原文件名:
BACK EMF DETECTION
DURING PWM ON TIME BY ST7MC
http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_352271.JPG
反电动势波形 (原文件名:Figure5.JPG)

文档在此ourdev_352272.pdf(文件大小:362K) (原文件名:BACK EMF DETECTION.pdf)

thomasdu 发表于 2008-7-19 15:08:44

文档里面有些东西没有明白,见第8页,

Figure 8 shows the comparison of back EMF detection during off time vs on time.
看不明白On time和Off time代表什么。

如图:
http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_352371.JPG
Figure8 (原文件名:Figure8.JPG)

Grant 发表于 2008-7-19 18:54:19

研究了一下STM32的资料,结论大概就是,基本上也就在1W转这个档次的电机可控,1W转已经比较吃力了,还要保证程序写的好,执行效率很高,到了2万转估计CPU就只有蒙了哈,结果就是烧电机或驱动管


妄断,很多东西你都没有考虑。极对数呢?我直接用ST7MC-KIT BLDC上的那个2对极的风机就上到过1.1W转,波形没什么问题啊。只是因为风扇实在太吵了,就没有往上加。


既然你提到St7MC,那我也给你一张图看看,内部培训资料,不便全文公开。STM32就不解释了,理论上这会比ST7MC更好,要不32bit也就没这个价值了。我下订单购买的STM3210B-MCKIT也才刚拿到手,因电流探头被客户借出去了,要拿回来测试了才有发言权。

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_352536.jpg
(原文件名:1.jpg)

wxyujz 发表于 2008-7-19 18:59:23

过零检测用AD是不是太浪费了?

Grant 发表于 2008-7-19 19:23:36

楼上的看来应该没有做过BLDC,不了解BEMF的电平特征。

wxyujz 发表于 2008-7-19 19:40:21

呵呵,我就是做BLDC开发的,我认为BEMF用比较器检比用AD检节省资源,用AD只能傻等零点出现,而用比较器则可以进中断处理.

thomasdu 发表于 2008-7-19 19:43:13

把Grant大侠勾引出洞了,哈哈,失敬失敬!

我的计算有误,把每分钟的转数搞到了每秒钟,不好意思。

Grant帮我看看1楼的问题嘛,本人菜鸟一个,很还在学习中,恨不得当初专业学的电机拖动,请多指教!

kingofkings 发表于 2008-7-19 19:43:33

哈,好文~

thomasdu 发表于 2008-7-19 20:22:32

KOK也来了,贵客哟!

Grant 发表于 2008-7-19 23:22:55

OK,那就先回答5楼的问题吧。

ST7MC过零点的取样本就是用内部比较器的,只是稍有不同。如以内部参考电平为基准,可以设定几个预设的比较阀值电平。换句话说,所谓的过零并不表示需要判决的过零点就一定是电平是0V。

讲过零点取样当然要搬出ST7MC中的MTC模块了,先来张MTC模块示意图:

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_352710.jpg
(原文件名:MTC.jpg)

可以注意模块上边BEMF部分的结构。


下面的内容讲的就是这个阀值电平的设定:
http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_352711.jpg
(原文件名:1.jpg)

很简单,我就不翻译了。

armok 发表于 2008-7-20 05:12:39

这个讨论比较深入。COOL !

mahui625 发表于 2008-7-20 11:43:37

要专门钻研这个的比较专业。

thomasdu 发表于 2008-7-20 14:52:49

感谢阿莫,我只是拿个瓦片,引来了美玉哈,这个裤子是给Grant穿上来的,还望Grant不吝赐教。

Figure 8 shows the comparison of back EMF detection during off time vs on time.

依然不明白,上面这句话的Off time 和 On time表示什么意思。

thomasdu 发表于 2008-7-20 15:42:20

再请教一个问题:在不同的转速下,线圈有不同的电感,电感量大小对调制PMW波会在效率上会有很大关系,我们可不可以在某个时间段,发送一串(个)特定的典型脉冲,然后检测线圈对这个脉冲的响应,从而确定线圈的电感大小,再根据这个作为输入参数对PWM波形进行调整,从而使电机的效率达到最佳。

这个文档里面的波形图,是宝贵的技术资料,以一般中小型公司的规模,做这个工作还是有些困难的哈,值得研究

thomasdu 发表于 2008-7-21 09:40:30

【12楼】 thomasdu
积分:250
派别:
等级:------
来自:
感谢阿莫,我只是拿个瓦片,引来了美玉哈,这个裤子是给Grant穿上来的,还望Grant不吝赐教。

Figure 8 shows the comparison of back EMF detection during off time vs on time.

依然不明白,上面这句话的Off time 和 On time表示什么意思。
 
2008-07-20,14:52:49   资料邮件             编辑删除   

【13楼】 thomasdu
积分:250
派别:
等级:------
来自:
再请教一个问题:在不同的转速下,线圈有不同的电感,电感量大小对调制PMW波会在效率上会有很大关系,我们可不可以在某个时间段,发送一串(个)特定的典型脉冲,然后检测线圈对这个脉冲的响应,从而确定线圈的电感大小,再根据这个作为输入参数对PWM波形进行调整,从而使电机的效率达到最佳。

这个文档里面的波形图,是宝贵的技术资料,以一般中小型公司的规模,做这个工作还是有些困难的哈,值得研究


================================================

不是我想水,人肉置个顶,希望有人答疑指点

Grant 发表于 2008-7-21 10:46:31

12楼的答案在ST7MC 数据手册MTC章节,我现在在外地出差,忙里偷闲上上网,下周回去答复你。

13楼,我不知道该如何与你解释。线圈的电感肯定是有影响的,这也是为何我们讲驱动配合马达,不讲马达配合驱动。正常情况下不会说要去测试每种转速下的电感然后再调试驱动参数,通常是在每一种需要变换转速的点上测试驱动参数,由于驱动本身的算法是有PI调节的,可以适应。

ST7MC的关键在MTC模块,我很想用ST7MC来试试推动遥控模型上的马达,只是苦于没有可以适应这类马达电流的功率管。

thomasdu 发表于 2008-7-21 11:57:48

我买了30片SI4378DY,不晓得合用不?要是你觉得合用,可以送你几片呢

由于驱动本身的算法是有PI调节的,可以适应。—— 大概意思是驱动本身就有设计这种补偿,可以适应不同的电机吗?我是这么想的哈。

13590955160 发表于 2009-12-6 16:53:09

学习了

xrhpcb 发表于 2009-12-6 17:28:08

mark

rei1984 发表于 2009-12-6 21:35:19

mark

h2feo4 发表于 2009-12-6 21:36:30

按个爪印

aduc812 发表于 2009-12-7 09:23:35

学习

feng200808 发表于 2010-3-15 18:44:58

记号,学习一下

www1519 发表于 2011-8-19 21:40:38

mark

snglnc 发表于 2011-8-21 17:16:52

好贴学习了

largeboss 发表于 2011-8-21 21:02:34

mark

imjacob 发表于 2011-8-21 22:14:54

mark

dongyedtx 发表于 2011-9-3 22:35:37

BLDC的闭环控制有点难
页: [1]
查看完整版本: BLDC驱动的最佳效果之CPU计算能力推算