主程序流程图
恒压供水控制器对生活供水、消防供水系统进行监控,要求软件具有高可靠性、高稳定性、高抗干扰能力,检测信号准确,有良好的动静态性能,该软件按结构化流水设计,分为若干功能部分,采用C语言编写。本设计的软件主程序用来动态显示系统的压力,压力的采样和系统的控制环节都在中断处理程序中, 主流程图如图4-1:
图4-1 主程序流程图
T0中断服务程序
主要包括:A/D转换程序;D/A转换程序;控制程序。
程序流程图如下:如图4-2示,变频器控制M1电机,M2电动机由单片机控制,其标志位为M2。
1.A/D转换子程序
其主要任务是把压力传感器检测的压力转换成数字量,并送入单片机处理,程序见附录。
2.D/A转换子程序
其主要任务是把经PID处理过的数据转换成模拟量,来控制变频器输出电压的频率,来控制水泵的转速,以达到控制供水压力的目的。
图4-2 T0中断服务程序流程图
3.PID 调节程序
本设计就是通过单片机实现的PID 调节器来实现水压的恒定,并自动调节水泵的数量。在工业控制过程中,目前采用最多的控制方式仍然是PID 方式。PID 有几个重要的功能:提供反馈控制;通过积分作用可以消除稳态误差:通过微分作用预测将来。由于PID 控制器具有简单而固定的形式,在很宽的操作条件范围内,另一方面是因为PID 控制器允许工程技术人员以一种简单而直接的方式来调节系统性能,其程序见附录。
数字PID 控制算法通常分为位置式PID 控制算法和增量式PID 控制算法。随着计算机技术的发展,在控制工程中,用计算机PID 控制算法来实现数字PID 控制器,组成计算机控制系统。可以灵活的改变PID 参数,同时可以改变控制策略来达到控制目的。这是模拟PID 控制器中所无法实现的。这里所说的控制策略是数字PID 的改进算法,如积分分离PID 控制算法、不完全微分PID 控制算法、微分先行PID 控制算法和带死区的PID 控制算法等。在各个控制阶段采取各种控制方法,以此来获得控制目标。本设计采用增量式PID 控制,下面把增量式PID 控制算法介绍一下: 1) 增量式PID 控制算法
流程图转换为ns图所谓增量式PID 是指数字控制器的输出只是控制量的增量Δu(k)。离散的PID 表达式为:
∑=--++=k
j D I P k e k e K j e K k e K k u 0
)]1()([)()()( (4-1)
当执行机构需要的是控制量的增量(如驱动步进电机)时,可由式(4-1)导出提供增量的PID 控制算法。根据递推原理可得
)]
2()1([)(K 1)-e(k K 1)-u(k 1
-k 0
j I P ---++=∑=k e k e K j e D (4-2)
用式(4-1 )减去(4-2 ),可得
)]2()1(2)([)()]1()([)(-+--++--=∆k e k e k e K k e K k e k e K k u D I P )]1()([)()(-∆-∆++∆=k e k e K k e K k e K D I P (4-3) 其中: 1)-e(k -e(k) e(k)=∆ 式(4-3)称为增量式PID 控制算法。
可以看出,由于一般计算机控制系统采用恒定的采样周期T ,一旦确定了K P ,K I ,K D ,只要使用
前后三次测量值的偏差,即可有(4-3)求出控制增量。采用增量式算法时,计算机输出的控制增量Δu(k)对应的是本次执行机构位置的增
量。对应阀门实际位置的控制量,目前采用较多的是利用如上算式并通过执行软件来完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论