典型液压系统教学案例库:基于TYHydraulics的18个回路建模与仿真

液压传动课程里经常会接触换向、调速、顺序动作、保压、卸荷、同步以及闭环控制等典型回路。看原理图时可以理解油液大致怎么流,但真正涉及“压力什么时候升高”“卸荷以后泵出口压力会降到多少”“PID能不能把马达转速稳定在给定值”这些动态问题,只靠静态原理图并不直观。

前段时间我在 MoHub 上看到一个 液压系统教学案例库,用 TYHydraulics 把 18 类常见液压系统整理成了可以直接仿真的 Modelica 模型。

案例地址:

https://mohub.net/model/26114/summary

这次我重点跑了其中的液压泵卸荷回路液压马达转速 PID 控制两个案例,正好一个关注压力与卸荷,一个关注闭环转速控制。

18个案例都包含什么?

整个案例库包含 18 个独立模型,大致可以分成三类。

基础液压回路:

  • 双作用液压缸换向
  • 节流调速
  • 差动快速回路
  • 顺序动作
  • 夹紧与保压
  • 马达正反转
  • 蓄能器回路
  • 同步升降

压力与辅助回路:

  • 压力控制
  • 泵卸荷
  • 缓冲与制动
  • 锁紧与平衡

闭环控制:

  • 伺服缸位置PID
  • 马达转速PID
  • 比例压力控制
  • 液压缸力控制

模型运行在 Sysplorer + Modelica 环境中,主要使用 TYHydraulics 组件库。每个案例都可以独立打开、检查、翻译和运行,比较适合按照液压传动课程中的不同知识点分别练习。

下面直接看两个实际仿真结果。

案例一:液压泵卸荷回路是怎么工作的?

先看泵卸荷回路的模型结构。

图1 液压泵卸荷回路模型结构

从图1可以看到,整个系统主要由几部分组成:

  • 恒速驱动与液压泵

  • 单向阀

  • 供油容腔节点

  • 溢流阀

  • 卸荷支路

  • 双作用液压缸

  • 200 kg 垂直负载

  • 油箱

液压泵从油箱吸油,经过单向阀进入 supplyManifold 供油节点,再分成不同支路。

一条支路进入液压缸,负责驱动执行机构;另一条支路经过 unloadingValve 回到油箱,用于实现泵卸荷。

模型中还设置了压力传感器 pumpPressure 和流量传感器,用于观察泵出口压力以及主油路、卸荷支路的流量变化。

这里有一个比较重要的建模处理:

泵出口分支处加入了一个容性压力节点 supplyManifold。

它并不是简单把多个阀件直接连接在一起,而是给系统提供一个能够建立和变化压力的液压容腔。这种“容腔 + 阻性元件”的组合,更适合表示实际液压回路中的压力动态。

液压缸杆端还连接了一个:

200 kg 的垂直负载

模型中对应的重力约为:

1962 N

因此这个回路不只是让液压缸空载运动,还需要考虑负载产生的液压力需求。

8秒打开卸荷阀以后,压力发生了什么?

模型中的卸荷控制信号 unloadSignal 设置为:

startTime = 8 s

也就是说,在仿真运行到 8 s 时,卸荷阀开始打开。

对应的泵出口压力曲线如下。

图2 液压泵卸荷回路泵出口压力变化

这张曲线可以分成几个阶段来看。

0~约2.4 s:启动和执行机构动作阶段

仿真开始以后,泵出口压力并没有立即稳定在8 MPa。

前约2.4 s内,压力主要在:

约0~2.5 MPa

范围内变化,并伴随比较明显的动态波动。

这说明系统刚启动时,液压缸运动、油液流动以及容性压力节点建立压力的过程会产生明显瞬态。

约2.4~8 s:系统进入高压状态

约2.4 s后,泵出口压力迅速上升并稳定在:

约8.1 MPa

附近。

这一压力水平与系统的压力限制设定基本一致。

从曲线看,这一阶段泵处于明显的高压工作状态,直到8 s时卸荷阀被触发。

8 s:卸荷阀打开

图中虚线标出了:

t = 8 s

这一时刻。

卸荷阀打开以后,泵出口压力立即从约:

8.1 MPa

快速下降到约:

1 MPa

左右。

随后经过一段短暂状态变化,在约9.5 s以后进一步下降,并最终稳定在:

约0.24 MPa

附近。

这就是卸荷回路最直观的效果:

泵不再长期顶着高压工作,而是通过卸荷通道以较低压力把油液送回油箱。

为什么要给液压泵做卸荷?

如果执行机构暂时不需要工作,而定量泵还在持续供油,最简单的处理方式是让多余油液通过溢流阀返回油箱。

但这样意味着:

泵仍然在高压下持续输出。

大量液压功率最终会转化成热量,不仅降低效率,还会带来明显的系统发热。

卸荷回路的思路则是:

执行机构工作时 → 泵建立工作压力

执行机构停止时 → 打开卸荷支路 → 泵低压回油

从图2就能直接看到两种状态之间的区别:

卸荷前约8.1 MPa → 卸荷后最终约0.24 MPa

所以卸荷回路的价值并不是“让泵停止供油”,而是让泵在不需要驱动负载时进入低压、小功率工作状态

这也是很多定量泵液压系统中很典型的节能措施。

案例二:液压马达如何实现500 rpm转速闭环?

第二个比较有代表性的案例是液压马达转速 PID 控制。

模型结构如下。

图3 液压马达转速PID控制模型

这个模型可以分成液压回路和控制回路两部分。

液压部分主要包括:

  • 液压动力源

  • 比例流量阀

  • 马达入口容腔

  • 流量传感器

  • 液压马达

  • 转动惯量负载

  • 转速传感器

  • 油箱

控制部分则包括:

  • 目标转速 targetSpeed

  • PID 控制器 speedPID

  • 控制信号限幅器

  • 实际转速反馈

整体闭环关系非常清楚:

目标转速 → 转速误差 → PID → 比例流量阀开度 → 马达流量 → 马达转速 → 转速反馈

目标转速在:

t = 1 s

时阶跃到:

500 rpm

马达轴端连接了:

J = 0.05

的转动惯量负载,所以马达转速不会在给定变化后瞬间达到目标值,而是需要经历一个动态加速过程。

500 rpm能不能跟上?

对应的转速跟踪结果如下。

图4 液压马达PID转速跟踪曲线

绿色虚线表示目标转速,蓝色实线表示实际马达转速。

1 s以前:

目标转速 = 0 rpm

实际转速同样保持在0附近。

到1 s时,目标值突然阶跃到:

500 rpm

PID控制器检测到较大的转速误差以后迅速提高比例流量阀控制量,液压马达开始加速。

从图4可以看到,实际转速很快上升到:

约480 rpm

附近。

随后继续缓慢逼近目标值,并最终稳定在:

约500 rpm

附近。

整个过程中没有出现明显的大幅超调,实际转速主要是从目标值下方向上逼近。

到约3~4 s以后,目标曲线和实际曲线已经基本重合。

仿真结束时,转速传感器对应角速度约为:

52.36 rad/s

换算成转速:

52.36 × 60 / (2π) ≈ 500 rpm

与目标值一致。

也就是说,这个模型中的PID闭环已经基本消除了稳态转速误差。

PID到底在调什么?

这个案例比较适合说明一个容易被忽略的问题:

PID并不是直接控制液压马达的转速。

真正的控制链路是:

转速误差

PID输出

改变比例流量阀开度

改变进入马达的液压油流量

改变马达输出转速

转速传感器反馈

当目标转速突然从0增加到500 rpm时,误差很大,所以PID会快速增大阀的开度,让更多液压油进入马达。

马达转速越来越接近500 rpm以后,转速误差逐渐减小,PID输出也随之回落。

根据模型结果,启动阶段控制输出约为:

0.73

而进入稳态以后,控制量下降到约:

0.089

左右。

也就是说,启动阶段需要比较大的阀口开度让马达快速加速;真正进入稳态以后,只需要较小的持续流量就能够维持500 rpm。

这就是典型的:

给定—反馈—误差—调节

闭环控制过程。

两个案例放在一起看

虽然泵卸荷和马达转速PID看起来是完全不同的液压问题,但把两组结果放在一起,刚好可以看到液压系统中两个很典型的分析方向。

泵卸荷关注的是“系统压力状态”

图1和图2主要回答:

当执行机构不再需要高压供油时,怎样让液压泵退出高压工作状态?

结果非常直观:

卸荷前约8.1 MPa → 卸荷后最终约0.24 MPa

重点在于压力和能量管理。

马达PID关注的是“执行机构输出”

图3和图4回答:

怎样根据转速误差自动调整流量,让液压马达跟踪目标转速?

最终实现:

目标500 rpm → 实际约500 rpm

