收藏 分销(赏)

增量式PID控制C语言代码.doc

上传人:精*** 文档编号:1362629 上传时间:2024-04-24 格式:DOC 页数:4 大小:19.87KB
下载 相关 举报
增量式PID控制C语言代码.doc_第1页
第1页 / 共4页
增量式PID控制C语言代码.doc_第2页
第2页 / 共4页
增量式PID控制C语言代码.doc_第3页
第3页 / 共4页
增量式PID控制C语言代码.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、增量式PID控制C语言代码增量式PID控制公式:上面u(k)是控制量增量,“增量式PID”就是直接以这个增量进行控制。至于参数的整定,根据响应的情况调,比如,响应慢了,我就增大kp,或者减小kd,超调大了,就减小kp或增大点kd,这个规律你可以看看PID三个参数的作用:)/ 定义PID参数结构体/typedef struct PID /结构体定义 int SetPoint /设定值 int Proportion; / Proportion 比例系数 int Integral; / Integral 积分系数 int Derivative; / Derivative 微分系数 int LastE

2、rror; / Error-1 前一拍误差 int PreError; / Error-2 前两拍误差 PID;main() PID vPID; /定义结构变量名PIDInit ( &vPID ); /Initialize StructurevPID.Proportion = 10; /Set PID Coefficients vPID.Integral = 10; / Set PID Integral vPID.Derivative = 10; / Set PID Derivative vPID. SetPoint = /根据实际情况设定 while(1) Verror=Measure();

3、 /得到AD的输出值 Error =vPID. SetPoint- Verror; /与设定值比较,得到误差值tempi=PIDCal(&vPID, Error; laser.Value+=tempi; / Value与Num2为共同体,共同体名laserLASERH=laser.Num0;LASERL=laser.Num1; /Title:PID参数初始化/Description: Proportion=0/ Integral=0/ LastError=0/Input: PID的P、I控制常数和之前的误差量(PID *pp)/Return:/void PIDInit (PID *pp) /P

4、ID参数初始化,都置0 memset ( pp,0,sizeof(PID);/memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。/ memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,/第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。/其函数原型为:void *memset(void*,int,unsigned);/头文件 /Title:增量式PID算法程序/Description:给出一个误差增量/Input: PID的P、I控制常数和之前的误差量(PID *pp)& 当前误差量(ThisError)/

5、Return: 误差增量templ/int PIDCal( PID *pp, int ThisError )/增量式PID算法(需要控制的不是控制量的绝对值,而是控制量的增量) int pError,dError,iError;long templ; pError = ThisError-pp-LastError; iError = ThisError; dError = ThisError-2*(pp-LastError)+pp-PreError;/增量计算 templ=pp-Proportion*pError + pp-Integral*iError+pp-Derivative*dError; /增量 /存储误差用于下次运算 pp-PreError = pp-LastError; pp-LastError = ThisError; return (int)(templ8);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服