黄工无刷电机学习
直播中

h1654155275.5697

7年用户 615经验值
私信 关注
[问答]

为什么要实现一个VF控制呢?

什么是VF控制?
VF控制的实现方式有哪几种?
为什么要实现一个VF控制呢?

回帖(1)

李长宝

2021-7-21 15:07:35
  VF控制实际上是一种开环的驱动方式。在前一篇博文中已经讲了,实际上只要对无刷电机或者PMSM通入三相的正弦交流电,电机即可转动。
  VF控制就是这种方式,他无需知道电机当前的旋转角度,仅仅需要无脑输入三相交流电即可。
  那么通过改变电压与频率的比值,也就是V/F,就可以进行调速以及调力矩。
  在基频以下,电机为恒力矩运行(因为还未到额定功率)。
  在基频以上,电机为恒功率运行(此时速度越快,电机力矩越小),也叫做弱磁扩速。
  VF控制的实现方式有多种,比较常见的是使用SPWM或者SVPWM。
  SVPWM的方式对于母线电压利用率可以比SPWM高个15%左右(推导详情请看书)
  实际上,几乎所有没有编码器的云台都是用这种方式驱动的电机,用这种方式驱动云台电机有一个好处,就是机械结构很简单,毕竟多安装一个编码器,磁编码器也好,光电码盘也好,都需要额外的结构,有点麻烦。
  这里用的是SVPWM来实现的V-F控制。为什么这里要实现一个V-F控制呢。因为实际上FOC比较复杂,但原理与VF有相似之处(相似的地方在于SVPWM,但如何使用SVPWM,二者不太相似),且VF较为简单,可以先测试一下SVPWM。
  写得对不对。当然了,我一开始仅仅只是为了测试一下SVPWM,并不知道这种方式就是VF控制。
  实现思路
  实现SVPWM
  SVPWM的输入是期望电压矢量,形式可以是极坐标形式(幅度,theta),也可以是三角坐标形式(X,Y)。
  两种方式各有优劣,看之后计算怎么写吧。
  然后判断期望电压矢量落在哪个扇区。如果使用极坐标计算的话,这里就很简单了,直接把theta/6,然后判断即可。如果是XY可能就麻烦一点了。判断是什么扇区之后,通过查表查出这个扇区的两个电压矢量是哪两个,分别记为u1 u2。判断出来之后,就可以计算出这两个电压矢量分别需要作用的时间t1 t2,t1 t2我是用百分比表示的,后来证明这个表示方式对简化计算很有帮助。
  计算出t1 和t2后,就可以计算出t0和t7(分别是两个零矢量作用时间,000和111)。
  有了t1 t2 和t7,(t0可以不用(因为实际上t0对CCR无贡献)),接下来可以计算CCR了。
  CCRA=u1.at1+u2.at2+u7.a*a
  CCRB和CCRC同理,这样实际上是计算出某一相需要导通的占空比。
  然后真正赋给定时器的CCR1 CCR2 CCR3的时候,乘以定时器的ARR就行了。
  定时器方面需要注意的几个点:
  定时器的频率如何计算,这个留在后面讲。
  定时器需设置为中心对称模式,且开启互补模式。
  需要注意设置为PWM1模式或者是PWM2模式,按照我上面写的算法,设置为PWM2模式会简单一点。
  RCR(重复计数器需要设置成1),也就是一次上溢+一次下溢才触发一次定时器更新。
  定时器需要开启预装载,这样每次修改完CCR的值,不是立即更新,而是等到更新事件发生后再修改。参考手册中把那个实际起作用的叫做影子寄存器,而用户平时修改的并不是影子寄存器。当然了,如果没开启预装载,那么用户的修改就直接修改到影子寄存器上了。
  这样可以说就是一次SVPWM运算周期了,我用示波器测了一下运行时间,大概是2us。(STM32F405,开启浮点库,三角运算使用浮点库)
  V-F
  终于到V-F了,前面讲了这么多可惜都和V-F没啥关系,VF实际上比SVPWM的实现还简单,毕竟他是SVPWM的上层。
  V-F的思路是,刚上电的theta为0,每次增加一个小增量作为期望电压矢量,如果上面使用极坐标的形式,那么这里只要每次把theta加一下就好了。
  那么这个小增量是多少呢?
  实际上这也跟奈奎斯特采样定理有关系,需要采集多少个点才可以恢复出波形?理论上来说只需要2步(2倍原频率),但实际上这样恢复出来的肯定不是正弦波了,因此这个划分多少步是越多越好(在处理器能处理的情况下)。
  还有一个问题,就是前面所说的,定时器的频率应该是多少?
  我们先计算一下电机旋转的频率,因为我们通过SVPWM产生的正弦波的频率就是电机运转的频率,也叫(载波频率,电源频率)。
  我们希望的转速是1rps。
  再把极对数考虑进去,假设电机为7对极,那么电机转一圈实际上要划分的实际步数为71一圈的步数,这就是定时器1s的中断频率。
  但考虑到定时器是时中心对称模式,因此实际上写进去的ARR还需要再除以2。
  需要注意的是,这个定时器的频率也叫开关频率,也就是我们平时PWM的频率。这个频率最好超过20K,这样人耳就听不到了,否则如果频率太低,就会听到嗡嗡的声音,让你误以为你SVPWM或者什么地方有问题。
  现在有一个问题是,定时器的频率与 划分粒度和 转速相关,如果改变转速的话,定时器的频率会变,解决办法也简单,同步改变划分粒度就是了,低转速下划分粒度就大点,高转速下划分粒度就小点。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分