两台电动缸同步算法

说明

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

控制电动缸运动,实际上控制好伺服电机就可以,市面上的伺服电机现在基本都很成熟,因此主要问题就在于驱动器和控制器上面。驱动器一般会配备多种通讯接口和控制的主机进行通讯,最常见的有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秒就能弥补偏差的要求。偏差过大时,这种发如果系数过大,进行速度补偿试时,可能会产生一台电动缸加速,一台电动缸停止,反而会对设备产生二次损坏。

### 电动位置控制算法及其优化 #### 1. 电动工作原理与基本构成 电动是一种以电动机为动力源的执行器,其核心功能是将电能转化为机械能,进而实现直线运动或力的输出[^1]。它的主要组成部分包括电动机、减速机构、联轴器以及体和执行元件。 #### 2. 基于PID的位置控制算法 在工业应用中,最常用的电动位置控制方法之一是基于比例-积分-微分(PID)控制器的设计。该算法通过对目标位置与当前反馈位置之间的误差进行计算,并依据预设的比例系数 \(K_p\)、积分时间常数 \(T_i\) 和微分时间常数 \(T_d\) 来调节系统的响应特性。具体而言: \[ u(t) = K_p e(t) + \frac{1}{T_i} \int_0^t e(\tau)d\tau + T_d \frac{de(t)}{dt} \] 其中,\(e(t)\) 表示当前位置偏差,而 \(u(t)\) 则代表输入信号。这种经典的方法虽然易于理解和实施,但在面对复杂工况或者动态负载变化时可能存在不足之处。 #### 3. 自适应模糊PID控制策略 为了进一步提升控制系统性能,在某些特定场景下引入了自适应模糊逻辑技术改进传统PID参数设定方式。这种方法允许根据实际运行状况自动调整各环节增益值,从而达到更佳的效果。例如,在处理柔性振动系统过程中发现采用此类方案可显著改善稳定性并减少震荡现象发生概率[^3]。 以下是简化版伪代码展示如何构建这样一个增强型闭环架构: ```python def fuzzy_pid_control(error, error_dot): # 定义隶属函数及规则库初始化省略... kp_adjustment = evaluate_fuzzy_rule_set('proportional', error) ki_adjustment = evaluate_fuzzy_rule_set('integral', integral_of_error) kd_adjustment = evaluate_fuzzy_rule_set('derivative', error_dot) updated_kp = base_kp * (1 + kp_adjustment) updated_ki = base_ki * (1 + ki_adjustment) updated_kd = base_kd * (1 + kd_adjustment) control_signal = updated_kp*error + updated_ki*(sum(errors)) + updated_kd*error_dot return control_signal ``` 此段程序片段展示了通过评估不同维度下的模糊集合来决定最终校正因子的过程,使得整个体系更加灵活高效。 #### 4. 结合实际情况考虑因素 值得注意的是,尽管上述两种途径各有千秋,但它们都需要充分考虑到诸如摩擦阻力补偿机制设计等问题才能真正意义上满足精密定位需求。此外,当涉及到多自由度协调动作规划时,则往往还需要借助更为复杂的数学建模手段来进行综合分析求解[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值