涡轮发动机建模这事听起来玄乎,实际拆开了看也就是搭积木。咱今天用Simulink搞个能喘气的发动机模型,重点在让这铁疙瘩遇到负载突变时还能稳住转速不抖腿
【空气涡轮发动机Matlab/simulink动态仿真模型】 1、部件级模型;进气道涡轮气室压气机尾喷管转子动力学模块容积模块 2、PID控制器: 输出扭矩阶跃扰动下维持转速恒定先给各个部件开户口簿。进气道的建模关键在总压恢复系数直接上查表模块Lookup Table把马赫数和攻角参数喂进去就能吐出压力损失系数。压气机模块最带劲的是特性图用2D插值处理转速和压比的关系Matlab里meshgrid配合griddata函数能搞定[Nc_map, PR_map] meshgrid(8000:1000:15000, 3:0.5:6); eff_map scatteredInterpolant(Nc_map(:), PR_map(:), efficiency_data);涡轮和压气机这对冤家得用共同轴拴着转子动力学模块用牛顿第二定律最直接。扭矩差积分得转速变化记得加上转动惯量参数——这里容易栽跟头上次我把单位搞错直接让转子飞出了太阳系。气室容积模块是个缓冲地带微分方程描述压力变化时热力学公式别硬算用Simulink的积分器连乘加模块更省事。尾喷管的壅塞流量特性得用if-else判断临界压力比不过现在用S函数写条件判断更利索function mass_flow nozzle_flow(P_in, P_out) if P_out/P_in 0.528 % 壅塞状态 mass_flow C * P_in / sqrt(T_in); else % 亚临界流 mass_flow C * P_in * sqrt(1 - (P_out/P_in)^0.286); end endPID控制器才是重头戏。当负载扭矩突然给你来个20Nm的阶跃燃油量得像老司机踩油门那样精准。先用PID Tuner自动整定但实际还得手动微调。比例增益大了转速震荡像蹦迪积分时间长了响应慢半拍微分项加多了传感器噪声能让你怀疑人生。【空气涡轮发动机Matlab/simulink动态仿真模型】 1、部件级模型;进气道涡轮气室压气机尾喷管转子动力学模块容积模块 2、PID控制器: 输出扭矩阶跃扰动下维持转速恒定看这段控制逻辑的实现Kp 0.8; Ki 0.15; Kd 0.05; error setpoint - actual_speed; integral integral error*Ts; derivative (error - prev_error)/Ts; fuel_flow Kp*error Ki*integral Kd*derivative;参数调整时盯着阶跃响应曲线超调量最好别超5%稳定时间控制在0.5秒内。记得给燃油阀加个限幅器不然燃油流量暴走比油门踩进油箱还可怕。模型跑起来后转速曲线稳得像条死鱼才算合格。不过别高兴太早实际还得考虑传感器延迟、执行机构滞后这些幺蛾子。这时候在PID后面串个二阶低通滤波器效果比喝红牛还提神。最后说个坑容积模块的时间常数和转子惯量得匹配不然会产生压力震荡。这感觉就像用脸盆接瀑布——要么接不住要么水花四溅。调参时看着频谱分析图主频峰值得摁在5Hz以下才安全。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476193.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!