ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AMEsim电机驱动库建模指南:PMSM驱动系统仿真与PI参数整定

AMEsim电机驱动库建模指南:PMSM驱动系统仿真与PI参数整定 简介AMESim电机驱动库是面向电机驱动系统仿真与设计的一份技术文档适合从事电机驱动研发、控制系统验证的工程师及高校相关专业学生阅读。文档系统介绍了LMS IMAGINE S.A.开发的Electric Motors and Drives LibraryRev 9, 2009涵盖电机驱动系统的基本概念、术语与建模规范并依次讲解直流电机、交流电机、步进电机等电机模型矩阵变换器、PWM逆变器等驱动器模型以及PID控制、状态空间控制、频域控制等多种控制算法可帮助用户快速搭建电机驱动系统仿真模型并进行分析与性能优化。资源包仅含1个PDF文件压缩包大小1.76MB内容覆盖库结构说明、电机与驱动器模型详解、控制元件、示例使用指南等并可与MATLAB/SIMULINK等工具集成。文档目录清晰包含序言、一般信息、电机模型、驱动器模型、控制算法、库结构及使用指南已有513人学习下载适合需要系统掌握AMESim电机驱动库建模与应用的中高级技术人员参考。1. AMEsim电机驱动库解决的是系统级验证问题拿到 AMEsim 电机驱动库EMD的文档先要搞明白的不是单个模型怎么填参数而是这个库的边界。电机本体的电磁计算场软件更准EMD 库的强项是把电机、逆变器、控制环和冷却回路放进同一个环境回答“跑完一个完整工况绕组温度多少、效率多少、扭矩能不能跟住指令”这种系统级问题。库的价值在多域耦合机械轴接减速器和负载电气口接母线电容与逆变器热口接油冷回路控制逻辑在信号库里闭环。下面先分清模型家族与选型再搭一套永磁同步电机驱动的最小可运行模型最后把步长、节流孔和控制参数调到能复现台架现象。2. AMEsim电机驱动库的模型家族与选型判断打开库目录第一屏就能看到十几种电机和驱动相关模型新手最容易卡在“我该拖哪一个”。电机的选择标准一句话就能概括你要验证的问题需要多细的电磁细节就选到哪一档。系统问得越宏观模型用得越粗仿真步长也才能放得越大。2.1 永磁同步电机模型从磁链参数到控制端口EMD 库里的 PMSM 模型大体分三档。最粗的一档把电机当成转矩源或效率查表模型输入转速和转矩指令输出对应的电磁转矩和损耗适合整车能耗和长时间工况。中间一档加入机械动态有转动惯量和摩擦但电气部分仍被当成理想环节适合传动系统振动和换挡控制。最细的一档建立 d/q 轴等效电路状态变量是定子电流同时输出电磁转矩、铜损、铁损和绕组温度这一档才能验证电流环和磁场定向控制。选型要点是别迷信最细的模型。FOC 算法验证、电流波形分析、PWM 谐波影响用动态 dq 模型但如果你只想看一个 WLTC 循环里的平均温升和电池耗电用效率查表模型把步长放到毫秒级十分钟跑完动态模型反而会因为步长限制让你等一夜。动态 PMSM 模型的关键参数就一组极对数、定子电阻 Rs、d 轴和 q 轴电感 Ld/Lq、永磁磁链 λpm外加转动惯量和摩擦系数。参数来源不是靠猜而是从电磁仿真或台架反电动势测试换算。控制相关端口一般包括转子位置、转速和三相电流反馈上行是转矩指令或者三相电压指令这决定了你外面接的是 FOC 还是六步换相。2.2 逆变器与PWM模型开关模型和平均模型怎么选逆变器模型分两类。平均模型把逆变器看成调制器不模拟功率管通断直接输出基波电压仿真快而且数值稳定开关模型带 PWM 发生器每个载波周期都要计算开通关断能给出端电压脉冲序列、电流纹波和开关损耗代价是步长必须压到微秒级。这里的选型通常是这样的分析目标逆变器模型电机模型建议步长整车能耗与热平衡平均模型效率查表或准动态1e-3 sFOC 算法验证平均模型动态 dq 模型1e-4 s电流纹波与开关损耗开关模型 PWM动态 dq 模型1e-6 ~ 1e-5 s直流侧不要偷懒只接一个理想电压源。开关模型下母线电流是脉冲形的不挂母线电容直流电压会被砍出很大的纹波逆变器输入侧的逻辑跟实际台架完全对不上。平均模型可以忽略电容但至少保留一个等效内阻。2.3 机械、热与信号端口电机驱动库的多域耦合方式EMD 库的模型都是多端口部件。机械侧是旋转机械端口接减速器、惯量块、扭转阻尼和负载转矩源电气侧是功率端口接逆变器交流输出热侧是绕组和壳体温度节点接热容和冷却液回路控制侧是信号端口接控制器输出。搭模型时最常出的错是端口连错域信号口接到机械口上AMEsim 会在编译阶段报单位不平衡不会帮你纠正。与电磁场软件的分工要明确。场软件负责把某一工况下的损耗算准EMD 库负责把损耗当成工况和温度的函数在整个运行循环里积分。库里损耗模型是参数化的平均模型不是场计算所以别拿它的铁损和场结果逐点对比应该对比“整个循环的累计能量”这个量级。3. 用AMEsim电机驱动库搭建PMSM驱动系统最小模型与PI参数模型搭建从草图模式开始目标是先有一个能跑、逻辑通的最小模型再逐步加冷却和机械细节。最小配置包括一台动态 PMSM、一个逆变器、一个直流电源、一组负载惯量和一套 FOC 控制信号。3.1 端口接线顺序电气、机械、信号一条线从 EMD 库拖入动态 PMSM 模型放在草图正中间。交流侧拖入三相逆变器直流侧接电压源和母线电容连成一条电气线。逆变器的 PWM 输入口接 PWM 发生器PWM 发生器的调制波输入口留给你后面接电流环的输出。电机反馈口转子位置、转速、两相电流引出信号线进 FOC 控制器。机械轴接一个惯量块再接负载转矩源负载转矩源的信号口接工况表或固定值。热端口暂时接固定温度源等第 4 章再换成油冷回路。接线时注意信号线的方向信号端口默认方向是单向的反转需要加符号块。AMEsim 的端口按物理域着色同一条线只能连接同一域的端口这一步错了编译阶段就会报错。3.2 电机参数表极对数、电感、磁链一次填对这一步是新手和熟手差距最大的地方。参数填错仿真照样能跑但跑出来的电流波形和台架一点不像。以下参数表按优先级排序参数含义常见错误极对数 p转子极数的一半把电频率当成机械转速Rs定子相电阻Ohm用线电阻代替相电阻差 2 倍Ld / Lqd/q 轴电感H忽略饱和大电流工况实际值低 30% 以上λpm永磁磁链Wb峰值与有效值混用J转子轴系惯量kg·m²不加减速器等效惯量速度环带宽偏大相电阻和线电阻的关系值得多说一句。星形接法下相电阻是线电阻的一半参数页里写的是相电阻拿万用表量出来的线电阻直接填进去稳态电流就会整体偏小。永磁磁链的换算公式是 λpm Ke / p注意 Ke 的定义——线电压还是相电压、峰值还是有效值——不同定义会带出 √3 或 √2 的系数填之前先确认库里文档的约定。3.3 用Python按内模控制算电流环PI参数电流环 PI 不需要试凑用内模控制IMC整定就能得到能跑的初始值。控制对象是 d/q 轴的一阶 RL 电路把 PI 的零点放在对象极点旁边闭环就近似成一阶低通带宽自己指定。代码如下import math # 电机参数单位与 AMEsim 参数页一致 R_s 0.025 # 定子相电阻Ohm L_d 0.00011 # d 轴电感H L_q 0.00013 # q 轴电感H f_pwm 10_000.0 # PWM 载波频率Hz # 电流环带宽取载波频率的 1/20常用范围 1/20 ~ 1/10 bw f_pwm / 20.0 # IMC 整定公式Kp L * bwKi R * bw kp_d L_d * bw ki_d R_s * bw kp_q L_q * bw ki_q R_s * bw print(f电流环带宽 {bw:.0f} rad/s) print(fd 轴 Kp{kp_d:.4f} V/A Ki{ki_d:.2f} V/(A·s)) print(fq 轴 Kp{kp_q:.4f} V/A Ki{ki_q:.2f} V/(A·s))代码逻辑很简单带宽 bw 取 500 rad/sKp 由电感决定Ki 由电阻决定。AMEsim 信号库里如果用连续 PI 控制器Kp 和 Ki 直接填如果用离散 PI 块积分系数要乘以控制周期 TsKi_digital Ki × Ts否则同样的 Kp 下闭环振荡。注意电流环带宽不要超过 PWM 载波的 1/10。带宽调再高实际系统也是被 PWM 延迟限制住的只会把噪声放大进电流环造成仿真里看不见、台架上却很明显的转矩脉动。速度环在这套最小模型里先手调位置先给一个固定转矩指令把电流环调干净再合上速度环速度环带宽取电流环的 1/10 起步。4. AMEsim电机驱动库仿真必调的参数与四个典型坑模型搭好能跑只是开始。电机驱动库仿真的坑集中在三处步长和 PWM 的匹配、液压节流孔与热端口的配合、控制环的数值稳定性。下面按出现频率排。4.1 步长、求解器与PWM载波的匹配关系开关模型下步长必须能分辨 PWM 边沿。经验值是每个载波周期至少 20 个采样点否则电流波形会出现锯齿状假纹波傅里叶分析出来的谐波全是假的。不同载波频率下的步长建议如下载波频率开关模型建议步长平均模型建议步长5 kHz≤ 1e-5 s1e-4 s10 kHz≤ 5e-6 s1e-4 s16 kHz≤ 3e-6 s5e-5 s20 kHz≤ 2.5e-6 s5e-5 s平均模型没有 PWM 事件步长可以放到 1e-4 s这也是为什么推荐先跑通平均模型再换开关模型。求解器方面默认变步长积分器对刚性系统会自动切换但开关模型推荐固定步长加离散逆变器子模型避免积分器错过 PWM 跳变沿。跑之前看一眼最大步长这个隐藏参数它经常被人留在默认值上导致实际步长远小于你设的目标值仿真时间暴涨几倍。4.2 电机油冷回路里AMEsim的orifices长什么样、怎么定参数电机的油冷回路仿真里orifice节流孔是保证流量分配的核心元件。先回答“长什么样”它在液压库里的图标是两端管道中间收口的液阻符号双击进去有子模型选择页和参数页。固定节流孔的子模型只需要几何参数可变节流孔多一个信号输入口用来在线调节开口面积两者不要选混。参数页核心三个量流通直径 d、流量系数 Cd、临界雷诺数或最小压差。Cd 通常取 0.6~0.8。节流孔用孔口方程 Q Cd·A·sqrt(2Δp/ρ) 描述A 是流通面积。油冷回路里泵出口总管分到定子喷油环、绕组端部和轴承每条支路放一个节流孔来定流量。确定孔径的计算直接写进 Pythonimport math Q 1.2e-4 # 目标流量m^3/s约 7.2 L/min dp 2.0e5 # 节流孔压差Pa约 2 bar rho 850.0 # 油密度kg/m^3 Cd 0.7 # 流量系数 A Q / (Cd * math.sqrt(2.0 * dp / rho)) d math.sqrt(4.0 * A / math.pi) * 1000.0 print(f过流面积 {A:.2e} m^2对应孔径 {d:.2f} mm)算出来孔径约 3.2 mm。注意这个计算对压差非常敏感压差降到 1 bar 时同样流量孔径要放大到 3.8 mm所以工程上先定泵扬程分配出来的支路压差再反算孔径。AMEsim 的固定节流孔默认不显式考虑油温造成的密度和粘度变化做热耦合时要换成热液压库里的节流孔子模型把油流温度接到电机热端口这样节流孔压差、流量和绕组温升才是真耦合而不是拼在一起的两张图。注意节流孔两侧必须都有压力边界一端接泵出口管路一端接喷射腔或回油管路。悬空一个端口AMEsim 会报压力参考缺失这是液压模块新手最常见的编译错误。4.3 电流环振荡、低速不收敛与代数环排查出现不收敛或振荡按下面的顺序查。先看电流环带 PI 的电流环振荡八成是带宽超过 PWM 上限或反电动势补偿方向反了前者按 3.3 重算后者把补偿量符号翻转验证。再看机械侧转动惯量特别小、负载刚性特别大的系统AMEsim 会报隐式代数环解法是在信号回路加一拍延迟或者在机械端口并一个小阻尼。最后看低速工况位置分辨率不够时转速微分噪声会很大速度环 P 增益加不上去改用带低通滤波的位置差分代替纯微分。排查顺序建议从开环到闭环先断开电流环给一个恒定转矩指令确认电流能在几个毫秒内收敛到目标值再接回闭环。这样能把电机参数错误和控制参数错误分开不用在两张错误叠在一起的时候猜原因。5. 把AMEsim电机驱动模型变成可复用的验证台到这一步单点工况已经能跑下一步是让模型替你做重复劳动。常用做法是把参数扫描和联合仿真做成固定流程让电机驱动库变成每天都能用的验证台。5.1 用批处理把参数矩阵一次跑完AMEsim 的设计探索和批处理功能可以在不打开图形界面的情况下按参数组合跑完整个矩阵。先把要扫描的量做成模型参数比如母线电压、环境温度、冷却液流量然后在批处理表里组织成 CSVcase_no,V_bus,T_amb,Q_cool 1,240,25,5 2,240,60,8 3,320,25,5 4,320,60,8每一列对应一个模型变量V_bus 是母线电压T_amb 是环境温度Q_cool 是冷却液流量。批处理跑完导出结果 CSV比一个个改参数重跑效率高一个量级。5.2 结果后处理按温度约束筛工况结果文件用 Python 直接筛先满足温度硬约束再按损耗选优import csv with open(sweep_out.csv) as f: rows list(csv.DictReader(f)) ok [r for r in rows if float(r[T_wind_max]) 90.0] best min(ok, keylambda r: float(r[P_inv_loss])) print(best[case_no], best[V_bus], best[Q_cool], best[P_inv_loss])筛选逻辑是两步T_wind_max 是绕组峰值温度先过滤掉超过 90℃ 的工况P_inv_loss 是逆变器损耗在剩余工况里取最小值。这样从几十个仿真结果里选方案几行脚本就完事不用逐个翻曲线。5.3 联合仿真验证台对接前的三个检查点要和 Simulink 联合仿真时先确认三件事。单位检查放在第一位AMEsim 信号端口默认 SI 单位Simulink 侧如果用的是标幺值必须在边界加换算增益块不能在图里靠猜。步长检查放第二位把 AMEsim 侧固定步长设成 Simulink 离散步长的整数倍两边数据交换率对齐。最后是顺序AMEsim 侧先用自身信号库跑通 FOC再切到联合仿真首次对接把仿真时间设成 0.1 秒验证握手确认数据交换正常再拉长到完整工况。对接时把固定步长设成整数倍关系比来回调两个求解器省时间得多。本文还有配套的精品资源点击获取
返回列表