-
实时仿真用户案例
Crank-嵌入式GUI设计和开发用户案例
021-64886750
-
实时目标机
Simulink模型库
Demo套件
info@yisuworld.com
基于Speedgoat FPGA板卡的 兆赫兹开关频率PMSM控制算法的开发与验证
当电力电子和电机控制的开关频率上升至兆赫兹水平,控制器的性能指标和处理能力面临巨大的挑战:
● PWM的精度。
当开关频率为1MHz时,如果计数器的频率为100MHz,则计数范围为0-100,计数器每次增加1,因此PWM的精度为1%。同理,如果计数器为200MHz,则精度0.5%。
● 电流采样速率。
当开关频率为1MHz时,控制周期可以是1 μs或者0.5 μs,因此电流采样的ADC转换时间必须小于1 μs或者0.5 μs。推荐ADC的转换速率至少为5MHz,占用200ns的时间,剩余800ns或者300ns的时间留给电流控制算法运行。
● 电流控制算法的FPGA开发与验证。
电流的闭环控制算法必须在FPGA中运行才能满足几百ns的时间限制。
对于原来习惯于利用Simulink开发CPU控制算法的小伙伴,光想想HDL语言,时序,乘法器,资源这些概念,这脑袋瓜子不是要晕就是要爆!
那么如何实现简单高效的电流控制算法的FPGA开发与验证呢?
MathWorks公司的HDL Coder工具和Speedgoat公司的FPGA板卡,两者在Simulink环境中无缝集成,实现板卡配置、HDL生成、编译、位流部署的自动化,可应对上述挑战。
● PWM的精度。
Speedgoat公司的FPGA板卡的计数器频率最高可达为250MHz,在1MHz开关频率下的精度为0.4%。
● 电流采样速率。
Speedgoat公司的FPGA板卡的ADC转换速率为5MHz,并且为16位精度,同时满足高速和高精度要求。
● 电流控制算法的FPGA开发与验证。
对于原来习惯于利用Simulink开发CPU控制算法的小伙伴,只需利用MathWorks公司的HDL Coder工具,将Simulink模型自动转换为HDL代码,无需增加额外的开发工作,然后自动编译和下载,这大大降低FPGA的开发难度。
Speedgoat实时仿真解决方案能够保证用户在完整的基于模型的设计流程中持续的验证其设计,因此,此次软件开发流程遵循行业内广泛采用的基于模型的开发方式(Model based development),所有的开发与验证工作均在Simulink环境下完成,包括以下三部分工作:
利用Simulink软件搭建PMSM的闭环控制系统模型,包括两部分:
(1) 被控对象
-
两电平逆变器
-
PMSM
-
机械负载
-
速度和位置传感器
(2)控制器
-
FOC控制算法
-
SVPWM算法
-
PWM生成
-
速度与位置测量
以上模型的搭建采用熠速基于Simulink开发的电力电子和电机控制模型库。两电平逆变器和PMSM电机模型如下所示。
PMSM电机控制的流程如下图所示,为保证每个控制时刻电流采样与PWM信号的同步,在模型搭建时可以采用Function Call子系统或者Enable子系统,如下图所示,此时PMSM Controller的运行不与时间同步,而与PWM的trigger同步。
PMSM电机控制的流程
基于Function Call的PMSM控制框图
离线Simulink模型如下图所示,考虑到下一步需要将模型拆分至CPU和FPGA中,在搭建时,就将需要部署至不同计算单元的模型,封装至不同的子系统中,如下图所示。绿色部分为部署至FPGA中的仿真模型,其他部分为部署至CPU中的仿真模型。
PMSM离线闭环控制系统模型
通过仿真低速下的死区效应,离线验证仿真模型的准确性和精度。
定子频率5Hz下的电流波形(开关频率20kHz,死区时间2us)
基于CPU的在线控制器模型

基于FPGA的在线被控对象模型
上述模型通过HDL Workflow Advisor流程中的第1.2步骤,配置模型中标注的接口部分,完成Subsystem接口与FPGA板卡IO通道的映射,如下图所示:
再通过HDL Workflow Advisor进行后续的HDL Coder代码的生成和编译工作。具体请参考Speedgoat的HCIP软件的帮助文档,链接如下:
https://www.speedgoat.com/help/hdlcoder/page/refentry_workflow_HDLWA_settings
基于FPGA的在线模型开发与验证
在线模型拆分2
从上述开发流程中可以看到,通过Speedgoat FPGA板卡与MathWorks公司的HDL Coder工具的结合,电机控制器模型,从离线模型的开发,到基于CPU的在线模型的开发,到最终的基于FPGA的在线模型的开发,其模型的搭建过程和验证过程都是一致的,模型的改动量也非常少,只需要进行少量的拆分和封装,以及接口配置的工作,非常的方便。
此外,所有的开发和验证工作都是在Simulink环境下完成的,不需要切换第三方工具,包括的实时模型的生成、编译、下载,以及在线监视,数据记录等工作。
搭建电机控制器桌面式HIL测试平台,如下图所示。包括:
●上位机:在线参数修改,实时波形监视与记录;
●示波器:波形显示;
●Performance实时仿真机(包含IO334 FPGA板卡和IO3XX-21数字扩展板):运行被控对象模型。
●Baseline实时仿真机(包含IO397 FPGA板卡):运行电机控制器模型。
●旋变调理卡:将2路单端模拟信号转换为2路差分模拟信号,以及线圈阻抗等效
●旋变解码卡:输出旋变激励信号,测量PMSM的位置和速度。
电机控制器桌面式HIL测试平台
利用Simulink real time explorer上位机软件,搭建控制界面。界面的搭建过程是基于组态式的控件,简单方便。
上位机控制界面
上位机运行M语言脚本,在线修改控制器模型中DQ轴电流的给定值,和被控对象模型中的电机转速值,实现自动化测试。MATLAB 2019b的脚本示例如下图。
MATLAB 2019b的自动化脚本
下图是自动化运行时,上位机实时记录的电流和转速波形
实时波形记录的波形(整体)
实时波形记录的波形(工况切换点)
1MHz的开关频率和20ns的死区时间
旋转变压器位置解析
示波器的电流波形如下,定子频率5Hz的实时仿真电流波形与离线仿真一致,说明基于Speedgoat FPGA板卡和MathWorks HDL Coder工具开发的实时FPGA模型是满足工业应用精度和实时性要求的。定子频率600Hz时,从20kHz开关频率的电流中能看到PWM导致的电流纹波,但是从1MHz开关频率的电流中则无法看到PWM导致的电流纹波。
定子频率5Hz时的电流波形
定子频率600Hz时的电流波形
随着SiC和超高速电机在各行业中的逐步应用,以实现更高功率体积比和功率密度比,更好的NVH性能,更快的动态响应等指标。对于百千赫兹,甚至兆赫兹开关频率的需求将越来越多,应用也越来越广。
Speedgoat FPGA板卡和MathWorks HDL Coder工具,作为一套强大电力电子和电机控制FPGA算法开发工具,不仅满足MBD流程而且完全基于Simulink环境,大大降低了FPGA算法开发难度,提高了开发效率,加快了项目进度。非常适合开发百千赫兹,甚至兆赫兹开关频率的电力电子和电机控制算法,尤其适合广大Simulink使用者。
此外,此工具也适用于电力电子和电机控制的HIL系统的开发。
附表 开发过程中使用的硬件
|
硬件 |
HIL |
1)Performance实时仿真主机 × 1 2)IO334 FPGA板卡 × 1 3)IO3XX-21数字扩展板 × 1 |
RCP |
1)Baseline实时仿真主机 × 1 2)IO397 FPGA板卡 × 1 |
信号调理 |
1)YS8002 旋变调理卡 2)YS8001 旋变解码卡 |
附表 开发过程中使用的软件
|
软件 |
Mathworks公司 |
1)MATLAB 2)Simulink 3)MATLAB Coder 4)Simulink Coder 5)HDL Coder 6)Simulink Real-Time 7)Simscape Electrical |
Speedgoat公司 |
1)HDL Coder Integration Package(HCIP) |
Xilinx公司 |
1 )Vivado |
-
电力电子(含控制器和被控对象模型)
凭借多年在电力电子行业累积的经验和能力,我们为用户提供控制器模型和被控对象模型,包括标准库以及定制化服务。¥ 0.00立即购买
-
轨道交通(含控制器和被控对象模型)
凭借多年在轨道交通行业累积的经验和能力,我们为用户提供控制器模型和被控对象模型,包括标准库以及定制化服务。¥ 0.00立即购买
-
信号调理系统
在HIL测试中,硬件在环设备起到模拟被测ECU被控对象的作用。需要根据ECU的PIN脚信息,模拟相应信号。这类设备的核心为实时系统,实时系统会提供相应IO通道,处理信号的产生和采集。但这类IO通道一般为标准规格,比如数字通道为TTL规格,模拟通道只是测电压等;这与被测ECU所需的信号规格有较大差异,故需要一套信号调理系统,负责两者之间信号的转接。¥ 0.00立即购买
-
电机控制Demo套件
使用Simulink和Speedgoat转动无刷直流电机。¥ 0.00立即购买
实时目标机
仿真测试应用场景
学习与支持
关注熠速微信公众号
仿真测试解决方案
I/O接口模块
通讯协议模块
FPGA技术
被控部件仿真
Simulink模型库
Demo套件
测量测试解决方案