采用AT89S51微处理器和PID控制方案实现液位控制系统的设计

前言

液位是许多工业生产中的重要参数之一,在化工、冶金、医药、航空等领域里,对液位的测量和控制效果直接影响到产品的质量。由于单片微型计算机具有体积小,耗电少,控制精度高,运行可靠等的特点,所以广泛应用于生产实际中。本文讨论了一种以AT89C51为核心研制的液位控制系统,该系统不仅能对液位进行巡回检测、显示和报警,同时也能对液位进行智能控制。

1、 系统硬件设计

系统硬件组成框图如图1所示。主要由AT89S51、输入电路组成和输出电路组成。

采用AT89S51微处理器和PID控制方案实现液位控制系统的设计

图1 系统硬件组成框图

1.1 微机系统

系统的核心部分是一片AT89S51微处理器。这是一种与MCS –51系列芯片兼容,带有4KB闪速可擦除只读存储器的低功耗、高性能CMOS结构的8位微处理器。它除正常工作外还可工作于低功耗的闲置和掉电模式,进一步减少了芯片的功耗。其内部除了配有4K的FLASH,还具有128字节的RAM、2个16位定时器/计数器,5个两级中断源结构,32位并行输入/输出口和一个全双工的串行口,看门狗定时电路等。由于AT89C51集FLASH、RAM、I/O、串行口于一体,所以只须配置少量的外围电路,就能构成液位智能控制系统,整个系统的结构十分紧凑。这种紧凑的结构,有助于降低功耗、提高系统的可靠性。

1.2 键盘、显示和报警部分

P1.0 ~ P1.5作为键盘的接口,连接一个2×4的键盘。分别实现液位上、下限显示、液位上、下限的设定等功能。显示器由4位LED组成,用于实时显示各个液位的高度,以及显示液位的上、下限值。

报警功能是当液位的高度超出设定值范围时,进行声、光报警。

1.3 数据采集和输出控制部分

数据采集部分由液位变送器、放大电路和A/D转换器组成。液位变送器的输出为4 ~ 20mA的电流信号,经过转换放大电路转换成A/D0809所能接收0 ~ 5V电压信号。在AT89C51单片机的控制下,实时采集液位数据,并对数据进行处理。

输出控制部分根据PID算法所的结果,通过步进电机对流量阀进行控制,实现液位控制的目的。

2、 软件设计

系统软件主要由主程序、采样程序和PID算法程序和一些子程序组成。

2.1 主程序

主程序的流程图如图2所示。

图2 主程序流程图

主程序的主要功能是完成AT89C51的初始化,设置液位的上限和下限,显示实时液位值,键扫描等工作。

2.2 采样和数据处理模块

本系统利用定时循环轮流对8个液位进行实时采样,对实时数据进行数据处理,并采用PID控制方案。

由于本系统的执行机构是步进电机,所以我们采用了增量式PID控制。根据递增原理可得

根据以上推导,得到增量式PID控制算法的程序流程图如图3所示。

图3 增量式PID控制算法的流程图

2.3其他功能

用户可以通过键盘设定液位的上限值和下限值,以及在任意时候显示液位的上下限值。当液位的高度超出或低于设定值时,进行声光报警,以提醒操作人员进行及时的处理。

3、 抗干扰对策

3.1硬件抗干扰设计

系统电源是一个重要部件,又是与外部电网直接联系的部分,为了防止从电源系统引入干扰信号,在电源输入端设置低通滤波器,滤去高次谐波成份。另外还采用了AT89S51中的看门狗定时器,以进一步提高系统硬件抗干扰的能力。

3.2软件抗干扰设计

在程序设计时,将各程序模块分区存放,彼此之间空出一些存储单元,在这些单元中填充FF(RST指令)。同时对程序中重要的跳转和调用子程序指令前均加入三个NOP指令,以保证程序流向的正确性,因为PC只要错一个数码,那么整段程序就会面目全非,从而造成检测系统的混乱。

利用滑动平均滤波法求取平均值。将最近6次采样得到的液位值,去除最大值和最小值,剩下的4个数据求算术平均值。

4 、结束

该液位智能控制系统采用了单片机作为主控制器,结构简单,可靠性高,抗干扰性强,由于应用了PID控制方案,系统的响应速度快,超调量小,系统稳定性好,具有一定的实用价值。

 收藏 (0) 打赏

您的赞助是我分享的最大动力!

支付宝扫一扫赞助

微信钱包扫描赞助

转载请注明出处:STBLOG » 采用AT89S51微处理器和PID控制方案实现液位控制系统的设计

分享到: 更多 (0)

热门文章

  • 评论 抢沙发

    评论前必须登录!

    立即登录   注册

    ❤ 感谢您的关注与支持!❤

    对TA表白给我留言
    我要注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活