- 积分
- 69
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 5
- 最后登录
- 1970-1-1
该用户从未签到
|
发表于 2013-6-17 22:35
|
显示全部楼层
来自: 中国广东珠海
本帖最后由 hbch609 于 2013-6-17 22:38 编辑
1. 仿真运行妥当的话,基本算法就是可行的,程序结构和实现大致成型,作为前期设计必不可少,仿真的程度越高,对设计的指导意义越大。下面时我按照仿真模块写的伪码。
_Speed_controller:
{
in: w, w_ref;
out: Te_ref;
cfg: Kp = 13, Ki = 26, Tlim = 300;
static: yintg = 0, dlt1 = 0;
/* 离散积分环节使用Tustin逼近 s=(2/Ts)*(z-1)/(z+1) */
dlt = w_ref - w;
yintg = yintg + (Ts/2)*(dlt + dlt1);
yintg = (yintg > Tlim) ? Tlim :
((yintg < -Tlim) ? -Tlim : yintg);
dlt1 = dlt;
Te_ref = Kp * dlt + yintg;
Te_ref = (Te_ref > Tlim) ? Tlim :
((Te_ref < -Tlim) ? -Tlim : Te*);
return Te_ref;
}
2. 学习过程中 matlab 必不可少,验证算法正确性。大家都知道国内论文的水平,不自己用 matlab 验证一下,你敢用? |
|