知道的是,电机正转时应该设置Iq = 正数,电机反转时设置Iq = 负数. 而这个常数是速度环的输出.我发现正转都可以,反转无论如何都切换不进速度环.
后来对原工程修改.无论电机正转,反转,都设Iq为正的(刚开始的参考Iq,iq IqRef = _IQ(0.1);).然后修改了速度环的pi控制,
发现正转反转都正常,能够很好的切进速度环,设置新的速度,都能较好速度闭环控制。
由上面现象我觉得在电机反转时,SMO_MACRO计算转子角度计算有误,正好有180度偏差
因为Iq为正时(或为负),输出正力矩.Iq为负时(或为正),输出负力矩.但我以上的情况是,Iq为正时,正转反转都行(此时正反转由SpeedRef的符号决定)
只有当电机反转时,滑膜观测器计算转子位置有180度误差才会出现这种情况
.想想,
反转需要输出负力矩,电流Iq设错符号了,电机应该输出正力矩,但由于有180度误差, 正好这时时输出的是负力矩,满足实际要求—-有点负负得正意思
不知道以上想法对不对,
然后发现smopos.pdf 11页有个反电动势公式,w为电机转速.是不是电机反转,w为负数,滑膜观测器没有考虑这个w的负号.如果把w的负号乘到矩阵里面,那么这个180度的误差正好就没有了
不是所想对不对
mingli zhang1:
请问,对于速度闭环,如果需要反转,该对程序进行怎样的修改呢?一直没弄明白。