重点在于闭环控制和动态响应。

这也是这个18案例库比较有价值的地方:它并不是只展示液压缸怎么伸缩,而是同时覆盖了压力、流量、速度、位置、力以及闭环控制等不同问题。

18个案例更适合怎么用?

如果是在学习液压传动,我觉得可以按照“从基础回路到闭环控制”的顺序去跑。

先看:

换向 → 节流调速 → 差动连接 → 顺序动作

理解液压缸和阀件之间最基础的关系。

再看:

压力控制 → 保压 → 卸荷 → 平衡 → 锁紧

理解液压系统如何管理压力和负载。

最后再看:

位置PID → 转速PID → 比例压力控制 → 力控制

把前面的液压元件和自动控制结合起来。

相比一次只看一张教材原理图,这种方式的好处是每个模型都能真正运行起来,并观察:

  • 压力怎么变化

  • 流量走哪条支路

  • 液压缸怎么运动

  • 马达转速怎么变化

  • PID能不能达到目标值

这样更容易把“原理图上的连接关系”和“实际动态结果”对应起来。

模型使用时也需要注意边界

案例库的定位主要还是教学演示和系统级建模练习

其中部分模型直接基于TYHydraulics已有系统示例进行组织,另外像泵卸荷、马达转速PID、电液比例压力控制和液压缸力控制等案例,则是在库组件基础上进行了独立装配。

这些模型更强调:

回路结构是否正确、控制逻辑是否成立、动态趋势是否符合预期。

因此,不能简单把它们当成实际工程系统的元件选型计算模型。

如果需要进一步进行:

  • 阀口压降

  • 管路压力损失

  • 油液压缩性

  • 泵效率

  • 泄漏

  • 温升

  • 元件动态特性

等工程级定量分析,还需要根据真实液压系统进一步补充参数和物理细节。

小结

这个TYHydraulics教学案例库把18类常见液压系统整理成了可以直接运行的Modelica模型,从基础回路一直覆盖到闭环控制。

这次重点看的两个案例分别展示了两类典型问题。

液压泵卸荷回路:

在高压工作阶段,泵出口压力约为8.1 MPa;8 s打开卸荷阀后,压力迅速下降,并最终稳定在约0.24 MPa,比较直观地体现了液压泵低压卸荷的工作过程。

液压马达转速PID:

1 s时给定500 rpm目标转速,实际转速迅速上升,随后逐渐逼近目标,并在约3~4 s以后基本稳定在500 rpm附近,实现了较好的闭环跟踪。

如果正在学习液压传动、液压回路或者Modelica多领域系统建模,这套案例比较适合拿来逐个拆解:

先看元件怎么连,再看油液怎么走,最后通过曲线验证压力、流量和执行机构是否真的按照预期工作。

完整案例库、模型源码和说明可以在这里获取:

https://mohub.net/model/26114/summary

内容概要:本研究针对微电网在遭受拒绝服务(DoS)攻击时面临的功率分配不均电能质量问题,提出了一种兼顾功率精确均分电压频率质量恢复的抗攻击混合动态事件触发二次控制策略。该策略通过设计新型混合动态事件触发机制,有效减少控制器分布式单元间的网络通信负担,同时增强系统对DoS攻击的鲁棒性。研究构建了完整的微电网二次控制框架,整合了分布式协同控制算法事件触发通信机制,在保证系统稳定性的同时,实现了对频率、电压偏差的快速调节和有功/无功功率的精确分配。通过Simulink平台进行仿真实验,验证了所提方法在遭受DoS攻击及正常运行工况下均能有效维持微电网的稳定运行高质量电能输出。; 适合人群:具备电力系统自动化、分布式控制或微电网相关基础知识,从事新能源、智能电网领域研究的研发人员及高年级研究生。; 使用场景及目标:① 解决微电网在通信受限及网络攻击场景下的协同控制难题;② 实现微电网在异常工况下功率均分电能质量的双重优化;③ 为设计高安全性、高可靠性的智能微电网控制系统提供理论依据仿真验证方案。; 阅读建议:本资源侧重于控制策略的设计仿真验证,建议读者结合微电网基础理论Simulink仿真技术,深入理解事件触发机制抗DoS攻击控制算法的实现细节,并动手复现仿真案例以加深对系统动态性能鲁棒性的认识。
内容概要:本文围绕《【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)》展开,系统阐述了采用粒子群优化算法(PSO)对风能水力发电系统进行联合优化调度的研究方法技术路径。研究聚焦于构建多能源互补协调的优化模型,详细论述了目标函数的设计、系统约束条件的处理、算法求解流程及收敛性分析,并通过Matlab编程实现了完整的仿真验证过程,有效提升了可再生能源系统的运行效率稳定性。该工作属于电力系统智能优化领域,强调对高水平期刊论文的高精度复现,兼具理论深度工程实用性,适用于科研复现、学术研究教学参考。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源优化调度、智能算法应用的工程技术人员。; 使用场景及目标:①用于复现《太阳能学报》等高水平期刊中关于风-水电联合调度的EI/SCI论文;②掌握粒子群算法在多源协同优化中的建模、编码求解关键技术;③辅助完成学位论文、科研项目申报或学术竞赛中的仿真建模任务; 阅读建议:建议结合文中提供的网盘资源下载完整代码文档资料,按照目录结构循序渐进学习,重点关注算法实现细节、电力系统建模逻辑参数设置方法,同时可延伸学习灰狼优化算法、YALMIP工具包等先进优化技术,以全面提升科研仿真创新能力。
内容概要:本文聚焦“基于源网荷储一体化的配电网协同优化研究”,提出一种面向高渗透率电动汽车接入场景的双层优化模型,并采用Matlab实现完整的仿真求解。研究系统整合电源、电网、负荷储能四大环节,构建多时段、多约束条件下的协同调度框架,涵盖电动汽车有序充电、V2G(车网互动)技术、分布式能源并网、无功优化及储能协同配置等关键要素。通过引入二阶锥松弛或凸规划方法对非线性模型进行线性化处理,有效提升优化求解效率收敛性。同时,结合熵权法模糊综合评价方法,建立多维度的配电网承载能力量化评估体系,实现对系统运行状态的科学评判。文中配套提供完整Matlab代码,具有较强的可复现性工程应用价值,适用于科研仿真实际项目开发。; 适合人群:具备电力系统分析基础和Matlab编程能力,从事新能源接入、智能配电网、综合能源系统优化等方向的研究生、科研人员及电力行业工程技术开发者。; 使用场景及目标:①用于高比例可再生能源大规模电动汽车接入背景下配电网承载能力的量化评估;②实现源-网-荷-储多主体参的协同优化调度建模仿真分析;③支撑硕博学位论文撰写、高水平期刊论文结果复现及科研项目的算法验证系统开发。; 阅读建议:建议结合文中提供的Matlab代码相关参考文献同步研习,重点关注双层优化架构的设计逻辑、二阶锥松弛的数学处理技巧以及多指标综合评价体系的构建流程,建议动手调试代码以深入掌握模型实现细节算法运行机制。
源码链接: https://pan.quark.cn/s/a4b39357ea24 DMA(直接内存访问)是计算机系统中一种关键的数据传输机制,它使得特定的硬件子系统得以直接对系统内存进行读写操作,无需CPU的介入。这种机制对于提高I/O操作的效能具有极其重要的作用,特别是在网络设备、存储设备等驱动程序的编写过程中占据着核心地位。Cache(缓存)则是一种用于暂存频繁访问的数据和指令的存储结构,其目的是减少处理器对主存储器的访问次数,进而增强系统的整体性能。然而,DMA和Cache之间存在着一致性的挑战,特别是在部分嵌入式系统中,DMA操作可能绕过Cache机制,从而引发数据不一致的情况,这就需要采取一系列策略来维护Cache的一致性。 在DMA的运作模式中,主要存在两种Cache一致性问题:流式DMA(streaming DMA)一致性DMA(coherent DMA)。流式DMA通常应用于需要大量数据传输的场景,它不关注Cache的一致性,因此传输速度较快,但要求软件开发者自行管理数据的一致性。而一致性DMA则保证了在DMA传输期间,数据在Cache主内存之间保持同步,通常适用于对一致性要求较高的应用场景。 在Linux内核中,为了有效管理DMA操作,提供了一系列接口函数。其中,一致性DMA接口负责维护数据的一致性,而流式DMA接口则提供了更快的传输速度,但要求开发者自行解决数据一致性的问题。开发者在选用这些接口时,必须依据硬件平台的特点和性能需求,选择合适的DMA模式。 Cache一致性的解决方案通常取决于硬件平台的属性。在某些先进的处理器架构中,Cache对程序员而言是透明的,即处理器Cache控制器之间的交互对程序员不可见,从而简化了编程的复...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值