简介:系统讲解起重机防摇摆及防摇摆自动定位控制技术的专业PPT课件,面向起重机电气工程师、自动化控制技术人员及相关专业学生,旨在解决载荷摇摆影响作业效率与安全的核心痛点,内容涵盖基本概念、发展历史、主要好处、技术架构、控制方法、数学模型等知识模块。资料从20世纪90年代美国麻省理工学院为核反应堆遥控起重机安装防摇系统讲起,梳理多家国外公司及国内卫华的技术脉络,系统对比开环与闭环控制的原理、成本与适用范围;重点解析POSICAST控制方法的加速与减速过程,辅以速度控制图和公式推导,并展示河南卫华实际系统工程中的电气与机械控制架构,包括PLC、变频器、编码器配置,以及减摇幅度超过九成五、定位精度达两毫米的工程效果。整份资源共1个文件,为PPT格式,大小2.8MB,体量精简但体系完整,从历史到数学建模再到工程案例均有覆盖。目前已有259人学习,适合技术入门、方案选型和培训教学参考。
1. 起重机防摇摆及防摇摆自动定位控制系统:吊载摆动这道难题,到底值不值得上自动定位
桥式起重机和门式起重机在车间、码头和仓储里来回跑,司机最大的痛点不是开不快,而是吊载停不住。哪怕只吊两三吨,一档全速冲过去,到位后钢丝绳吊着货物前后摆,轻则等几秒人工消摆,重则撞上工装设备。起重机防摇摆及防摇摆自动定位控制系统要解决的就是两件事:一是让吊载在运行过程中尽量不摆,二是让起重机自己知道该在哪减速、在哪停,一次定位到位。这套系统适合设备改造方、起重机械厂调试工程师和产线自动化规划人员,核心收益是省掉人工对位时间,也降低吊载碰撞风险。
2. 防摇摆控制选型:先搞懂摆动模型,再决定开环还是闭环
在动手选算法之前,需要先把吊载摆动这件事抽象成数学对象。绝大多数起重机的防摇摆控制都可以归结为单摆模型或双摆模型,选错了模型,后面所有参数都成了玄学。这一章把模型、算法路线和参数标定讲清楚,你才能判断自家设备适合哪条路。
2.1 单摆与双摆:摆长决定周期,双摆才是调试噩梦
对于桥式起重机,吊载通过钢丝绳悬挂在小车下方,小车水平运动时,吊载沿小车运动方向摆动。忽略风载和绳长变化时,这是一个典型的单摆系统,运动方程可以写成角加速度加上重力项等于小车加速度的激励项:theta'' + (g / L) * theta = -a / L。其中g是重力加速度,L是钢丝绳有效长度。这个方程最重要的结论是,摆动周期只由有效绳长L决定,约为2π√(L/g)。比如绳长10米时周期约6.3秒,绳长4米时周期约4.0秒。
周期不随吊重变化,这一点在做输入整形时非常关键,意味着可以在不知道实际吊重的情况下,把绳长作为唯一标定参数。很多第一次接触防摇摆的工程师会下意识地问:吊重不一样,摆动周期是不是也不一样?答案是否定的,理想单摆的周期与质量无关。这直接决定了控制方案可以做得简单且鲁棒。
双摆发生在吊具下再挂一卷钢丝绳吊货物时,比如龙门吊用吊具加吊索的场合。货物摆动频率和吊具摆动频率相互耦合,系统出现两个固有频率,不再是单一周期。现场调试时常遇到的现象是:主摆刚压住,副摆又起来,两个频率互相拍,单靠一个摆角传感器根本压不住。对于双摆系统,常见做法是增加装在吊具上的倾角传感器,或者降低速度档位,用时间换稳定。
2.2 开环输入整形与闭环反馈:工程选型的核心分歧
防摇摆的算法路线分成两大类。开环路线不依赖摆角实时反馈,而是把发给变频器或DCS的启动、加速、减速指令重新整形,让指令本身不激励摆动。闭环路线依赖摆角传感器实时反馈,把摆角作为控制量引入速度环或位置环。两者的核心分歧在于对抗扰动的能力和对传感器的依赖程度。
开环路线的代表是输入整形技术,具体包括ZV整形、ZVD整形、EI整形等。它的原理很直观:把原本一步到位的指令拆成两步或多步小指令,后一步产生的摆动恰好抵消前一步激起的摆动。以ZV整形为例,第一步给车速一个正向变化,第二步延迟半个摆动周期后给一个反向变化,两股摆动在叠加后互相抵消。ZVD整形是ZV的加固版,用三段指令同时约束幅度和速度变化的连续性,对参数失配的容忍度更高。
闭环路线的代表是LQR状态反馈。把小车位置、小车速度、摆角、摆角速度作为状态,把速度指令作为控制量,可以设计出最优反馈矩阵。闭环路线的优势是能抵抗风载和吊载扰动,劣势是需要可靠的摆角反馈硬件,而且在机械刚性差的老起重机上容易出现传感器噪声放大。
工程上的常见做法是开环为主、闭环为辅:路径规划用输入整形保证大趋势不摆,摆角反馈用来做阻尼修正,把残余摆动继续压下去。如果是在老起重机上做改造,先上输入整形最划算,因为它不依赖新增传感器,只在PLC里改处理逻辑和速度指令曲线,改造成本最低。等验证有效后,再加闭环阻尼修正。
2.3 输入整形参数怎么定:绳长是灵魂,阻尼比是修正项
输入整形器的设计输入是系统固有频率和阻尼比。频率由有效绳长算出,阻尼比和钢丝绳挂点、吊具结构有关,一般取0.01到0.05之间,也可以现场通过起摆试验标定。实际工程中很多系统的阻尼比很小,直接按0处理也能工作,但定位停止后的残余摆动衰减会慢一些,这时候就需要闭环阻尼修正来兜底。
一个容易忽略的点是,绳长在运行过程中会变化。起升和运行同时进行时,钢丝绳长度改变会直接改变摆动周期,固定参数的输入整形器会失配。我一般把绳长信号接入PLC,把输入整形器的延迟时间做成绳长的实时函数,按整形式子动态更新延迟时间 dt = π√(L/g)。这样起升与运行联动时摆动抑制依旧有效。只要绳长编码器精度足够,动态整形的效果比固定参数好用得多。
3. 防摇摆自动定位系统构建:从传感器选型到PLC核心程序落地
把算法落地成实际系统,硬件链路和软件逻辑必须一起设计。这一章讲我在改造项目里通用的系统架构和一套可以直接照着写的定位控制逻辑,覆盖信号链路、参数整定和核心程序三个层面。
3.1 系统信号链路:谁测位置、谁测摆角、谁执行指令
自动定位的第一前提是知道小车在哪里。常用方案是绝对值编码器装在从动轮或齿条侧,分辨率和精度要匹配定位要求。定位精度要求±5mm的场合,编码器精度应该做到0.1mm以上,否则位置闭环的量化噪声会直接反映到速度指令上,表现为到位后小车来回找点。
摆角检测有三个可选路线。第一是钢丝绳倾角传感器,装在定滑轮附近,利用摆角导致钢丝绳偏离铅垂线的原理测量,安装简单但响应偏慢。第二是吊具上的惯性测量单元,直接测吊具倾角和角速度,响应快但抗振性差。第三是视觉方案,用相机跟踪吊具上的标记点,适合无遮挡的室内环境。从性价比看,倾角传感器最常用;从控制效果看,惯性测量单元配合姿态解算最好,适合对定位节拍要求高的产线。
控制器和驱动方面,运动控制型PLC加变频器是主流。定位控制是典型的位置环、速度环、电流环三层结构,变频器只负责电流环和最内层的速度环,位置环和防摇摆计算放在PLC里。这样设计的好处是后期改参数不需要变频器厂商的调试软件,维护更简单,项目交接时业主工程师也更容易接手。
3.2 关键参数整定:防摇摆强度、减速距离、定位死区
参数整定是系统能不能落地试车的关键。先列一张现场常用的参数表,再逐项解释含义。这张表可以作为调试初始值,不同吨位和绳长的设备在此基础上缩放。
| 参数 | 典型值 | 单位 | 说明 |
|---|---|---|---|
| 最大运行速度 | 60 | m/min | 受变频器额定转速和机械限位约束 |
| 减速距离 | 3 ~ 8 | m | 目标位置与开始减速点的距离 |
| 定位允许误差 | ±5 | mm | 稳态偏差满足此值视为定位完成 |
| 防摇摆比例系数 | 0.8 ~ 2.0 | s | 摆角到速度修正的增益 |
| 防摇摆阻尼系数 | 0.1 ~ 0.5 | s² | 摆角速度到速度修正的增益 |
| 输入整形延迟 | 动态 | s | 按绳长实时计算 |
防摇摆比例系数的含义是:摆角每变化1弧度,速度指令需要修正多少。修得太大,小车会跟着吊载来回窜动;修得太小,残余摆动要好几秒才能稳住。我的经验是从小往大调,以吊载到位后第一个摆动周期内摆角衰减是否超过一半为观察指标。定位死区不要一开始就收得很小,先放开到±10mm让系统稳定,再逐步收紧到设计精度。
3.3 PLC核心程序:一个可参考的防摇摆自动定位逻辑
下面是一段结构化文本风格的核心逻辑,可以直接作为运动控制PLC中功能块的骨架。它实现了位置P控制、按距离减速和摆角阻尼修正三层叠加。
// 防摇摆自动定位核心逻辑(结构化文本风格,适用于支持ST的PLC) FUNCTION_BLOCK FB_PositionSwayControl VAR_INPUT set_pos : REAL; // 目标位置,单位 mm act_pos : REAL; // 当前位置,来自绝对值编码器,单位 mm cable_len : REAL; // 有效绳长,单位 m sway_angle : REAL; // 摆角反馈,单位 rad sway_vel : REAL; // 摆角速度,单位 rad/s,可对角度微分获得 max_speed : REAL; // 最大运行速度,单位 mm/s decel_dist : REAL; // 减速距离,单位 mm kp_sway : REAL; // 防摇摆比例增益,单位 (mm/s)/rad kd_sway : REAL; // 防摇摆微分增益,单位 (mm/s)/(rad/s) END_VAR VAR_OUTPUT cmd_speed : REAL; // 最终速度指令,单位 mm/s END_VAR VAR pos_err : REAL; base_speed : REAL; sway_adj : REAL; END_VAR // 第1步:计算位置偏差 pos_err := set_pos - act_pos; // 第2步:按距离减速,线性从最大速度降到0 IF ABS(pos_err) > decel_dist THEN base_speed := SIGN(pos_err) * max_speed; ELSE base_speed := pos_err / decel_dist * max_speed; END_IF // 第3步:摆角修正,注意极性是抑制摆动而不是放大摆动 sway_adj := kp_sway * sway_angle + kd_sway * sway_vel; // 第4步:限幅输出 cmd_speed := LIMIT(base_speed + sway_adj, -max_speed, max_speed);代码逻辑不复杂,但有三个关键点必须理解。第一,位置偏差为0时速度指令不一定为0,因为摆角修正项还在作用,这正是闭环防摇摆的工作方式:小车微动去抵消吊载摆动,代价是定位时间略长。第二,减速距离decel_dist决定了位置闭环的等效增益,距离越小增益越高,定位越快也越容易过冲。第三,摆角速度sway_vel如果现场噪声大,不要直接对角度做差分,改用带前馈补偿的状态观测器来估计,避免把高频噪声放大进速度指令。
提示:现场第一次上防摇摆功能时,先把kp_sway设为0,验证位置闭环稳定后再逐步加入摆角修正。直接上满参数,大概率遇到的是小车来回窜动,很容易让人误判成算法选型错误。
4. 防摇摆自动定位调试方法:空载、带载、精度验证三步走
现场稳定性不是一次试车试出来的,而是按空载、带载、精度验证三个层次递进调出来的。下面是我在项目上用的调试流程,每一步都有明确的观察指标和调整动作,照着走能少走很多弯路。
4.1 空载调试:先把动力学参数标定到可信
空载调试的目标是验证模型参数和防摇摆参数是否匹配。第一步,让小车在一个固定绳长下以30%速度运行并急停,记录摆角波形,算出实际摆动周期,和按绳长估算的周期对比。如果实测周期比估算值大不少,说明有效绳长不是从卷筒出来的钢丝绳长度,而是包含了吊具自身高度或钢丝绳弹性伸长,需要修正绳长值。
第二步,空载跑一次全行程定位。把速度设为最大速度的50%,观察接近目标位置时小车的减速行为和吊载摆角。如果出现明显的过冲后反复,说明减速距离或防摇摆增益偏大;如果停得住但定位时间超过预期,说明减速距离太保守。参考调法是每次只改一个参数,改动幅度控制在10%以内,不要同时改多个参数,否则出了问题根本分不清是谁引起的。
第三步,做不同绳长的空载试验。分别在2米、5米、10米绳长下运行定位,确认动态输入整形在绳长变化时依然有效。绳长编码器接入值要在这个阶段和实际卷筒圈数互相校核,对不上就把编码器量程或齿轮比改掉,否则后面的动态整形全是错的,而且这种错在现场很难一眼看出来。
4.2 带载调试:吊重、重心偏移、双摆现象逐个压掉
带载调试要按吊重分档做。空载调试能通过的参数,带重载后往往不到位,因为吊重会改变钢丝绳的等效摆长,对双摆系统来说货物还会引入第二个摆动频率。我的经验是,先吊额定载荷的30%做和空载完全相同的试验,确认参数变化不大。再上额定载荷,此时重点观察的是双摆耦合。
双摆出现的典型现象是:吊具摆动已经明显减小,但货物还在以另一个频率晃动,导致吊具被反向拖动。应对办法是先降低最大运行速度到70%,再用ZVD整形替换ZV整形,因为ZVD对频率失配的容忍度更好。如果还是压不住,就在吊具上加第二个倾角传感器,把两级摆角的信号解耦后分别修正,这一步需要比较扎实的滤波功底。
带载调试时还有一个容易被忽略的点:钢丝绳扭转。吊载旋转会把倾角传感器的零漂拉偏,导致PLC误认为存在恒定摆角,给速度指令叠加上一个常值偏移。遇到这种情况,在程序里加一个低速段的摆角零点自动校准,即当小车静止且吊载稳定2秒后,把当前角度记录为新零点,能省掉大量手动校零的工时。
4.3 定位精度验证:建立在连续重复运行数据上
精度验证不是测一次到位就结束,而是连续跑10次以上同距离定位,统计每次到位后的稳态位置偏差和残余摆角。验收标准我一般用两个指标:平均稳态偏差不超过±5mm,残余摆角在到位后2秒内衰减到0.5度以下。在这个阶段,把定位完成信号做成PLC内部标志位,偏差在允许范围内持续1秒以上才认为定位完成,避免瞬时进入死区造成频繁启停。
连续运行时还要关注一个隐蔽问题:每次定位完成后,如果小车马上反向启动去执行下一个任务,上一次的残余摆动会被叠加到新指令上。处理的办法是在反向启动前检查残余摆角是否小于阈值,否则先原地等待零点几个摆动周期再启动。这个逻辑放在调度层,不在单次定位功能块里,需要和上位机的任务队列一起设计。
5. 防摇摆定位调试避坑指南:五个反复翻车的高发现场
这一章把我在现场踩过的坑整理成现象、原因、解决三段式,每一条都是真实调试时最容易遇到、说明书上又常常不写的细节,值得在实际项目里对照排查。
5.1 摆幅不降反增:极性接反是头号翻车原因
现象:开启防摇摆功能后,吊载摆动不但没衰减,反而越来越大,小车甚至会跟着吊载来回振荡。原因:摆角修正项的极性接反了。防摇摆修正的目的是让小车移动到吊载的另外一侧去迎住它,而不是跟着吊载同方向跑。解决:先断开防摇摆修正,只保留位置闭环,在空载低速下人工扳动吊载,观察摆角符号与速度修正符号的关系。把kp_sway设为0,手动给一个已知的正向摆角,确认速度指令修正方向与小车的迎向动作一致,极性反了就把增益取负号。
这个排查不要用带载状态,空载状态更安全,且摆角传感器的极性在空载时就能完全验证。很多工程师习惯带载试车,一旦出现摆幅增大就怀疑是参数太大,实际上极性反了调参数永远调不出来,只会越调越乱。
5.2 定位过冲与振荡:位置闭环带宽高于机械结构承受能力
现象:吊载到位后,小车在目标位置附近反复来回,定位时间延长几十秒,严重时机架晃动。原因:位置环增益太高或减速距离太短,速度指令变化率超过了变频器和机械结构能承受的极限。解决:先把减速距离参数放到原来的150%,观察是否还有振荡;再把速度指令做一阶斜坡滤波,限制加速度最大值。一般限到0.3m/s²到0.5m/s²,龙门吊这类大惯量设备取低值,桥式起重机可以取中高值。
这里要特别提醒,过冲问题和编码器安装精度也有关系。如果编码器联轴器打滑或齿条啮合间隙太大,位置反馈本身就有滞后,这时候调再小的增益也压不住振荡,需要先解决机械侧的间隙问题。
5.3 摆角传感器噪声大:数字化滤波与观测器怎么选
现象:空载静止时速度指令非零,小车出现无规律的小幅窜动,控制台速度显示跳动。原因:摆角传感器信号带高频噪声,位置环把这些噪声当作真实摆角放大进了速度指令。解决:检查屏蔽层接地是否可靠,传感器供电是否和变频器共用电源,如果是就单独加滤波器。程序层面,禁止用纯微分求摆角速度,换成低通滤波后差分或者状态观测器。低通滤波截止频率我一般取2Hz到5Hz,太高滤不掉噪声,太低会滞后真实摆角。
判断噪声来源有一个简单方法:在PLC里把摆角值传到上位机监控,静止时观察原始角度波形的峰峰值,如果超过0.2度,基本可以判定传感器或信号链路有问题。先解决硬件侧的噪声,再谈算法优化,顺序不能反。
5.4 绳长信号跳变导致定位失控:动态整形的最大隐患
现象:起升与运行联动时,吊载突然大幅度摆动,甚至定位位置明显偏移。原因:绳长编码器信号跳变或起升卷筒打滑,导致PLC算出的摆动周期突变,输入整形器瞬间失配。解决:在程序中给绳长变化率加限制,每100毫秒允许变化不超过0.1米,超过视为异常,保持上一次的有效绳长继续运行,并输出报警给司机或调度系统。
这个保护逻辑成本很低,但能挡住绝大多数绳长反馈异常。绳长编码器通常是增量式,断电重启丢失零点,如果每次开机没有自动找零,动态整形的基准从一开始就是错的,定位失控只是时间问题。
5.5 同一个参数在白班正常、夜班就出问题:温度与润滑
现象:白班调试好的防摇摆参数,夜里温度下降后定位精度下降,摆角衰减变慢。原因:低温导致减速机润滑脂黏度上升,摩擦加大,系统阻尼比变了,输入整形参数失配。解决:在PLC里做温度补偿,把阻尼比作为温度的函数,温度每下降10摄氏度,阻尼比提高0.005到0.01,具体系数需要在项目现场标定。这个现象在北方冬季特别明显,调试时最好覆盖早晚温差,不要只在白天试车。
如果现场不给加温度传感器,退而求其次的做法是参数按低温环境整定,白天热车时效果略差但偏差在可接受范围内。两害相权取其一,至少保证冬季夜班不翻车。
6. 防摇摆控制的进阶验证技巧:仿真先行与录波对比
最后一章讲两个我长期在用的验证手段,能大大缩短现场调试时间:一是用数值仿真提前验证参数规律,二是用录波对比判断控制效果。这两招不是理论作业,而是每次项目进场前必做的功课。
仿真验证适合在改参数前做。下面这个Python脚本模拟单摆系统在不同启动指令下的摆角响应,可以快速确认输入整形参数的方向是否正确。
# 输入整形效果仿真:对比普通启动与ZV整形启动的摆角响应 import numpy as np from scipy.integrate import odeint L = 8.0 # 有效绳长,单位 m g = 9.81 T = 2 * np.pi * np.sqrt(L / g) # 摆动周期,单位 s T_half = T / 2 # ZV整形的半周期延迟 def model(y, t, acc): theta, omega = y return [omega, -(g / L) * theta - acc(t) / L] def acc_plain(t): # 普通单段加速指令 return 0.3 if t < 1.0 else 0.0 def acc_zv(t): # ZV整形:先加速,停半周期后再以反向加速度抵消摆动 if t < 0.5: return 0.3 elif t < 0.5 + T_half: return 0.0 else: return 0.0运行后把theta曲线画出来,对比两条指令下的最大摆角。如果普通启动的最大摆角明显大于整形启动,说明输入整形的方向没问题;如果两者差不多,就要怀疑绳长参数或阻尼比取错了。仿真中收敛良好而现场不行,问题大概率出在反馈链路或机械特性上,不要把时间浪费在改算法上。
录波对比的要点是固定工况、只变一个参数。每次改参数前,先录一条基准波形;改参数后同行程再录一条,两条波形时长和起始位置必须一致。重点看到位后0到5秒的摆角包络线变化。我习惯把包络线的衰减率作为判定值,衰减率低于50%就调大kp_sway,高于90%就调小kd_sway。
一个长期有效的习惯是:把每次调试的参数组合连同现场温度、吊重、绳长一起记录在调试表里。某位前辈工程师把这套表叫参数后悔药,因为设备运行几个月后参数被反复改乱时,翻表就能找回最接近当前工况的可用组合。调试不是靠一次试车成功,而是靠每一次改动都有记录、有对比、有结论。希望帮到你。
本文还有配套的精品资源,点击获取