双三相永磁同步电机双闭环FOC控制,转速环、电流环的PI限幅及参数整定

记录DSP做主控,双三相电机双闭环FOC控制,实验过程中有关PI控制器相关知识。

电机参数:Ld,Lq,极对数pn,永磁体磁链faif。直流母线电压vbus。DSP采样时间Ts。

一、PI控制器类型:并联型PI控制

/*并联型PI控制器的误差及积分误差*/
speed_error=speed_ref-PMSM.speed_m;
speed_integral+=speed_error*0.0001;

/*积分误差限幅设定*/
if(speed_integral > speed_integral_max)
{
    speed_integral = speed_integral_max;
}
else if(speed_integral < -speed_integral_max)
{
    speed_integral = -speed_integral_max;
}

/*转速环PI控制器输出*/
speed_PI = speed_kp*speed_error + speed_ki*speed_integral;

/*PI控制器输出限幅设定*/
if(speed_PI > speed_PI_max)
{
    iq_ref1 = speed_PI_max;
}
else if(speed_PI < -speed_PI_max)
{
    iq_ref1 = -speed_PI_max;
}
else
{
    iq_ref1 = speed_PI;
}

并联型PI控制器的代码如上所示。可以看出,除了误差和积分误差,以及控制器输出公式以外,有两个限幅值需要设定,分别为:积分误差限幅,PI控制器输出限幅。

二、转速环限幅值设定原理

1、转速环PI控制器输出限幅(固定值):转速环输出为内环电流环的参考值,即iq_ref。有以下两种建议:

①根据电机额定电流12A,设定输出限幅为10A,防止电流过大烧电机;

②根据电机额定功率如:9.5N·m,设定iq = Te/3/pn/faif = 6.81A(这个值可以稍微放开点儿)。

speed_PI_max = 10;        //转速环输出限幅,固定值

2、转速环PI控制器积分误差限幅(动态限幅):在电机运行进入稳态过程中,error为零,比例几乎不发挥作用,主要是积分发生作用。为了让积分具有有效的调节效果,动态限幅设定为:

speed_integral_max = 10/speed_ki;	

根据PI控制器的输出公式可知,当前项比例值为0时,后项积分环输出的最大值与PI控制器输出限幅值相等。这意味着,积分误差最大值不会超过PI控制器限幅,保证积分环在不饱和时,可以有效发挥消除静差的作用(饱和也没事)。

三、电流环限幅值设定原理

1、电流环PI控制器输出限幅(动态限幅):电流环输出为dq坐标系下的电压,即vq_ref,vd_ref。在三相电机内,我们已知以下关系:

\sqrt{v_{d}^{2}+v_{q}^{2}}\leq \frac{\sqrt{3}}{3}*v_{bus}                                                              (1)

这表明在三相电机内,理论上来说,电流环的输出不能超过六边形的内切圆半径,从而保证线性调制。在双三相电机中,理论计算也可以得出这样一个值,但是实际过程中,嗯。。我们不限制这么多了,给出一个近似量即可:

iq_PI_max1=vbus*0.9;		
id_PI_max1=vbus*0.9;		
ix_PI_max1=vbus*0.09;		
iy_PI_max1=vbus*0.09;

2、电流环PI控制器积分误差限幅(动态限幅):与转速环原理一样,为了让积分环有效发挥作用,积分误差最大值应为PI控制器能够输出的最大值:

iq_integral_max1 = vbus*0.9/iq_ki1;	
id_integral_max1 = vbus*0.9/id_ki1;	
ix_integral_max1 = vbus*0.09/ix_ki1;	
iy_integral_max1 = vbus*0.09/iy_ki1;

到此PI控制器的两个输出限幅就记录完毕了。下面进入参数整定。

四、PI控制器参数整定

同样的,在三相电机内,理论计算Kp和Ki值为:

K_{p} = L_{d}/2T_{s}                                                                     (2)

K_{i} = R/2T_{s}                                                                      (3)

