当前位置: 首页 > ds >正文

两台电动缸同步算法

说明

某项目设计两台电动缸同步,八台电动缸,原理都是一致的,不同项目要求的同步率不一样,有些项目要求起终点位置一致,有些项目要求整个运动过程中位置要一致,针对此类问题有如下设备可以选择,伺服电机配套伺服驱动器,加上减速机安装在电缸上面组成电动缸,现在一般比较重要的场合会使用电动缸,因为液压的可能会因为温度等因素出现问题。

控制电动缸运动,实际上控制好伺服电机就可以,市面上的伺服电机现在基本都很成熟,因此主要问题就在于驱动器和控制器上面。驱动器一般会配备多种通讯接口和控制的主机进行通讯,最常见的有CAN通讯、485串口通讯等。

驱动器配套其他控制设备使用,控制主机可以按项目进行选择,一般有以下几种

(1)控制器选择常见的可编程逻辑控制器(PLC),需要接各种传感器信号以及IO信号等和多个设备互相进行数据的收发时,可以使用PLC作为控制器。

(2)运动控制卡,专门为驱动器设计,方便易操作,控制精度高,很多人推荐使用,说是很方便,我暂时还没接触过。

 专门定制的嵌入式设备,和驱动器一体的,这个成本高,相比于其他两种研发周期长,而且稳定性不如前面两个。

我在本次项目中使用PLC进行控制,因为我们本身就是销售PLC的,另外设备有IO信号要处理,并且还有上位机的各种数据要处理。驱动器使用CAN通讯总线控制。本次使用的驱动器并不是完全严格按照标准CANopen开发,驱动器厂家在某些底层参数上面进行了自己的更改,并且产品迭代后的更新并未在说明书上面说明,这导致我后期调试时有些问题一直找不到原因,大家在做项目时要注意,要和厂家沟通好,虽然有些人本身就懒得搭理你,因为他们也可能是套壳产品。

电动缸同步

相比而言PLC自带的CAN 通讯需要每个控制字去选择,整个流程还是比较麻烦的,并且PLC还受程序容量的影响,程序多了就会影响扫描周期,这就会导致数据更新速率不够快,这样的结果会导致无法实时判断位置。但是我作为PLC厂家必须使用PLC。

电动缸的同步一般需要两种考虑思路,

(1)两个电动缸受力大小一致,

①行驶过程中有两个电动缸受力波动不一致的现象

解决此问题有三种办法,

a、一种是选用功率更大的伺服电机,就相当于较大的功率带动小负载,所以这种情况下,负载重量的小波动对控制没什么影响,但是更大功率的意味着要选用更大体积的伺服电机伺服驱动器,

b、所以还有一种如下的方法,就是采用主从的办法,这种方法是一台伺服电机做主设备,另一台伺服电机做从站设备,从站设备完全跟随主站设备进行运行,这种的办法需要在硬件上进行线路改装,另外只需要控制一台电机,但是也有弊端,从站设备只能跟随主站设备进行运动。

c、还有一种就是位置环做外环,速度环做内环,主要原理是使用位置环来控制两台电动缸,因为位置环的原则是,我不考虑中间过程我只需要控制终点和起点的位置,因此当受力不均匀时可能会出现,负载较大的一个电机速度就会降低,导致两电动缸的位移不一致,这种情况下可以对实时读取的位置做判断,当位置有偏差时需要做速度补偿,但是补偿的对象需要慎重选择,因为可能受到阻力的电动缸加上阻力受力在电动缸承受范围内,这样的话给此电动缸施加较高的速度去做追平运动是没问题的(需要考虑多久追平,做对应的速度补偿),但是如果受力超出了这个承受范围,你再去施加更高的速度,就会导致过载损坏电机,这种情况下最好的就是,降低另一个电动缸的速度来尽量保持平衡;如果负载较重,一般可以使用减速比更高的减速机,这样可以很好的提高扭矩,但是也要注意减速比更高意味着整体的运动速度也会降低,所以相应的场合在不同的条件下应选用合适的减速机。但是我本次使用的驱动器没有以标准的CANOPEN功能开发,因此不支持位置环时速度平滑补偿,如果速度改变就会先停止再以补偿速度运行,这样会导致设备抖动更严重,严重损坏设备。因此我采用了使用速度环控制电机,但是这种情况下会出现另一种问题,设备走速度环时需要人为去控制减速度起终点,但是不同速度减速的距离又不一致,如果给定一样的减速位置,这就会导致速度高的时候超过终点,速度低的时候又到不了终点,这个是很糟糕的,我的想法是使用速度补偿的原则,检测几个位置计算出线性关系,以反比形式得出手动拟合的关系式,比如△X=kx+b,得出一个反比函数,当两电缸出现位置偏差时进行速度补偿,以减小误差,另外为了让补偿过程实现平滑的补偿,让设备不抖动,速度补偿应当是线性的补偿,而不是阶梯型补偿,这就意味着需要找一个合适的一种方法来进行补偿。规范的伺服电机位置环也有速度实时切换的功能,但是无奈我选用的驱动器恰好没有,因此我30ms读取一次电动缸的位置,通过两个电动缸的位置差值,决定是否对某个电动缸进行速度的补偿,补偿的算法是检测多个值,在上述线性公式中得出比较合理的系数,但是补偿中要注意如下问题,补偿要注意速度上限(这部分程序中可以分段写,当速度较大时,可以使用减速补偿,速度小时,加速补偿),以及电缸的偏差,如果偏差过大,就不适用于快速补偿,不能指望快速补偿在0.5秒就能弥补偏差的要求。偏差过大时,这种发如果系数过大,进行速度补偿试时,可能会产生一台电动缸加速,一台电动缸停止,反而会对设备产生二次损坏。

http://www.xdnf.cn/news/4037.html

相关文章:

  • n8n 构建一个 ReAct AI Agent 示例
  • 数理性能大幅提升|暴雨一体机适配DeepSeek Prover v2
  • C++类_成员函数指针
  • 移动 Trae 目录到 E 盘 - 解决 C 盘空间不足问题
  • 在Qt Creator中使用CUDA
  • 录播课制作技术指南
  • Javase 基础加强 —— 03 集合
  • Room + WorkManager的Android学习总结
  • 2025年DA数智大会大模型与大数据应用实践峰会(脱敏)PPT合集(36份)
  • **面试水货程序员马小帅**
  • 技术部测试规范
  • PyTorch_张量拼接
  • ES6入门---第三单元 模块四:Set和WeakSet
  • SQL手工注入(DVWA)
  • 「Mac畅玩AIGC与多模态17」开发篇13 - 条件判断与分支跳转工作流示例
  • 交互式智能体面临长周期决策和随机环境反馈交互等挑战 以及解决办法
  • 记录一次手动更新英特尔Management Engine固件的经历
  • Python绘制误差棒:深入解析数据的不确定性
  • 文章记单词 | 第62篇(六级)
  • W-TinyLFU缓存驱逐算法解析
  • Maven框架详解:构建与依赖管理的利器
  • 《奇迹世界起源》:宝箱工坊介绍!
  • MyBatis 核心类详解与架构解析:从入门到源码级理解
  • 《前端秘籍:SCSS阴影效果全兼容指南》
  • Linux的系统周期化任务
  • ES类的索引轮换
  • JVM——JVM是怎么实现invokedynamic的?
  • HttpPrinter 是一款功能强大的跨平台 Web 打印解决方案
  • C与指针——结构与联合
  • Feign的原理