十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

转速电流双闭环直流调速系统仿真:从PI参数整定到Simulink实践

转速电流双闭环直流调速系统仿真:从PI参数整定到Simulink实践 简介一份面向自动化、电气工程专业学生的双闭环直流调速系统仿真设计文档。内容围绕转速电流双闭环控制展开涵盖晶闸管-直流电动机主电路、转速调节器ASR与电流调节器ACR的嵌套结构、PI调节器参数选择及Simulink仿真建模全过程。文档先分析单闭环系统的动态不足进而说明电流内环与转速外环的构成逻辑详细给出了电流环结构框图化简、小惯性群近似处理以及典型I型系统校正方法并配有电路原理图、动态结构图和仿真波形分析。全文共1个doc文件大小1.65MB已有269人浏览学习。通过这份文档可完整掌握双闭环调速系统的工程设计流程、参数整定思路和仿真调试技巧对完成课程设计、毕业设计或理解现代电力拖动控制系统均具有较好的参考价值。1. 转速电流双闭环直流调速系统仿真设计先分清内外环收到这种 .doc 标题多半是课程设计或项目验收材料。但抛开文档格式转速电流双闭环直流调速系统仿真设计真正要回答的问题只有一个一台直流电机在带载起动、突加负载、给定突变时转速和电流分别该按什么规律变化。只闭环转速的单环系统起动瞬间电流几乎由电压和电枢电阻决定冲击电流能到额定值的十倍以上烧的是换向器和功率开关。加一道电流内环后转速环只负责输出电流给定电流环负责快速跟踪并靠输出限幅把电流钉在安全值内。于是系统同时拿到两样东西限流能力和较快的动态响应。仿真的价值在于先用传递函数把两组 PI 参数定量算出来再搭模型验证最后把波形、参数表、调试记录写进文档。下面按这个顺序走一遍参数可以直接套到你自己的电机铭牌上。2. 转速电流双闭环直流调速系统的数学模型与PI参数整定2.1 为什么转速电流双闭环要先闭环电流环直流电机里有两个时间常数电枢回路的电气时间常数T_l L/R数量级是毫秒机电时间常数T_m数量级是几十到几百毫秒。两者差一个数量级以上电流比转速快得多。控制上有一条铁律内环的带宽必须高于外环所以快的电流环放里面慢的转速环放外面。电流环在内侧还有两个不可替代的作用。第一是限流起动和堵转时转速环输出饱和其输出值就是电流给定电流环保证实际电流不超限这是功率器件和电机安全的最后一道防线。第二是抗扰反电动势E是电流环内部的一个扰动负载变化导致E波动时电流环先把它压住转速环看到的是一个被校直的被控对象设计起来干净得多。另外T_e C_m·i_d电流和转矩成正比所以电流环本质上就是转矩环这正是伺服系统里“扭矩内环速度外环”的同一套结构。2.2 直流电机与PWM环节的传递函数把直流电机按他励方式写方程U_d0是整流或PWM输出的理想空载电压U_d0 R·i_d L·(di_d/dt) EE C_e·nT_e - T_L (GD²/375)·(dn/dt)拉氏变换后得到三个最常用的传递函数电枢电流对电压I_d(s)/(U_d0(s)-E(s)) (1/R)/(1T_l·s)这是一阶惯性环节时间常数T_l L/R。转速对电流差n(s)/(I_d(s)-I_dL(s)) R/(C_e·T_m·s)这是一个积分环节T_m GD²·R/(375·C_e·C_m)。PWM变换器U_d0(s)/U_c(s) K_s/(1T_s·s)T_s取开关周期实际工程里有时取半个周期这里先按1ms演示。仿真模型里还要带上两个反馈系数电流反馈系数βV/A和转速反馈系数αV/rpm。这两个系数必须和PI增益配套使用课程设计里最常见的错误就是模型里直接反馈真实电流和转速而参数表里却写着按β、α标幺化算出来的增益结果波形全乱。要么全部用实际值要么全部用电压标么值别混用。2.3 用工程设计法算电流环PI参数电流环的被控对象是K_s/(1T_s·s)、(1/R)/(1T_l·s)两级惯性串联。T_l比T_s大一个数量级是大惯性。标准做法是用PI调节器的零点去对消这个大惯性令τ_i T_l开环传递函数就压成了典型I型系统K/(s·(1T_s·s))。典型I型系统按阻尼比ζ 0.707整定对应超调量约5%条件是K·T_s 0.5。把各环节增益代进去K K_pi·K_s·β/(τ_i·R)于是K_pi 0.5·τ_i·R/(K_s·β·T_s)积分增益K_ii K_pi/τ_i。注意这个公式里R是电枢电阻K_s是变换器放大倍数β是电流反馈系数。只要这几个量是实测值算出来的K_pi可以直接当作仿真初值不用试凑。2.4 转速环按典型II型系统整定电流环整定完毕后从转速环看进去电流闭环近似等效成一个一阶惯性环节≈ (1/β)/(12T_Σi·s)其中T_Σi是电流环的小时间常数之和近似取T_s加上电流滤波时间常数。转速环的小时间常数T_Σn 2T_Σi T_onT_on是转速滤波时间常数。转速环要求抗负载扰动能力强工程上整定成典型II型系统用中频宽h作为唯一自由度τ_n h·T_ΣnK_N (h1)/(2·h²·T_Σn²)一般取h 5。把转速环开环增益表达式列出来K_N K_pn·α·R/(τ_n·β·C_e·T_m)反解出K_pn和积分增益K_in K_pn/τ_n。下面这段MATLAB脚本把两个环的参数一次算完以后换电机只改前三行的铭牌参数% 电机与变换器参数按220V/55A/1500rpm典型直流电机 R 0.5; % 电枢电阻Ω L 0.015; % 电枢电感H T_l L / R; % 电气时间常数s C_e 0.132; % 电动势系数V/rpm T_m 0.18; % 机电时间常数s K_s 40; % PWM变换器放大倍数 T_s 1e-3; % PWM等效滞后s按开关周期取 beta 0.05; % 电流反馈系数V/A alpha 6.7e-3; % 转速反馈系数V/rpm % 电流环典型I型zeta0.707对应KT_s0.5 tau_i T_l; % PI零点对消电枢大惯性 K_pi 0.5 * tau_i * R / (K_s * beta * T_s); K_ii K_pi / tau_i; % 转速环典型II型h5 T_sigma_n 2 * T_s 0.005; % 电流环等效2T_s转速滤波取5ms h 5; tau_n h * T_sigma_n; K_N (h 1) / (2 * h^2 * T_sigma_n^2); K_pn K_N * tau_n * beta * C_e * T_m / (alpha * R); K_in K_pn / tau_n; fprintf(电流环 K_pi%.3f K_ii%.3f\n, K_pi, K_ii); fprintf(转速环 K_pn%.3f K_in%.3f\n, K_pn, K_in);脚本里各变量的含义tau_i、tau_n是PI调节器的超前时间常数K_pi、K_ii是电流环比例和积分增益K_pn、K_in是转速环的对应增益。计算逻辑是电流环先按典型I型定K_pi转速环再把电流环当作一个大惯性放到II型系统里反解K_pn。整定结果和教材“先内环、后外环”的顺序完全一致两种典型系统的对应关系可以汇总成下表环节系统类型整定准则预期指标电流环典型I型ζ0.707K·T_Σ0.5超调约5%无静差转速环典型II型h5τ_nh·T_Σn抗扰强阶跃超调约37%h5对应的转速超调约37%这个数字初看吓人实际调试里不会靠减小K_pn去压它因为那会牺牲抗负载扰动能力。更常用的手段是给转速给定加斜坡后面第5章专门讲。3. 用Simulink搭转速电流双闭环直流调速仿真模型3.1 最小可仿模型模块清单与连接顺序新手容易一上来就用 Simulink 库里的 DC Machine 和 Universal Bridge 电力电子模块结果仿真步长被拉得很小跑一次要好几分钟参数还未必对得上。我一般先用传递函数搭一个最小模型把PI参数验证清楚再决定要不要加电力电子细节。最小模型的信号流向是转速阶跃给定 → 与α·n比较 → 转速PI输出限幅→ 电流给定 → 与β·i_d比较 → 电流PI输出限幅→K_s/(1T_s·s)变换器 →U_d0减去E→(1/R)/(1T_l·s)电枢 →i_d分两路一路乘β反馈回电流比较点另一路进入R/(C_e·T_m·s)机械环节并在此处减掉负载电流i_dL得到转速n。转速再乘C_e生成反电动势乘α反馈回转速比较点。各模块的库位置和参数写法如下表模块Simulink库参数设置StepSourcesStep time0Final value10即额定转速对应的电压转速PIContinuous/PID ControllerPK_pnIK_in输出限幅±10V抗饱和开电流PIContinuous/PID ControllerPK_piIK_ii输出限幅±10V抗饱和开变换器Continuous/Transfer Fcn分子[K_s]分母[T_s 1]电枢回路Continuous/Transfer Fcn分子[1/R]分母[T_l 1]机械环节Math Operations/Gain Continuous/Integrator增益R/(C_e·T_m)后接积分器电流反馈Math Operations/Gain增益 beta转速反馈Math Operations/Gain增益 alpha机械环节拆成“增益加积分器”而不是直接用一个传递函数是因为负载扰动i_dL要加在这个积分环节的输入端这样突加负载的仿真就好做了用一个 Step 模块Step time 设为 1Final value 设为 20接到机械环节的求和点就模拟了 t1s 时突加 20A 负载力矩。3.2 先跑通参数脚本再开仿真第2章的脚本不要关让它在 MATLAB 基础工作区留下K_pi、K_ii、K_pn、K_in这些变量模型里PI模块的 P、I 参数直接填变量名。这样改电机参数只动脚本开头三行重跑一遍脚本再sim就行不用去翻模块对话框。% 运行参数脚本生成工作区变量 run(params_dual_loop.m); % 仿真模型Enable Data Logging 后结果进 logsout sim(dual_loop_model.slx); % 取转速信号并绘图 n_out logsout.get(n_rpm); plot(n_out.Values.Time, n_out.Values.Data); grid on; xlabel(t/s); ylabel(n/rpm);sim命令会按模型里配置的停止时间跑完整段仿真。模型里给信号线命名后在 Signal Logging 标签勾选对应信号logsout.get(n_rpm)才能取到。信号命名建议统一用n_rpm、i_a、u_i_star这样的可读名后面做波形分析和写文档都省事。3.3 PI模块对话框容易填错的三个地方第一个是输出限幅。转速PI的输出是电流给定如果电流限幅是1.5倍额定那转速环输出上限就该是1.5·I_n·β而不是随便填个±10。10V只是控制器内部的电压摆幅不代表限流值两者对不上起动电流就不是你要的那个数。第二个是抗饱和必须打开。PID Controller 块里 Anti-windup method 选 back-calculation系数填1/K_p。电流环在起动时长期工作在饱和状态这是正常的不正常的是积分器还在继续累积等转速接近给定再退饱和超调会大得离谱。如果看不到这个下拉菜单说明用的是旧版PID块换 Continuous/PID Controller。第三个是仿真步长。模型里有T_s1ms的快惯性固定步长求解器建议取1e-5到1e-6秒变步长求解器在电流环阶跃点附近会把步长切得很碎波形一样但跑得慢。步长大于T_s/20时电流环波形会出现明显振铃那不是参数问题是数值积分精度问题。4. 转速电流双闭环仿真波形怎么看、怎么修4.1 起动与突加负载波形的三段特征按上面参数跑出来正常波形分三段看。第一阶段是起动瞬间转速环输出立刻顶到限幅电流环把i_d迅速拉高并稳定在限幅值附近此时电磁转矩恒定转速按固定斜率直线上升。第二阶段是转速进入给定附近转速环退饱和电流给定回落i_d从限幅值平滑下降到负载电流转速曲线由直线过渡到逼近给定。第三阶段是 t1s 突加负载转速瞬时跌落几转转速环立刻增大电流给定i_d跳升到新负载电流转速又回到给定值稳态无静差。判断一个模型对不对不用看精确数值看这三段是否齐全。最常缺的是第一阶段如果i_d没有在起动瞬间冲上去顶住限幅而是跟着转速慢慢爬说明转速环输出限幅没生效或者限幅值给太大电流环根本没饱和。4.2 波形异常与参数修正对照表波形现象根因修正动作起动阶段电流高频振铃波形毛刺明显电流环K_pi偏大或仿真步长大于T_s/20先压仿真步长再降K_pi转速超调明显大于37%且回摆缓慢转速环积分饱和抗饱和未开启开 back-calculation系数设1/K_pn转速低频率振荡周期几百毫秒h偏小或T_on偏大导致相位裕度不足h提到6~7减小转速滤波时间突加负载后转速长时间回不到给定转速环K_in偏小或限幅没放开增大K_in检查转速环输出限幅起动电流达不到限幅值只有给定一半电流反馈系数β与限幅值不一致核对β和限幅量的量纲第一行是最容易误判的。很多人看到电流振荡就认为是 PI 参数问题实际上先看一眼仿真步长。T_s1ms的惯性和步长同数量级时数值方法本身就在给系统注入延迟振荡完全可能是假的。判断办法是把步长降一个数量级再跑波形变干净就是步长问题没变化才是增益问题。4.3 调参顺序先电流环后转速环单环验证双闭环最忌讳两个环一起调出问题分不清是谁的锅。工程调试的顺序是先把转速环摘掉给电流环单独加阶跃看i_d能否做到5%超调、无振荡电流环验收通过后再闭合转速环只动转速PI最后才加负载扰动验证抗扰。这个顺序就是现场调试的顺序仿真阶段更应该这么干。摘转速环有个不用改模型结构的技巧把转速PI的P和I都设成0再把它的输出限幅上下限设成同一个常数比如5V就等于给电流环一个恒定的电流给定此时观察电流跟踪就是单环阶跃响应。测完恢复参数即可不用另存模型。电流环波形确认无振铃、超调在5%左右再回头看转速环90%的问题都会消失剩下的才是转速环的参数问题。5. 双闭环仿真收尾的三个实用技巧5.1 积分限幅与抗饱和系数同步设电流环饱和是工作状态积分饱和才是故障。抗饱和系数K_b的物理含义是“积分器往回拉的强度”填1/K_p是一般推荐值。验证方法极简单把抗饱和关掉跑一遍起动再打开跑一遍对比转速超调量通常能从40%以上回到20%附近。如果你的 PI 是用两个 Gain 一个 Integrator 手搭的Integrator 的 Limit output 只能限状态不能防饱和请换回 PID Controller 块。5.2 电流反馈上的二阶低通有源滤波器时延要算进TΣPWM 纹波会污染电流反馈信号常见的做法是在电流反馈通道加二阶低通有源滤波器即 Sallen-Key 结构。设计时取等电阻方案R1R210kΩC12C2截止频率f_c 1/(2π·R·√(C1·C2))Q 值正好约0.707对应巴特沃斯平坦特性。比如要截到1kHz算出来C2≈11nF、C1≈22nF这是可以直接搭板的值。仿真里不要真的去搭运放电路用二阶传递函数1/(s²/ω_c² s/(Q·ω_c) 1)代替放在电流反馈回路上。关键点在于这个滤波器给电流环引入了额外相移算转速环时T_Σi必须把它算进去否则实际系统的相位裕度比设计值小转速环容易振荡。这就是“设计与仿真测试”要一起做的原因——只算参数不测试延迟参数等于白算。5.3 转速给定加斜坡和h5的37%超调和解典型II型系统 h5 的阶跃超调约37%这是结构决定的不是参数没调好。工业现场不靠降低K_pn来压超调因为那会牺牲抗扰能力而是给转速给定加一个斜坡限幅器Rate Limiter让给定本身不跳变。斜坡斜率的上限由物理约束决定dn/dt R·(I_lim - I_L)/(C_e·T_m)即额定电流减去负载电流对应的加速度。按文中的电机参数算出来约1150 rpm/s实际取60%~80%也就是700~900 rpm/s对应在给定电压上约每秒4.7~6V。这个技巧的直接收益是转速超调可以压到5%以内而起动电流依然满限幅时间没多花多少。仿真报告里把“不加斜坡”和“加斜坡”两组转速波形放在同一张图上是最有说服力的一页。本文还有配套的精品资源点击获取
返回列表