PID算法调节C51程序(1)

发布者:innovator7最新更新时间:2016-01-22 来源: eefocus关键字:PID  算法调节  C51程序 手机看文章 扫描二维码
随时随地手机看文章
关于PID

比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

微分调节作用,微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。

//PID参数设定常数(放大2倍)
#define Kp 15 // 实际7.5
#define Ki 3 // 实际1.5
#define Kd 25 // 实际14.5

void adcpro()
{

    signed int tempP,tempI,tempD,TempOut;

// PID
    tempP = Tparam[ path *2 ] - TpreTeat[path];    // 计算 e(t)..基本偏差
    tempSigmaEt[path] += tempP;              // sigma e(t)..累计偏差积分项
    if (tempSigmaEt[path]>60) tempSigmaEt[path]= 60;// 过度积分的极限处理
    if (tempSigmaEt[path]<-60) tempSigmaEt[path]= -60;
    tempD = (tempP - tempEt[path]) * Kd;    // Kd * (e(t)-e(t-1))微分项
    tempEt[path] = tempP;               // 纪录e(t)给下一次用e(t-1)比例项
    tempI = tempSigmaEt[path] * Ki;     // Ki * sigma e(t)积分部分

    TempOut = (tempP * Kp + tempI + tempD)/2; // 综合输出函数
    if (tempP>25)
    {
        TempOut = 200;
        tempSigmaEt[path]=0;
    }
    else
    {
        if (TempOut<0)
        {
        TempOut = 0;
        }
        else
        {
            if(TempOut>200)
            {
                TempOut=200;
            }
        }
    }
    if (tempP<-2)
    {
        TempOut = 0;
    }
    hottimer_set[path] = TempOut;
   
    if ( Tparam[ path *2 ] < 50 )
    {
        Tparam[ 8 ] &= ~( 0x11 << path ); //如果不需要加温则清除出错标志
    };
}

关键字:PID  算法调节  C51程序 引用地址:PID算法调节C51程序(1)

上一篇:单片机串口通信子程序
下一篇:PID算法调节C51程序(2)

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

