intech2008 发表于 2015-4-18 22:37:23

BLDC电机的转速和PWM占空比之间的关系

最近在做无刷直流电机,遇到一个问题,也就是我在调试电机的转速时,程序有一行代码老是想不明白,电机的转速是怎样转换成PWM的占空比的数值的,程序只用了一个系数,这个系数是怎么计算来的,总弄不明白。代码如下:
int Speed_PIDAdjust(int Next_Point)
{        
                //Next_Point=10000000/Next_Point/6;                        //ת/·Ö
                Next_Point=1000000/Next_Point/RoundCount*60;                                        //ת/·Ö=====1000000/Next_Point/6*60;1M/¼ÆÊýÖµ=»»1´ÎÏàËùÓõÄʱ¼ä£»
                iError = Speed_Point->Target - Next_Point;
                iError = iError*0.65;

                //Speed_Point->Uk=Next_Point+iError;       
                Speed_Point->Uk=Speed_Point->Uk+iError;                       

                if(Speed_Point->Uk >= PWM_Max)
                {
                        return(PWM_Max);
                }
                else if(Speed_Point->Uk <= PWM_Min)
                {
                        Speed_Point->Uk=PWM_Min;
                }
                else;       
                return(Speed_Point->Uk);                       
}

iError = iError*0.65;

这一行弄不明白,给为大侠能指点一下吗?谢谢!:)

shiyongzhu 发表于 2015-4-19 10:31:58

iError = iError*0.65;这一行里的0.65应该就是PID控制里的参数P吧,这个P的取值是需要试凑的。

cxtarm 发表于 2015-4-19 12:01:38

应该是经验值

intech2008 发表于 2015-4-19 13:39:09

谢谢楼上的大哥,不是kp值,kp值程序里已经有了!这个问题折腾我好久了,网上搜索也没有!

music586 发表于 2015-4-19 18:53:21

:)
这个程序,我以前弄这玩玩写的;
哎,竟然被谁发给你了;

music586 发表于 2015-4-19 18:53:44

:)
谁以前还把我的板子图都发网上;

music586 发表于 2015-4-19 18:56:30

:)

music586 发表于 2015-4-19 19:00:25


这是新的:

music586 发表于 2015-4-19 19:01:33

最好是P,I,D三个参数都加,取多少,根据实际情况调整;
另外注意:每个误差算出来后,要限幅;

music586 发表于 2015-4-19 19:02:22

如果是加了电流环;
将速度环的输出,作为电流环的输入;
页: [1] 2
查看完整版本: BLDC电机的转速和PWM占空比之间的关系