ARTICLE DETAIL

资讯详情

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

永磁同步电机矢量控制PI调节器:从仿真到工程实践

永磁同步电机矢量控制PI调节器:从仿真到工程实践 简介面向永磁同步电机PMSM控制方向的工程师与学生该压缩包提供了一套基于PI控制器的PMSM矢量控制仿真与辅助脚本资源。包内共3个文件包含两个Simulink模型和1个m文件前者覆盖速度环PI控制及系统分解模型后者用于仿真数据处理与结果可视化整体压缩后约46KB便于直接下载与复用。矢量控制将定子电流解耦为励磁分量与转矩分量通过PI控制器分别调节速度环与电流环实现对磁链和转矩的独立控制从而获得接近直流电机的动态性能调整比例与积分系数可优化系统动态响应和稳态精度这也是工程调试中的重点。资源清晰呈现了转速PI控制的建模思路、坐标变换过程及参数整定方法适合正在学习PMSM矢量控制原理、需要搭建仿真验证环境或开展相关课题设计的读者。目前已有246人学习对于理解d/q轴电流解耦及PI参数调节的工程师这份小巧而完整的资料能提供切实参考。1. 永磁同步电机矢量控制的PI调节器从仿真模型到工程实践的必由之路从网上下到那份 PMSM_PI.zip 仿真模型时我最先翻的是 SVPWM 子模块以为扇区计算和死区补偿才是看出水平的地方。等模型跑起来把 Scope 打开才发现真正决定这套 FOC 系统动静态品质的是电流环和速度环里每拍都在运行的 PI 调节器。永磁同步电机矢量控制的工程实质是通过坐标变换把三相定子电流解耦成 d 轴励磁分量和 q 轴转矩分量让两个直流被控量分别交给 PI 去盯。这篇文章就围绕这条链路展开坐标变换与数学模型、电流环速度环的 PI 实现、参数整定与仿真验证最后落到开关频率和无感 FOC 场景下的边界约束。2. 矢量控制里的坐标变换与PMSM数学模型PI为什么能在这里站住脚在动 PI 参数之前先把坐标变换和电机模型摆出来。PMSM 矢量控制的所有“解耦”都依赖坐标变换而 PI 调节器的被控对象也恰恰只有在旋转坐标系下才表现为直流量。很多从网上下到的仿真模型跑出来波形发散问题常常不在 PI 本身而是 Clarke/Park 变换的符号极性或角度对齐和电机模型不一致。2.1 从三相静止到两相旋转Clarke变换与Park变换的工程直觉三相定子电流 ia、ib、ic 先做 Clarke 变换映射到两相静止 αβ 坐标系。常用幅值不变的变换形式为iα ia iβ (ia 2·ib) / √3这里用到 ia ib ic 0 的前提实际系统中如果没有采样全部三相电流而是从母线电流重构那还需要引入第三相电流补偿。Clarke 变换本身不改变信号的频率成分只是把三相对称量转成两相正交量后续 Park 变换才能在一个旋转坐标系里观察信号。Park 变换把 αβ 坐标系里的交流量变换到随转子磁极同步旋转的 dq 坐标系上id iα·cosθ iβ·sinθ iq -iα·sinθ iβ·cosθθ 是转子磁极的电角度。经过 Park 变换后原本随转子位置周期性波动的电流变成近似恒定的直流量稳态运行时 id 和 iq 只随负载阶跃而改变。这时再用经典 PI 调节器比例项保证响应速度、积分项消除稳态误差理论上可以对阶跃信号做到无静差跟踪——这正是 FOC 把 PI 放在核心位置的原因。若换成在静止坐标系里直接控制交流量纯 PI 就会出现稳态误差还得上 PR 控制器或重复控制复杂度完全不同。2.2 dq轴数学模型PI参数从哪里来PMSM 在 dq 旋转坐标系下的电压方程可写成ud Rs·id Ld·(did/dt) - ωe·Lq·iq uq Rs·iq Lq·(diq/dt) ωe·(Ld·id ψf)其中 Rs 是定子电阻Ld、Lq 分别是直轴与交轴电感ωe 是电角速度ψf 是永磁体磁链。方程的物理含义不难读d、q 轴各自有一条由电阻和电感组成的一阶电气回路而 -ωe·Lq·iq 和 ωe·(Ld·id ψf) 分别是交直轴之间的交叉耦合项和反电动势项。注意 ωe 是电角速度它等于机械角速度乘以极对数 p这个换算关系在 Simulink 模型里经常被漏掉导致前馈补偿量差 p 倍。如果忽略耦合项和反电动势d 轴和 q 轴的被控对象可以近似成一阶惯性环节 G(s) 1/(LsR)这正是用 PI 做校正最顺手的一类对象。工程实现上为了不让 PI 时刻对抗耦合项普遍做法是在 PI 输出处叠加前馈补偿量补偿量的符号和电机模型中的定义方向有关建议在搭模型时先把这一项单独拿出来验证。前馈补偿加对了电流环 PI 的积分项只承担消除残余误差的任务输出不会一直顶在饱和区。2.2.1 表贴式与内置式PMSM的模型差异表贴式 SPMSM 的 Ld Lqd 轴电流给零就能输出最大转矩内置式 IPMSM 的 Ld Lqd 轴负电流会产生额外的磁阻转矩需要走 MTPA 曲线或者直接查表给定 id_ref。这个区别会直接改变电流环 PI 的工作点内置式电机在高速工况下 d 轴负电流增大d 轴 PI 长期工作在非零指令状态参数不合理时更容易出现饱和与振荡。下载到的仿真模型如果是 IPMSM 参数先确认 d 轴指令是外部给定还是由 MTPA 计算模块生成。如果模型里有个查表模块在算 id_ref那它对应的转矩方程很可能用的不是简单的 iq 线性项调 PI 之前先把这个工作点算清楚。3. FOC控制环路里的PI调节器实现电流环与速度环的分工协作FOC 双闭环结构分为内环电流环和外环速度环。电流环带宽必须高于速度环外环的指令才能被内环可靠跟踪。如果两者带宽接近转速的动态会与电流动态耦合整定过程中很难分清是哪个环在振荡。下面按电流环到速度环的顺序说明。3.1 电流环PI极点配置法计算kp和kid 轴电流方程整理成一阶惯性加扰动的形式之后被控对象近似为 G(s) 1/(LsR)。用 PI 调节器 C(s) kp ki/s 与之构成闭环若取 kp L·ωc、ki Rs·ωc则开环传函化为 ωc/s闭环传函就是 ωc/(sωc)等效为一个截止频率为 ωc 的一阶低通。这个公式是工程上最常用的初值来源。注意它默认忽略采样延迟、PWM 延迟和死区效应所以算出来的值只能作为仿真起点实际系统里通常会把 kp 打七八折再试。下面给出在 Matlab 中计算电流环 PI 参数并做离散化的脚本% 电流环PI参数计算极点配置法适用于SPMSM Rs 1.2; % 定子电阻单位欧姆 L 0.0085; % 相电感单位亨表贴式LdLqL Ts 1e-4; % 电流环采样周期100us对应10kHz开关频率 bw 2000; % 期望的电流环带宽单位rad/s约318Hz kp L * bw; % 连续域比例增益 ki Rs * bw; % 连续域积分增益 % 前向欧拉离散化比例项系数不变积分项系数乘以采样周期 kp_d kp; ki_d ki * Ts; fprintf(连续域 kp%.3f, ki%.1f\n, kp, ki); fprintf(离散域 kp_d%.4f, ki_d%.4f\n, kp_d, ki_d);脚本里的 bw 直接决定电流环响应速度。把 bw 取到 2000 rad/s 时对应闭环截止频率约 318Hz对于 10kHz 开关频率的驱动系统来说已经偏激进一般建议 bw 不超过开关频率的 1/10也就是 10kHz 系统最多取 6280 rad/s但实际工程中因为离散化和死区影响多半只取 1500 到 4000 rad/s 之间。ki_d ki * Ts 是前向欧拉法的结果等效于每一拍把 ki 乘以采样时间累积进积分器如果用的是 Simulink 里自带的 PID Controller 模块离散积分方法还要在模块参数里保持一致否则和手写代码算出的系数会差一个比例因子。另一个容易踩的坑是如果仿真模型里已经把电流反馈用一阶低通滤过波而你在算 PI 时没把滤波时间常数算进去实际带宽会明显低于设计值阶跃响应看起来“肉”。3.2 速度环PI与电流环的差异速度环的被控对象是机械运动方程。忽略摩擦后可以写成J·(dωm/dt) Te - TL其中 J 为转动惯量Te 1.5·p·ψf·iq 为电磁转矩p 为极对数。把电流环等效成一阶环节后速度环的开环对象近似为一个积分环节加一阶惯性因此 PI 调节器的任务不是简单地对一阶对象补偿而是同时提供刚度和阻尼。速度环带宽一般取电流环的 1/5 到 1/10否则速度环的相位裕度会不够。常见做法是按二阶系统配置阻尼比 0.5取 kp_s J·ωcv / (1.5·p·ψf)ki_s J·ωcv² / (1.5·p·ψf)这个初值在仿真里通常能直接跑但上板后因为电流环延迟和机械谐振往往还要降速。速度环 PI 的整定用临界振荡法更省事先给一个只含比例的速度环从零开始增大 kp_s 到速度环开始振荡然后把 kp_s 降到临界值的 60% 左右再逐步加积分项消除稳态误差。相比单纯按公式计算临界振荡法对 J 不准的系统更鲁棒这也是大部分驱动器厂家调试手册里的标准流程。3.3 Simulink FOC仿真模型搭建要点搭建 PMSM Simulink FOC 仿真模型时最小闭环包含六块PMSM 电机模型、逆变器、SVPWM 模块、坐标变换、两个电流 PI、一个速度 PI。先用 Simscape Electrical 里的自带 PMSM 模型把系统跑通再考虑替换成基于公式的简化模型以缩短仿真耗时。模型跑不通时优先怀疑结构而不是参数这一步能省掉大量调参时间。搭建时有三个必须抠的细节。其一Park 变换模块的角度定义必须和 PMSM 模型输出一致常见问题是把零点对齐在 A 相磁轴上还是对齐在转子 d 轴上差一个 90° 电角度就会导致 d 轴、q 轴电流乱窜。其二SVPWM 的调制波范围要和逆变器直流母线电压匹配调制比超过 1 时 PI 输出会直接顶到饱和。其三电流环采样点要和 PWM 载波周期同步Simulink 里直接把采样时间设成 PWM 周期的一半会造成离散模型和实际行为不一致。网上下载的现成模型里这三个细节经常和电机库版本相关属于高隐蔽性坑。4. PMSM矢量控制PI参数整定从阶跃响应到仿真验证参数整定是 PMSM 矢量控制项目里耗时最长的一步。整定顺序必须固定为“先电流环、后速度环”电流环没收敛之前速度环的任何振荡都分不清是机械原因还是电气原因。4.1 整定顺序先内环后外环先把速度环断开给速度控制器一个固定输出实际上就是直接给 iq_ref 一个阶跃指令。比如从 0 跳到 2A观察 iq 的阶跃响应。理想的电流环响应表现为超调量不超过 5%上升时间在毫秒级稳态无静差。若超调过大第一步是减小 kp而不是动 ki若稳态误差消除慢说明 ki 偏小。d 轴电流此时给 0观察 id 是否被耦合项拉出明显的尖峰这个尖峰幅度可以初步判断前馈补偿有没有加对。电流环调好后闭合速度环。速度指令用斜坡方式施加例如 1 秒内从 0 升到 1500 rpm观察转速跟踪性能和振荡情况。速度环的 kp_s 决定响应刚度ki_s 决定稳态精度因为速度环本身存在负载扰动积分项不可或缺。斜坡输入比阶跃输入更能暴露速度环的低频振荡因为斜坡会持续激励积分环节。4.2 仿真参数表与波形判据在 Simulink 中反复调参时把每次修改后的参数和波形特征记录下来可以节省大量时间。下表是初值和调整方向参数初值来源可调方向电流环 kpL·ωc超调大下降响应慢微升电流环 kiRs·ωc稳态误差消除慢则升大速度环 kp_sJ·ωcv/(1.5·p·ψf)转速振荡先降跟踪迟钝再升速度环 ki_sJ·ωcv²/(1.5·p·ψf)稳态速度差存在则增大其中 J 是转动惯量ωcv 是期望的速度环带宽rad/sp 是极对数ψf 是永磁体磁链。以一台额定功率 2kW 的 8 极表贴式电机为例J 约 0.002 kg·m²ψf 约 0.35 Wb电流环带宽取 2000 rad/s速度环带宽取 300 rad/s算出来的初值一般都能直接跑通仿真。观察波形时重点看两个量iq 电流在阶跃后是否一次到位转速在负载突变后能否在 2 到 3 个周期内恢复。4.3 积分饱和、离散化误差与噪声抑制PI 调节器最典型的工程问题就是积分饱和。当 iq_ref 阶跃较大时PI 输出会顶到 SVPWM 调制上限如果积分项仍继续累积指令回撤时会出现滞后过冲严重时表现为速度环反复振荡。Simulink 自带的 PID Controller 模块可以直接勾选 anti-windup 选项若手写 PI推荐用带条件积分的实现typedef struct { float kp; // 比例增益 float ki; // 积分增益已乘以采样周期Ts float out_max; // 输出上限 float out_min; // 输出下限 float integral; // 积分累加值 } PI_Controller; float PI_Step(PI_Controller *pi, float ref, float fbk) { float err ref - fbk; float u_raw pi-kp * err pi-integral; // 条件积分未饱和正常积分 // 饱和但误差反向时也允许积分用于退出饱和区 if (u_raw pi-out_max u_raw pi-out_min) { pi-integral pi-ki * err; } else if ((u_raw pi-out_max err 0) || (u_raw pi-out_min err 0)) { pi-integral pi-ki * err; } // 输出限幅 if (u_raw pi-out_max) return pi-out_max; if (u_raw pi-out_min) return pi-out_min; return u_raw; }这个实现里积分饱和的关键是“饱和但误差反向时允许积分”当输出被上限顶住而给定值降低时误差变为负值积分项需要减小才能把输出拉回来如果此时还冻结积分退饱和就会变慢。影响 PI 动作的另一个常见问题是采样噪声尤其是电流采样在 PWM 死区附近的尖峰会经由比例项放大成高频抖动。工程上普遍在反馈通道加二阶低通滤波器或采用同步采样把滤波截止频率放在电流环带宽的 5 到 10 倍避免引入显著相位延迟。离散化误差方面前向欧拉法在采样周期较大时会带来额外相位滞后实际带宽与设计值偏离。如果要更精确采用双线性变换离散化积分项ki_t ki·Ts/2但整个环路的离散化方法必须一致混用前向欧拉和双线性变换会让积分项和比例项在不同频率下相位不同步调参时会出现频率越高越不稳的怪现象。5. 从仿真到驱动板开关频率、无感FOC与PI调节器的工程边界仿真模型调通后移植到实际的 PMSM 驱动板上仍然要面对几个绕不开的约束。开关频率就是第一道关卡。10kHz 是工业伺服最常见的开关频率它同时决定了电流环采样周期也就限定了电流环带宽的理论上限。按照工程经验电流环带宽不要超过开关频率的 1/10即 10kHz 开关频率下带宽取 1kHz 以内实际驱动器考虑到 IGBT 死区、电流采样延迟和母线电压波动往往只取 300 到 600Hz。Simulink 里跑得很好的 2000 rad/s 电流环上板后如果不降带宽示波器上看到的就是热噪声级别的电流毛刺。无感 FOC 是另一处显著差异。去掉编码器或霍尔传感器之后转子位置来自滑模观测器或磁链观测器角度估计噪声成为 PI 环路里额外扰动源。无感模式下电流环带宽需要比有感略低速度环的路波滤波器也要跟着调整观测器在一个 PWM 周期内输出角度延迟一点就会让整个闭环多出几十微秒相位滞后激进 PI 参数在无感系统里大概率只能换来振荡。建议先在仿真里把角度信号人为叠加正弦扰动观察带宽与扰动抑制能力的权衡曲线再决定要不要削弱 PI 增益。最后是电机参数漂移。PMSM 永磁体温度升高时磁链下降反电动势常数变小同样的电流指令在高速区会产生更大电压应力定子绕组电阻随温度升高约为 0.4%/℃按常温算出的 ki 到热态后稳态误差会变大。成熟的驱动板方案一般会在线辨识定子电阻或者按 NTC 温度查表修正 PI 积分项至少在仿真阶段把 Rs 和 ψf 分别拉偏 ±20% 跑一遍能提前看到 PI 的鲁棒性边界。提示仿真调好参数上板前先做开环电阻辨识和反电动势测试用实测数据替换模型参数表里的标称值这一步能省掉现场大半调参时间。本文还有配套的精品资源点击获取
返回列表