理论上,在双三相电机内,参数设定值近似就可以了。

实际过程中,经验调试会把比例值 = 0.1,积分值 = 0.01(让积分环慢点作用)。然后比例值以1量度增加,增加到近似理论计算5左右,同时慢慢放开积分值,0.02、0.05......可以获得比较好的PI控制器跟踪效果。

操作顺序是:先调节内环电流环闭环,然后调节外环转速换闭环,最后达到的效果是:更改iq_ref,iq能够实现很好的跟踪;更改参考转速,转速能够实现稳定跟踪。


如果此篇文章对您有帮助,记得评论告诉我(●'◡'●)
您的点赞和收藏是对写作者最大的鼓励!
FOC控制(Field-Oriented Control)是一种常用于交流电机控制的技术,它可以将交流电机的控制问题转化为直流电机的控制问题,从而实现更加精确的控制。在FOC控制PI控制器是常用的控制器之一,可以通过自整定方法来调整PI控制器的比例系数和积分时间常数,以实现最优控制效果。 FOC控制PI参数整定的具体实现步骤如下: 1. 在FOC控制,需要对电机的电流进行控制,因此需要设计一个电流控制回路,包括PI控制器和电流采样模块。 2. 定义PI控制器的比例系数Kp和积分时间常数Ti,并初始化为一定的值。 3. 设置系统的期望电流值和实际电流值之间的误差e,作为PI控制器的输入信号。 4. 根据当前的误差e和上一次的误差e0,计算PI控制器的输出信号u,公式为: u = Kp * e + Ki * ∫(e + e0)/2 dt 其,Ki为积分系数,∫(e + e0)/2 dt表示误差e的积分,可以通过累加误差e的值来实现。 5. 根据PI控制器的输出信号u,调整电机的电流,重新计算电机的输出值,观察系统响应情况。 6. 根据系统的响应情况,对比期望电流值和实际电流值之间的误差,调整PI控制器的比例系数Kp和积分时间常数Ti的值,使得系统的控制效果达到最优。 下面是一个简单的C语言实现示例: ```c // 定义PI控制器参数 float Kp = 1.0; // 比例系数 float Ti = 0.5; // 积分时间常数 float Ki = Kp / Ti; // 积分系数 // 定义误差变量和控制器输出信号变量 float e = 0.0; // 误差 float e0 = 0.0; // 上一次的误差 float u = 0.0; // 控制器输出信号 // 定义系统的期望电流值和实际电流值 float I_ref = 0.0; // 期望电流值 float I = 0.0; // 实际电流值 // 定义电流采样变量 float I_sample = 0.0; // 采样值 // 定义控制器输出信号的输出限制 float u_min = -10.0; // 最小输出值 float u_max = 10.0; // 最大输出值 while(1) { // 获取期望电流值和实际电流值 I_ref = get_reference_current(); I_sample = get_actual_current(); // 计算误差 e = I_ref - I_sample; // 计算控制器输出信号 u = Kp * e + Ki * (e + e0)/2; // 对控制器输出信号进行输出限制 if(u < u_min) { u = u_min; } else if(u > u_max) { u = u_max; } // 调整电机的电流 adjust_motor_current(u); // 更新上一次的误差 e0 = e; } ``` 在这个示例,我们定义了FOC控制PI控制器的比例系数Kp和积分时间常数Ti,并初始化为一定的值。在while循,我们获取系统的期望电流值和实际电流值,计算误差,并根据误差和上一次的误差计算控制器输出信号。然后,我们对控制器输出信号进行输出限制,再根据控制器输出信号调整电机的电流,观察系统响应情况。最后,我们更新上一次的误差,并继续循运行。 需要注意的是,在实际应用FOC控制PI参数整定需要根据具体的电机特性和控制要求进行调整,比如调整比例系数Kp和积分时间常数Ti的初始值,设置控制器输出信号u的输出限制等。此外,还需要根据系统的实际情况选择合适的控制算法,并进行优化和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值