基于单片机AT89C51的温度控制系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目标温度的偏差大则电压导通个数多,加 热电路的加热功率大,使温度的实测值与 设定值的偏差迅速减少;反之,二者的偏差 小则电压导通个数小,加热电路加热功率 减少,直至目标值与实测值相等,形成一 个闭环调节系统。其控制流程如图 5 所 示。
心,利用热电偶检测温度并配合 PID 控制 算法提高了水温的控制精度,使用 PID 控 制算法和移相触发可控硅调节方式实施自 动控制系统,具有控制参数精度高、反映 速度快和稳定性好的特点。
温度传感器将温度信号转换为电信号 经放大后输入模数转换器 ADC0809,转换 后的数字量输入到单片机 AT89C51 中,单 片机 AT89C51 中与模数转换器 ADC0809 的接口电路 2 如图所示。
图 2 ADC0809 与单片机 AT89C51 的 接口电路
3.4 数模转换器 DAC0832 与单片机的 接口
2. 温度控制系统方案设计
采用 K 型热电偶测量温度,将温度信 号放大后通过 A/D 转换进入单片机,单片 机进行数字滤波和 PID 运算处理后,结果 经 DAC0832 转换为模拟量对全隔离单相交 流调压模块进行控制,达到控制电炉水温 的目的。系统方案如图 1 所示。
图 1 系统结构框图
3.温பைடு நூலகம்控制系统硬件设计
是一种能测量较高温度的廉价热电偶。它 的价格便宜,重复性好,产生的热电势 大,约为 0.041mV/ 度,因而灵敏度很 高,而且它的线性很好。虽然其测量精度 略低,但完全能满足工业测温要求,所以 它是工业上最常用的热电偶。由于热电偶 输出的电压信号频率较低、电压弱,所以 选用了一阶有源低通滤波电路。放大电路 用同相放大、负反馈方式。
温度控制系统硬件包括:A T 8 9 C 5 1 单片机最小系统模块、A / D 转换模块、D / A 转换模块、信号放大电路、温控电路 以及其它外围电路。
3.1 单片机的选择 AT89C5l 是 ATMEL 公司采用 CM0S 工艺生产的低功耗、高性能8 位单片机,与 MCS-51 单片机兼容,其功能特点为:(1) 4K 字节闪烁存储器(FLASH),可进行 1000 次写。(2)静态操作,外接 OHZ-24MHZ 晶 振。(3)三层程序存储器琐。(4)128 字节内部 数据存储器(RAM)。(5)32 跟可编程输入,输 出线。(6)两个 6 位定时/计数器。(7)六个中 断源。(8)一个可编程串口。(9)支持低功耗模 式和掉电模式。非常适合用作控制系统设 计。 3.2 传感器电路和信号放大电路 采用 K 型热电偶作为温度传感器,它
3.3 模数转换器 ADC0809 与单片机的 接口
模数转换器 ADC0809 是 8 位逐次比较 式 A/D 转换芯片,具有地址锁存控制的 分时采集 8 路模拟开关,其模拟量输入电压 为 0 ~5 V ,对应的数字量输出为 0 0 H - FFH,以及相应的通道抵制锁存用译码电 路,其转换时间为 100 μ s 左右。
5.结论
本系统以 AT89C51 单片机为控制核
参考文献 [1] 李晓伟,郑小兵,周磊等. 基于单片机的 精密温控系统设计[J]. 微计算机信息. 2007.32. [2] 杨丙聪,许忠仁,刘晓峰. 基于 AT89S52 单片机的智能温度控制器的设计[J]. 测控 技术.2007.10. [3] 丁元杰.单片微机原理及应用[M]. 北 京:机械工业出版社.2008.1. [4] 黄立宏,李莉娅. 一种 PID 的温度控 制系统设计[J]. 现代机械.2009.1. [5] 关平,曲颖,刘红等. 可实现的基于 MCS-51 单片机的恒温控制系统的设计[J]. 自动化技术与应用.2008.10. [6] 曹越 刘超 冯进良. 基于 AVR 单片机 的精密温控系统设计 J]. 仪器仪表用户. 2008.6. [7] 乔元劭 曹衍龙. 基于 AT89C51 的豆浆 液温度控制系统[J]. 组合机床与自动化加 工技术. 2 0 0 8 . 5 . 作者简介 罗 云 松(1 9 8 1 ~):男,汉 族 ,四 川 攀 枝花市人,助理实验师,电子科技大学在读 硕士,研究方向:微计算机及控制。
图 3 DAC0832 与单片机接口电路 3.5 功率驱动电路设计 当水温和设定值不等时,必须对其进 行控制以稳定于设定温度。本设计用全隔 离单相交流调压模块来响应 DAC0832 的输 出,以控制电阻丝的发热功率,进而控制 水温。电路原理图如图 4 所示。
图 4 全隔离单相交流调压模块实现水温 控制电路
-1 7 5 -
DAC0832 主要参数如下:分辨率为 8 位,转换时间为 1 μ s ,满量程误差为± 1LSB,参考电压为(+10~- 1 0 ) V,供电 电源为(+5~+15)V,逻辑电平输入与 TTL
-1 7 4 -
兼容。 本设计只需一个模拟量输出,因此,
DAC0832 的输出采用单缓冲输出方式。 其接受从单片机送来的数字信号,并将其 转换为可在 0V~+ 5V 范围内变化的模拟 信号,此信号输出至下一级全隔离单相交 流调压模块,从而调节该模块的输出功 率。DAC0832 与单片机 AT89C51 的接口 电路如图 3 所示。
制 造
中国科技信息 2009 年第 12 期 CHINA SCIENCE AND TECHNOLOGY INFORMATION Jun.2009
基于单片机 AT89C51 的
温度控制系统的设计
罗云松 李丹 攀枝花学院电气信息工程学院 617000
The Design of Temperature Control System Based on AT89C51 Single Chip Microcomputer
Luo Yunsong Li Dan School of Information and Electric Engineering of Panzhihua University, Panzhihua 617000,
Sichuan
摘 要 本文以单片机 AT89C51 为控制核心,温度信号 经输入模数转换器 ADC0809,转换后的数字量 输入到单片机。单片机中采用 PID 控制算法对 测量数据和设定数据进行处理,处理后的数 据经数模转换器 D A C 0 8 3 2 转换为模拟量,以 此来控制全隔离单相交流调压模块,从而控 制锅炉水温稳定于设定值。 关键词 单片机;温度控制系统;P I D 控制 Abstract This paper takes the single chip microcomputer of AT89C51 as the central controller, and the temperature signal is inputted into the A/D Converter ADC0809, then the converted digital signal is importted into the Single Chip Microcomputer. Single-chip Microcomputer use PID control algorithm to process the data measurement and data settings, and the processed data is converted into analog signal by the D/A Converter DAC0832. The signal controls the whole isolation single-phase AC voltage regulator module, and then controls the boiler water temperature stability in the settings. Key words Single Chip Microcomputer; Temperature Control System; PID Control
4.PID 温度控制算法程序
PID 控制算法是温度控制系统软件的 核心部分。本设计采用增量式 PID 控制算 法,其算式如下:
式中,enen-1en-2 分别为第 n 次、 n - 1 次和 n - 2 次的偏差值;K p ,T i ,T d 分 别为比例系数、积分系数和微分系数;T 为 采样周期。
控制模块工作过程为:单片机每隔固 定时间将现场温度与用户设定目标温度的 差值带入增量式 PID 算法公式,由公式输 出量决定加热器功率大小。如现场温度与
图 5 软件控制流程
数字曾量式 PID 控制子程序关键代码 如下:
typedef struct PID{ double SetPoint;// 设定目标 Desired Value double Proportion;// 比例常数 Proportional Const double Integral;// 积分常数 Integral Const double Derivative;// 微分常数 Derivative Const double LastError;//Error[-1] double PrevError;//Error[-2] double SumError;//Sums of Errors }PID; double PIDCale(struct PID *pp. double NextPoint) { double dError, Error; Error=PP->SetPoint-NextPoint;// 偏 差 PP->SumError+=Error; // 积分 dError=pp->SumError-2*pp-> LastError+pp->PrevError;// 当前微分 PP->PrevError=PP->LastError; PP->LastError=Error; return(PP->Proportion*Error// 比例 项 +pp->Integral*PP->SumError// 积 分项 +pp->Derivative*dError// 微分项 ); }
1 .引言
随着现代化科技的进步,在很多工业 控制场合需要非常精确的控制温度的变 化,而在日常生活中,水温的智能控制应用 也非常广泛,在这种环境下,便提出了智能 水温控制系统。
本设计以单片机 AT89C51 为控制核 心,用 K 型热电偶作温度传感器,信号经
放大后输入模数转换器 ADC0809,转换 后的数字量输入到单片机 AT89C51 中。单 片机中采用 PID 控制算法对测量数据和设 定数据进行处理,处理后的数据经数模转 换器 DAC0832 转换为模拟量,以此来控 制全隔离单相交流调压模块,从而控制锅 炉水温稳定于设定值。
相关文档
最新文档