外置式PID程序模板

发布者:梦想启航最新更新时间:2015-05-19 来源: 51hei关键字:外置式  PID  程序模板 手机看文章 扫描二维码
随时随地手机看文章
外置式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程序模板

上一篇:舵机程序之一个定时器带32路
下一篇:单片机一些小总结

推荐阅读最新更新时间:2024-03-16 14:02

详细解读西门子S7-1200PLC的PID控制工艺
  电压输出型变送器具有恒压源特性,输入阻抗很高。如果变送器距离PLC较远,通过线路间的分布电容和分布电感产生的干扰信号电流,在模块的输入阻抗上将产生较高的干扰电压。例如1μA干扰电流在10MQ输入阻抗上将产生10V的干扰电压信号,所以远处传送模拟量电压信号时抗干扰能力很差。 模拟量闭环控制系统-PID控制的特点: 不需要被控对象的数学模型,结构简单容易实现,使用方便有较强的灵活性和适应性。 用调试窗口整定PID 控制器 -调试窗口的功能: 1、使用“首次启动自调节”功能优化控制器 2、使用“运行中自调节”功能优化控制器,可以实
[嵌入式]
详细解读西门子S7-1200PLC的<font color='red'>PID</font>控制工艺
基于预测控制的自适应PID控制器设计与仿真
0 引言 自20世纪70年代被提出以来,预测控制相对传统PID控制的很多优势令其在工业过程应用中产生了重要和广泛的影响。预测控制的方法有很多种,例如:动态矩阵控制(DMC)、扩展的预测自适应控制(EPSAC)、模型算法控制(MAC)、预测函数控制(PFC)、二次动态矩阵控制(QDMC)、序贯开环最优控制(S0L0),以及广义预测控制(GPC)等,统称为"模型预测控制"(modelDredictive Control,MPC)。预测控制的基本原理类似于利用内部模型的状态或输出预测,同时应用有限预测时域的滚动计算思想和反馈及预测校正,最后采用了对某个系统性能指标的最优化计算,以确定在一个控制时域内的最优控制序列。本文通过数学推导为预
[工业控制]
基于预测控制的自适应<font color='red'>PID</font>控制器设计与仿真
温度PID控制接线与编程
A、硬件接线(如图1所示);       由于固态继电器输出是采用脉冲开关形式,因此采用plc的晶体管输出,型号为CPU224 DC/DC/DC。对于扩展模块EM231 4TC的另外3个端口,采取短接的形式,以防止不必要的干扰。 图1 温度PID控制的硬件接线 B、PID编程       PID编程包括主程序、子程序和中断程序三部分组成。主程序主要完成上电初始化调用子程序,并以两秒为周期(定时器T32)控制固态继电器Q0.0的输出。主程序中的变量M20.0为两秒脉冲;VW200为PID的输出实际值。
[嵌入式]
STM32步进电机PID速度环控速源码
【1】例程简介 使用定时器功能输出PWM信号到步进电机驱动器,使其驱动步进电机转动。 编码器用于电机测速。在电机转动一圈时编码器可以输出固定的脉冲数,通过读取编码器 脉冲可以获取当前电机转动状态。 一般处理编码器脉冲有两种方法: 1.T法:计算一定量的脉冲数所用的时间 2.M法:计算一段固定时间内所捕获的脉冲数。 根据当前速度和目标速度之间的误差,使用PID计算定时器输出的脉冲频率,使得滑台能够以目标速度 运动 【2】跳线帽情况 编码器 A相 -- PC6 B相 -- PC7 步进电机驱动器 DIR- -- PB13 ENA- -- PB14 P
[单片机]
PID调节概念及基本原理
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。      一个控制系统包括控制器﹑传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。       不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。 目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到
[嵌入式]
PID控制器的传递函数
当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。反馈理论的要素包括三个部分:测量、比较和执行。测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。 P表示比例;I表示积分;D表示微分。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为:u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt]式中积分的上下限分别是0和t因此它的传递函数为:G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s]其中kp为比例
[嵌入式]
基于单片机的电机转速PID控制
0、引言&实验器材 2020的国庆节一个人呆在实验室有点无聊,翻了翻还未填上的坑,发现对PID的理解一直停留在纸面上,不曾在现实中的系统中实际操作过(倒立摆和小四轴这些DIY入门训练都还没完整的做过,实在不甘心),于是从零搭建实验平台,以便深入理解PID算法,最后便有了此篇博客,仅作为记录本人学习之用,如有错误,还望指出,谢谢。 由于使用的串口助手没有曲线绘制功能,故暂无实际效果图(PID参数效果通过时间计算比较) 以下为本次所使用的材料 1、PID算法 假设已对闭环控制有了最基本的认识(如无,可参考这篇文章),参考下图1可以得知,Setpoint为设定值(你所期望系统能达到的值),设定值和反馈值经过计算后得到当前Er
[单片机]
基于单片机的电机转速<font color='red'>PID</font>控制
基于西门子S7-200系列PLC构成及PID温度控制的实现
本文介绍了基于S7-200系列PLC的智能温度控制器系统。阐述了温度控制的实现方法。介绍了VB环境下实现上位机和PLC温度监控系统的串行通信的技术。经过现场调试表明,本系统具有可靠性高,监控方便等优点。由于PLC在工业领域使用的普遍性,该系统有很大的使用范围。 因为PLC具有控制能力强、可靠性高、配置灵活、编程简单、使用方便、易于扩展等优点,成为了当今及今后工业控制领域的主要手段和自动化控制设备。在许多行业的工业控制系统中,温度控制都是要解决的问题之一。在一些热处理行业,由于使用简单的温控仪表和温控电路进行控制,存在控制精度低、超调量大等缺点,这样就造成了产品质量不高,能源浪费等问题。 基于PLC在工业控制领域的普及性和温
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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