这个例子展示了如何使用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)
笔记:将电源和放大器的特性与所选电机的输入特性相匹配。
以下是不同驱动-控制器组合的示例模型:
DM550+F2812 eZdsp:c2812pmsmfoc_ert.slx
带flash的DM550 + F2812 eZdsp:c2812pmsmfocflash_ert.slx
DM550 + F2808 eZdsp:c2808pmsmfoc_ert.slx
DM550 + F2808 eZdsp with flash based memory map:c2808pmsmfocflash_ert.slx
DM550 + F28335 eZdsp:c28335pmsmfoc_ert.slx
DM550 + F28335 eZdsp with flash based memory map:c28335pmsmfocflash_ert.slx
DRV8312EVM + F28035短笛:C28035PMSFOC_ert.slx
DRV8312EVM + F28069短笛:c28069pmsmfoc_ert.slx
双轴DMC EVM + F28035短笛:c28035pmsmfocdual.slx
DRV8312EVM+F28M35x协奏曲:c28M35xpmsmfoc_ert.slx
DRV8312EVM+F28M36x协奏曲:c28M36xpmsmfoc_ert.slx
tmdshvmpfckit + F28035短笛c28035pmsmfochvkit_ert.slx
BOOSTXL-DRV8301 + LAUNCHXL-F28027 C2000微型发射台:c28027pmsmfoc_ert.slx
2 BOOSTXL-DRV8301 + LAUNCHXL-F28069M C2000短笛发射台:C28069PMSMFOCUDUAL_ert.slx
2 BOOSTXL-DRV8305 + LAUNCHXL-F28377S C2000发射台:c28377Spmsmfocdual_ert.slx
2 BOOSTXL-DRV8305 + LAUNCHXL-F28379D C2000发射台:c28379Dpmsmfocdual_cpu1_ert.slx,c28379Dpmsmfocdual_cpu2_ert.slx
笔记在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”停止程序的执行。
在这个例子中,我们使用一个带有四极对电机的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板的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。