1. 直流电机双闭环控制系统概述
直流电机双闭环控制在工业自动化领域已经应用了几十年,但每次实际调试时总会遇到各种新问题。这次我们要用Simulink搭建一个完整的转速电流双闭环PWM控制系统,从建模到调试一步步解析其中的技术要点。
这种控制系统通常由两个主要环路组成:外环是转速控制环,内环是电流控制环。转速环负责跟踪给定转速,电流环则确保电机电流快速响应转速环的输出指令。两个环都采用PI控制器,通过PWM信号驱动H桥电路来控制电机。
注意:在实际工程中,电流环的响应速度通常要比转速环快5-10倍,这样才能保证系统的稳定性。如果两个环路的带宽太接近,系统很容易出现振荡。
2. Simulink建模与参数设置
2.1 系统整体结构设计
在Simulink中搭建双闭环控制系统时,建议按照以下模块顺序进行构建:
- 信号源模块(设定转速)
- 转速PI控制器
- 电流PI控制器
- PWM发生器
- H桥驱动电路
- 直流电机模型
- 反馈测量环节(转速和电流)
每个模块之间需要用信号线正确连接,特别注意反馈信号的极性。一个常见的错误是把转速反馈接成正反馈,导致系统一运行就失控。
2.2 电机参数建模
直流电机的数学模型需要准确设置以下几个关键参数:
matlab复制J = 0.01; % 转动惯量(kg·m²)
B = 0.1; % 粘滞摩擦系数(N·m·s)
L = 0.5; % 电枢电感(H)
R = 2; % 电枢电阻(Ω)
Kt = 0.8; % 转矩常数(N·m/A)
Ke = 0.8; % 反电动势常数(V/(rad/s))
这些参数的单位特别容易混淆,尤其是转动惯量J。曾经有个项目因为把kg·m²错写成N·m,导致仿真时电机加速快得离谱,实际调试时才发现问题。
3. 控制器设计与调试技巧
3.1 电流环PI参数整定
电流环是内环,需要先调试。我推荐使用"暴力调试法":
- 先把积分系数Ki设为0
- 比例系数Kp从0.1开始逐步增加
- 观察电流响应,直到出现轻微振荡
- 将Kp回调20%作为最终值
- 然后逐步增加Ki,同样在出现振荡后回调20%
matlab复制function y = PI_Controller(error, Kp, Ki, Ts)
persistent integral;
if isempty(integral)
integral = 0;
end
integral = integral + error * Ts;
y = Kp * error + Ki * integral;
end
经验分享:现场调试时,这种试错法往往比理论计算更有效。零极点配置虽然理论完美,但实际系统中存在各种非线性因素,理论值通常需要调整。
3.2 转速环PI参数整定
转速环的调试要在电流环调好之后进行,方法类似但需要注意:
- 转速环的带宽应比电流环低5-10倍
- 必须给电流环的给定信号加饱和限制
- 建议将电流给定限制在电机额定电流的1.2倍
在Simulink中,可以用Saturation模块实现电流限制。1.2倍的经验值来自实际项目教训 - 限制太小会影响动态性能,太大则可能损坏电机。
4. PWM实现与常见问题
4.1 PWM载波频率设置
PWM模块有几个关键参数需要注意:
- 载波频率:通常选择10kHz左右
- 三角波生成:采样时间应为系统仿真步长的1/10
- 比较器死区时间:一般设置2-5μs
matlab复制PWM_freq = 10000; % 10kHz
sim_step = 1e-6; % 仿真步长1μs
carrier_step = sim_step/10; % 三角波采样步长
如果设置不当,会出现奇怪的毛刺现象。实测表明,10kHz载波配合1μs仿真步长可以避免90%的异常问题。
4.2 虚假振荡问题排查
当仿真波形出现周期约20ms的振荡时,不要急着调整PI参数,应该:
- 检查PWM载波和转速采样是否同步
- 使用Triggered Subsystem处理转速反馈信号
- 确认测量环节没有引入额外延迟
这种振荡很多时候是采样不同步造成的,而非控制器参数问题。用触发子系统可以确保采样与PWM载波同步,消除虚假振荡。
5. 仿真结果分析与报告制作
5.1 关键波形观察点
仿真时需要特别关注以下几个波形:
- 转速响应:上升时间、超调量、稳态误差
- 电流波形:是否平滑、有无异常振荡
- PWM占空比:变化是否合理
- 控制量输出:是否出现饱和
良好的控制系统应该表现为:转速平稳跟踪给定,电流快速响应但不过冲,PWM占空比变化平滑。
5.2 专业报告制作技巧
在撰写报告时,有几个提升专业度的小技巧:
- 使用MATLAB的"Copy as Vector Format"导出图形,不要直接截图
- 在波形图中标注关键参数值
- 对比不同参数下的响应曲线
- 用表格总结调试过程中的参数变化
右键点击MATLAB图形,选择"Copy as Vector Format"粘贴到Word中,可以保持曲线清晰度,这在学术报告和工程文档中显得非常专业。
6. 实际工程中的经验分享
在真正的工程项目中,有几个教科书上不会讲的实用技巧:
- 上电时要先给电流环发零给定,避免电机突然启动
- 调试时准备急停开关,防止意外
- 用低压电源先测试,确认无误再上高压
- 记录每次参数修改的效果,形成调试日志
我曾经遇到过一个案例:电流环参数调得太激进,导致电机启动时发出刺耳的噪音,后来发现是PWM切换太频繁导致机械共振。解决方法是在电流环输出后加一个低通滤波器,平滑PWM指令。
另一个常见问题是测量噪声。在实际硬件中,电流采样往往带有高频噪声,这会干扰控制器工作。解决方法是在软件中实现移动平均滤波,但要注意不能引入太大延迟,否则会影响系统稳定性。
