温度控制的PID算法的C语言程序 - 图文(5)

2019-04-14 22:56

来自: 2009-04-23,09:42:23 资料 邮件 回复 引用回复 ↑↑ ↓↓ 编辑 删除 【2楼】 huang关于PID有点心得,供LZ参考: stone 积分:47 派别: 等级:------ 来自: 1、PID运算出来是一个数据没有量纲,在这里这个数据和占空比没有什么直接的关系,这个数据的大小表示的PID调节的强度,数据大调节度就大。 2、占空比的输出一般通过定时器,我们假设当定时器的值为255时,占空比为100%。第1点计算的数据是和你PID的三个参数密切相关的,在相同的被控量测量值下,不同的PID参数会得出不同的值,这其实就是PID参数要调节的原因。因此要对PID参数加以调整,将计算出的数据可以直接赋给定时器控制占空比,但是要对最大和最小值加以限定。 3、想象一下,如果你的PID参数不合适,计算出的数据要么大于255,要么小于0,这就变成了开关控制了。 其实最关键的就是我写的第一点,只要理解了PID计算出的数据是表示的调节强度的大小,和占空比和温度都没有直接的对应关系的。那PID就没有什么困难的。 2009-04-23,11:52:49 资料 邮件 回复 引用回复 ↑↑ ↓↓ 编辑 删除 【3楼】 deepi【2楼】 huangstone 学习了!!! n 积分:402 派别: 等级:------ 来自: 2009-04-24,14:48:14 资料 邮件 回复 引用回复 ↑↑ ↓↓ 编辑 删除 【4楼】 lengqi这个楼的时间跨度太大了吧??? ng1309 积分:209 派别: 等级:------ 来自:泉州 2009-04-24,16:33:29 资料 邮件 回复 引用回复 ↑↑ ↓↓ 编辑 删除 【5楼】 aglen 学习了 积分:58 派别: 等级:------ 来自: 2009-10-11,11:05:24 资料 邮件 回复 引用回复 ↑↑ ↓↓ 单片机高精度温度控制实例

【摘要】 本文介绍了以AT89S51单片机为核心的温度控制器的设计,在该设计中采用高精度的温度传感器AD590对电热锅炉的温度进行实时精确测量,用超低温漂移高精度运算放大器OP07将温度-电压信号进行放大,再送入12位的AD574A进行AD转换,从而实现自动检测,实时显示及越限报警。控制部分采用PID算法,实时更新PWM控制输出参数,控制可控硅的通断时间,最终实现对炉温的高精度控制。

【关键词】 水温控制系统 PID控制单片机

温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。

一 系统设计方案的论证与比较

根据题目要求,电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制执行模块等组成。

方案一 采用8031作为控制核心,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,且ADC0809是8位的模数转换,不能满足本题目的精度要求。

方案二 采用比较流行的AT89S51作为电路的控制核心,使用12位的高精度模数转换器AD574A进行数据转换,控制电路部分采用PWM控制可控硅的通断以实行对锅炉温度的连续控制,此方案电路简单并且可以满足题目中的各项要求的精度。

综上分析,我们采用方案二。系统设计总体框图如下。

图1 控制器设计总体框图

根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以AT89S51单片机为检测控制中心的电热锅炉温度自动控制系统。温度控制采用改进的PID数字控制算法,显示采用3位LED静态显示。该设计结构简单,控制算法新颖,控制精度高,有较强的通用性。所设计的控制系统有以下功能:

· 温度控制设定波动范围小于±1%,测量精度小于±1%,控制精度小于±2%,超调整量小于±4%;

· 实现控制可以升温也可以降温;

· 实时显示当前温度值;

· 按键控制:设置复位键、运行键、功能转换键、加一键、减一键;

· 越限报警。

二 硬件电路设计

硬件电路主要有两大部分组成:模拟部分和数字部分:从功能模块上来分有:主机电路、数据采集电路、键盘显示电路、控制执行电路。

1 主机电路的设计

主机选用ATMEL公司的51系列单片机AT89S51来实现,利用单片机软件编程灵活、自由度大的特点,力

求用软件完善各种控制算法和逻辑控制。本系统选用的AT89S51芯片时钟可达12MHz,运算速度快,控制功能完善。其内部具有128字节RAM,而且内部含有4KB的flash ROM 不需要外扩展存储器,可使系统整体结构更为简单、实用。

2 I/0通道的硬件电路的设计

就本系统来说,需要实时采集水温数据,然后经过A/D转换为数字信号,送入单片机中的特定单元,然后一部分送去显示;另一部分与设定值进行比较,通过PID算法得到控制量并经由单片机输出去控制电热锅炉加热或降温。

2.1 数据采集电路的设计

数据采集电路主要由AD590, 0P07,74LS373,AD574A等组成。由于控制精度要求为0.1 度,而考虑到测量干扰和数据处理误差,则温度传感器和AD 转化器的精度应更高才能保证控制精度的实现,这个精度可处粗略定为0.1 度。故温度传感器需要能够区分0.1 度;而对于AD 转换器,由于测量范围为40-90 度,以0.1 度作为响应的AD 区分度要求,则AD 需要区分(90-40)/0.1=500 个数字量,显然需要10 位以上的AD 转换器。为此,选用高精度的12位AD574A。

为了达到测量高精度的要求,选用温度传感器AD590,AD590具有较高精度和重复性(重复性优于0.1℃,其良好的非线形可以保证优于0.1℃ 的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到0.1℃测量精度.)超低温漂移高精度运算放大器0P07将温度一电压信号进行放大,便于A/D进行转换,以提高温度采集电路的可靠性。模拟电路硬件部分见图2。

图2 温度电压转换电路

2.2 电控制执行电路的设计

由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。其传递函数形式为:

可控硅可以认为是线形环节实现对水温的控制。单片机输出与电炉功率分别属于弱电与强电部分,需要进行隔离处理,这里采用光耦元件TLP521 在控制部分进行光电隔离,此外采用变压器隔离实现弱强电的电源隔离。

单片机PWM 输出电平为0 时,光耦元件导通,从而使三极管形成有效偏置而导通,通过整流桥的电压经过集电极电阻以及射集反向偏压,有7V 左右的电压加在双向可控硅控制端,从而使可控硅导通,交流通路形成,电阻炉工作;反之单片机输出电平为0 时,光耦元件不能导通,三极管不能形成有效偏置而截止,可控硅控制端电压几乎为零,可控硅截止从而截断交流通路,电炉停止工作。此外,还有越限报警,当温度低于下限时发光二极管亮;高上限时蜂鸣器叫。控制执行部分的硬件电路如下:

图3 控制执行部分电路

3 键盘及显示的设计


温度控制的PID算法的C语言程序 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:集输工高级工理论题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: