【MATLAB】基于 MATLAB/Simulink 的无刷直流电机(BLDC)转速控制模糊 PID 算法
基于 MATLAB/Simulink 的无刷直流电机BLDC转速控制模糊 PID 算法摘要针对永磁无刷直流电机Brushless DC Motor, BLDC在常规 PI 转速控制下存在的启动超调大、稳态转矩波动剧烈的问题本文提出一种由三个并行模糊逻辑控制器Fuzzy Logic Controller, FLC在线整定 PID 三个增益的调速控制策略。以 48 V/1 kW/700 rpm 等级 BLDC 为控制对象在 MATLAB/Simulink 环境下以信号流形式搭建电机数学模型结合六步换相逻辑构成被控对象进而以转速误差 e 与误差变化率 de 为模糊输入构建 5×5 共 25 条 Mamdani 规则的模糊推理系统输出 ΔKp、ΔKi、ΔKd 实时叠加到 PID 基线增益上。仿真结果表明在 650 rpm 转速指令下所提方法的转速超调由固定增益 PI 的 28.2% 降至 3.7%±2% 进入时间由 97 ms 缩短至 19.4 ms稳态转速误差小于 0.02 rpm控制效果显著优于固定增益 PI。关键词无刷直流电机模糊 PID转速控制Simulink 仿真anti-windup1 引言无刷直流电机以效率高、转矩密度大、可靠性好等优点在电动汽车、伺服系统、工业自动化等领域应用广泛。其转速控制最常用的方法是经典的 PI 或 PID 控制结构简单、易于工程实现。然而 BLDC 本身具有强非线性换相纹波、相电流方波等、参数不确定温度引起的 Rs 漂移、负载变化以及电气-机械时间常数差异大等特点固定增益 PID 在大范围转速指令下难以兼顾快速性与平稳性增益高则启动超调与稳态振荡严重增益低则响应迟缓。模糊控制具有不依赖精确模型、能够嵌入工程经验、对参数摄动鲁棒的优点将其与 PID 结合形成模糊整定 PID是一类有效折中。本文工作的主要贡献是在 Simulink 中以信号流形式自建一套 5 维状态的 BLDC 数学模型配合 Stateflow 实现的六步换相逻辑避免对 Simscape 物理建模工具箱版本差异的依赖模型可由脚本程序化生成与重建构建三个独立的 Mamdani 模糊推理系统分别对 Kp、Ki、Kd 进行在线整定并对模糊规则的方向、论域、PID 抗积分饱和模式进行系统性调整以适配本电机参数在统一的电机对象与统一的工况下定量比较固定增益 PI 与模糊整定 PID 的瞬态与稳态指标给出完整的对比证据链。2 BLDC 数学模型2.1 状态空间方程考虑三相星形连接、梯形反电动势的 BLDC忽略涡流损耗与齿槽转矩相变量下的电气方程为{diadt1Ls(va−Rsia−ea)dibdt1Ls(vb−Rsib−eb)dicdt1Ls(vc−Rsic−ec) \begin{cases} \displaystyle\frac{di_a}{dt}\frac{1}{L_s}(v_a-R_s i_a - e_a) \\ \displaystyle\frac{di_b}{dt}\frac{1}{L_s}(v_b-R_s i_b - e_b) \\ \displaystyle\frac{di_c}{dt}\frac{1}{L_s}(v_c-R_s i_c - e_c) \end{cases}⎩⎨⎧dtdiaLs1(va−Rsia−ea)dtdibLs1(vb−Rsib−eb)dtdicLs1(vc−Rsic−ec)机械方程为JdωdtTe−Bω−TL,dθmdtω J\frac{d\omega}{dt}T_e-B\omega-T_L,\quad \frac{d\theta_m}{dt}\omegaJdtdωTe−Bω−TL,dtdθmω电磁转矩由三相瞬时电功率除以机械角速度得到Teeaiaebibecicω T_e\frac{e_a i_a e_b i_b e_c i_c}{\omega}Teωeaiaebibecic三相反电动势 e_a、e_b、e_c 取决于电角度 θ_e Pp·θ_m呈 120° 相差的梯形波形幅值与 ω 成正比、比例系数为反电动势常数 ke。状态向量取 x [i_a, i_b, i_c, ω, θ_m]^T由 Stateflow EMChart 实现状态导数与副输出i_abc、e_abc、T_e、ω的同步计算外部通过 Integrator 块完成 5 维状态积分。2.2 六步换相由机械角度 θ_m 经极对数 Pp 映射至电角度 θ_e ∈ [0, 2π)将一个电周期划分为六个 60° 扇区。每个扇区中两相导通、一相悬空导通极性由扇区号决定第三相电压取 0。占空比 d ∈ [0, 1] 与母线电压 Vdc 直接相乘得到导通相的端电压幅值构成最简化的等效驱动方式该简化省略了 PWM 高频开关纹波但保留了真实换相纹波足以体现 BLDC 在控制层面的关键特征。2.3 电机参数电机额定参数与电气-机械参数列于表 1。Rs、Ls、ke、Pp 取同等级 48 V/1 kW 商用 BLDC 的经验值转动惯量 J 与摩擦系数 B 按机电时间常数 ≈ 2 s匹配启动响应的时间尺度并保持 J/B 比例使稳态摩擦转矩量级合理。项符号取值单位母线电压Vdc48V额定功率P_N1kW最高转速n_max700rpm参考转速n_ref650rpm定子电阻Rs0.36Ω定子电感Ls0.6mH反电动势常数ke0.05V·s/rad极对数Pp4—转动惯量J1×10⁻²kg·m²摩擦系数B5×10⁻³N·m·s表 1 BLDC 电机仿真参数3 控制策略3.1 固定增益 PI 基线基线控制器采用单转速闭环u(t)Kpe(t)Ki ∫0t e(τ)dτ,e(t)nref−n(t) u(t)K_p e(t)K_i\!\int_0^t\! e(\tau)d\tau,\quad e(t)n_{\text{ref}}-n(t)u(t)Kpe(t)Ki∫0te(τ)dτ,e(t)nref−n(t)输出 u(t) 限幅到 [0, 1] 作为占空比指令送入换相模块。增益取 (Kp, Ki) (0.15, 5)由对所提电机模型在 7 组备选值的网格试凑后选定作为后续模糊整定 PID 的对照基线。3.2 模糊整定 PID 总体结构所提模糊整定 PID 控制系统的数据流如图 1 所示。3.3 模糊推理系统设计3.3.1 输入隶属度转速误差 e 论域取 [−700, 700] rpm覆盖最高转速 ±n_max误差变化率 de 论域取 [−60000, 60000] rpm/s覆盖启动期 |de|_max ≈ 50000 rpm/s。两输入均采用 5 档三角形隶属度标签为 {NB, NS, Z, PS, PB}对称分布相邻函数 50% 重叠如图 2 所示。3.3.3 规则库三个 FIS 共享同一张规则表表 3共 25 条 Mamdani 规则去模糊化采用质心法。规则设计的核心思想是当 |e| 与 |de| 同号且较大时增大对应方向的 ΔK 以加速响应当 e 与 de 异号时减小 ΔK 以抑制超调。e \ deNBNSZPSPBNBDBDBDBDSNCNSDBDBDSNCISZDBDSNCISIBPSDSNCISIBIBPBNCISIBIBIB4 仿真结果4.1 仿真平台与工况仿真在 MATLAB R2024b/Simulink 中完成求解器选择 最大步长 仿真总时长 。4.2 开环验证为验证 BLDC 数学模型的物理正确性先以恒定占空比 d 0.3 / 0.5 / 0.8 三档进行开环测试结果见表 4。4.3 固定增益 PI 阶跃响应固定增益 PI 在 指令下的转速、占空比、电磁转矩与三相电流响应如图 3 所示。4.4部分结果图5 结论本文针对 48 V/1 kW BLDC 电机的转速控制问题提出并实现了一种由三个 Mamdani 模糊推理系统在线整定 PID 三个增益的控制策略并在 MATLAB/Simulink 中完成了完整的建模与仿真验证。