多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Modelica纯电动汽车PMSM仿真与台架标定

Modelica纯电动汽车PMSM仿真与台架标定 简介这份资源是发表于《微电机》2011年第44卷的期刊论文《基于Modelica纯电动汽车用永磁同步电机仿真》面向新能源汽车电驱动系统建模、整车性能仿真方向的研究人员与工程技术人员也适合高校车辆工程、电气工程专业学生作为多领域耦合系统建模的参考文献。文章围绕电动汽车机电热多领域耦合特点采用Modelica语言与Dymola平台搭建永磁同步电机驱动系统模型结合电机及驱动系统台架测试数据对模型参数进行校验并以实验纯电动汽车整车仿真进一步验证仿真结果与台架测试较为接近。读者可从中获取电机d-q轴数学模型、电磁转矩与机械运动方程、驱动系统建模流程、参数校正思路及仿真验证方法对理解多领域统一建模在电驱动系统中的应用有直接参考价值。资源包内含1个PDF文件大小约317KB便于检索与引用。目前已有138人学习。1. 从台架标定痛点看 Modelica 纯电动汽车 PMSM 仿真纯电动汽车电驱开发里有个很耗时间的环节在台架上把转矩 MAP、弱磁拐点和电流环参数一点点凑出来母线电压、电机温度、减速比任何一个变了整张 MAP 就得重扫一轮下来几天就过去了。Modelica 的价值就在这儿它允许把永磁同步电机的 dq 轴方程、逆变器开关模型、FOC 控制器和整车纵向动力学写进同一套方程里用多领域物理建模的方式做离线仿真把大部分标定工作提前到桌面上。纯电动汽车用永磁同步电机仿真尤其适合这条路子因为 PMSM 的电磁方程和控制逻辑本来就是跨电气与控制两个域的耦合问题拆成两个工具来回导数据反而容易在接口处丢信息。下面按建模、控制、整车接入、求解器配置、参数反推的顺序把一套能在 OpenModelica 或 Dymola 里跑通的方案拆开讲。2. 用 Modelica 搭出可运行的永磁同步电机本体模型2.1 dq 轴方程为什么比 abc 三相方程更适合进 Modelica如果把三相绕组方程直接写进 Modelica定子电感会随转子位置做周期变化三相电压方程里各带一个 cos(θ) 项。仿真步长被电频率牵制转速一高求解器就反复缩步仿真发散的概率明显上升。dq 变换把时变电感压成常量 Ld、Lq状态量从六个电流降到两个FOC 控制器的设计也直接落在同一坐标系里整个模型的刚性下降一个量级。对内置式永磁同步电机Ld 小于 Lq磁阻转矩项 1.5p(Ld−Lq)id·iq 不能省这是纯电动汽车常用的拓扑因为磁阻转矩能提高低速区转矩密度。表贴式电机 Ld 和 Lq 接近可以简化成 te 1.5p·ψf·iq。这个判断会一路影响后面参数辨识怎么做选错了模型结构反推出来的 ψf 和 Lq 都是错的。Modelica 标准库里有 Machines 相关的现成模块很多团队依然选择自己写 dq 模型。原因不复杂自写方程里每一个参数都能对应到台架实测值比如空载反电动势对应 ψf堵转实验对应 Ld、Lq后续做参数辨识和排查发散时能一眼看出是哪个参数越界。下面直接给一个可运行的最小模型。2.2 用 Modelica 写一个能直接跑的 PMSM_dq 模型model PMSM_dq 永磁同步电机dq轴动态模型 parameter Real Rs 0.02 定子相电阻, Ohm; parameter Real Ld 0.2e-3 d轴电感, H; parameter Real Lq 0.4e-3 q轴电感, H; parameter Real psi_f 0.08 永磁体磁链, Wb; parameter Integer p 4 极对数; parameter Real J 0.02 转子转动惯量, kg.m2; parameter Real B 1e-3 粘滞摩擦系数, N.m.s/rad; Modelica.Blocks.Interfaces.RealInput ud d轴电压, V; Modelica.Blocks.Interfaces.RealInput uq q轴电压, V; Modelica.Blocks.Interfaces.RealInput TL 负载转矩, N.m; Modelica.Blocks.Interfaces.RealOutput id d轴电流, A; Modelica.Blocks.Interfaces.RealOutput iq q轴电流, A; Modelica.Blocks.Interfaces.RealOutput we 电角速度, rad/s; Real te 电磁转矩, N.m; Real wr 机械角速度, rad/s; equation // dq轴电压方程含交叉耦合项和反电动势项 der(id) (ud - Rs*id we*Lq*iq)/Ld; der(iq) (uq - Rs*iq - we*Ld*id - we*psi_f)/Lq; // 电磁转矩包含磁阻转矩分量 te 1.5*p*(psi_f*iq (Ld - Lq)*id*iq); // 机械运动方程 der(wr) (te - TL - B*wr)/J; we p*wr; end PMSM_dq;这段代码有三个关键点。第一der(id) 和 der(iq) 里的交叉耦合项 weLqiq、weLdid 不能丢一旦省掉高速区电流波形会明显偏离实测弱磁段的电流轨迹也对不上。第二反电动势项 we*psi_f 只出现在 q 轴这是 dq 坐标系定义决定的id 的参考值在基速以下通常给 0进入弱磁区才给负值。第三J、B 这两个机械参数别随手填它们决定转速环 PI 的增益范围J 填小了转速超调会假性偏大标定出来的转速环增益失真。参数单位统一按 SI 制电感用 H磁链用 Wb转速用 rad/s。有人在参数框里填 rpm仿真一开始就发散且报错堆栈指向代数环实际原因是单位量级差了 60 倍。2.3 接口、单位与能量守恒的三个约定第一个约定是电气侧统一用 RealInput 接收 ud、uq而不是在模型内部做 dq 逆变换再接三相电压。这样控制器和电机之间共享同一组 Clarke、Park 变换坐标变换只写一次避免两处变换角度不一致带来的转矩脉动伪影。第二个约定是机械侧输出 wr 和 te再单独接一个转子位置积分器。位置角 θe ∫we dt这个积分器必须设初始条件否则 Park 变换的角度从 0 开始跳变第一拍就会给出错误的 dq 分量。常见做法是 θe 初值给 0并让控制器在第一个通讯周期内复位置位。第三个约定是转矩方向。电动状态 te 为正、给车辆输出动力制动回馈时 te 为负。负载转矩 TL 在驱动工况下取正在滑行或制动工况下取负符号定义必须和整车纵向动力学方程一致否则能耗核算会出现回馈功率被算成消耗的离谱结果。3. 纯电动汽车驱动链路在 Modelica 里的接入方式3.1 逆变器与 SVPWM 的两种等效写法第一种是开关级模型用理想开关加反并联二极管搭两电平逆变器能观察开关频率引起的电流纹波和死区效应代价是仿真步长必须小到微秒级跑一个完整 CLTC 工况可能要几小时。第二种是平均值模型用 SVPWM 的占空比直接算出平均电压 ud、uq忽略开关纹波步长可以放大到几十微秒。纯电动汽车做控制参数标定时平均值模型完全够用做电磁噪声和电流谐波分析时才需要切回开关级。SVPWM 平均值模型的常见写法是先算出 ud、uq 的参考值再按母线电压限幅得到电压利用率上限。两电平逆变器的线性调制区上限是 Udc/√3这个上限直接决定基速点和弱磁拐点的位置母线电压从 350 V 换到 400 V整条转矩 MAP 的外特性都会上移仿真里只要改一个 Udc 参数就能看到结果。3.2 电流环、转速环与弱磁控制器的参数设置电流环按内环设计带宽取开关频率的 1/10 到 1/5。以 10 kHz 开关频率为例电流环带宽给 800 Hz 到 1.5 kHz。d 轴和 q 轴的 PI 参数用零极点对消法算Kp L·ωcKi R·ωc表贴式电机 q 轴还要考虑反电动势前馈。转速环按外环设计带宽取电流环的 1/5 到 1/10通常 50 Hz 到 150 Hz。转动惯量 J 是转速环增益的主要来源纯电动汽车传动系折算到电机轴的等效惯量比电机本体大得多按 0.02 算出来的增益装到车上会强烈振荡。常见做法是用整车纵向动力学反推等效惯量再乘一个 1.2 的安全系数。弱磁控制用一个带电压反馈的 PI 环当 dq 电压幅值接近 Udc/√3 时让 id 往负方向偏把转速继续往上拉。弱磁电流的上限受限于退磁风险和铜损一般取 −1.0 到 −1.5 倍额定电流。仿真里这条曲线可以直接画出来比台架上一点点试探高效得多。3.3 车辆纵向动力学与工况接入整车模型按汽车行驶方程写F_t mgf·cosα mg·sinα (Cd·A·v²)/21.15 δm·dv/dt。电机输出转矩乘减速比和传动效率再折算成驱动力减去滚阻、风阻和坡度阻力后除以等效质量得到加速度积分出车速。关键是把车速反算成电机转速再送回 PMSM 模型的负载端。减速比 i、轮胎半径 r、传动效率 η 三个参数对齐后一套模型就能直接跑 NEDC 或 CLTC 工况。下表是纯电动汽车 A 级车常用的参数起点可以直接拿去做第一版仿真。参数符号取值说明整车质量m1600 kg含电池与乘员风阻系数Cd0.30A 级轿车典型值迎风面积A2.2 m²滚动阻力系数f0.012低滚阻轮胎主减速比i8.5单级减速器轮胎半径r0.31 m205/55 R16传动效率η0.95含减速器与轴承model VehicleLongitudinal 纵向动力学与电机负载折算 parameter Real m 1600 整车质量, kg; parameter Real Cd 0.30 风阻系数; parameter Real A 2.2 迎风面积, m2; parameter Real f 0.012 滚阻系数; parameter Real i 8.5 主减速比; parameter Real r 0.31 轮胎半径, m; parameter Real eta 0.95 传动效率; Real v 车速, m/s; Real TL 折算到电机轴的负载转矩, N.m; Modelica.Blocks.Interfaces.RealInput Tm 电机输出转矩, N.m; Modelica.Blocks.Interfaces.RealInput alpha 坡度, rad; equation der(v) (Tm*i*eta/r - m*9.81*f*cos(alpha) - m*9.81*sin(alpha) - Cd*A*v*v/21.15)/(1.05*m); TL (m*9.81*f*cos(alpha) m*9.81*sin(alpha) Cd*A*v*v/21.15)*r/(i*eta); end VehicleLongitudinal;der(v) 里的 1.05 是旋转质量换算系数把车轮和转子的转动惯量折算进整车质量。TL 这一项是阻力折算回来的负载转矩回馈制动时 Tm 为负TL 保持为正电机被反拖电流方向自然翻转回馈功率自动为正。减速比和轮胎半径一旦改错车速和电机转速的对应关系就全乱了工况能耗也会失真最小验证办法是先跑一个匀速点看 60 km/h 时电机转速是不是落在 i·v/r 附近的合理区间。4. 仿真配置、求解器设置与发散排错4.1 求解器选型DASSL、CVODE 与定步长Modelica 工具链常用三种求解器。DASSL 适合刚性系统PMSM 的电气时间常数在毫秒级、机械时间常数在秒级刚性比能到 10³ 以上DASSL 的变阶变步长能自己扛住。CVODEBDF 模式在长时间工况仿真里更稳步长变化更平滑。定步长 RK4 只在开关级模型里用步长必须小于开关周期的 1/20否则纹波完全失真。平均值模型一般设 1e-4 到 1e-5 的容差跑 CLTC 约 1800 秒工况实际计算时间在几分钟量级太紧的容差会让步长被压到 1e-8 以下得不偿失。4.2 仿真发散的四类原因与排查表现象最可能原因排查动作起步第一拍就报奇异转子位置角初值未设给 θe 设 start 值控制器复位置位转速升高后步长骤降开关级模型步长过大换平均值模型或把步长降到 1e-6弱磁区电流发散电压限幅符号或 dq 顺序写反打印 ud、uq 和限幅后的值对比转矩波形持续振荡转速环增益与 J 不匹配用整车等效惯量重算 PI排查顺序建议从代数环查起。Modelica 的代数环报错信息往往指向一个中间变量真正原因通常在坐标变换和控制器之间的接口上比如 Park 变换角度和电机内部角度用了两个不同来源。4.3 初始化与状态量一致性检查Modelica 支持 fixed 初始化和 steady-state 初始化。PMSM 仿真里id、iq、wr、θe 四个状态量最好显式给初值用 fixedtrue。如果交给求解器自动初始化它可能解出一组非物理的电流初值前几个毫秒的波形完全不可信。一个实用的检查方法是在 0.1 秒处看电流是否已经进入稳态如果还在大幅波动先不要往下跑工况回头查初值和 PI 参数。另一招是把容差临时收紧到 1e-8 跑 1 秒用两次结果的差值判断数值误差是否主导了波形。5. 从仿真波形反推 PMSM 参数与效率 Map 的实操技巧5.1 用转矩阶跃响应核对 psi_f 和 Lq给一个 50% 额定转矩的阶跃指令观察 iq 的上升时间和稳态值。稳态时 te 1.5p·ψf·iq用实测转矩和 iq 稳态值反推 ψf比铭牌值准。上升时间反映电流环带宽如果明显慢于理论值先查 Lq 是否填大了一档。d 轴给一个负电流脉冲看弱磁区的转矩增量能反推 Ld 和 Lq 的差值。5.2 电流环带宽与采样周期的匹配验证仿真步长、控制周期和采样周期三者要分清。控制周期通常等于 PWM 周期采样周期可能再分频。如果控制周期设成和仿真步长一样电流环看起来会很干净一上实机就振荡因为实机的控制周期远大于求解器步长。常见做法是把控制周期显式写成 1e-4 秒用 sample 触发这样仿真和实机的时序结构一致带宽验证才有意义。5.3 效率 Map 扫点与工况能耗核算效率 Map 的扫点方式是固定转速、扫转矩每个点跑 0.5 秒取稳态铜损和铁损加上机械损耗得到总损耗除以输入功率得到效率。纯电动汽车常用的高效区在基速以下 30% 到 70% 转矩区间仿真扫出来的 Map 可以直接和台架数据叠在一起看。工况仿真能耗台架能耗偏差等速 60 km/h12.4 kWh/100km12.8 kWh/100km−3.1%CLTC-P13.6 kWh/100km14.2 kWh/100km−4.2%高速 100 km/h18.9 kWh/100km19.5 kWh/100km−3.1%偏差集中在 3% 到 5% 区间时通常来自铁损模型简化把铁损系数按实测数据重新拟合一遍就能压到 2% 以内。如果偏差超过 10%先查传动效率和滚阻系数这两个参数对工况能耗的影响远大于电机本身。最后一招是把仿真里的电机轴端转矩和台架测得的轴端转矩对比排除掉整车模型引入的误差再回到电机参数本身去找原因。本文还有配套的精品资源点击获取
返回列表