4. 张力控制系统:张力闭环控制原理(PID)、张力传感器选型与标定、张力波动曲线解读与滤波处理
张力控制,说白了就是卷绕机的“命门”。
我见过太多项目,极片跑偏查来查去,最后发现是张力在作祟。你想想看,极片在卷绕过程中,如果张力忽大忽小,就像你拉一根橡皮筋,一会儿松一会儿紧,它怎么可能不跑偏?
这一节,我就把张力控制系统的几个核心点掰开揉碎了讲。包括PID闭环怎么玩、传感器怎么选怎么标定,还有那让人头疼的波动曲线怎么看、怎么滤。
4.1 张力闭环控制原理(PID)
先说说PID。很多工程师觉得PID是玄学,调参全靠“炼丹”。其实没那么神秘。
张力闭环控制,说白了就是让实际张力死死咬住目标张力。系统会实时检测当前张力值,然后跟设定值做个减法,得到偏差。PID控制器就根据这个偏差,算出一个控制量,去调节电机或磁粉离合器的输出。
核心公式(位置式PID):
u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt
其中:
e(t) = 目标张力 - 实际张力
Kp:比例系数,决定响应速度
Ki:积分系数,消除静差
Kd:微分系数,抑制超调
我在项目中遇到过一件事。有一次,一个新来的同事调张力,Kp给得特别大,结果极片一启动就“嘣”地一声绷断了。这就是典型的比例过大,系统震荡了。
我个人习惯,调PID先调Kp。从小到大慢慢加,直到张力开始出现轻微震荡,然后退回60%。再加一点Ki,把稳态误差吃掉。Kd我一般用得少,除非系统响应太慢或者超调太严重。
我的调试口诀:
- 比例P,调响应,震荡临界往回退
- 积分I,消静差,慢慢加上别着急
- 微分D,抑超调,噪声大了就关掉
实际应用中,我建议用增量式PID。它只输出控制量的增量,不会因为积分饱和导致系统“卡死”。代码实现也简单:
// 增量式PID计算
float PID_Calc(float setpoint, float feedback) {
static float error[3] = {0};
error[2] = error[1];
error[1] = error[0];
error[0] = setpoint - feedback;
float delta_u = Kp * (error[0] - error[1])
+ Ki * error[0]
+ Kd * (error[0] - 2*error[1] + error[2]);
return delta_u;
}
4.2 张力传感器选型与标定
传感器选错了,后面全白搭。我见过有人用便宜的应变片式传感器,结果温漂大得离谱,张力曲线像心电图。
选型要点:
- 量程:一般取实际张力的1.5~2倍。比如极片张力范围是5~50N,选100N的传感器比较稳妥。
- 精度:不低于0.5%FS。对于高速卷绕机,我建议0.2%FS以上。
- 响应频率:至少是系统带宽的5倍。卷绕机一般要100Hz以上。
- 防护等级:卷绕车间有粉尘和电解液挥发,IP65是底线。
| 传感器类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 应变片式 | 成本低、技术成熟 | 温漂大、易受干扰 | 低速、低精度要求 |
| 压电式 | 动态响应快、精度高 | 不能测静态力、价格高 | 高速卷绕、动态张力检测 |
| 磁弹性式 | 抗过载、寿命长 | 体积大、线性度一般 | 重载、恶劣环境 |
标定流程(我自己的标准做法):
- 零点标定:空载状态下,将传感器输出调为0。注意要等机械结构稳定后再做,别刚开机就标。
- 加载标定:用标准砝码或拉力计,从0加到满量程,记录输出值。至少取5个点。
- 线性度检查:计算拟合直线与实际值的偏差。如果偏差超过0.5%,检查安装是否偏斜。
- 重复性验证:同一载荷下反复测3次,看输出是否一致。
⚠️ 我曾经踩过的坑:
有一次标定完传感器,装上机器发现张力一直偏大。查了半天,原来是传感器安装座有微小变形,导致预紧力改变了零点。从那以后,我每次标定都要求带安装座一起标定,绝不分开放。
4.3 张力波动曲线解读与滤波处理
张力波动曲线,是卷绕机的“心电图”。会看的人,一眼就能找到问题。
下面这张图是我总结的典型波动模式:
曲线解读要点:
- 正常波动:幅度在设定值的±2%以内,曲线平滑。这说明PID参数合适,机械状态良好。
- 周期性波动:如果波动频率跟某个辊子的旋转频率一致,大概率是那个辊子偏心或者轴承磨损了。我曾经遇到过,查了三天,最后发现是一个过辊的轴承滚珠碎了。
- 随机尖峰:一般是机械冲击造成的。比如极片接头经过辊子时,或者某个导辊有异物。这种尖峰如果不处理,很容易导致极片断裂。
- 低频漂移:张力缓慢上升或下降,通常是温度变化导致传感器温漂,或者卷径变化导致转动惯量改变。
滤波处理——别把信号滤“死”了:
很多工程师一看到波动就上低通滤波,结果把真实信号也滤没了。我个人习惯分两步走:
- 硬件滤波:在传感器信号进入ADC之前,加一个截止频率为系统带宽2~3倍的低通滤波器。比如系统带宽20Hz,截止频率设在50Hz左右。
- 软件滤波:用滑动平均或一阶低通。滑动平均的窗口长度我一般取5~10个点,太长会引入滞后。
一阶低通滤波代码:
// 一阶低通滤波
float LowPassFilter(float input, float last_output, float alpha) {
// alpha = T / (T + RC),T为采样周期,RC为时间常数
// alpha越小,滤波越强,但滞后越大
return alpha * input + (1 - alpha) * last_output;
}
// 使用示例
float filtered_tension = LowPassFilter(raw_tension, last_filtered, 0.3);
我的经验值:
对于卷绕机张力信号,alpha取0.2~0.4比较合适。既能滤掉高频噪声,又不会让系统响应变慢。如果发现滤波后张力曲线“变平”了,但极片还是跑偏,那说明问题不在噪声,而在机械本身。
嗯,张力控制这块内容不少,但核心就三点:PID要调得稳、传感器要选得准、曲线要看得懂。把这三点吃透了,极片跑偏的问题至少能解决一半。