LabVIEW开发无刷直流电机磁场定向控制器(FOC)/空间矢量控制器 点击:262 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2023-03-09 19:15:50
楼主

LabVIEW开发无刷直流电机磁场定向控制器(FOC/空间矢量控制器

这组代码提供了用于控制无刷直流(BLDC)电机的磁场定向控制器(FOC)或空间矢量控制器。

与更常见的有刷直流电机相比,无刷电机具有显着优势,包括提高效率、减少电磁干扰(EMI)、减少所需的维护等。然而,电机复杂性的增加也需要更复杂的控制系统才能使其正常运行。典型的BLDC控制器需要霍尔效应传感器、编码器或电流反馈(通常是反馈类型的组合)。

BLDC电机已经开发了各种控制方法,从由霍尔传感器反馈控制的简单6相步进到控制系统产生3相正弦电压以驱动电机的正弦控制,再到磁场定向控制。该代码块侧重于第三种控制方法,其基础涉及一个变换矩阵,该变换矩阵获取电机绕组中的电流,并在连接到转子的旋转坐标系(方向dq)中表示它们。然后,控制系统使用三个PI回路来控制旋转坐标系中的速度和电流。“q”方向的电流产生纯扭矩,而“d”方向的电流在电机轴承上产生纯推力。目标是控制“q”电流以提供适当的速度,同时最小化“d”电流。

控制器中的逆变换采用“d”“q”方向的电流,并将它们表示为电机绕组中的三个电压矢量VaVbVc。最后,SVgen模块采用三个电压并计算PWM占空比,该占空比将在专为BLDC电机控制设计的6FET桥中产生这些电压。

图像显示示例FOC算法的前面板和框图。控制器有5个输入:IaIbθ、速度设定值和速度。IaIb是无刷直流电机线圈中测量的电流,由于反电动势的已知形状,可以计算Ic。这些可以使用专用电流传感器或与每个电机绕组串联的分流电阻器进行测量。θ定义为转子的角度,并初始化为霍尔效应传感器上升沿的θ=0。速度设定点由用户定义,转速(以RPM为单位)必须根据霍尔传感器信息、编码器传感器反馈或其他反馈方法计算得出。

控制器中有两个系统常数,PWM周期和总线电压的倒数。这两个值调整SVgen块以匹配系统参数。

每个PI模块都有自己的增益来控制电流。这些增益将取决于电机、连接到电机的系统等。在实现中,一次调整一个会很有帮助。从恒定的Vd开始,并输入IqPI控制器的恒定输入,然后调谐KpIq)和KdIq)。调谐后,添加IdPI控制器并调谐其增益。最后,添加速度反馈并调整速度PI环路的增益。

关于测试FOC控制器,有一些重要说明:

要测试ClarkePark变换,将它们全部串联起来应该会产生一个等于单位矩阵的变换矩阵。克拉克的输入应与逆克拉克的输出相同。为了测试这一点,将克拉克连接到帕克到反向公园,最后将输入翻转到修改后的克拉克块(该块的修改版本在内部翻转输入,以便它们使SVgen函数更直接)。

为了测试逆公园变换和修正逆克拉克变换,请将常数连接到VqVd。修正克拉克的输出应该是三相正弦电压。

要测试SVgen模块,请将VaVbVc替换为三个异相120度的正弦曲线(或包括反向公园和具有恒定IdIq的改进的逆克拉克)。SVgen块的输出应与正弦(或V/f)控制(类似于连接的“W”“M”的周期性形状)的查找表的输出相同。

附加的文件应该能够用于实现功能性FOC算法。压缩文件包含示例代码的源代码分发。硬件实现还需要一个能够访问各个栅极的6FET(或7-FET)电机驱动器。下面的示意图说明了用于测试该控制算法的设置(对于此特定控制算法,第7总线电平门被编程为始终通电)。

软件要求:

LabVIEW 2012(或兼容)LabVIEWFPGA模块

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

LabVIEW程序,如下附件所示。




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师