用单片机玩PID控制—从理想PID控制至先进PID控制_3
2.1.2软件 MCS-51单片机用Keil C51开发,优点是容易了许多,缺点是不会汇编语言了,对于我个人来说,可以把差不多忘光了的C语言捡起来一些,总体上来说,用C51开发涉及的难度相对来说比较简单(如与数据结构比较),个人感觉,C51难点是硬件开发,或者说要搞清硬件工作的时序原理。我玩的系统,主要有:DS18B20温度传感器数据读取、LCD1602液晶显示器字符显示、串行口通信和各种PID控制,为了串行口通信需要有一个定时器,由于PID控制与时基相关,所以还需要第二个定时器,PID控制的采样周期,一般来说流量系统采样周期是1-2秒,压力和液位系统采样周期是3-5秒,温度系统采样周期是15-20秒,我们定的PID采样周期定
[单片机]
用单片机玩<font color='red'>PID</font>控制—从理想<font color='red'>PID</font>控制至先进<font color='red'>PID</font>控制_3
PID调节器正/反作用的确定方法
一 调节器正/反作用的确定方法 调节系统投自动:往往在控制方案确定好且判断出调节器的正/反作用后,最关键的是P、I、D参数如何整定,根据多年的现场工作经验,谈谈如何整定调节系统的P、I、D参数,请大家在工程中参考。 在整定调节系统的P、I、D参数前,要保证一个闭环调节系统必须是负反馈,即Ko*Kv*Kc >0。 调节对象Ko: 阀门、执行器开大,测量PV增加,则Ko>0;反之,则Ko<0; 调节阀门Kv: 阀门正作用(气开、电开),则Kv>0;阀门反作用(气关、电关),则Kv<0; Ko、Kv的正负由工艺对象和生产安全决定,根据Ko、Kv的正负和Ko*Kv*Kc >0,我们可以确定Kc的正负; 调节器Kc: 若Kc>0,
[嵌入式]
<font color='red'>PID</font><font color='red'>调节</font>器正/反作用的确定方法
8位数码管显示电子时钟c51单片机程序
/* 8位数码管显示 时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include reg52.h sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char
[单片机]
手把手教你S7-1200中实现PID控制
【导读】分享S7-1200中如何实现PID控制。 概述 【一】PID控制 PID功能用于对闭环过程进行控制。PID控制适用于温度、压力和流量等物理量,是工业现场中应用最为广泛的一种控制方式,其原理是对被控对象设定一个给定值然后将实际值测量出来,并与给定值比较,将其差值送入PID控制器,PID控制器按照一定的运算规律,计算出结果,即为输出值,送到执行器进行调节,其中的P、I和D指的是比例、积分和微分,是一种闭环控制算法。通过这些参数,可以使被控对象追随给定值变化并使系统达到稳定,自动消除各种干扰对控制过程的影响。 【一】S7-1200的PID控制 S7-1200 CPU提供了PID控制器回路数量受到CPU的工作内存及支持D
[嵌入式]
手把手教你S7-1200中实现<font color='red'>PID</font>控制
LCD1602液晶显示器 C51模块化程序+电路图
下面是51单片机驱动1602液晶的电路图: 程序一共有3个文件: /********************** lcd.h 头文件 **********************/ #ifndef _LCD_H_ #define _LCD_H_ #include reg51.h extern void lcd_init(); extern void lcd_busy(); extern void lcd_write_dat(unsigned char dat); extern void lcd_write_com(unsigned char dat); extern void lcd_xy(unsigned char x,
[单片机]
LCD1602液晶显示器 <font color='red'>C51</font>模块化<font color='red'>程序</font>+电路图
基于PID单相逆变器复合控制方案设计
引言   PID控制作为一种经典控制 算法 ,具有结构简单、易于调试、动态响应特性快、鲁棒性强等特点。但是,对于中、低频周期信号,该算法仍无法实现无静差控制;对由非线性负载引起的输出波形畸变的调节能力也较差。   本文介绍了一种PID控制器与重复控制器采用串联拓扑结构的方案,将稳定的PID+控制对象闭环系统作为重复控制器的控制对象,在保证系统稳态误差和动态性能的同时,简化了重复控制器的设计。   1 逆变器模型     式中,u0为输出电压;i 为电感电流; 为负载电阻;C为滤波器电容;£为电容等效串联电阻:       取采样频率和 开关 频率相等,把逆变桥看作一个零阶保持器,将式(2)离
[电源管理]
基于<font color='red'>PID</font>单相逆变器复合控制方案设计
OMRON PLC在化工污水焚烧装置控制系统中的应用
1 化工污水焚烧装置控制系统简介 水气厂化工污水焚烧装置处理的废水来源于大庆石化分公司各个生产装置排出的污水。此装置主要包括再生炉和焚烧炉两个主体设备,温度控制和炉子火咀点火控制是整套控制系统的关键。原控制系统是由调节器、显示仪表、继电器等搭接而成的,1 9 84年安装并投用。由于长时间使用,设备老化、陈旧、显示仪表误差大,不仅使操作不便、维护困难,而且存在着安全隐患。2006年将再生炉、焚烧炉两部分的原有控制系统改造成统一的PLC控制系统,采用日本OMRON公司生产的CS1H系列PLC产品。装置的控制系统改造后开车一次成功,通过PLC控制系统能够对整个生产过程进行监视和控制。 2 控制系统配置及说明 2.1硬件配置
[工业控制]
什么是pid控制,什么是pid控制器
所谓PID控制,就是在一个闭环控制系统中,使被控物理量能够迅速而准确地无限接近于控制目标的一种手段。 PID 控制功能是变频器应用技术的重要领域之一,也是变频器发挥其卓越效能的重要技术手段。 变频调速产品的设计、运行、维护人员应该充分熟悉并掌握 PID 控制的基本理论。 PID控制简介 目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔
[模拟电子]
什么是<font color='red'>pid</font>控制,什么是<font color='red'>pid</font>控制器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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