增量式pid和位置式PID参数整定过程对比
//增量式PID
float IncPIDCalc(PID_Typedef* PIDx,float SetValue,float MeaValue)//err»ý·Ö·ÖÀë³£Êý
{ PIDx->Error = SetValue - MeaValue; PIDx->PWM_Inc = (PIDx->P * (PIDx->Error - PIDx->PreError)) \
+ (PIDx->I * PIDx->Error) \
+ (PIDx->D * ((PIDx->Error - PIDx->PreError) - (PIDx->PreError - PIDx->PrePreError)));
PIDx->PrePreError = PIDx->PreError;
PIDx->PreError = PIDx->Error; return PIDx->PWM_Inc ;
}
//位置式PID
float LocPIDCalc(PID_Typedef* PIDx,float SetValue,float MeaValue)
{ u8 Index=1;
PIDx->Error = SetValue - MeaValue;
Intergral_Error+=PIDx->Error;
if(abs(PIDx->Error)>250)//积分分离
{
Index=0;
}
else{
Index=1;
}
PIDx->PWM_Inc = (PIDx->P * PIDx->Error) \
+ (Index * PIDx->I * Intergral_Error) \
+ (PIDx->D * (PIDx->Error - PIDx->PreError));
PIDx->PrePreError = PIDx->PreError;
PIDx->PreError = PIDx->Error;
return PIDx->PWM_Inc ;
}
首先先要明确,增量式pid和位置式pid本质是一样的,本次增量式pid的输出是由本次位置式pid的输出减去上次位置式的输出得到的。对比一下
位置式:u(k) =Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)]
增量式:Δu(k) =Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
可以看出增量式的KP和位置式的kd一样,增量式的ki和位置式的kp一样。所以对于增量式的参数整定,应该先整定KI,它反映了响应的速度,再整定KP,它反映了对超调量的限制,也就是缓减增量式KI参数过大时候的抖动
位置式PID:
比例项只考虑现在有没有偏差,现在有偏差就开始控制,现在偏差越大,控制效果越明显。
积分项根据历史数据输出控制信号,如果历史总体超标就要减小输出信号,如果历史不达标那要大量输出控制信号
微分项只关注偏差有没有变化趋势,偏差有了变化趋势才开始控制(而不是偏差存不存在),即偏差的变化率。
增量式PID:Δu(k) =Kp[e(k)-e(k-1)] + Ki*e(k) + Kd[e(k)-2e(k-1)+e(k-2)]
Kp项是误差变化率
Ki项是误差,
Kd项是变化率的变化率 : e(k)-2e(k-1)+e(k-2)= [e(k)-e(k-1)] - [e(k-1)-e(k-2)]
增量式pid和位置式PID参数整定过程对比的更多相关文章
- 位置式PID与增量式PID算法
位置式PID与增量式PID算法 PID控制是一个二阶线性控制器 定义:通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能. 优点 ...
- 【转】位置式、增量式PID算法C语言实现
位置式.增量式PID算法C语言实现 芯片:STM32F107VC 编译器:KEIL4 作者:SY 日期:2017-9-21 15:29:19 概述 PID 算法是一种工控领域常见的控制算法,用于闭环反 ...
- SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定
摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...
- 修改hadoop/hbase/spark的pid文件位置
1.说明 当不修改PID文件位置时,系统默认会把PID文件生成到/tmp目录下,但是/tmp目录在一段时间后会被删除,所以以后当我们停止HADOOP/HBASE/SPARK时,会发现无法停止相应的进程 ...
- 位置式PID与增量式PID
//位置式PID float Kp; float Ki; float Kd; float eSum,e0,e1; float pid_control(float now,float target) { ...
- 位置式PID讲解
table { margin: auto } 一.公式拆解 \(PID\)公式展示: \[u(t)=K_p(e(t)+\frac{1}{T_t } ∫_0^te(t)dt+T_D \frac {de( ...
- 我的四轴专用PID参数整定方法及原理---超长文慎入(转)
给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情. 首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么'只 ...
- PID参数整定
PID参数整定方法很多,常见的工程整定方法有临界比例度法.衰减曲线法和经验法.云南昌晖仪表制造有限公司以图文形式介绍以临界比例度法和衰减曲线法整定调节器PID参数方法.临界比例度法一个调节系统,在阶跃 ...
- Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究
Vue 2.0 v-for 响应式key, index及item.id参数对v-bind:key值造成差异研究 在github上阅览README.md以获得最佳阅读体验,点这里 v-for响应式key ...
随机推荐
- OS 获取用户相册。保存图片。编辑图片为圆形
// // ViewController.m // YunPhoto // // Created by qingyun on 3/4/14. // Copyright (c) 2014 qingyun ...
- 解决Maven报Plugin execution not covered by lifecycle configuration
来自:http://blog.csdn.net/xxd851116/article/details/25197373 环境 eclipse 4.3.0 maven 3.0.4 ...
- Android——复制项目出现Application Installation Failed
今天把一个项目复制到另一个文件夹下,重新打开结果不能正常安装到虚拟机上了. 解决方法: Build——Clean Project :清除一下项目缓存 Build——Rebuild Project ...
- Python——XPath使用
一:XPath介绍 XPath全称XML路径语言,用于确定XML文档中某部分位置.XPath基于XML树状结构,在树中寻找结点. 现在,一般使用XPath在XML中查找.提取信息,同时,它也支持HTM ...
- 〖Windows〗三星(SAMSUNG)905S3G-K07 安装Windows 7 过程分享
在京东买了一台笔记本(SAMSUNG 905S3G-K07)给女朋友,发现Win8还是使用得不太顺手: 于是决定把这个Win8操作系统切换到Win7,也开始了一段虐心的过程: 一.制作U盘启动 1. ...
- Android插件化开发之解决OpenAtlas组件在宿主的注冊问题
OpenAtlas有一个问题,就是四大组件必须在Manifest文件里进行注冊,那么就必定带来一个问题,插件中的组件都要反复在宿主中注冊.像Service,ContentProvider等组件眼下没有 ...
- Axure 富文本框
百度网盘:http://pan.baidu.com/s/1c1ZjUPq
- excel主题使文档更加具有专业化
如上图所示,表格或图表有很多的配色方案. 1.每个主题,会有一套配色方案,而且这些配色方案相对来讲都是比较协调统一的, 2.页面布局----主题,选择好主题之后再套用配色方案
- 转:如何编译delta3d
回头看,自上学以来,做虚拟现实.三维地理信息系统已有六个年头.为了节省花费在编码上的精力,编程应用的API函数也由opengl变成了OpenSceneGraph,但还是花费了很多气力,为了更好的提高开 ...
- Android Studio 错误: 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum
在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum.查阅后了解到Eclipse能够智能 ...