智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1535|回复: 1
打印 上一主题 下一主题

[电磁] 舵机PD程序

[复制链接]

18

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
697
威望
376
贡献
195
兑换币
215
注册时间
2016-12-9
在线时间
63 小时
毕业学校
JH
跳转到指定楼层
1#
发表于 2017-5-3 14:15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     /*************计算偏差********************/
if(subvalue==0)
  {
    controlvalue=0;
  }
  else
  {
    controlvalue = (subvalue/addvalue)*10;//偏差
  }
  
  Turn1_Err = controlvalue;//偏差
  Turn_EC = Turn1_Err - Turn2_Err ;           //  计算新的偏差变化值

  Turn_P_Value =  Turn1_Err * turn14_KP;       //  增量式PID控制计算P调节量
  Turn_D_Value =  Turn_EC   *  turn14_KD;     //  增量式PID控制计算D调节量
  
  TurnPWM14 = -(int16_t)( Turn_P_Value  + Turn_D_Value );
  Turn2_Err = Turn1_Err;//上次偏差
   
  WirelessSerial (Turn2_Err*100,Turn1_Err*100,Turn_EC*100,TurnPWM14);  
  if(TurnPWM14>=1000) TurnPWM14 =1000 ;
  if(TurnPWM14 <= -1000) TurnPWM14 = -1000;   
   Apwm14 = 4530 + TurnPWM14;         //没有左转和右转是舵机回到中位。150hz时中间为2200左右范围1000
   
   return (int)Apwm14 ;   //将Apwm值返回
   
回复

使用道具 举报

18

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
697
威望
376
贡献
195
兑换币
215
注册时间
2016-12-9
在线时间
63 小时
毕业学校
JH
2#
 楼主| 发表于 2017-5-3 14:16:33 | 只看该作者
为啥,感觉不对啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 02:43 , Processed in 0.100772 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表