3、无感启动核心技术:高频注入法、初始位置检测、开环启动策略

好,咱们进入正题。无感启动,说白了就是电机在不知道转子在哪的情况下,硬生生把它拽起来,再平稳切换到闭环。这活儿听着就难,对吧?

我刚开始接触无感伺服时,也犯过嘀咕:没有编码器,怎么知道转子朝哪边?怎么保证一上电不反转?后来踩了不少坑,才摸清楚这里面的门道。今天我把最核心的三板斧——高频注入、初始位置检测、开环启动策略——掰开了讲给你听。

核心逻辑一句话:无感启动 = 先通过高频注入找到转子大概位置 → 再用特定脉冲精确锁定 → 最后用开环策略把电机推到足够速度,切换到闭环观测器。

无感启动核心技术流程 无感启动核心技术流程 高频注入法 估算转子位置 初始位置检测 精确锁定转子 开环启动策略 平稳加速至闭环 关键要点 • 高频注入依赖凸极性,表贴式电机效果差 • 初始位置检测需考虑磁饱和方向,否则可能反转 • 开环启动的电流和速度曲线要平滑,避免失步

3.1 高频注入法:无感定位的“眼睛”

高频注入,说白了就是往电机里灌一个高频电压信号,然后通过检测电流响应来“看”转子位置。为什么能看?因为电机转子有凸极性——d轴和q轴的阻抗不一样。这个差异会调制高频电流,我们解调出来就能得到位置信息。

我个人习惯把高频注入分成两类:

  • 旋转高频注入:注入一个旋转的高频电压矢量,适合内嵌式永磁同步电机(IPMSM)。
  • 脉振高频注入:在估计的d轴方向注入脉振信号,计算量小,收敛快。

我的经验:脉振高频注入在低速段表现更好,尤其是零速附近。我在一个纺织项目里用过,启动时抖动比旋转注入小很多。但要注意,注入频率一般选500Hz~1kHz,幅值控制在额定电压的5%~10%,太大会产生噪音和损耗。

代码实现上,核心就是注入信号和解调。给你看一段简化的脉振注入逻辑:

// 脉振高频注入 - 简化示意
float theta_est = 0.0f;          // 估计角度
float sin_hf = sin(omega_hf * t); // 高频载波
float Vd_hf = V_hf_amp * sin_hf;  // d轴注入电压
float Vq_hf = 0.0f;

// 电流采样 & 解调
float id_hf = LPF(id_sampled * sin_hf);  // 混频+低通
float iq_hf = LPF(iq_sampled * sin_hf);

// 误差提取
float err = id_hf * sin(2*theta_est) - iq_hf * cos(2*theta_est);
// PI调节器更新theta_est
theta_est += Kp * err + Ki * integral(err);

注意:高频注入只适用于零低速。速度起来后,反电动势足够强,就该切到观测器了。我曾经见过有人全程用高频注入,结果高速时电流畸变严重,电机嗡嗡响——那是把高频信号当噪音放大了。

3.2 初始位置检测:别让电机“反着转”

高频注入能给出一个大致位置,但有个问题:它只能检测到转子磁极的轴线方向,分不清N极还是S极。换句话说,它告诉你转子在0°还是180°?它说不准。

你想想看,如果启动时位置差了180°,电机会怎样?反转!这在很多场合是致命的——比如电梯、起重机,反转就是事故。

怎么解决?我常用的方法是脉冲电压比较法:

  1. 先通过高频注入锁定d轴方向(0°或180°)。
  2. 在估计的d轴正方向施加一个短时脉冲电压。
  3. 检测电流响应峰值。如果电流大,说明磁路饱和,脉冲方向与磁极一致(N极)。
  4. 如果电流小,说明方向反了,把角度加上180°。
脉冲方向 电流响应 结论
正向脉冲 电流峰值大 当前方向为N极,位置正确
正向脉冲 电流峰值小 当前方向为S极,需加180°
负向脉冲 电流峰值大 负方向为N极,需调整

避坑指南:我曾经在一个风机项目里,因为脉冲宽度设得太短(只有20μs),电流还没建立起来就采样了,结果N/S极判断老是出错。后来我把脉宽调到100μs,电流稳定后再采样,问题就解决了。记住,脉冲宽度要大于电流上升时间的3~5倍。

3.3 开环启动策略:从静止到闭环的“桥梁”

位置知道了,接下来就是怎么把电机转起来。无感启动最怕什么?失步。一旦失步,电流乱窜,电机抖动,甚至过流报警。

我常用的开环启动策略是I-F控制(电流-频率控制)。说白了,就是强制给定一个旋转的电流矢量,带着转子跑。核心参数有三个:

  • 启动电流幅值:一般取额定电流的80%~120%,太小带不动负载,太大容易过流。
  • 加速度:通常50~200 Hz/s,负载惯性大就慢点加。
  • 切换速度:当转速达到额定转速的5%~10%时,切到闭环观测器。

给你看一个典型的启动曲线:

// I-F 开环启动 - 速度斜坡
float speed_ref = 0.0f;
float current_ref = I_start;  // 启动电流
float accel = 100.0f;         // Hz/s

while(speed_ref < switch_speed) {
    speed_ref += accel * dt;
    theta_ref += speed_ref * dt * 2 * PI;
    
    // 电流环:给定电流在估计的q轴
    id_ref = 0.0f;
    iq_ref = current_ref;
    
    // 执行电流环PI控制
    // ...
    
    // 检查是否达到切换条件
    if(speed_ref >= switch_speed) {
        // 切换到闭环观测器
        enable_closed_loop();
    }
}

我的习惯:启动电流不要一步到位。我会先给一个30%的预励磁电流,保持50ms,让磁场建立起来,再斜坡上升到目标电流。这样能减少冲击。另外,加速度曲线用S型比直线型更平滑,电机不会“咯噔”一下。

3.4 三个技术的配合要点

这三个技术不是孤立的,它们是一个链条。我总结了一个配合流程:

  1. 上电 → 高频注入:快速估算转子位置,精度±10°以内。
  2. 脉冲检测:确定N/S极,修正位置误差到±2°以内。
  3. I-F开环启动:从零速加速到切换速度(通常50~100rpm)。
  4. 切换闭环:观测器接管,进入正常伺服模式。

重要提醒:切换瞬间最容易出问题。如果开环角度和观测器角度差太大,电流会突变。我建议在切换前做一次角度对齐:把观测器角度慢慢拉近开环角度,再瞬间切换。这个“软切换”能避免很多麻烦。

嗯,以上就是无感启动的三个核心技术。说白了,高频注入是“探路”,初始位置检测是“校准”,开环启动是“牵引”。三者配合好了,无感启动就能做到平稳、快速、不反转。你在调参时,可以按这个顺序一步步来,别跳步。