气体压力的PID控制

N

nishal

Guest
大家好,
我做了一个项目,PIC单片机控制的气体压力。我已成功实施的P'一词即克雷伯*错误。虽然我尝试引入'我'&'D'类来说,这是不正常的『P'一词
, 也感到难以微调措施
, 以及对压力的变化率,通常是非常高的。

请提出一个微调或公式法的PID使用煤气压力校正。

提前感谢!

Nishal

 
如果您已经确定控制器参数的困难,可能要省略作为第一步骤D行动。一采取行动一般需要撤销大多数控制程序静态错误。如果您设置我获得比较低,因此
, 不会造成问题
, 但仍然实现了零稳态误差。

Ziegler - Nichols整规则提供了一个比较简单的方法来执行一个可接受的无需进行复杂的计算和信号处理的正常控制流程调整。阿压力控制器可能涉及的问题作为非非线性演员的特点,简单的调整规则可在这种情况下
, 不恰当的。

 
由于有限体积,

P =克雷伯*错误
余=我 文*错误
Ḏ= Kd值*(错误- Error_prev):Error_prev =错误

输出=输出 P 一 Ḏ

请让我知道任何的改善将在这个公式的。

在低流量和行动存在唯一的P,压力似乎越来越摆动(± 3)。但其稳定的“二防止山泥倾泻流量。它是一个更好的方法来改变'克雷伯'按流量即一常数(KP)的为“二防止山泥倾泻流量和”防止山泥倾泻流量另2。因此
, 它得到的“2以及”二山泥倾泻flowrates稳定状态。

请让我知道是否有其他合适的控制方法存在的气体压力控制。

Nishal有限体积说:

如果您已经确定控制器参数的困难,可能要省略作为第一步骤D行动。
一采取行动一般需要撤销大多数控制程序静态错误。
如果您设置我获得比较低,因此,不会造成问题,但仍然实现了零稳态误差。Ziegler - Nichols整规则提供了一个比较简单的方法来执行一个可接受的无需进行复杂的计算和信号处理的正常控制流程调整。
阿压力控制器可能涉及的问题作为非非线性演员的特点,简单的调整规则可在这种情况下,不恰当的。
 
您正在考虑的变量P增益
, 因为你经历了非线性控制过程中的行为,很可能因为演员的属性。在这种情况下,没有简单的解决办法。如果您能够衡量演员的特点,您可以尝试线性它。实证确定为不同的操作点的最佳收益
, 可能是更简单的方法。

一般来说,控制非线性过程
, 是在控制理论高级的主题。你不应该指望简单的解决方案的标准方法。

 
我也是在发展微型处理器的压力文件科controlers进程。我有压力传感器和伺服。你能告诉我你的微控制器为您的项目使用。我使用赛普拉斯PSoC很大。不过我可能需要不同的微控制器“

菲利普

 
喂,

我已经使用并与成功18f2550的PID。

您可以使用Matlab语言工具
, 称为IDENT公司提取的参数。

我张贴的功能
, 可以帮助你克雷伯= 0.8142;钛= 0.761;离散度= 0.19; / / valores iniciais做controlo的PID(Harcoded).-
TempRef = 200.0; / / Temperatura inicial desejada(硬编码).-
Incializacao_variaveis(); / / variaveis incialização DAS的做sistema .-/ * Tarefa阙娥executada恰达20ms的第determinar Ø controlo做sistema * /
无效ControlSistema(无效)(
Medida = read_adc(); / / Leitura做英勇analogico .-
TempReal = Medida;
TempReal =(TempReal * 500)/ 1024; / / Aplica订阅1埃斯卡拉adequada第obter
/ /输出英勇时间º C的-

等= TempRef - TempReal; / /卡尔库洛埃罗

如果(SistControl == 1)(/ /控制的PID?
超声= Q0的*北京时间-第一季度* eT_1 第2季* eT_2 uT_1; / /卡尔库洛达萨利达的PID(超声= [伏特])
当rt =(超声* 1000)/ 5; / /占空比马克西莫1000 - “5V的.-
/ * <<<<< AntiWindup >>>>>*/ / /尚未有一depurar
如果(往返“1000)(/ /赛伊达的PID本身é约尔阙1000 .-
超声=(超声 5 * p0)* p00;
反T = 1000;

如果(往返“0)(/ /赛伊达的PID本身é梅诺尔阙0
超声=超声* p00;
当rt = 0;

/ * <<<<< Transferencia达赛伊达的PID自治州瑟纳尔脉宽调制>>>>>*/
ControlPWM =反T;
set_pwm1_duty(ControlPWM);

/ * <<<<< Guardar variaveis近端州>>>>>*/段
eT_2 = eT_1;
eT_1 =等;
uT_1 =超声;
否则()/ /控制论小康.-
如果(东部“0)(output_high(PIN_C2);)
否则(output_low(PIN_C2);)

如果(数据记录器== 1)(
putc函数(make8(Medida,1)); / / Coloco钠卢比Ø英勇利多阿尔托
putc函数(make8(Medida,0)); / /单方面立刻

)Inicialization

/ * Inicialização达variaveis做sistema * /
(无效)无效Incializacao_variaveis(
eT_1 = 0.0; eT_2 = 0.0; uT_1 = 0.0; / / Inicializo零州段

Q0的=克雷伯*(1 (0.02/Ti) (白喉* 50));
第1季=克雷伯*(1 (白喉* 100));
第2季=克雷伯*运输署* 50;
p0 = 0.02/Ti; / /单方面特莫积分
p00 = 1 /(1 p0); / / Escalado

小组= 0; / /派内尔apagado .-默认
PosMod = 0; / /硒é零瑙扎伊尔滩.-
输入= 0; / /脑本身pressionou输入.-
SistControl = 1; / /科梅卡各大洲controlo的COM的PID .-
数据记录器= 0; / /数据记录器desligado .-
output_b(0x00); / /段inicializar键盘.-


如果该参数变化的运行模式/ *
恩卡索日modificar alguma DAS的contantes做的PID德韦订阅parametros recalcular全部
达função的PID
* /
(无效)无效Actualizar_parametros(
Q0的=克雷伯*(1 (0.02/Ti) (白喉* 50));
第1季=克雷伯*(1 (白喉* 100));
第2季=克雷伯*运输署* 50;
p0 = 0.02/Ti;
p00 = 1 /(1 p0);


如果您需要更多信息请发送电子邮件

良好的工作

关心

 

Welcome to EDABoard.com

Sponsor

Back
Top