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) 文档里面有些东西没有明白,见第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) 研究了一下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) 过零检测用AD是不是太浪费了? 楼上的看来应该没有做过BLDC,不了解BEMF的电平特征。 呵呵,我就是做BLDC开发的,我认为BEMF用比较器检比用AD检节省资源,用AD只能傻等零点出现,而用比较器则可以进中断处理. 把Grant大侠勾引出洞了,哈哈,失敬失敬!
我的计算有误,把每分钟的转数搞到了每秒钟,不好意思。
Grant帮我看看1楼的问题嘛,本人菜鸟一个,很还在学习中,恨不得当初专业学的电机拖动,请多指教! 哈,好文~ KOK也来了,贵客哟! 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)
很简单,我就不翻译了。 这个讨论比较深入。COOL ! 要专门钻研这个的比较专业。 感谢阿莫,我只是拿个瓦片,引来了美玉哈,这个裤子是给Grant穿上来的,还望Grant不吝赐教。
Figure 8 shows the comparison of back EMF detection during off time vs on time.
依然不明白,上面这句话的Off time 和 On time表示什么意思。 再请教一个问题:在不同的转速下,线圈有不同的电感,电感量大小对调制PMW波会在效率上会有很大关系,我们可不可以在某个时间段,发送一串(个)特定的典型脉冲,然后检测线圈对这个脉冲的响应,从而确定线圈的电感大小,再根据这个作为输入参数对PWM波形进行调整,从而使电机的效率达到最佳。
这个文档里面的波形图,是宝贵的技术资料,以一般中小型公司的规模,做这个工作还是有些困难的哈,值得研究 【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波形进行调整,从而使电机的效率达到最佳。
这个文档里面的波形图,是宝贵的技术资料,以一般中小型公司的规模,做这个工作还是有些困难的哈,值得研究
================================================
不是我想水,人肉置个顶,希望有人答疑指点 12楼的答案在ST7MC 数据手册MTC章节,我现在在外地出差,忙里偷闲上上网,下周回去答复你。
13楼,我不知道该如何与你解释。线圈的电感肯定是有影响的,这也是为何我们讲驱动配合马达,不讲马达配合驱动。正常情况下不会说要去测试每种转速下的电感然后再调试驱动参数,通常是在每一种需要变换转速的点上测试驱动参数,由于驱动本身的算法是有PI调节的,可以适应。
ST7MC的关键在MTC模块,我很想用ST7MC来试试推动遥控模型上的马达,只是苦于没有可以适应这类马达电流的功率管。 我买了30片SI4378DY,不晓得合用不?要是你觉得合用,可以送你几片呢
由于驱动本身的算法是有PI调节的,可以适应。—— 大概意思是驱动本身就有设计这种补偿,可以适应不同的电机吗?我是这么想的哈。 学习了 mark mark 按个爪印 学习 记号,学习一下 mark 好贴学习了 mark mark BLDC的闭环控制有点难
页:
[1]