最近在做无刷直流电机,遇到一个问题,也就是我在调试电机的转速时,程序有一行代码老是想不明白,电机的转速是怎样转换成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; 这一行弄不明白,给为大侠能指点一下吗?谢谢! |
和我说嘛?
我很少上这个网的,有事QQ联系:3203861726
这个程序,我以前弄这玩玩写的;
哎,竟然被谁发给你了;
谁以前还把我的板子图都发网上;
这是新的:
另外注意:每个误差算出来后,要限幅;
将速度环的输出,作为电流环的输入;