s3010舵机基础上的舵机位置式pid算法实现

k60 DN 144 平台

给与舵机50hz的工作频率为获取较大的工作频率!

在智能车竞赛上测试通过。

const uint16 steering_mid=715;
int16 steer=715;
const uint16 steering_left=620;
const uint16 steering_right=800;
int16 error=0, error_nihe,lasterror=0;
int8 Max_error;extern float Kd;   //
extern float Kp;   //
extern int8 ave;
extern int8 Center_Num;
extern uint8 CentreLineData[60];//保存得到的中线的行数 数组大小为图像行数 60/**************************************************
** 函数名称: void steer_control(void)
** 功能描述: 舵机打脚量控制函数
** 输    入:
** 输    出:
** 说明:
***************************************************/
void SteerControl(void)
{                                                                      error = ave-40;     error_nihe = (int)(Kp*error+Kd*(error-lasterror)); //   if(error_nihe>0)//   {//     error_nihe*=1.113;//   }steer = steering_mid - error_nihe;if(steer>=steering_right){steer=steering_right;    } else if(steer<=steering_left){steer=steering_left;}lasterror=error;Max_error=error;if(Max_error>39){Max_error=39;}else if (Max_error<-39){Max_error=-39;}FTM_PWM_Duty(SD5_FTM,SD5_CH,steer);
}

【算法】舵机位置式pid相关推荐

  1. PID算法:位置式PID和增量式PID

    口诀 参数整定找最佳, 从小到大顺序查. 先是比例后积分, 最后再把微分加. 曲线振荡很频繁, 比例度盘要放大. 曲线漂浮绕大弯, 比例度盘往小扳. 曲线偏离回复慢, 积分时间往下降. 曲线波动周期长 ...

  2. C语言实现PID算法:位置式PID和增量式PID

    原创者微信公众号 PID算法可以说是在自动控制原理中比较经典的一套算法,在现实生活中应用的比较广泛. 大学参加过电子竞赛的朋友都应该玩过电机(或者说循迹小车),我们要控制电机按照设定的速度运转,PID ...

  3. PID控制的深入探讨(位置式PID、增量式PID、PID的积分饱和)

    本文主要探讨PID算法在使用时的一些实际问题.处理技巧和方法,学习本节内容需要先对PID控制算法有基本的了解. 1)PID控制的基本原理 PID是一个二阶线性控制器,它具有不需要建立数学模型,控制效果 ...

  4. c语言程序位置式pid算法,位置式PID算法的C语言代码

    描述 位置式PID的C语言写法详解 PID调节口诀: 参数整定找最佳,从小到大顺序查 先是比例后积分,最后再把微分加 曲线振荡很频繁,比例度盘要放大 曲线漂浮绕大湾,比例度盘往小扳 曲线偏离回复慢,积 ...

  5. 三菱FX3U PLC 位置式PID算法(ST语言)

    三菱PLC自带的PID不必多说,大家可以自行查看指令说明.关于FX3U 增量式PID可以参看专栏的另一篇博客 三菱PLC增量式PID算法FB(带死区设置和外部复位控制)_RXXW_Dor的博客-CSD ...

  6. 总结PID算法,位置式增量式理解以及C代码实现

    前言 近日刚接触PID,于是查找了所有资料(PID是经典算法,有很多文章),理解一大堆资料后,整理总结才写下在这篇博客. 自己也用STM32F103写些代码实现验证,先是单纯比例控制,后来PI控制,到 ...

  7. 位置式 PID 算法、恩智浦杯智能车电机PID

            由于计算机控制是一种采样控制, 它只能根据采样时刻的偏差计算控制量,而不能像模拟控制那样连续输出控制量量, 进行连续控制. 由于这一特点,积分项和微分项不能直接使用,必须进行离散化处理 ...

  8. c语言程序位置式pid算法,增量式与位置式PID算法(C语言实现与电机控制项目)...

    4.2核心代码 /************************************************************************** 函数功能:增量PI控制器 入口参 ...

  9. 位置式PID与增量式PID的介绍和代码实现

    PID分为位置式PID与增量式PID. 一.位置式PID 1.表达式为: 2.缺点: 1).由于全量输出,所以每次输出均与过去状态有关,计算时要对ek进行累加,工作量大: 2).因为计算机输出的uk对 ...

最新文章

  1. msql每个数据前面添加某个字符串查询或者更新
  2. 工业互联网二级节点建设_建设者还是二传手?
  3. BZOJ1880:[SDOI2009]Elaxia的路线(最短路,拓扑排序)
  4. tomcat配置请求指定html文件路径,Tomcat8限制指定域名或者IP访问(示例代码)
  5. python数据库实现注册函数_10.注册和登录功能实现(3)—— 注册数据写入数据库...
  6. 利用递归遍历文件夹和文件存入TreeView
  7. csharp: json to csharp
  8. Bad CPU type in executable
  9. 怎么修改PDF文件内容
  10. trackpoint_为什么TrackPoint键盘是ThinkPad爱好者的好礼物
  11. VM虚拟机安装黑群晖教程
  12. mysql判断用户名和密码是否正确_怎样分别判断用户名和密码是否正确
  13. iTop-4412精英版的u-boot-2017.11移植教程(三)
  14. arcgis api 4.13 —— Layer详细介绍
  15. dataTables -- ajax 分页基本使用
  16. JAVA2EE 十三大规范
  17. 计算机考研院校所,计算机考研院校全国七大地区考研名校推荐
  18. 打破应试教育的思想才是重生之路
  19. 【2017-2018 NBA 季后赛总决赛第一场】 -- 赛后有感
  20. 【网络安全】周鸿祎带队回国,齐向东仍需努力

热门文章

  1. 2014025651 迟庆峰《嵌入式程序设计》第2周学习总结
  2. 京东云总裁曹鹏:安全可控的数字基础设施提升产业链韧性
  3. C++标准输出流换向(cout打印到文件)
  4. 在Linux中检索英语单词——字母q总是与u在一起吗?
  5. Apex启动提示failed to creategamewindow分辨率问题
  6. Android中连接wifi的方法
  7. NSSCTF prize_p4-5
  8. 神经网络学习之OctConv:八度卷积
  9. 用break还是continue?
  10. 自媒体多平台发布怎么做?2022年高级自媒体人都这么玩