计算机控制系统_PID_带例子
- 格式:pdf
- 大小:485.15 KB
- 文档页数:5
c2000 pid编程实例全文共四篇示例,供读者参考第一篇示例:C2000 PID编程实例PID控制器是一种经典的控制算法,广泛应用于各种工业系统中,以实现对被控对象的精准控制。
C2000系列是德州仪器公司推出的一款高性能数字信号处理器(DSP),具有高速、低功耗等特点,在工业控制领域得到广泛应用。
本文将介绍如何在C2000系列DSP上实现PID控制,通过一个简单的示例展示PID算法的具体应用。
1. 基本原理PID控制器是由比例(P)、积分(I)和微分(D)三个部分组成的控制算法,其输出值由这三个部分的加权和决定。
通过不断调整P、I、D的系数,可以实现对被控对象的精确控制,使其达到设定值。
具体的PID算法如下:\[ u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt} \]\( u(t) \)为控制器输出,\( e(t) \)为误差信号(设定值与实际值之差),\( K_p \)、\( K_i \)、\( K_d \)为比例、积分、微分系数。
2. 实现步骤在C2000系列DSP上实现PID控制的步骤如下:1)初始化PID参数:设置比例系数\( K_p \)、积分系数\( K_i \)、微分系数\( K_d \);2)读取传感器数据:读取被控对象的实际值;3)计算误差信号:计算设定值与实际值之差,得到误差信号;4)根据PID算法计算输出值:根据PID算法计算出控制器输出值;5)将输出值送入执行器:将计算得到的控制器输出值送入执行器,控制被控对象。
3. 编程实例下面以控制一个直流电机的转速为例,演示如何在C2000系列DSP上实现PID控制。
步骤一:初始化PID参数```Cfloat Kp = 0.1;float Ki = 0.01;float Kd = 0.05;```步骤二:读取传感器数据```Cfloat read_sensor(){// 读取传感器数据return sensor_value;}```步骤三:计算误差信号```Cfloat compute_error(float set_point, float actual_value){ float error = set_point - actual_value;return error;}```步骤四:计算PID输出值```Cfloat compute_pid_output(float error){static float integral = 0;static float prev_error = 0;// 计算比例项float p = Kp * error;// 计算积分项integral += error;float i = Ki * integral;// 计算微分项float derivative = error - prev_error; float d = Kd * derivative;// 计算输出值float output = p + i + d;prev_error = error;return output;}```通过以上实例,我们可以看到如何在C2000系列DSP上实现PID 控制,并将其应用于直流电机的转速控制中。
LD 功能块控制功能块PID —3部分之第1部分概述| 操作数| 参考地址数组参数| 运算| 设置用户参数| 示例| CPU 支持概述比例积分微分(PID)控制功能是一个用来做闭环过程控制的一个通用的算法。
当它通过一个触点接收到能量流时,PID 功能块会对比过程变量(PV) 反馈和需要的过程设置点(SP),并通过偏差来更新一个控制量(CV)。
此功能块使用PID闭环增益和存储在参考地址数组中的40个字的其他参数来在期望的时间内完成PID运算。
所有的参数都是16位的字来同16位的模拟量过程变量兼容。
这就允许使用%AI寄存器来存储输入过程变量和用%AQ来存储输出控制变量。
由于是一个按比例的16位整型数, 许多参数都必须被定义为或是PV 数量或单位,或是CV数量或单位。
比如, SP输入必须被调整为和PV同样的范围因为PID块计算的是这两个输入之间的偏差。
PV 和CV的数量可以是-32768 或0 到+32767, 匹配模拟量的比例,或是从0 到10000, 来显示变量为从0.00% 到100.00%。
PV和CV数量不必有同样的比例,因为调整系数包括在了PID增益中。
当功能块完成且没有计算错误时,能量流输出就会得电。
只要有至少一个计算错误存在, 就没有能量流输出。
注意: PID 不能比每10毫秒执行一次执行的更频繁。
如果你设置它每个扫描都执行且扫描时间小于10毫秒时就会改变你的结果。
在这种情况下,PID 不会运行直到有足够的扫描周期累加占用时间有10毫秒为止。
比如, 如果扫描时间是9毫秒, PID就会每隔一个扫描执行一次,这样每次它执行的时候就已经占用了18 毫秒。
操作数参考地址数组参数除了两个输入字和三个手动控制节点, PID 功能块还需要参考地址数组中的13个用户定义的参数。
这些参数必须在调用这个块之前设定。
其余的由PLC 使用的参数是不可配置的。
下面表中显示的%Ref 是指参考地址数组的起始地址(即 操作数)。
PID控制原理和特点143401010529 二班李卓奇工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID调节。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一。
当被控对象结构和参数不能完全掌握,或不到精确数学模型时,控制理论其它技术难以采用时,系统控制器结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象﹐或不能有效测量手段来获系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制。
PID 控制器就是系统误差,利用比例、积分、微分计算出控制量进行控制。
1、比例控制(P):比例控制是最常用的控制手段之一,比方说我们控制一个加热器的恒温100度,当开始加热时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过100度时,我们则关闭输出,通常我们会使用这样一个函数e(t) = SP – y(t)-u(t) = e(t)*PSP——设定值e(t)——误差值y(t)——反馈值u(t)——输出值P——比例系数滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求,但很多被控对象中因为有滞后性。
也就是如果设定温度是200度,当采用比例方式控制时,如果P选择比较大,则会出现当温度达到200度输出为0后,温度仍然会止不住的向上爬升,比方说升至230度,当温度超过200度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度才会止跌回升,比方说降至170度,最后整个系统会稳定在一定的范围内进行振荡。
如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制2、比例积分控制(PI):积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进,它常与比例一块进行控制,也就是PI控制。
欧姆龙PLC 编程语言的设计与应用PID实例1 引言在PLC中有多种程序设计语言,如梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。
梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等。
通过扩展或增强指令集,它们也能执行其它的基本操作。
功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。
功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在PLC中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用。
由于它具有连接方便、操作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
2 常用的程序设计语言分类根据PLC应用范围,程序设计语言可以组合使用,常用的程序设计语言有以下几种:(1) 梯形图(Ladder Diagram)程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。
采用梯形图程序设计语言,这种程序设计语言采用因果关系来描述事件发生的条件和结果,每个梯级是一个因果关系。
在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在右面。
梯形图程序设计语言是最常用的一种程序设计语言,它来源于继电器逻辑控制系统的描述。
在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉。
因此,由这种逻辑控制技术发展而来的梯形图受到欢迎,并得到广泛的应用。
梯形图程序设计语言的特点是:·与电气操作原理图相对应,具有直观性和对应性;·与原有继电器逻辑控制技术相一致,易于撑握和学习;·与原有的继电器逻辑控制技术的不同点是:梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此应用时需与原有继电器逻辑控制技术的有关概念区别对待;·与布尔助记符程序设计语言有一一对应关系,便于相互转换和程序检查。
实验十七 直流电机控制实验一、 实验目的1. 学习数字控制器的模拟化设计方法;2. 学习数字PID 控制器的设计方法;3. 学习PWM 控制理论;4. 学习数字PID 控制器在DSP 上的实现方法。
二、实验设备 计算机,CCS 2.0版软件,实验箱、DSP 仿真器、导线。
三、基础理论 PID 控制器(按闭环系统误差的比例、积分和微分进行控制的调节器)自30年代末图1 模拟PID 控制期出现以来,在工业控制领域得到了很大的发展和广泛的应用。
它的结构简单,参数易于调整,在长期应用中已积累了丰富的经验。
特别是在工业过程控制中,由于被控制对象的精确的数学模型难以建立,系统的参数经常发生变化,运用控制理论分析综合不仅要耗费很大代价,而且难以得到预期的控制效果。
在应用计算机实现控制的系统中,PID 很容易通过编制计算机语言实现。
由于软件系统的灵活性,PID 算法可以得到修正和完善,从而使数字PID 具有很大的灵活性和适用性。
实现PID 控制的计算机控制系统如图1所示,其中数字PID 控制器是由软件编程在计算机内部实现的。
1、PID 控制规律的离散化PID 控制器是一种线性调节器,这种调节器是将系统的给定值r 与实际输出值y 构成的控制偏差y r c -=的比例(P )、积分(I )、微分(D ),通过线性组合构成控制量,所以简称PID 控制器。
连续控制系统中的模拟PID 控制规律为:])()(1)([)(0dtt de T dt t e T t e K t u D t I p ++=⎰ (式1)式中)(t u 是控制器的输出,)(t e 是系统给定量与输出量的偏差,P K 是比例系数,I T 是积分时间常数,D T 是微分时间常数。
其相应传递函数为:)11()(s T sT K s G D I p ++= (式2) 比例调节器、积分调节器和微分调节器的作用:(1)比例调节器:比例调节器对偏差是即时反应的,偏差一旦出现,调节器立即产生控制作用,使输出量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数P K 。
PID控制算法介绍与实现一、PID的数学模型在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。
经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。
PID算法的一般形式:PID算法通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。
这里我们规定(在t时刻):1.输入量为i(t)2.输出量为o(t)3.偏差量为err(t)=i(t)− o(t)u(t)=k p(err(t)+1T i.∫err(t)d t+T D d err(t)d t)二、PID算法的数字离散化假设采样间隔为T,则在第K个T时刻:偏差err(k)=i(k) - o(k)积分环节用加和的形式表示,即err(k) + err(k+1) + …微分环节用斜率的形式表示,即[err(k)- err(k−1)]/T; PID算法离散化后的式子:u(k)=k p(err(k)+TT i.∑err(j)+T DT(err(k)−err(k−1)))则u(k)可表示成为:u(k)=k p(err(k)+k i∑err(j)+k d(err(k)−err(k−1)))其中式中:比例参数k p:控制器的输出与输入偏差值成比例关系。
系统一旦出现偏差,比例调节立即产生调节作用以减少偏差。
特点:过程简单快速、比例作用大,可以加快调节,减小误差;但是使系统稳定性下降,造成不稳定,有余差。
积分参数k i:积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。
微分参数k d:微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信号的变化趋势来进行超前调节,从而增加了系统的快速性。
pid控制实验报告pid控制实验报告篇一:PID控制实验报告实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
一、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:Tu T ?kpeu=para; J=0.0067;B=0.1; dy=zeros= y= -+ = k*ts; %time中存放着各采样时刻rineu_1=uerror_1=error;%误差信号更新图2-1 Simulink仿真程序其程序运行结果如表2所示。
Matlab输出结果errori = error_1 = 表2 例4程序运行结果三、离散系统的数字PID控制仿真1.Ex5 设被控对象为G?num 仿真程序:ex5.m%PID Controller clear all; close all;篇二:自动控制实验报告六-数字PID控制实验六数字PID控制一、实验目的1.研究PID控制器的参数对系统稳定性及过渡过程的影响。
2.研究采样周期T对系统特性的影响。
3.研究I型系统及系统的稳定误差。
二、实验仪器1.EL-AT-III型自动控制系统实验箱一台 2.计算机一台三、实验内容1.系统结构图如6-1图。
图6-1 系统结构图图中 Gc(s)=Kp(1+Ki/s+Kds) Gh(s)=(1-e)/s Gp1(s)=5/((0.5s+1)(0.1s+1)) Gp2(s)=1/(s(0.1s+1))-TS 2.开环系统(被控制对象)的模拟电路图如图6-2和图6-3,其中图6-2对应GP1(s),图6-3对应Gp2(s)。
图6-2 开环系统结构图1 图6-3开环系统结构图2 3.被控对象GP1(s)为“0型”系统,采用PI控制或PID控制,可使系统变为“I型”系统,被控对象Gp2(s)为“I型”系统,采用PI控制或PID控制可使系统变成“II型”系统。
实验报告实验名称:积分分离PID控制算法课程名称:计算机控制系统姓名:蓝娜学号:12062115班级:电气2班指导老师:陈雪亭日期:2014年11月11日实验背景:在数字控制系统中,积分控制分量的引入主要是为了消除静差,提高系统的精度。
但在过程启动、停车或大幅度改变设定值时,由于产生较大的偏差,加上系统本身的惯性和滞后,在积分作用下,计算得到的控制量将超出执行机构可能的最大动作范围对应的极限控制量,结果产生系统输出的较大超调,甚至引起系统长时间的振荡,这对大多数的生产过程是不允许的,由此引进积分分离PID 算法,既保持了积分作用,又可减少超调量,使系统的控制性能得到较大的改善。
实验基本思想:在偏差e(k)较大时,暂时取消积分作用;当偏差e(k)小于某个阈值时,才将积分作用投入。
1)根据实际需要,设定一个阈值ε>0。
2)当|e(k)|>ε,即偏差较大时,采用PD 控制,可避免大的超调,又使系统有较快的响应。
3)当|e(k)|<=ε,即偏差较小时,采用PID 控制或PI 控制,可保证系统的控制精度。
积分分离形式:u(k)=Kp{e(k)+)]1()([)(0--+∑=k e k e TTd j e Ti T k j β} 式中β=1(|e(k)<=ε|) 或β=0 (|e(k)|>ε)实验目的:利用Simulink 设计数字PID 控制器,加入模块Switch ,通过调整阈值实现积分分离,并通过Simulink 仿真与标准PID 控制进行比较。
实验线路图:普通PID 控制线路:上次实验得到较好系统性能的整定后的参数为Kp=600,Ki=450,Kd=26。
此次实验会在上次实验的基础上作进一步的改进,引入积分分离。
/s/blog_6a04c83201018gu9.html实验结果:(1)当Ki、Kd为0,Kp=1时得到的响应曲线如下:(2)当Kp逐渐增大,Ki、Kd=0时,得到图像如下:(2)由上图像得,只改变比例系数Kp,超调量变大,且稳定性能也不高。