|
楼主 |
发表于 2013-4-16 21:01:30
|
显示全部楼层
这篇帖子写的比较早,到现在也过了很长的时间了,现在看来,我自己都觉得某些地方写的有问题了,大家参考使用的过程中,有可能有一些问题,我感到很抱歉,这里我就写一写我对BLDC控制的几点体会吧。
(1)关于过零后延时30度电角度换相的问题
为了尽量提高电源利用效率,BEMF过零后30度电角度是最佳换相点,但是30度电角度永远都只是一个预测值,因为我们无法知道BEMF过零的时候电机是在加速还是减速,而在航模上,一般不会有太大的外部扰动对电机转速造成影响,因此使得电机加速减速的主要原因就是给定的控制量了。也就是在固定某一个PWM值的时候,转速达到稳态,这个时候,换相时间基本相等,因此采用上一次的换相周期计算30度电角度,是比较准确的。而如果给定的PWM突变,那么电机会加速或者减速,这个时候30度电角度就不好预测了,如果加速度的绝对值不大,那么基本能在不失步的情况下达到稳态,如果给定PWM变化太大,那么有可能30度电角度相差太大,造成失步。一个简单的解决办法是限制PWM的大幅度变化,当然这个方法降低了控制器的暂态相应。更好的解决办法大家可以讨论讨论。
(2)换相后的续流问题
换相之后的初期,这一次的悬浮相在上一次是通电相,因此还在续流,短暂的时间内BEMF是无法观测的,这个时间的长短取决于相电流和电感,负载重的话,时间会比较长,启动的时候电机出力大,续流时间也会长一些。
一般需要换相后等待一段时间才检测BEMF,但如前面所说,这个时间长短并不好确定,时间太短,续流会产生“假过零”,时间太长会错过BEMF过零。
ST的ST7MC系列MCU的AN中有提到一种方法,是直接检测这个续流事件,检测到续流结束后立刻开始检测过零,但是此方法实现起来貌似并不容易,我尝试过实现这个方法,但是没有成功,大家可以讨论讨论检测方式,或者交流一下解决这个问题的方法。
以上是我觉得BLDC控制中的关键点,如果这两个问题能解决好,BLDC控制器将具有非常好的暂态性能,这对于四旋翼的控制来说是一个福音。
另外,我手头暂时没有商品电调,如果哪位坛友方便,有条件的话,测试一下它的暂态响应,测试方法是:
让电机带桨,固定好电机(一定注意要固定好),先让电调启动,比如给5%的PCM信号,然后给一个阶跃到100%PCM(中间没有渐变过程,也就是PCM的第n个周期是5%,n+1个周期的时候,就是100%),用示波器抓取此过程中的2个信号:
(1)MCU的PWM输出
(2)某相电压
看看是否有可以借鉴的地方 |
|