主要内容

永磁同步电动机磁场定向控制

这个例子展示了如何使用C28x外设和DMC库块通过磁场定向控制(FOC)在闭环方式控制三相永磁同步电机的速度。

所需的硬件

此示例支持多种硬件配置:金宝app

DM550配置

  • 基于F2808或F2812 eZdsp的Spectrum Digital®板

  • 数字电机控制板:Spectrum数字DM550

  • 带正交编码器的三相永磁同步电机

DRV8312配置

  • TI®DRV8312三相无刷电机控制套件(DRV8312-C2-Kit或DRV8312-69M-Kit),带有F28035或F28069短笛或F28M35x或F28M36x协奏曲处理器(要使用F28M35x/F28M36x,您需要德州仪器C2000协奏曲支持包)金宝app

  • 带有可选霍尔传感器的三相永磁同步电机连接至DRV8312EVM板的连接器J10

双电机控制配置

  • TI双电机控制和PFC开发工具TMDS2MTRPFCKIT和F28035

  • 2三相PMSM,可选霍尔传感器连接到基于drv8402的双轴DMC EVM (TMDS2MTRPFCKIT)的连接器J4

高压电机控制配置

  • TI高压电机控制和PFC开发工具TMDSHVMTRPFCKIT(带F28035)

  • 带有可选霍尔传感器的三相永磁同步电机连接至高压电机控制套件(TMDSHVMTRPFCKIT)的接头H1

TI C2000启动板,带电机驱动增压器组配置

  • 电机驱动助推包具有DRV8301 (BOOSTXL-DRV8301)与F28027发射台(LAUNCHXL-F28027)

  • 三相永磁同步电动机

TI LaunchXL-F28379D/F28377S,带电机驱动增压器组配置

  • 配备DRV8305(BOOSTXL-DRV8305EVM)和F28379D/F28377S启动板(LAUNCHXL-F28379D/LAUNCHXL-F28377S)的电机驱动增压器组

  • 两个三相PMSM耦合形成一个Dyno (2MTR-DYNO)

TI LaunchXL-F28069M与电机驱动助推器包配置

  • 电机驱动助推包具有DRV8301 (BOOSTXL-DRV8301)与F28069M发射架(LAUNCHXL-F28069M)

  • 两个三相PMSM耦合形成一个Dyno (2MTR-DYNO)

笔记:将电源和放大器的特性与所选电机的输入特性相匹配。

可用的模型

以下是不同驱动-控制器组合的示例模型:

笔记在LaunchXL F28379D(2.0版)中,Ia和Ib测量的ADC偏移与早期的板不同。打开“c28379Dpmsmfocdual_cpu1_ert”模型。基金”、“c28379Dpmsmfocdual_cpu2_ert。根据电路板的版本,适当地改变手动开关的位置。要更改模型中的手动开关设置,请浏览为船完成电动机>转矩控制算法>输入扩展. 建议校准ADC偏移,因为不同的板的ADC偏移不同。

模型

下图显示了永磁同步电机磁场定向控制示例模型。

在该实例中,采用闭环磁场定向控制算法对三相永磁同步电机(PMSM)的速度和转矩进行调节。这个例子使用了德州仪器C2000处理器的嵌入式编码器支持包中的C28x外设块和C28x DMC库块。金宝app

本例中的算法使用了异步调度。脉宽调制(PWM)模块触发ADC转换。在转换结束时,ADC发布一个触发主FOC算法的中断。

配置中断操作配置参数>硬件实现>硬件板设置>目标硬件资源>外部中断. 有关详细信息,请参阅德州仪器C2000处理器的模型配置参数.

示例模型名为*pmsmfocflash。Slx,将代码放在处理器的闪存部分,允许应用程序以独立的方式运行。

该模型适用于具有以下特征的电机:

DM550配置

  • 4极对

  • 2000缝/机械革命

  • 编码器索引偏移量:1850

DRV8312配置

  • 4极对

  • 使用滑模观测器(SMO)的无传感器

  • 3个霍尔传感器连接到DRV8312EVM的接头J10(可选)

双电机控制配置

  • 4极对

  • 使用滑模观测器(SMO)的无传感器

  • 3霍尔传感器连接在Dual-Axis DMC EVM的连接器J4上(可选)

高压电机控制套件配置

  • 4极对

  • 使用滑模观测器(SMO)的无传感器

  • 3个霍尔传感器连接到高压电机控制套件的接头H1(可选)

LaunchPad与电机驱动BoosterPack配置

  • 4极对

  • 使用滑模观测器(SMO)的无传感器

您可能需要更改模型参数,以适合您的特定电机。与控制器匹配电机电压和功率特性。

传统的电压源逆变器驱动电机。控制器算法使用矢量PWM技术为六个功率开关设备生成六个脉宽调制(PWM)信号。逆变器使用两个模数转换器(ADC)测量电机(ia和ib)的两个电机输入电流(ia和ib),并将测量结果发送给处理器。

运行模型

1.打开与您的硬件匹配的模型。

如果选择flash版本,必须在eZdsp板上进行适当的跳线设置。默认跳线设置被设置为从RAM执行代码,(参考eZdsp技术参考更多信息)。

2.新闻Ctrl + B构建、加载和运行二进制可执行文件。

如果使用F28379D Launchpad,则必须构建CPU1和CPU2模型并将其下载到处理器的各个核心。每个核心控制双电机控制套件上的一个电机。两个核之间使用IPC进行通信。CPU1模型向CPU2发送Load Torque请求。CPU2将要记录的数据发送到CPU1。有关IPC通信的更多信息,请参见使用IPC块进行处理器间通信.

在运行程序之前,逆变器必须加高功率。在程序执行的中途用高功率停止程序会损坏硬件。使用“Reset”停止程序的执行。

