无刷电机调速控制是电机控制的基本要求。
常见的控制方式无外乎几种:
电位器(AD)调速、PWM调速、分段速度调速(或给定速度调速)。
我的一本书,比较经典用心,推荐学习
文末扫码进群获取
最近在调高速无刷电机无级调速时遇到一些问题,结合自己近20年的电机驱动开发经验,分享一些问题和心得。
我最近开发的这个应用,MCU选用了CW32L010。采用AD比较过零点,无感控制BLDC方式。AD转换速率最快为2M。即每一个数据点采样时间为0.5US。一个PWM周期按5路AD转换需求来算,一个周期内,AD转换时间约为2.5US。
当使用AD电位器调速时可能存在的问题:
使用AD电位器调速时,调速精度最高计算方法:100000/4096=24.4RPM(以CW32L010为12位AD计算)。即每个AD转换精度位,可调转速精度最高为24.4RPM。若存在2个AD转换位误差时,转速变化将为50RPM左右。
实际控制中,由于硬件上地线干扰等引起的AD输入的干扰,会引起更多不确定的AD转换位误差,所以在没有做软件AD滤波的时候,无极调速很难将速度控制在一个理想值。
因此,在使用电位器无极调速时,发生ADC采集到的给定的电压值存在浮动(或开环占空比浮动),容易引起电机输出速度的浮动。反映在高转速电机上,如暴力风扇、高速风机、可以听到电机因为转速不恒定而产生不均匀的噪音。就像末日刮风胡乱吹一样。
几乎所有涉及到高速电机的产品,很少有用无极调速的方式,更多的是使用分段给定速度的方法,也就是换挡调速。
但有时客户有应用需求,也有简单的方法可以解决,也就是在AD转换上加一道滤波算法,将AD采集的干扰滤除。这样会使调速精度降低,从而略微影响电机调速时转速变化的平滑度。
当使用PWM调速时可能存在的问题:
教科书的PWM调速,是让MCU对PWM进行输入捕获,但在实际使用中仍会有很多问题。
比如这个PWM占空比的识别,存在非常占用中断资源和定时器时钟资源的问题。
这给MCU的运算处理增加了很多负担。PWM输入频率越低,MCU负担越轻。
同时,外部的干扰有时会导致定时器精度受限,也会出现无法准确识别100%占空比的情况(这种可以将99%占空比认定为100%)
在很多普遍的应用中,都是在硬件的PWM输入处增加一个RC滤波器,将PWM值转换成AD模拟值,有时为了提升转换的线性度,也会使用运放设计一个跟随器威廉希尔官方网站
,增大RC输入的内阻。此时PWM输入频率越高越好。
但这种方式也有点小问题,在不标定的情况下,无法准确确定PWM转AD的线性的对应关系。
如果回到PWM输入捕获,在使用PWM频率为10K时,我们不使用输入捕获功能,而是改为IO边沿中断,减轻MCU运算负担,PWM引起的IO中断频率将为20K(需要捕获2次边沿中断),即50US。此时,电机驱动器相当于一个开环执行器,在一些控制应用中,可以通过外部增加如压力、温度、速度等闭环控制。
使用分段速度给定可能存在的问题:
分段速度最易理解。在这里指不做无级调速,固定几个速度值,或三档或五档或十档,进行切换调整。该方法可以通过按键切换速度档位,或以通讯控制给定确定不变的速度值。
很多新人工程师想当然的去做时,却会发现在这种方式下,
由于速度调整变化,在不同档位之间切换时会有不连续的感觉。
以风机、泵类驱动最为明显。
也以降档(降速)控制最为明显。
只需要平缓降(升)速即可解决。
不合理的调速策略,可能会带来产品噪音及运行稳定性的问题,虽然调速是电机控制的基本内容,但在产品及工程应用时,需要考虑很多细节因素。而对于很多经验不足的工程师,在排查开发问题时,往往不会关注到他们的调速策略是否合理,导致项目无法顺利完成。
以上都是结合自己的开发经验浅谈一下,欢迎批评建议和讨论。
写在最后:
电机控制应用是一个综合性很强的技术,
如果您对此感兴趣,
可以参加CW32生态社区举办的
免费的电机控制应用专题培训直播,
我也会在直播间给大家
分享干货知识~
解答开发疑虑~
各种奖品福利~
记得扫码报名,进群领取电机控制资料!
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !