外置式与增量式PID模板程序

发布者:Alisallll最新更新时间:2014-12-04 来源: 21ic关键字:外置式  增量式  PID模板 手机看文章 扫描二维码
随时随地手机看文章

#define MuBiaoCS 0 //目标常数
#define CHang_aCS 0 //比例常数
#define CHang_bCS 0 //积分常数
#define CHang_cCS 0 //微分常数
/*******************************************************************************************/
struct P_I_D {
int MuBiao; //设定目标 Desired Value
double CHang_a; //比例常数 Proportional Const
double CHang_b; //积分常数 Integral Const
double CHang_c; //微分常数 Derivative Const
int Error1; //Error[-1]
int Error2; //Error[-2]
}Pidn;
struct P_I_D *PID=&Pidn;
/********************************************************************************************/
void Pidinit(void) //pid初始化
{
PID->MuBiao=MuBiaoCS;
PID->CHang_a=CHang_aCS;
PID->CHang_b=CHang_bCS;
PID->CHang_c=CHang_cCS;
PID->Error1=0;
PID->Error2=0;
}

int PID_WZ(int SRuu) //位置式PID
{
int Error0,SCuu;
Error0 = PID->MuBiao - SRuu;
PID->Error1+=Error0;
SCuu = PID->CHang_a*Error0 //比例项
+ PID->CHang_b*PID->Error1 //积分项
+ PID->CHang_c*(Error0-PID->Error2);//微分项
PID->Error2=Error0;
return SCuu;
}
void main(void)
{
Pidinit();
}

增量式PID模板

#define MuBiaoCS 0 //目标常数
#define CHang_aCS 0 //比例常数
#define CHang_bCS 0 //积分常数
#define CHang_cCS 0 //微分常数
/*******************************************************************************************/
struct P_I_D {
int MuBiao; //设定目标 Desired Value
double CHang_a; //比例常数 Proportional Const
double CHang_b; //积分常数 Integral Const
double CHang_c; //微分常数 Derivative Const
int Error1; //Error[-1]
int Error2; //Error[-2]
}Pidn;
struct P_I_D *PID=&Pidn;
/********************************************************************************************/
void Pidinit(void) //pid初始化
{
PID->MuBiao=MuBiaoCS;
PID->CHang_a=CHang_aCS;
PID->CHang_b=CHang_bCS;
PID->CHang_c=CHang_cCS;
PID->Error1=0;
PID->Error2=0;
}

int PID_WC(int SRuu) //增量式PID
{
int Error0,SCuu;
Error0 = PID->MuBiao - SRuu; //偏差
SCuu = PID->CHang_a*Error0 //Error项
- PID->CHang_b*PID->Error1 //Error1项
+ PID->CHang_c*PID->Error2; //Error2项
PID->Error2=PID->Error1; //将上次偏差存PID->Error2
PID->Error1=Error0; //将这次偏差存PID->Error1
return SCuu;
}

void main(void)
{
Pidinit();
}

关键字:外置式  增量式  PID模板 引用地址:外置式与增量式PID模板程序

上一篇:单片机I/O口的开漏输出及推挽输出区别
下一篇:两位数码管动态显示汇编程序+电路图

推荐阅读最新更新时间:2024-03-16 13:47

6通道增量编码器在智控型纺织机的应用
智控型纺织机的纺织机构的平衡对提高部件工作的可靠性,降低振动,特别是降低纺织生产中的噪音具有重要意义。在纺织机中除了应用与一般机械制造业上应用的零件外,还广泛应用着一系列具有不平衡质量的特殊部件和机构,这些带不平衡质量的工件在大多数情况下乃是纺织机中的主要机构,而且仅是纺织机上固有的。电机就是一个智控型纺织机的固有部件,对电机轴的监控是重要的技术,深圳世强代理的Rep-Avago的48mm的6通道增量式编码器可以满足纺织行业的应用。 6通道增量式编码器是以高精度计量光栅作为检测元件,通过光电转换技术,将输入的角度位置信息转换成相应的脉冲或数字代码的检测装置。 增量式编码器由LED光源、光栅副、光电接收器、主轴、电子处理电路等
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved