关于“震颤”的学习笔记

想象一个生锈的门铰链,如果你非常缓慢、轻柔地去推门,它可能卡住不动。但如果你快速、小幅地来回推拉,它就能顺利转动起来。“震颤”技术运用的就是类似的原理,只不过它是在电控液压系统中,以极其精确和受控的方式实现的。

下面我将分步为您详细解释:

1. 核心问题:液压阀芯的“静摩擦力”

  • 什么是阀芯? 在液压比例阀或伺服阀内部,有一个可以精密移动的圆柱体(阀芯)。它的移动会打开或关闭不同的油路,从而精确控制流向液压油缸或马达的油液流量和方向。
  • “静摩擦力”的困扰: 这个阀芯和它的阀套之间配合极其精密,间隙非常小,并且充满液压油。这就产生了显著的静摩擦力(也叫粘滞效应)。这意味着:
    • 需要额外的力才能启动:当控制信号(电流)很小时,它产生的电磁力可能无法克服静摩擦力,阀芯根本不动。
    • 导致“卡滞”和“跳跃”:当信号缓慢增加时,阀芯会突然“挣脱”摩擦力,从一个位置“跳跃”到另一个位置,而不是平稳移动。这就像试图在冰面上缓慢推一个很重的箱子,一开始推不动,然后突然一下滑出去老远。

2. “震颤”如何解决问题:叠加高频微振信号

现在,我们来看“震颤”这个解决方案。正如您引用的那句话所说:

“由控制器在输出电流上叠加一个高频、低幅值的交流信号”

我们来分解这个操作:

  • 基础控制信号(直流信号): 这是一个平稳的、缓慢变化的直流电流信号,它代表了你希望阀芯移动到的目标位置。比如,0.5A对应阀芯在中位,1.0A对应右移50%,0.1A对应左移10%。
  • 震颤信号(交流信号): 一个频率很高(例如100-400Hz)、幅度很小(可能是总控制电流的1%-5%)的正弦波或三角波信号。
  • 最终输出信号: 控制器实际输出给比例阀线圈的电流,是上述两者的叠加

可视化一下
如果你的目标控制电流是 0.6A,震颤信号是 ±0.02A @ 200Hz,那么最终输出电流就是在 0.58A 到 0.62A 之间以每秒200次的速度高速波动。

3. “震颤”的工作原理:将静摩擦转化为动摩擦

这是最精妙的部分。为什么叠加一个高频振动就能解决问题?

  • 打破“静摩擦”状态: 静摩擦力(物体静止时)远大于动摩擦力(物体运动时)。震颤信号让阀芯始终处于一个极其微小的、高频的振动状态,它永远不会真正“静止”下来。这样一来,它就始终处于“动摩擦”的领域内。
  • “平均位置”控制: 由于震颤频率很高,阀芯和液压系统来不及对这个高频振动做出大幅度的响应。系统的响应追随的是这个抖动信号的平均值。在上面的例子里,系统表现得就像有一个稳定的 0.6A 电流在驱动它一样。
  • 化“跳跃”为“平滑”: 当你的目标控制电流从0.6A缓慢增加到0.61A时,由于阀芯早已在振动,它不需要克服一个巨大的静摩擦门槛,而是可以非常平滑地从当前的振动中心移动到新的振动中心,消除了“卡滞”和“跳跃”现象。

4. 带来的核心好处

  • 提高控制精度: 阀芯可以精确地定位在任何一个微小的指令位置,而不会被静摩擦力卡在某个位置附近。
  • 提高响应速度: 因为启动没有延迟,阀芯对微小信号变化的响应更快。
  • 减少滞环影响: “滞环”是指阀芯从不同方向到达同一位置时,实际位置有差异的现象,静摩擦力是其主要成因之一。震颤技术极大地减小了这种差异。
  • 实现微动、平稳控制: 这是最关键的好处。在需要精细操作的场景中,例如挖掘机进行管道铺设、起重机进行精密吊装、或机床进行慢速铣削时,操作员需要设备能够对操纵杆的微小移动做出平滑、线性的响应。没有震颤技术,设备可能会一顿一顿地动作,根本无法完成精细作业。

总结

“震颤”是一种通过引入受控的高频机械振动,将执行机构(如液压阀芯)从静摩擦区转换到动摩擦区,从而消除非线性死区、实现精准、平滑、线性控制的主动控制策略。

它不是控制器的一个“故障”或“噪音”,而是一个经过精密计算的、用于克服物理世界固有缺陷的智能功能。对于高端液压控制系统而言,这是实现卓越性能不可或缺的关键技术。

震颤的配置方式与可配置参数

在现代基于软件的控制器中,震颤功能通常是通过参数配置实现的,而非早期的模拟电路。以下是典型的配置形式和数据参数:

1. 配置形式:

通常作为一个独立的软件功能块,输入是目标电流指令,输出是叠加了震颤信号后的最终电流指令。该功能块由一系列可标定的参数控制。

2. 可配置参数:

通常有三个核心参数,它们共同定义了一个震颤信号:
震颤频率:
定义: 震颤信号每秒钟变化的次数,单位通常是Hz。
典型范围: 几十Hz到几百Hz,常见范围在100Hz - 400Hz之间。
核心原则: 选择的震颤频率必须远高于系统的有效频率(通常>50Hz),但又必须远低于阀的机械谐振频率(通常<1/3谐振频率)。
频率太低:会与控制系统耦合,被操作员感知为令人不适的振动或噪音。
频率太高:会激励阀芯的机械共振,导致部件疲劳损坏、产生巨大噪音和控制完全失控。

震颤振幅:
定义: 震颤信号的强度大小。通常以峰值电流或占基础电流的百分比来表示。
典型范围: 可能是总驱动电流的1% - 5%,例如对于一个最大电流3A的阀,振幅可能在30mA - 150mA之间。

震颤波形:
定义: 震颤信号的变化形状。
常见类型: 三角波、正弦波。三角波因易于数字生成且效果类似而最常用。方波因其高频谐波分量可能引发噪音问题而较少使用。

一个专业的参数确定流程通常如下:

1. 查阅数据手册:
首先,从比例阀的供应商那里获取数据手册。优质的数据手册通常会给出推荐的震颤频率和振幅范围,这是最重要的起点。

2. 实验室测试与标定:

频率扫描测试: 在安全条件下,固定基础电流,施加一个微小振幅的震颤信号,并逐步扫描频率(例如从50Hz到500Hz)。同时用加速度传感器测量阀体的振动噪音。找到那个引起机械共振的频率点,然后坚决避开它。通常会在共振频率的1/3以下选择一个平稳的频率点。

振幅确定测试:
目标: 找到能刚好消除滞环和卡滞的最小振幅。
方法: 在选定频率下,从一个较小的振幅开始,给阀一个非常缓慢的、小范围的电流斜坡信号,同时测量阀的反馈(如位移传感器输出或下游压力)。观察滞环曲线。
逐步增大振幅,直到滞环现象基本消失,控制曲线变得平滑线性为止。过大的振幅会增加不必要的磨损和发热,并可能降低分辨率。

系统联调与优化:
将初步标定好的参数放在整机上进行测试。结合具体工况(如微动操作、高速运动),由经验丰富的测试工程师进行主观评价和客观数据记录,进行微调,以在性能、噪音、寿命之间取得最佳平衡。

### 震颤控制 PWM 实现及震颤模拟 PWM 应用 震颤控制(Dithering Control)是一种通过引入轻微变化来提高系统分辨率或性能的技术。在PWM(脉宽调制)应用中,这种技术可以显著提升输出信号的精度和灵活性。以下将详细介绍震颤控制在PWM中的实现方式及其具体应用。 #### 1. 震颤控制 PWM 的实现原理 震颤控制的核心思想是在多个连续周期内对PWM的占空比或频率进行细微调整,从而在平均意义上达到更高的分辨率。例如,在STM32G474微控制器中,可以通过启动定时器的抖动模式(DITHEN位)来实现这一功能[^1]。该模式会在16个连续的PWM周期内稍微改变实际的CCR(捕获/比较寄存器)值或ARR(自动重载寄存器)值,通过增加或不增加一个定时器时钟周期来实现分辨率的提升。理论上,这种技术可以使有效分辨率提高16倍。 在具体配置中,以TIM1为例,若需要生成100kHz的互补PWM信号,则普通情况下每个周期需要计数1700次。而在抖动模式下,总计数将扩展为1700×16=27200次,从而显著提升了时间分辨率[^3]。 ```python # 配置TIM1以启用抖动模式 def configure_tim1_dithering(): # 假设使用STM32 HAL库 htim1 = TIM_HandleTypeDef() htim1.Instance = TIM1 htim1.Init.Prescaler = 0 # 假设输入时钟为170MHz htim1.Init.CounterMode = TIM_COUNTERMODE_UP htim1.Init.Period = 1700 # ARR值 htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1 htim1.Init.RepetitionCounter = 0 if HAL_TIM_PWM_Init(htim1) != HAL_OK: return "Initialization Failed" # 启用抖动模式 TIM1.CR1 |= TIM_CR1_DITHEN return "Dithering Mode Enabled" ``` #### 2. 震颤控制 PWM 的典型应用 震颤控制PWM技术广泛应用于需要高精度控制的场景,包括但不限于以下领域: - **LED驱动与恒流控制**:通过实时调控PWM占空比D,即使LED串压降发生波动,也能确保输出电流保持稳定[^2]。例如,利用MP4688芯片搭配采样电阻,可以实现开关频率高达2MHz的Buck恒流驱动。 - **电机控制**:在无刷直流电机(BLDC)或其他精密电机控制中,震颤控制PWM能够提供更平滑的速度调节和更高的扭矩分辨率。 - **音频信号生成**:通过提高PWM分辨率,可以在数字音频合成中减少量化噪声,从而改善音质。 #### 3. 震颤模拟 PWM 的实现方法 震颤模拟PWM通常涉及软件层面的算法设计,用于在硬件不具备抖动模式支持的情况下模拟类似效果。其实现步骤包括: - 在多个PWM周期内动态调整占空比,使平均值接近目标值。 - 利用伪随机数生成器或预定序列来决定每个周期的具体占空比变化量。 以下是一个简单的震颤模拟PWM实现示例: ```c // 震颤模拟PWM实现 void simulate_dithered_pwm(uint16_t target_duty, uint16_t pwm_period) { static uint8_t dither_seq[] = {0, 1, -1, 0}; // 震颤序列 static uint8_t seq_index = 0; int16_t adjusted_duty = target_duty + dither_seq[seq_index]; if (adjusted_duty < 0) adjusted_duty = 0; if (adjusted_duty > pwm_period) adjusted_duty = pwm_period; set_pwm_duty(adjusted_duty); // 假设函数用于设置PWM占空比 seq_index = (seq_index + 1) % sizeof(dither_seq); } ``` 此代码片段展示了如何通过预定义的震颤序列调整PWM占空比,从而在软件层面模拟抖动模式的效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值