2012飞思卡尔智能车速度pid调试.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012飞思卡尔智能车速度pid调试

Ctl_P?=?Kp?*?SpeedError; //计算比例项 Ctl_I?=?Ki?*?SpeedError?+?Ctl_I;?? if(Ctl_I??-1000)? ??//积分项限幅 ? Ctl_I?=?-1000; else?if(Ctl_I??1000) ?Ctl_I?=?1000; ???//?T_Ctl_I=Ctl_I; ?? //?T_Ctl_P=Ctl_P; ?PWM1input=(8*(Ctl_P?+?Ctl_I)+3*PWM1inputCache[0]+PWM1inputCache[1])/12; void?SpeedCount(void) { ????????SpeedCache[3]=SpeedCache[2]; ????????SpeedCache[2]=SpeedCache[1]; ????????SpeedCache[1]=SpeedCache[0]; ????????SpeedCache[0]=SpeedBack;//缓存 ???? ????????NEW_SpeedCache[3]=NEW_SpeedCache[2]; ????????NEW_SpeedCache[2]=NEW_SpeedCache[1]; ????????NEW_SpeedCache[1]=NEW_SpeedCache[0]; ????????NEW_SpeedCache[0]=NEW_SpeedBack; ???? ?????????if(PACNTLastPulseCounter) ?????????{ ????????????PA_OverFlow=1;? ?????????} ????????if(PA_OverFlow==0)? ????????{ ????????????SpeedBack?=?PACNT?-?LastPulseCounter; ???????//计算当前速度; ????????}? ????????else?if(PA_OverFlow==1)? ????????{??? ????????????SpeedBack=65535*PA_OverFlow+PACNT-?LastPulseCounter; ????????????PA_OverFlow=0; ????????}? ???????? ?????????if(NEW_PACNT NEW_LastPulseCounter) ?????????{ ????????????NEW_PA_OverFlow=1;? ?????????} ????????if(NEW_PA_OverFlow==0)? ????????{ ????????????NEW_SpeedBack?=?NEW_PACNT?-?NEW_LastPulseCounter; ???????//计算当前速度; ????????}? ????????else?if(NEW_PA_OverFlow==1)? ????????{??? ????????????NEW_SpeedBack=65535*NEW_PA_OverFlow+NEW_PACNT-?NEW_LastPulseCounter; ????????????NEW_PA_OverFlow=0; ????????}? ? ????????NEW_LastPulseCounter?=?NEW_PACNT; ????????LastPulseCounter?=?PACNT;? ???? ????????SpeedBack=SpeedBack/PulseCountDen; ???? ????????NEW_SpeedBack=NEW_SpeedBack/PulseCountDen;? ? } void SpeedControl(void) { //速度控制 int ErrorSum=0; int SpeedCtl; int tri_speed=20; static uchar SpeedUp; static uchar SpeedDown; uint den; static uint StraightTime; static uint StraightLineCounter; SteerIncrementError[2] = SteerIncrementError[1]; SteerIncrementError[1] = SteerIncrementError[0]; SteerIncrementError[0]=SteerIncrementCache[0]

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档