使用DM550和QEP进行模型校准

在这个例子中,我们使用一个带有四极对电机的2000狭缝编码器。该编码器有2个通道(QEPA和QEPB)和一个索引脉冲(QEPI)。

图1:光学编码盘

由QEP驱动的计时器为每个狭缝增加4,如下图所示。

图2:QEP信号和计数器

在这个例子中的四极对电机生产:* 8000计数每机械* 2000计数每电气革命

下图显示了A-N反电动势波形以及编码器索引脉冲相对于电机反电动势的位置。中性点通过在电机的三个支腿上连接星形电阻网络获得。

F281x处理器:

  • A相由PWM1-2控制

  • 阶段B是由PWM3-4控制的阶段

  • 相C是由PWM5-6控制的

对于F280x/F2833x处理器:

  • Phase A是由PWM1A-1B控制的阶段

  • B相由PWM2A-2B控制

  • C相是由PWM3A-3B控制的

向外旋转电机,使示波器上A-N右侧的B-N相位偏离120°(图4)。确保编码器驱动的计数器在此方向旋转时增加。编码器的参考位置是A-N向上穿过0V轴的时候。测量从该点到右边的下一个编码器索引脉冲的时间,并将该时间转换为计数数。将结果放入模型“Edit Parameters”块的“index offset”参数中。

图3:带指数脉冲的V_A-N波形

下图显示了B-N波形与A-N波形的对比位置:

图4:V_A-N和V_B-N波形

使用DRV8312EVM,双轴DMC EVM和高压电机控制套件的模型校准

模型中的“位置传感开关”允许您选择无传感器位置传感或使用霍尔传感器的位置传感。在无传感器(默认)的情况下,不需要校准。如果使用霍尔传感器进行位置传感,霍尔传感器必须连接DRV8312EVM板的J10,双轴DMC EVM的J4或高压套件的H1。该模型将三个霍尔信号连接成一个变量,其中Hall_A为变量的最低有效位(LSB), Hall_C为变量的最高有效位(MSB)。

“速度请求开关”允许您选择速度请求的来源。默认情况下,速度将来自一个规范化的常量,将速度请求设置为可接受速度范围(0.5)的一半。对于DRV8312EVM,您也可以选择来自电位器R66的速度请求。

图5:霍尔传感器信号的解释

如果使用无传感器控制,本节不相关。该模型为每个霍尔信号配置一个中断。在每个霍尔中断中,有四个有意义的霍尔值。任何其他霍尔值表明硬件问题。在一个特定的中断中读取的霍尔值保存着关于电机旋转方向的信息。例如,在Hall_A中断中,读取Hall值为2表示电机正在向0方向旋转,并且刚刚发生了下降边。如果模型检测到方向改变,它将使电机的方向和速度失效。为了使速度有效,模型需要两个方向相同的连续边。否则,模型将设置一个标志使速度无效。

以下逻辑适用于相应的标志更新:

  • New_direction = Hall_direction

  • New_valid_flag = Previous_direction == Hall_direction;

  • Global_speed_and_direction_ready_flag = New_valid_flag && Old_valid_flag;

磁场定向控制算法接收从0到1的位置信号,反映电气旋转。如果速度信号有效,模型根据霍尔读数进行线性外推,并准确估计位置。

基于霍尔的位置估计算法原理:

  • 阅读大厅。

  • 获取最新计时器的值(从触发的最后一个中断捕获的计时器)。

  • 使用当前速度将从上一条边经过的时间转换为电气角度。

  • 如果速度信息无效(改变方向后速度无效,启动时,电机停止时,转速过低时…),算法假设位置在霍尔读数定义的60电气度的中间。因此,在这些情况下,最大的位置信号误差是30电度。

当Hall_A朝0方向上升时,霍尔解码器将被引用(位置= 0)。Hall_position_offset变量用于告知FOC算法霍尔参考和电机的反电动势波形之间的位置差异。像QEP例子一样,这个值必须通过比较霍尔信号和电机的反电动势波形来校准。在DRV8312的例子中,Hall_position_offset在电气转数上被归一化,并被设置为0.57,以匹配DRV8312EVM和双轴DMC EVM套件中包含的电机的特性。

对于双轴DMC EVM套件,c28035pmsmfocdual.slx控制来自同一F28035处理器的2个电机。Motor2可以使用连接在双轴DMC EVM的J4上的霍尔传感器的位置传感。

快速串行数据监测

评估板通常提供USB串行连接,允许快速串行传输。在发射台上运行的模型通过串行总线发送Ia和Ib电流。使用c2000_host_read.slx在您的主机上接收这些信号。对于F28379D Launchpad示例使用c2000_主机_读取_F28379D.slx在以下模块中选择与电路板匹配的适当COM端口:

  • c2000_host_read/Serial Configuration或c2000_host_read_F28379D/Serial Configuration

  • c2000_host_read/Serial Receive或c2000_host_read_F28379D/Serial Receive

  • c2000\主机\读取/启用子系统/串行发送或c2000\主机\读取\ F28379D/启用子系统/串行发送

调整单板的波特率:

  • 对于F28027启动板,将波特率设置为3.75e6

  • F28069发射台波特率设置为5.625e6

  • 对于F28377S启动板,将波特率设置为5e6

  • F28379D Launchpad波特率设置为5e6

运行c2000_host_read模型,观察当前在20 kHz时间范围内更新的信号。您可以使用相同的技术来监视其他处理器上的其他信号。请记住,SCI_A通常连接到FTDI芯片,允许在发射台、对接站和ISO控制卡上通过USB进行串行传输。FTDI FT2232D单路传输速率最高可达1.5 Mbps, FTDI FT2232H单路传输速率最高可达6mbps。