基于传感器反馈的无刷直流电动机六步换相
本例采用120度导通方式实现六步换相技术控制三相无刷直流(BLDC)电机的转速和旋转方向。本例使用六步换向块产生的开关顺序来控制三相定子电压,从而控制转子的速度和方向。有关此块的详细信息,请参见六步换向.
六步换相算法需要霍尔序列或转子位置反馈值(从正交编码器或霍尔传感器获得)。
正交编码器传感器由一个带有两个磁道或通道的磁盘组成,磁道或通道被编码为90电相位外度。这就产生了两个相位差为90度的脉冲(A和B)和一个指数脉冲(I)。控制器使用A和B通道之间的相位关系以及通道状态的转换来确定电机的速度、位置和旋转方向。
霍尔效应传感器根据施加的磁场强度改变其输出电压。根据标准配置,无刷直流电动机由三个霍尔传感器组成,分别位于电120度。具有标准霍尔位置(其中传感器电间距为120度)的BLDC可以提供六种有效的二进制状态组合:例如001,010,011,100,101和110。传感器提供了转子的角位置,在60度的倍数,控制器使用它来确定转子所在的60度扇区。
控制器通过霍尔序列或转子位置来控制电机。它为定子绕组的下两相通电,使转子始终保持90度的转矩角(转子d轴与定子磁场的夹角),偏差30度。
注意:霍尔序列可以变化。举个例子无刷直流电动机霍尔传感器序列校准来确定霍尔序列。
模型
该示例包括以下模型:
您可以将这些模型用于模拟和代码生成。要打开Simulink®模型,还可以在MATLAB命令提示符下使用open_system命令。以F28379D控制器为例:
open_system (“mcb_bldc_sixstep_f28379d.slx”);
有关支持的硬件配置的详细信息,请参见“生成代码并将模型部署到目标硬件”部分中的所需硬件。
需要MathWorks®产品2022世界杯八强谁会赢?
模拟模型:
电机控制块集™
Simscape™电气™
生成代码并部署模型:
电机控制块集™
嵌入式编码器®
德州仪器C2000处理器的嵌入式Coder®支持包
定点设计器™(仅用于优化代码生成)
先决条件
1.获取电机参数。我们用Simulink模型提供默认电机参数,您可以用电机数据表或其他来源的值替换这些参数。
但是,如果您有电机控制硬件,则可以使用motor control Blockset参数估计工具来估计要使用的电机的参数。有关说明,请参见使用推荐硬件估算PMSM参数.
参数估计工具更新motorParam变量(在MATLAB®工作空间)与估计电机参数。
2.如果您从电机数据表或其他来源获得电机参数,请更新与Simulink模型相关的模型初始化脚本中的电机参数和逆变器参数。有关说明,请参见估计控制增益并使用效用函数.
如果使用参数估计工具,可以更新逆变器参数,但不更新模型初始化脚本中的电机参数。脚本自动从更新的文件中提取电机参数motorParam工作空间变量。
模拟模型
本例支持模拟。按照以下步骤模拟模型。
1.打开本示例中包含的模型。
2.在模型中选择QEP或Hall Speed_Feedback单选按钮。
3.点击运行在模拟TAB来模拟模型。
4.点击数据检查在模拟选项卡查看和分析仿真结果。
生成代码并将模型部署到目标硬件
本节向您展示如何在目标硬件上生成代码和运行FOC算法。
本例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户界面。您可以在主机计算机上运行主机模型。使用该主机型号的前提是将目标型号部署到控制器硬件板上。主机模型通过串行通信对目标Simulink模型进行命令,并对电机进行闭环控制。
所需的硬件
该示例支持这些硬件配置。还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。
LAUNCHXL-F28069M控制器+ BOOSTXL-DRV8305变频器:mcb_bldc_sixstep_f28069mLaunchPad
LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305变频器:mcb_bldc_sixstep_f28379d
有关与这些硬件配置相关的连接,请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置.
在目标硬件上生成代码和运行模型
1.对目标模型进行仿真,观察仿真结果。
2.完成硬件连接。
3.该模型默认计算ADC(或当前)偏移值。若要禁用此功能,请将值0更新为变量逆变器。ADCOffsetCalibEnable在模型初始化脚本中。
或者,您可以计算ADC偏移值,并在模型初始化脚本中手动更新它们。有关说明,请参见在开环控制下运行三相交流电机并校准ADC偏移.
4.如果您正在使用正交编码器,请计算正交编码器索引偏移值,并在与目标模型关联的模型初始化脚本中更新它。有关说明,请参见永磁同步电机正交编码器偏置校准.
5.如果使用霍尔传感器,请计算霍尔序列值并在bldc.hallsequence与目标模型相关联的模型初始化脚本中的变量。有关说明,请参见无刷直流电动机霍尔传感器序列校准.
6.打开目标模型。如果要更改该型号的默认硬件配置设置,请参见型号配置参数.
7.在目标模型中选择QEP或Hall Speed_Feedback单选按钮。
8.将示例程序加载到LAUNCHXL-F28379D的CPU2中。例如,您可以使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序,并确保CPU2不会被错误地配置为使用CPU1的板外设。
9.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
10.单击主机模式在目标模型中使用超链接打开关联的主机模型。您还可以使用open_system命令打开主机模型。对于F28379D类型的控制器使用此命令。
open_system (“mcb_bldc_host_model_f28379d.slx”);
有关主机和目标器型号之间的串行通信,请参见Host-Target沟通.
11.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
12.中更新参考速度值参考转速(RPM)主机模型中的字段。
13.在主机模型中,选择要监视的调试信号。
14.点击运行在模拟TAB来运行主机模型。
15.将起动/停止电机开关位置改为On,开始运行电机。
16.在主机模型的Scope和Display块中观察来自RX子系统的调试信号。