`
lovnet
  • 浏览: 6767037 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

C语言几种PID控制代码

 
阅读更多

1.增量式PID控制算法

void pid_control(void)
{
offside1=standard_speed-actual_speed;		//计算当前速度偏差
 r1=kp*(offside1-offside2);
 r2=ki*offside1;
 pid_result=(unsigned char)(r1+r2);   		//浮点数强制转换为十六进制数
 offside2=offside1;
}


2.积分分离的PID控制算法

void pid_control(void)
{
offside1=standard_speed-actual_speed;		//计算当前速度偏差
r1=kp*(offside1-offside2);
 if ( offside1<threshold )           		//对积分部分的分离计算
   r2=ki*offside1;                 		//threshold作为门限值
 else r2=0;
 pid_result=(unsigned char)(r1+r2); 	//浮点数强制转换为十六进制数
 offside2=offside1;
}


3.变速积分PID控制算法

void pid_control(void)
{
 float f;
offside1=standard_speed-actual_speed;	//计算理论速度和实际速度的偏差
 r1=kp*(offside1-offside2);          		//计算P参数部分
 if(offisde1<=threshold1)           		//速度偏差是否小于门限threshold1?
   f=1;                          			//是,标记f=1
 else if(offside1>threshold1+threshold2)	//否,再比较偏差是否超过threshold1+threshold2?
   f=0;                          			//是,标记f=0
 else f=(threshold1+threshold2-offside1)/threshold2;  //否,重新计算f
 r2=ki*offside1*f;             	//计算I参数部分
pid_result=r1+r2+r3;   			//计算出PID计算结果,D参数部分(r3)这里认为0
offside2=offside1;             	//计算出速度偏差的偏差
}


分享到:
评论

相关推荐

    增量式数字PID代码,C语言,PID温度控制的一个较通用代码,内容仅有PID方面算法

    这个C语言实现的PID代码是一个通用的解决方案,适用于各种需要精确温度控制的系统。在深入理解这个代码之前,我们先来了解一下PID的基本原理。 PID(比例-积分-微分)控制器是一种反馈控制算法,由三个部分组成:...

    自适应PID C语言代码

    自适应PID控制器是一种在控制系统中广泛应用的算法,它结合了传统的PID控制(比例-积分-微分)与自适应控制理论,能够自动调整控制器参数以适应系统特性的变化。C语言是编写这类算法的常用编程语言,因其效率高、...

    PID温度控制算法--C语言程序

    在提供的"PID温度控制算法--C语言程序"文档中,你将找到详细的代码实现,这将帮助你直观地理解PID算法在实际工程中的运用。此外,文档可能还包含了参考网页链接,这些链接可能提供了更多关于PID理论、调参方法和实际...

    模糊PID控制C语言代码

    在这个“模糊PID控制C语言代码”中,我们可以深入探讨以下几个关键知识点: 1. PID控制器:PID(比例-积分-微分)控制器是最常用的自动控制算法之一,通过比例项P、积分项I和微分项D的组合来调整输出,以减少系统...

    基于C语言使用模糊PID的可控硅调压的温度控制系统设计与实现

    在C语言程序中,我们需要编写驱动可控硅的代码,确保其准确地根据模糊PID控制器的输出进行开关。 在实际的温度控制系统设计中,我们通常会用到以下几个关键模块: 1. 数据采集:采集温度传感器的数据,如热电偶或热...

    最全pid控制算法的C语言实现

    2. 编写PID控制规律的C语言代码。 3. 实现比例环节、积分环节和微分环节的C语言代码。 4. 将三个环节的代码组合起来,形成完整的PID控制算法的C语言实现。 PID控制算法的离散化是指将连续的PID控制算法转换为离散的...

    PID.rar_C语言 PID_PID 2812_pid c语言_pid例程c语言_增量式pid

    ”意味着这个压缩包里包含了一个C语言编写的增量式PID控制器的代码示例,可以作为学习和开发时的参考。增量式PID相比于传统的连续PID算法,其计算过程仅依赖于当前误差和前一时刻的误差,因此在实时系统中更具优势,...

    PID算法实现C语言(位置式PID)_PID算法_

    PID算法是一种广泛应用于自动化控制领域的控制算法,全称为比例-积分-微分算法。它通过结合当前误差(比例项P)、历史误差积累(积分项I)和误差变化率(微分项D)来调整控制器的输出,从而实现对系统的精确控制。在...

    pid_抗饱和积分pid_多种PID算法_嵌入式C语言_pid_PID算法_

    PID控制器是一种在自动化控制领域广泛应用的反馈控制算法,它的全称是比例-积分-微分控制器。在嵌入式系统中,PID算法被用于精确调节各种物理量,如温度、速度、位置等。本代码库提供了多种PID算法的实现,包括基本...

    fuzzypid.zip_Q78_fuzzy pid_fuzzypid_模糊PID控制C语言代码_模糊pid

    模糊PID控制器是经典PID控制的一种扩展,它结合了模糊逻辑的概念,使得控制器的参数能够根据系统的实时状态动态调整,从而提高控制性能。本资源提供的"fuzzypid.zip"压缩包包含了一个C语言实现的模糊PID控制程序,...

    最全PID控制算法的C语言实现

    综上所述,《最全PID控制算法的C语言实现》这份资料应包含了PID控制算法的理论介绍、C代码实现示例以及可能的优化技巧,对于理解和应用PID控制算法的工程师来说是一份宝贵的参考资料。通过深入学习和实践,可以更好...

    PID控制算法的C语言实现_pid算法c语言实现_

    在"PID控制算法的C语言实现.pdf"文档中,你应该能找到关于这些概念的详细解释,包括具体的代码示例,以及如何将PID控制器应用于实际系统中的指导。阅读这份文档,你将更深入地了解PID算法的C语言实现,并能动手编写...

    几种控制方法的C语言编程.

    C语言作为一种通用且高效的编程语言,被广泛用于编写这些控制算法的底层代码。本文将深入探讨两种控制方法:经典PID控制和自抗扰控制(ADRC),并结合C语言编程实现它们。 **一、经典PID控制** PID(比例-积分-...

    PID电机调速资料.zip_C语言_pid_pid电机代码_单片机_电机调速

    本资料集是关于使用C语言实现PID算法控制单片机进行电机调速的详细教程,包含有源代码和上位机程序。 首先,我们来了解PID控制器的基本原理。PID控制器通过三个部分组成:比例(P)、积分(I)和微分(D)项。比例...

    常用PID算法_变积分pid_抗积分饱和_pid_pid控制算法_PID算法_

    本篇将详细介绍标题和描述中提到的几种PID算法,并提供C语言实现的相关知识点。 1. **位置型PID控制算法**: 位置型PID控制器是最基础的形式,其输出是误差(E)、误差积分(I)和误差微分(D)的线性组合。公式...

    PID控制算法的C语言实现.zip

    C语言作为一种通用且高效的语言,常用于编写嵌入式系统的控制软件,因此,将PID算法用C语言实现具有很高的实践价值。 PID控制器通过结合当前误差(P),过去误差的积分(I)和误差变化率(D)来调整输出,以使系统...

    PID控制算法C语言

    PID(比例-积分-微分)控制算法是自动控制系统中广泛应用的一种控制策略,它通过结合当前误差、历史误差和误差变化率来调整控制输出,从而实现对系统性能的有效调节。在C语言中实现PID控制器,我们可以从以下几个...

    PID控制C代码.rar_PID C#_PID c++_PID程序_pid c_pid.c

    在C语言中实现PID控制器,通常包括以下几个步骤: 1. 初始化:设定Kp、Ki、Kd三个系数,并初始化积分和微分项的暂存变量。 2. 计算误差:将设定值与实际值进行比较,得到当前误差。 3. 比例项计算:误差乘以Kp得到...

    fuzzy_PID_C语言模糊PID_模糊PIDC语言_模糊控制c_模糊PIDmatlab_模糊pid_

    在C语言实现的模糊PID控制器中,主要包括以下几个关键部分: 1. **模糊规则库**:这是模糊控制的核心,包含了一系列基于输入变量(如误差e和误差变化率de/dt)的模糊规则,如"如果e是大,那么u应增加"等。这些规则...

    模糊自整定PID控制c代码

    在C语言中实现模糊自整定PID控制,主要涉及到以下几个核心知识点: 1. PID控制器:PID(比例-积分-微分)控制器是最常见的反馈控制系统,由比例(P)、积分(I)和微分(D)三个部分组成。比例项直接影响控制输出与...

Global site tag (gtag.js) - Google Analytics