当前位置:首页 > 工业控制 > 工业控制
[导读]在永磁同步电机(PMSM)的磁场定向控制(FOC)中,电流环和速度环的PI参数决定了系统的动态响应和抗扰动能力。传统“凑试法”依赖工程师经验,效率低且难以适配不同功率等级的电机。本文将介绍一种基于继电反馈法(Relay Feedback)和频率响应分析的参数自整定方法,可在电机运行时自动完成调节器参数整定。



永磁同步电机PMSM)的磁场定向控制(FOC)中,电流环和速度环的PI参数决定了系统的动态响应和抗扰动能力。传统“凑试法”依赖工程师经验,效率低且难以适配不同功率等级的电机。本文将介绍一种基于继电反馈法(Relay Feedback)和频率响应分析的参数自整定方法,可在电机运行时自动完成调节器参数整定。


一、自整定的核心原理


自整定的核心思想是先辨识电机模型参数,再基于模型计算PI参数。对于电流环,目标是让d/q轴电流快速跟踪给定值;对于速度环,则是抑制负载扰动。


我们采用改进的继电反馈法:通过在控制器中注入特定频率的激励信号,测量系统的临界增益(K_u)和临界振荡周期(T_u),然后套用Ziegler-Nichols或AMIGO(Approximate M-constrained Integral Gain Optimization)公式计算PI参数。


二、电流环PI参数自整定


电流环带宽通常要求较高(>1kHz),且Ld、Lq参数对性能影响巨大。


2.1 离线参数辨识(电机静止时)


在电机上电静止状态下,注入高频脉冲电压,利用电压方程估算定子电阻和电感。

// 电流环参数自整定结构体

typedef struct {

   float Rs;        // 定子电阻

   float Ld;        // d轴电感

   float Lq;        // q轴电感

   float Ke;        // 反电势系数

   float J;         // 转动惯量

} MotorParam_t;


// 注入高频脉冲测试定子电感 (简化示例)

// 施加固定电压V_test,测量di/dt

void IdentifyInductance(MotorParam_t* param, float v_test, float dt) {

   // i_alpha = i_beta = 0 (静止)

   // L = V_test * dt / (i_final - i_initial)

   float di = motor.current_ia - motor.current_ia_last;

   if (fabs(di) > 1e-3f) {

       param->Ld = (v_test * dt) / di; // 假设Ld=Lq

       param->Lq = param->Ld;

   }

}



2.2 基于模型的PI参数计算


一旦获得L和R,即可计算电流环PI参数。对于i_d=0控制,q轴电流环的传递函数近似为一阶惯性环节。

// 计算电流环PI参数 (Kp, Ki)

// 目标:带宽fc = 1000Hz, 阻尼比zeta = 0.707

void CalculateCurrentPiParams(MotorParam_t* param, CurrentPi_t* pi, float bandwidth_hz) {

   float L = param->Lq; // 使用q轴电感

   float R = param->Rs;

   

   // 1. 计算Kp:基于目标带宽

   // Kp = L * 2 * PI * fc

   pi->Kp = L * (2.0f * 3.14159f * bandwidth_hz);

   

   // 2. 计算Ki:确保无静差,Ki = R/L * Kp_ratio

   // 经典关系:Ki = R / L (积分时间常数 Ti = L/R)

   // 但在数字控制中,Ki = Kp * (R/L) * Ts 需要调整

   // 推荐:Ki = Kp / Ti, Ti = L / R

   float Ti = L / R; // 电气时间常数

   pi->Ki = pi->Kp / Ti;

   

   // 抗积分饱和限幅

   pi->integral_limit = 0.5f;

}



三、速度环PI参数自整定


速度环控制对象包含机械惯量J和摩擦转矩,且存在负载突变,整定难度更大。


3.1 基于临界比例度的整定(电机旋转时)


此方法不需要精确模型,通过闭环振荡来寻找临界点。

// 速度环继电反馈自整定

void SpeedLoopAutoTune(PidController* speed_pid) {

   // 1. 切换到开环或恒转速模式

   motor.mode = OPEN_LOOP_TUNE;

   

   // 2. 注入继电非线性(方波)

   // 设定一个小的速度参考,当误差>threshold时反转输出

   float output = 0.0f;

   float threshold = 5.0f; // RPM

   int direction = 1;

   

   // 运行一段时间,测量振荡周期

   uint32_t start_tick = HAL_GetTick();

   while (HAL_GetTick() - start_tick < 2000) { // 2秒测试

       float speed_error = target_speed - motor.speed_fbk;

       if (speed_error > threshold) direction = -1;

       if (speed_error < -threshold) direction = 1;

       

       output = direction * MAX_VOLTAGE;

       SetMotorVoltage(output);

       osDelay(1);

   }

   

   // 3. 计算临界参数 (假设测得)

   // Ku: 产生等幅振荡时的增益

   // Tu: 振荡周期

   float Ku = 2.0f; // 示例值

   float Tu = 0.05f; // 50ms 示例值

   

   // 4. 应用Ziegler-Nichols公式 (PI控制器)

   // Kp = 0.45 * Ku

   // Ti = 0.833 * Tu

   speed_pid->Kp = 0.45f * Ku;

   speed_pid->Ki = speed_pid->Kp / (0.833f * Tu);

}



3.2 抗扰动优化


速度环PI参数通常需要更大的积分作用以消除静差,但容易引起超调。

// 速度环PI结构体(带抗积分饱和)

typedef struct {

   float Kp;

   float Ki;

   float integral;

   float integral_limit;

   float output_limit;

} SpeedPi_t;


// 速度环更新(带Clamping限幅)

float SpeedPiUpdate(SpeedPi_t* pi, float error, float dt) {

   // 比例项

   float output = pi->Kp * error;

   

   // 积分项(带限幅和抗饱和)

   pi->integral += pi->Ki * error * dt;

   

   // 积分限幅 (Clamping)

   if (pi->integral > pi->integral_limit) {

       pi->integral = pi->integral_limit;

   } else if (pi->integral < -pi->integral_limit) {

       pi->integral = -pi->integral_limit;

   }

   

   output += pi->integral;

   

   // 输出限幅

   if (output > pi->output_limit) output = pi->output_limit;

   if (output < -pi->output_limit) output = -pi->output_limit;

   

   return output;

}



四、工程实践中的注意事项


1.  顺序整定:必须先整定电流环,确保电流环响应足够快(至少是速度环带宽的5-10倍),然后再整定速度环。

2.  负载变化:自整定最好在空载下进行,但计算出的Ki值需要根据负载惯量进行调整。如果负载惯量大,应适当减小Ki以防止震荡。

3.  离散化处理:上述公式多为连续域,在MCU中需进行离散化(T_i = \frac{K_p}{K_i} 需乘以采样时间T_s)。

4.  安全保护:自整定过程中必须开启过流保护和过压保护,防止振荡导致硬件损坏。


结语


通过继电反馈法与模型参数计算的结合,我们可以为PMSMFOC算法构建一套全自动的参数自整定系统。这不仅大幅降低了调试门槛,更重要的是,它使控制器能够根据电机参数的变化(如温升导致的电阻变化)在线调整PI参数,显著提升系统的鲁棒性和可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

无人机电机控制的背后,是一套优雅的数学变换体系。三相静止坐标系下的正弦电流,经过Clark变换投影到两相静止坐标系,再经过Park变换旋转到两相旋转坐标系,变成直流量进行PID调节;调节后的电压指令再经过逆Park变换和...

关键字: 无人机 FOC算法

永磁同步电机到了高速区,最常见的问题不是转不起来,而是命令速度上去了、实际可用转矩却突然变虚

关键字: 电机 同步电机 永磁同步电机

在永磁同步电机(PMSM)控制系统中,旋转变压器作为核心的位置检测元件,其输出的角度信号是实现磁场定向控制(FOC)等高精度控制算法的基础。旋转变压器直接测量的是电机转子的机械角度,但电机控制过程中真正需要的是反映定子绕...

关键字: 永磁同步电机 定向控制 电机

永磁同步电机因采用钕铁硼永磁体,具备高效节能、功率密度大、响应速度快等显著优势。搭载这种电机的新能源汽车,不仅能实现强劲的动力输出,轻松应对加速、爬坡等工况,还能有效提升续航里程。

关键字: 永磁同步电机

在工业自动化与精密制造领域,高精度伺服电机的选型直接影响设备性能与生产效率。永磁同步电机(PMSM)与步进电机作为两大主流选择,其扭矩-转速曲线的差异决定了二者在不同场景下的适用性。本文通过理论分析、实验数据及实际案例,...

关键字: 高精度伺服电机 永磁同步电机

永磁同步电机具有高效节能 、低噪声 、高功率密度等显著优点 ,特别适用于新能源电动汽车行业 。针对城市用轻型 低速电动汽车的应用 , 分析了一款内置式永磁同步电机的设计方法及特点 , 对汽车驱动电机的基本性能及设计策略进...

关键字: 永磁同步电机 新能源汽车 有限元计算 电机设计 内置式

无传感器位置检测算法在永磁同步电机控制中至关重要 , 其中滑模观测器是一种基于电机反电势的位置检测方法 ,不过不适用于电机低速或静止状态 。脉振高频电压注入法则通过注入高频电压检测转子位置角度 ,适用于电机静止或低速时...

关键字: 永磁同步电机 滑模观测器 脉振高频电压注入 平滑切换

随着科技的不断发展,永磁同步电机已经成为了现代工业和交通运输领域的重要动力来源。永磁同步电机具有高效、高功率密度、高转矩密度等优点,但同时也存在一些缺点。本文将对永磁同步电机的优缺点进行详细的介绍。

关键字: 永磁同步电机 同步电动机

在现代工业和科技领域,电机是不可或缺的重要设备。永磁同步电机(PMSM)作为一种高效、高性能的电机类型,广泛应用于各种领域。然而,由于电机的负载和运行条件的变化,电机的电压和频率可能会发生变化,从而影响电机的运行效率和能...

关键字: 永磁同步电机 同步电动机

在现代工业和科技领域,电机是不可或缺的重要设备。永磁同步电机(PMSM)作为一种新型的高效、高性能电机,其工作原理和优势受到了广泛关注。本文将对永磁同步电机的原理进行详细介绍,并探讨其在各个领域的应用。

关键字: 永磁同步电机 同步电动机
关闭