TMS320F280049C 学习笔记22 SFRA part4 案例研究

文章目录

  • 主回路传函提取
  • 用Compensation Designer设计补偿器
  • OL测量
  • SFRA测量频率响应与模型频率响应的比较

对应原文第5章。

为了了解SFRA的使用,本节对SFRA库在buck变换器中的应用进行了案例研究。
使用SFRA的典型工作流程如下:

  1. 开环运行变换器,执行SFRA扫描。
  2. 将此SFRA数据导入compensation designer来设计补偿器。
  3. 使用设计的系数测试闭环响应,将其与设计目标比较并微调。

主回路传函提取

如果主回路模型未知,则可通过开环运行SFRA来识别主回路模型。为此,首先选择一个直流工作点。例如,在buck变换器中,向变换器提供固定的占空比。SFRA_INJECT函数用于将小信号注入到占空比,然后提供给PWM驱动器。SFRA_COLLECT函数用于分析来自激励的数据,并计算传递函数,例如(y/u),如果是电压控制电源,则为Vout/Duty。图10展示了SFRA包含的软件图。
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第1张图片

观察PWM ISR代码,这里调用SFRA_INJECT,在直流工作点点“Duty_pu_DC”上添加正弦注入,以生成PWM模块的占空比“Duty_pu”。在后面的代码中,反馈被用于收集正弦注入的响应。

interrupt void PWM_ISR(void)
{.
//
// Read ADC and computer Fbk Value
//
Vout1_Read = (float32)Vout1R/(4096.0);
//
// Add SFRA injection into the duty cycle for the open loop converter
//
Duty_pu=SFRA_F32_inject(Duty_pu_DC);
//
// Update PWM value
//
EPwm1Regs.CMPA.half.CMPA=((long)(BUCK_PWM_PERIOD))* Duty_pu;
SFRA_F32_collect(&Duty_pu,&Vout1_Read);..
}

一旦直流工作点被建立,即转换器正在运行并输出所需的占空比,SFRA GUI可用于启动SFRA扫描。打开位于SFRA安装目录GUI文件夹中的SFRAGUI.exe。单击Setup Connection设置连接,并在弹出窗口中将波特率设置为57600。取消选中“boot on connect连接时启动”,然后选择适当的COM端口,单击“确定”关闭弹出窗口并返回主屏幕。
在主窗口中,单击“Connect连接”。连接后,图形用户界面将依据当前设置分析来自控制器的SFRA扫频数据,这些设置包括扫描的开始频率、扫频阵列的长度(这在代码中是固定的,因此不能通过图形用户界面更改)、注入幅度和每十倍频点数。暂时将其保留为默认值。
按“Start Sweep开始扫描”按钮,等待GUI中的状态栏更改为扫描完成。完成SFRA扫描的结果现在显示在窗口上。开环结果没有意义,因为主回路没有在闭环运行。因此,在左侧的下拉菜单中选择Plant。在下拉菜单中选择Plant后,图形用户界面将类似于图11。
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第2张图片
在任意一个图上拖动鼠标以定位频率响应分析中特定频率的值。GUI文件夹中的SFRAData.csv文件将依据最新运行的SFRA扫频进行更新。SFRA库的所有运行和时间戳都保存在该文件夹下。如果未选中“将SFRA数据另存为CSV”复选框,则每次扫描频率响应数据后都会弹出excel工作表。随后的每个扫描都将作为新页添加到excel工作表中。

对复选框的更改只会影响SFRA下一次运行的保存情况,必须在点击“开始扫描”之前完成设置。

然后,通过导入频率数据至Matlab,可以利用所测得的频率响应进行补偿设计。第3.5节描述了所需脚本。

用Compensation Designer设计补偿器

SFRA_GUI.exe将最新的频率扫描数据放在调用它的文件夹中,该文件夹通常是SFRA库安装目录中的GUI文件夹。单击位于同一文件夹中的“CompDesigner.exe”可以启动补偿设计GUI。补偿设计器默认使用最新运行的SFRAData.csv文件。第5.1节完成了SFRA的运行,CompDesigner将使用SFRA数据来设计补偿。
图12显示了根据上一节SFRA运行的主回路数据,选择并用于设计稳定闭环系统的两极双零补偿样式的补偿器。补偿器系数可以从补偿设计器GUI复制到C代码中,这将在下一节中完成。
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第3张图片

OL测量

设计的补偿器可以在控制器上实现,SFRA库可以用来测量闭环功率转换器的开环频率响应。图13描述了使用SFRA的闭环系统的软件连接。
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第4张图片
闭环控制ISR的代码如下所示,并添加了SFRA例程。

interrupt void PWM_ISR(void)
{.
//
// Read ADC and computer Fbk Value
//
Vout1_Read = (float32)Vout1R/(4096.0);
//
// Add SFRA injection into the reference of the controller
//
Vout1_Ref_wInj= SFRA_F32_inject(Vout1_Ref);
//
// Call the controller
//
gi_out=DCL_runPI_C1(&gi,Vout1_Ref_wInj,SFRA_F32_inject(Vout1_Read));
//
// Update PWM value
//
EPwm1Regs.CMPA.half.CMPA=((long)(BUCK_PWM_PERIOD))* gi_out;
SFRA_F32_collect(&gi_out,&Vout1_Read);
.....
}
  1. 代码运行后,若要运行SFRA,请打开SFRA_GUI.exe,该文件位于SFRA安装目录下的GUI文件夹中。为F28004x、F2837x等设备选择“floating point浮点”数学。
  2. 单击“设置连接Setup Connection”,并在弹出窗口中将波特率设置为57600。
  3. 取消选中“boot on connect连接时启动”,然后选择适当的COM端口。有关确定要选择哪个COM端口的过程,请参阅第3.6节。
  4. 单击“确定”关闭弹出窗口并返回主屏幕。
  5. 在主窗口上,单击“连接Connect”。一旦连接,GUI将按照当前设置从控制器解析SFRA扫描。其中包括扫描的开始频率、频率扫描阵列的长度(这在代码中是固定的,不能通过GUI更改)、注入幅度和每十倍频程的点数。暂时将其保留为默认值。
  6. 按开始扫描按钮。
  7. 等待GUI中的状态栏更改为Sweep Complete。
  8. SFRA扫描的结果显示在SFRA GUI的大面板上。在SFRA图形用户界面的面板中还报告了开环增益过频增益裕度和相位裕度等控制性能参数。值得注意的是,所报告的值与系统设计用于使用开环运行的主回路频率响应数据的值非常匹配。
    TMS320F280049C 学习笔记22 SFRA part4 案例研究_第5张图片
  9. 在任意一个图上拖动鼠标以定位频率响应分析中使用的特定频率的值。
  10. GUI文件夹中的SFRAData.csv文件将使用最新运行的SFRA库进行更新。SFRA库的所有运行和时间戳都保存在该文件夹下。如果未选中“将SFRA数据另存为CSV”复选框,则每次扫描频率响应数据后都会弹出excel工作表。随后的每个扫描都将作为新页添加到excel工作表中。
  11. 带宽、增益裕度和相位裕度等关键值在图形用户界面上显示出来。这些值可用于验证设计的补偿是否真的达到了目标。
  12. 完成后,将SW1置于OFF位置,代码可以停止,CCS调试会话也可以停止。

SFRA测量频率响应与模型频率响应的比较

SFRA库已在多个电源拓扑上成功运行。下一节显示了在DPSWorkshop板(buck转换器)上模拟和测量的频率响应之间的比较。这清楚地表明,模型与测量值非常接近,反之亦然。由于参数估计误差和模型的非理想性,会有一定的误差。
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第6张图片
TMS320F280049C 学习笔记22 SFRA part4 案例研究_第7张图片

你可能感兴趣的:(TI,DSP学习)