无刷电机电流环PI计算

6 篇文章 0 订阅
6 篇文章 1 订阅

无刷电机电流环PI计算

无刷电机相电阻电感测量

  1. 相电阻:相电阻的测量可以使用万用表做粗略的测量,或者使用电桥测量。万用表两端分别连接电机的任意两相,所得到的的阻值的一半是相电阻。

  2. 相电感:相电感常使用电桥测量,将频率设为1KHZ或以上,可以设置为系统PWM所使用的的频率,然后测量电机在该频率下的电感。同样用电桥的两端连接电机的任意两相,得到的电感值的一半就是相电感;可以旋转一圈,多次测量求平均值。

电流环PI计算MATLAB计算公式(ben katz)


%%% System Parameters %%%

% R = .5; % Resistance in Ohms
% L = 1e-3; % Inductance in Henries
% Ts = .00005; % Sample period
% wc = pi/10; % Crossover frequency, in Radians per sample

%%%
s = tf('s');
sys = 1/(L*s + R); % Continuous time transfer function
z = tf('z', Ts);
sys_d = c2d(sys, Ts); % Zero order hold equivalent

ki = 1-exp(-R*Ts/L) % Calculate Ki
k = R*((wc)/(1-exp(-R*Ts/L))) % Calculate loop gain

controller = k*(1 + ki/((z-1))); % PI controller transfer function
fp = series(controller, sys_d); % Forward Path
cl = feedback(fp, 1); % Unity feedback
%%% Plot open-loop, return ratio, and controller bode plots %%%
figure;
hold all
bode(controller);
bode(sys_d);
margin(fp);
legend('Controller', 'Plant', 'Return Ratio')
%%% Plot closed-loop step response %%%
figure;step(cl);

本卡茨的方法,主要争议在KP,ki基本一样。odrive和ti关于串联pi计算方式如下:

$ K_{p} = Bandwidth * L $

$ K_{i} = \frac{R}{L} * T_{s} $

其中$ K_{i}乘以T_{s} 是因为传递函数中 是因为传递函数中 是因为传递函数中 \frac{1}{s} 离散化之后等于 离散化之后等于 离散化之后等于T_{s} $(因为是pid的积分环节,然后在程序里是离散的)

计算$ K_{p} K_{i} $的公式明显不一样

查阅资料后发现,其中odrive等一般取 B a n d w i d t h = 1000 r a d / s Bandwidth = 1000 rad/s Bandwidth=1000rad/s注意单位为弧度单位不是 H z H_{z} Hz,说明直接为频率是错误的,换算到本卡茨的计算方式中等同于 w c = B a n d w i d t h w_{c} =Bandwidth wc=Bandwidth截止频率为$ 1000/2pi 约等于 约等于 约等于 300H_{z} $

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值