TI中文支持网
TI专业的中文技术问题搜集分享网站

关于BLDC电机的闭环启动问题

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

yakun song:

经过测试法现闭环启动起不来的时候占空比为0了;可是PID的输出在反馈速度为0的时候怎么会为0呢,我测过v.term.out也是0,但v.data.v1不是0啊;而且我在仿真的时候也发现在反馈速度为0时,占空比一直是最大啊,?呀,就很不明白是怎么回事?

#define PID_GR_MACRO(v)                    \                         \ /* proportional term */                   \ v.data.up = _IQmpy(v.param.Kr, v.term.Ref) – v.term.Fbk;          \                         \ /* integral term */                    \ v.data.ui = _IQmpy(v.param.Ki, _IQmpy(v.data.w1, (v.term.Ref – v.term.Fbk))) + v.data.i1; \ v.data.i1 = v.data.ui;                   \                         \ /* derivative term */                    \ v.data.d2 = _IQmpy(v.param.Kd, _IQmpy(v.term.c1, (_IQmpy(v.term.Ref, v.param.Km) – v.term.Fbk))) – v.data.d2; \ v.data.ud = v.data.d2 + v.data.d1;                \ v.data.d1 = _IQmpy(v.data.ud, v.term.c2);              \                         \ /* control output */                    \ v.data.v1 = _IQmpy(v.param.Kp, (v.data.up + v.data.ui + v.data.ud));       \ v.term.Out= _IQsat(v.data.v1, v.param.Umax, v.param.Umin);         \ v.data.w1 = (v.term.Out == v.data.v1) ? _IQ(1.0) : _IQ(0.0);          \

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

Eric Ma:

BLDC你用的是无传感方式吗?

先开环启动是为了产生足够大的反电动势,然后再闭环启动。

ERIC

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

yakun song:

回复 Eric Ma:

是有感的

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

user5213609:

回复 yakun song:

大哥,您的问题解决没?小弟也遇到同样的问题,电机启动那块总是出问题,能抖动,需要用手掰才能转。您知道怎么回事吗?

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

user5213609:

回复 yakun song:

您好,老师,我加闭环的时候也遇到占空比很小,接近零了,电机没办法转,您知道这是什么原因吗?麻烦您赐教。谢谢啦!

最近在调BLDC电机,我在t的例程上直接改的,原来的时候是先开环启动然后闭环,这种能够直接启动起来。但是启动过程中有开环切闭环的台阶。后来改成了直接闭环启动,但是稍微给电机加点负载,电机就启动不起来了,得手掰一下才能起。空载就能闭环直接起,就不知道是怎么回事。正常情况下,速度为0时,闭环控制不应该给最大的占空比么,怎么会启不来呢,?各位前辈,能给点建议么?

user4525004:

你好,请问这个问题您是怎么解决的?我现在也遇到了这样的问题。

赞(0)
未经允许不得转载:TI中文支持网 » 关于BLDC电机的闭环启动问题
分享到: 更多 (0)