求教:舵机如何通过程序减速?舵机的转速太快,如何通过程序给减速。

求教:舵机如何通过程序减速?舵机的转速太快,如何通过程序给减速。,第1张

我给你一段PID的代码:#define AA_KPVALUE 150 #define AA_KIVALUE 100 #define AA_KDVALUE 30typedef struct PID { sint an_Ref//角度PID,角度设定值 sint an_FeedBack//角度PID,角度反馈值 sint an_PreError//角度PID,前一次,角度误差,,an_Ref - an_FeedBack sint an_PreDerror//角度PID,前一次,角度误差之差,d_error-PreDerrorsint an_Kp//角度PID,Ka = Kp sint an_Ki//角度PID,Kb = Kp * ( T / Ti ) sint an_Kd//角度PID, sint an_PreU//舵机控制输出值}PIDPID sPID//申请一个PID类型的变量void PIDInit(void)//PID初始化 { sPID.an_Ref = 0 sPID.an_FeedBack = 0 sPID.an_PreError = 0 sPID.an_PreDerror = 0 sPID.an_Kp = AA_KPVALUEsPID.an_Ki = AA_KIVALUEsPID.an_Kd = AA_KDVALUEsPID.an_PreU = 0 }unsigned int PIDCalc( PID *pp )//返回值赋给舵机 { sint error,d_error,dd_errorerror = pp->an_Ref - pp->an_FeedBackd_error = error - pp->an_PreErrordd_error = d_error - pp->an_PreDerrorpp->an_PreError = errorpp->an_PreDerror = d_errorpp->an_PreU +=pp->an_Kp*error+pp->an_Ki*d_error+pp->an_Kd*dd_error return ( pp->an_PreU )}在主函数中初始化PID,将设定值与返回值设置好后,调用unsigned int PIDCalc( PID *pp )把返回值给舵机。设定值就是你想要让舵机转的角度赋给sPID.an_Ref,返回值就是舵机现在的角度。因为是一个闭环控制系统,需要将角度量化以后的值返回,赋给sPID.an_FeedBack,这个算法会根据设定值与现在所处的角度计算出下一次所偏转的角度,这是一种增量式数字PID的算法。若想修改转的速度就修改宏定义中这三个参数的值,其中AA_KPVALUE影响最大。希望对你有所帮助

PID调试一般原则 :

a.在输出不振荡时,增大比例增益P。

b.在输出不振荡时,减小积分时间常数Ti。

c.在输出不振荡时,增大微分时间常数Td。

PID参数设置及调节方法

方法一:

PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P\I\D的大小。

PID控制器参数的工程整定,各种调节系统中P.I.D参数经验数据以下可参照:

温度T: P=20~60%,T=180~600s,D=3-180s

压力P: P=30~70%,T=24~180s,

液位L: P=20~80%,T=60~300s,

流量L: P=40~100%,T=6~60s。

方法二:

1.PID调试一般原则

a.在输出不振荡时,增大比例增益P。

b.在输出不振荡时,减小积分时间常数Ti。

c.在输出不振荡时,增大微分时间常数Td。

2.一般步骤

a.确定比例增益P 确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。 b.确定积分时间常数Ti

比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

c.确定积分时间常数Td

积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。

d.系统空载、带载联调,再对PID参数进行微调,直至满足要求


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12003811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存