没有合适的资源?快使用搜索试试~ 我知道了~
单片机的PID控制算法
需积分: 0 0 下载量 193 浏览量
2017-05-04
12:49:06
上传
评论
收藏 819KB DOC 举报
温馨提示
试读
21页
资源详情
资源评论
资源推荐
基于单片机的 PID 控制算法
基于单片机的 PID 控制算法实现
摘 要:温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象
特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程
其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非
常有价值的。为了实现高精度的水温测量和控制,本文介绍了一种以 At-mel 公司的低功
耗高性能 CMOS 单片机为核心,以 PID 算法控制来实现的温度控制系统,其硬件电路还
包括温度采集、温度控制、温度显示、键盘输入以及 RS232 接口等电路。该系统可实现
对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。
关键词:单片机 AT89C51;温度控制;温度传感器 PT1000;PID 调节算法
1 前 言
1.1 课题背景与意义
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的
主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品
加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行
检测和控制。采用 AT89C51 单片机来对温度进行控制,不仅具有控制方便、组态简单和
灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的
质量和数量。目前,温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内
生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国
家相比,仍然有着较大的差距。现在,我国在这方面总体技术水平处于 20 世纪 80 年代
中后期水平。成熟产品主要以“点位”控制及常规的 PID 控制器为主,它只能适应一般温度
系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、
自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着
嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化
和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、
适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业应用广泛。
1.2 温度控制系统的应用
盐浴炉温度控制系统利用 S 型铂铑-铑热电偶检测温度,热电偶进行冷端补偿,热电偶
检测的信号通过放大、采样保持、模数转换再送单片机保存,采用分段查表法获取各点
温度。选用可控硅过零触发自动控制盐浴炉温度,控制周期为 100 个三相交流式电周期,
即 2s。由单片机控制可按预设温度曲线进行加热,并可实时显示加温曲线。大型粮库采
用主机为 PC 上位机,从机为 68HC08GP32 为主控芯片的分机(下位机)。下位机采用
DALLAS 的数字式温度传感器芯片 DS1820,可以在三根线(电源线、地线、信号线)上
同时并联多个温度探测点。每个分机上可以连接 10 跟电缆,每根电缆上可并联几十个点。
分机利用了 68HC08GP32 的片内 FLASH 功能,实现了 DS1820 的序列号在 68HC08GP32
中的动态存取,从而节省了大量存储器。温度数据保存在 68HC08GP32 的片内 RAM 里并
且充分利用了 68HC08GP32 的片内的 A/D 实现了湿度数据的测量。有的还用 PLC 来控制
总之温度控制系统的控制方式是多种多样的。
第 1 页
1.3 课程设计任务
本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的选
取和控制算法的选择、程序的调试和系统参数的整定。以 AT89C51 为 CPU,温度信号由
PT1000 和电压放大电路提供。电压放大电路用超低温漂移高精度运算放大器 0P07 将温
度--电压信号进行放大,用单片机控制 SSR 固态继电器的通断时间以控制温度,系统控制
对象为 1 升净水,容器为搪瓷器皿。温度可以在环境温度降低时实现自动控制,以保持设
定的温度基本不变,具有较好的快速性与较小的超调。
2 系统方案
2.1 温度控制系统设计任务和要求
设计一个温度自动控制系统,并能在环境温度降低时实现自动调整,以保持设定的
温度基本不变,系统设计具体要求:温度设定范围为 40℃,目标温度的±2℃;加热棒功
率 2KW,控制器为固态继电器;用十进制数码管显示水的实际温度。
2.2 温度控制系统部分
温度控制系统是一个过程控制系统,组成框图如图 1 所示,由控制器、执行器、被控
对象及其反馈作用的测量变送组成。测量变送是通过温度传感器 Pt1000 来传送的。控制
器是通过单片机来完成。
图 1 控制系统框图
2.2.1 CPU 中央处理器
方案一:采用 8031 作为控制核心,使用最为普遍的器件 ADC0804 作模数转换,控制
上使用对加热棒加电对水槽里的水升温。此方案简易可行,器件价格便宜,但 8031 内部
没有程序存储器需扩展,增加了电路的复杂性。
方案二:此方案采用 8951 单片机实现,可用编程实现各种控制算法和逻辑控制。进
行数据转换,控制电路部分采用 SSR 固态继电器控制加热棒的通断,此方案电路简单并
且可以满足题目中的各项要求的精度。
比较两个方案可知,采用 AT89C51 单片机来实现本题目,不管是从结构上,还是从
工作量上都占有很大的优势,所以最后决定使用 AT89C51 作为该控制系统的核心。根据
温度变化慢,并且控制精度不易掌握的特点,设计了水箱温度自动控制系统,总体框图
如图 2 所示。温度控制采用改进的 PID 数字控制算法,显示采用 3 位 LED 静态显示。
第 2 页
图 2 控制器设计总体框图
2.2.2 温度控制系统算法分析
系统算法控制采用工业上常用的位置型 PID 数字控制,并且结合特定的系统加以算
法的改进,形成了变速积分 PID—积分分离 PID 控制相结合的自动识别的控制算法。该方
法不仅大大减小了超调量,而且有效地克服了积分饱和的影响,使控制精度大大提高。
PID 控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。 PID
调节器有三个可设定参数,即比例放大系数 、积分时间常数 、微分时间常数 。
比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的
稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。
如图 3 所示。
图 3 比例积分微分控制
由图 4 可知 PID 调节器是一种线性调节器,这种调节器是将设定值 w 与实际输出值 y
进行比较构成偏差 e=w-y。
并将其比例、积分、微分通过线性组合构成控制量。其动态方程为:
(2.1)
其中 Kp 为比例放大系数;Ki 为积分时间常数;Kd 为微分时间常数
PID 调节器的离散化表达式为:
t
T
T
T
t
Y
第 3 页
剩余20页未读,继续阅读
qq_kun
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0