电子说
在收卷工位的控制柜里,V912面板上的数字以毫秒级的频率刷新。操作者看到的是"张力设定值"与"当前卷径",但变频器内部运行的,是一组 状态观测器 ——它们在没有物理传感器的情况下,通过电机的电压、电流信号,重构出不可直接测量的状态量:转子磁链位置、转速、负载转矩,以及最关键的—— 卷径 。
现有技术资料对V912的描述,多停留在"开环转矩控制""卷径计算""惯量补偿"等功能层面。本文试图向下再挖一层:这些功能在算法层面是如何实现的?MCU的Flash里究竟固化着怎样的数学结构?对于电子发烧友,理解这些深层结构,不仅是选型参考,更是将工业级控制算法迁移到个人项目的技术路径。
三相异步电机在静止坐标系(αβ)下的电压方程为:
uα =Rsiα**+dtdψα **
uβ =Rsiβ**+dtdψβ **
磁链方程:
ψα =Lsiα**+Lmirα **
ψβ =Lsiβ**+Lmirβ **
其中Rs 为定子电阻,Ls 为定子电感,Lm 为互感,irα**,irβ** 为转子电流在αβ轴的分量。
转子磁链与转速的关系:
dtdψrα**=−LrRrψrα**−ωrψrβ +LrRrLmiα
dtdψrβ**=**−**L**r****R**r******ψ**r**β****+**ω**r****ψ**r**α****+**L**r****R**r****L**m******i**β****
这组方程包含两个不可测状态:转子磁链ψrα**,ψrβ** 和转速ωr 。无传感器矢量控制的核心,就是 用观测器从可测量的定子电压、电流中,重构这两个状态 。
V912 likely采用 模型参考自适应系统(Model Reference Adaptive System, MRAS) 作为其无传感器矢量控制的核心观测器。MRAS的结构包含两个并行模型:
参考模型(电压模型) :
ψ ^r α ( v ) =LmLr ( ∫ (uα −Rsiα**)dt**−σLsiα )** **
ψ ^r β ( v ) =LmLr(∫(uβ−Rsiβ**)dt**−σLsiβ)** **
其中 σ = 1 −LsLrLm2 为漏磁系数。
可调模型(电流模型) :
dtdψ**^r α ( i )**=−Tr1 ψ ^r α ( i ) − ω ^r ψ ^r β ( i ) +TrLmiα** **
dtdψ**^r β ( i )**=**−**T**r****1****ψ**^****r**β**(**i**)****+**ω**^**r****ψ**^****r**α**(**i**)****+**T**r****L**m******i**β**** **
其中Tr =RrLr 为转子时间常数。
自适应律 :
定义磁链误差:
εα = ψ ^r α ( v ) − ψ ^r α ( i )
εβ =ψ^rβ(v)−ψ^rβ(i)
转速估计值通过Popov超稳定性理论导出:
ω ^r**=(Kp**+sKi )(εα ψ ^r β ( i ) −εβψ**^r α ( i ) )**
这就是MRAS的核心—— 用参考模型的输出作为"标准答案",不断调整可调模型中的转速参数,使两个模型的磁链估计趋于一致 。
MRAS依赖电机参数的准确性,尤其是转子时间常数Tr 。当电机温度变化导致转子电阻Rr 漂移时,Tr 变化,MRAS的估计精度下降。
滑模观测器(Sliding Mode Observer, SMO)是另一种鲁棒性更强的方案。其基本思想是:构造一个与电机模型并联的观测器,通过高频切换控制迫使观测状态收敛到实际状态。
SMO的电流观测方程:
dtdi**^α =−σLsRsi**^α**+σLs1uα +σLsLrTrLm ψ ^rα**+σLsLrLmω**^r ψ ^rβ**+ k ⋅ sgn (iα − i ^α**)**
dtdi**^β =−σLsRsi**^β**+σLs1uβ+σLsLrTrLmψ^rβ**−σLsLrLmω**^rψ^rα**+k⋅sgn(iβ−i^β**)**
其中k 为滑模增益,sgn为符号函数。
当观测电流与实际电流的误差到达滑模面(即误差为零)时,系统进入滑模运动状态。此时, 等效控制量 (即sgn项的平均值)包含了转速信息:
ω ^r**= ψ ^rα2 + ψ ^rβ2等效控制量β**⋅ ψ ^rα**−等效控制量α ⋅ ψ ^rβ **
SMO的优势在于 对参数摄动和外部干扰的强鲁棒性 ,但代价是 高频切换带来的抖振(chattering) 。在工业实现中,通常用饱和函数或边界层方法平滑切换,牺牲部分鲁棒性换取电流波形的纯净。
从工程实现角度分析,V912 likely采用 MRAS作为主力观测器 ,原因如下:
对于需要更高鲁棒性的场景(如高温环境、频繁加减速),V912可能通过参数在线辨识或增益调度部分补偿MRAS的温漂问题。
现有资料将V912的卷径计算描述为"线速度法": D =πfip60v 。但从观测器理论看,这只是一个 静态代数关系 ,缺乏动态滤波和误差修正。
更完整的卷径观测器应包含以下结构:
状态方程 :
dtdD = 0 ( 假设卷径变化缓慢,作为常值扰动 )** **
测量方程 :
z =πfip60v =D+η
其中η 为测量噪声(来自线速度信号抖动、频率检测量化误差)。
卡尔曼滤波递推 :
D ^ k ∣ k −1**= D ^ k −1**
Pk**∣ k −1**=Pk**−1**+Q
Kk=**P**k**∣**k**−**1****+**R**P**k**∣**k**−**1******
**D**^**k****=**D**^**k**∣**k**−**1****+**K**k****(**z**k****−**D**^**k**∣**k**−**1****)**
**P**k****=**(**1**−**K**k****)**P**k**∣**k**−**1**** **
其中Q 为过程噪声协方差(卷径变化的不确定性),R 为测量噪声协方差。
这种递推最小二乘结构的优势在于:即使某时刻线速度信号丢失或异常,滤波器仍能保持卷径估计的连续性,通过预测值维持控制。V912 likely在内部实现了简化版的卡尔曼滤波或α-β滤波器,用于平滑卷径计算值。
厚度累计法的递推公式:
Dk =Dk**−1**+2h**⋅2πΔθ **
其中h 为材料厚度,Δθ** **为采样周期内的卷轴转角增量。
误差传播 :若厚度存在系统误差δh** (如标称0.05mm,实际0.048mm),经过N** 圈卷绕后,卷径误差累积为:
ΔD**=2δ h ⋅N **
对于1000圈的收卷,2%的厚度误差将导致卷径误差达2mm(假设 h =0.05mm** **),这在精密收卷中不可接受。
V912 likely通过以下机制抑制误差累积:
收卷系统的转动惯量:
J =J0 +32πρb (D4**−D04**)** **
其中J0 为卷轴和传动机构的固定惯量,ρ 为材料密度,b 为卷宽,D0 为卷轴直径。
当卷径从200mm增至800mm时,惯量增长约256倍。若采用固定惯量补偿,小卷时过补偿(转矩冲击),大卷时欠补偿(张力松弛)。
V912 likely采用加减速法在线辨识惯量:
工程约束 :
摩擦转矩通常包含:
V912 likely采用分段线性模型近似:
Tfric**=Tc ⋅ sgn ( ω )+Bω **
更精细的实现可能包含 Stribeck曲线 :
Tfric**=[Tc**+(Ts**−Tc ) e −∣ ω /ωs**∣ ] sgn ( ω ) +Bω** **
其中Ts 为静摩擦力矩,ωs 为Stribeck速度。
V912的控制结构为三环嵌套:
表格
| 控制环 | 典型带宽 | 周期 | 功能 |
|---|---|---|---|
| 电流环 | 500-2000 Hz | 50-100 μs | FOC实现,电流快速跟踪 |
| 速度环 | 50-200 Hz | 1-2 ms | 限速保护,防止飞车 |
| 张力环 | 5-20 Hz | 5-10 ms | 张力外环,输出转矩指令 |
带宽分离原则 :内环带宽必须显著高于外环,否则会产生耦合振荡。电流环带宽是速度环的5-10倍,速度环是张力环的5-10倍。
张力环的闭环传递函数(忽略速度环动态):
F ∗( s ) F ( s ) =Js3**+Bs 2 +Kps**+KiKp s +Ki** **
通过极点配置法,将主导极点配置在期望带宽附近:
计算得:
Kp =2ζωnJ**−B **
Ki =ωn2J
由于J 时变,V912 likely采用 增益调度 :根据当前卷径查表选择预整定的PI参数,或在线调整。
以下为核心代码框架(基于STM32 HAL库):
c
// 电机参数(需根据实际电机填写)
#define Rs 1.2f // 定子电阻
#define Ls 0.165f // 定子电感
#define Lr 0.165f // 转子电感
#define Lm 0.156f // 互感
#define Tr 0.15f // 转子时间常数
#define sigma (1.0f - Lm*Lm/(Ls*Lr))
// MRAS状态变量
float psi_ra_v = 0, psi_rb_v = 0; // 电压模型磁链
float psi_ra_i = 0, psi_rb_i = 0; // 电流模型磁链
float omega_r = 0; // 估计转速
float err_a = 0, err_b = 0; // 磁链误差
// PI参数
#define Kp_mr 50.0f
#define Ki_mr 500.0f
float integ = 0;
// 控制周期:100μs
void TIM_IRQ_Handler(void) {
// 读取ADC:ia, ib, ua, ub
float ia = read_adc(IA_CHANNEL);
float ib = read_adc(IB_CHANNEL);
float ua = read_adc(UA_CHANNEL);
float ub = read_adc(UB_CHANNEL);
// 电压模型(参考模型)
static float flux_a_int = 0, flux_b_int = 0;
flux_a_int += (ua - Rs*ia - sigma*Ls*(ia - ia_prev)/Ts) * Ts;
flux_b_int += (ub - Rs*ib - sigma*Ls*(ib - ib_prev)/Ts) * Ts;
psi_ra_v = (Lr/Lm) * flux_a_int;
psi_rb_v = (Lr/Lm) * flux_b_int;
// 电流模型(可调模型)
float dpsi_ra_i = -psi_ra_i/Tr - omega_r*psi_rb_i + (Lm/Tr)*ia;
float dpsi_rb_i = -psi_rb_i/Tr + omega_r*psi_ra_i + (Lm/Tr)*ib;
psi_ra_i += dpsi_ra_i * Ts;
psi_rb_i += dpsi_rb_i * Ts;
// 误差计算
err_a = psi_ra_v - psi_ra_i;
err_b = psi_rb_v - psi_rb_i;
// 自适应律(PI)
float error = err_a * psi_rb_i - err_b * psi_ra_i;
integ += error * Ts;
omega_r = Kp_mr * error + Ki_mr * integ;
// 限幅
if(omega_r > MAX_SPEED) omega_r = MAX_SPEED;
if(omega_r < -MAX_SPEED) omega_r = -MAX_SPEED;
// 输出到FOC
foc_set_speed_ref(omega_r);
}
关键注意事项 :
c
// 卷径卡尔曼滤波器
float D_hat = 0.5; // 初始估计(m)
float P = 1.0; // 估计误差协方差
#define Q 0.001f // 过程噪声
#define R 0.01f // 测量噪声
void update_diameter(float v, float f, float i, float p) {
// 预测
float D_pred = D_hat; // 假设卷径不变
float P_pred = P + Q;
// 测量
float z = 60.0f * v / (PI * f * i * p);
// 更新
float K = P_pred / (P_pred + R);
D_hat = D_pred + K * (z - D_pred);
P = (1 - K) * P_pred;
// 限幅
if(D_hat > D_MAX) D_hat = D_MAX;
if(D_hat < D_MIN) D_hat = D_MIN;
}
实验步骤 :
from scipy.optimize import curve_fit
import numpy as np
def first_order(t, J, B, T_step):
return (T_step/B) * (1 - np.exp(-B*t/J))
# t_data, omega_data为实验数据
popt, _ = curve_fit(first_order, t_data, omega_data, p0=[0.1, 0.01])
J, B = popt
V912的开环架构存在以下理论极限:
表格
| 维度 | V912(开环) | V914(闭环) |
|---|---|---|
| 传感器依赖 | 无(可选) | 张力传感器/编码器 |
| 观测器类型 | MRAS/SMO | 扩展卡尔曼滤波(EKF) |
| 卷径计算 | 线速度法/厚度法 | 张力反馈+速度融合 |
| 惯量补偿 | 在线辨识+固定补偿 | 实时自适应 |
| 张力精度 | ±3-5% | ±0.5-1% |
| 适用速度 | 中低速(5-300m/min) | 全速域 |
| 成本 | 低 | 高(2-3倍) |
plain
开始
│
├─ 张力精度要求 < ±2% ? ──→ 选V914或闭环伺服
│
├─ 速度 < 5m/min 且 频繁启停 ? ──→ 选带编码器的闭环方案
│
├─ 材料价值高(光学膜、锂电隔膜)? ──→ 选闭环方案
│
└─ 预算敏感 + 中低速 + 普通材料 ──→ V912是务实选择
└─ 预算敏感 + 中低速 + 普通材料 ──→ V912是务实选择
└─ 预算敏感 + 中低速 + 普通材料 ──→ V912是务实选择打开V912的外壳,PCB上的DSP芯片正以200μs的周期执行着MRAS观测器,旁边的ADC芯片以1MHz的采样率捕获电流波形,IGBT模块以8kHz的频率开关。这些数字背后,是一组微分方程、一个自适应律、一套递推滤波器——它们在电磁噪声、温度漂移、机械振动的工业现场,稳定运行数年。
对于电子发烧友,V912的价值不仅在于"用它来控制张力",更在于 它提供了一个工业级控制算法的完整实现案例 。从MRAS到卡尔曼滤波,从惯量辨识到带宽设计,这些教科书上的理论被封装在一个金属盒子里,以毫秒级的周期实时运行。
理解并拆解这些算法,是连接学术理论与工程实践的桥梁。毕竟,真正的控制工程美学,不仅体现在算法的数学优雅性,更体现在算法在电磁干扰、温度漂移、机械磨损等现实约束下的鲁棒性与 可靠性 。
在收卷机的轰鸣声中,电机以每分钟数千转的转速旋转,IGBT以每秒数千次的频率开关,MCU以微秒级的周期执行着观测器算法。而那一卷薄膜,在肉眼不可见的张力作用下,保持着恰到好处的紧绷——不紧到拉断,不松到褶皱。
这就是工业自动化的深层结构:没有戏剧性,只有精确性。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !