DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 80|回复: 0
打印 上一主题 下一主题

基于数字PID和89C52单片机的温度控制系统

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:27:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
?在工业生产过程中,温度是工业生产过程中常见的工艺参数之一,对温度控制的好坏直接影响产品的质量。及时准确地得到温度信息并对其进行适当的控制,在许多工业场合中都是重要的环节。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式和控制方式均不同。本文介绍了一种基于89C52单片机的温度控制系统,本系统的任务是对温度进行实时监控与控制。它以温度传感器DSl820对温度进行测量、采样与转换,并将测量结果送给单片机;单片机将输人的温度值与内部指定单元的给定温度值进行比较,根据比较结果,通过一个执行机构(可控硅)对加热源(加热炉的温度)的开关状态进行控制。在控制环节中,本系统采用的是数字PID控制算法来实现上述功能。传统的PID控制电路结构复杂,需配合相应的可控硅控制电路完成对温度的控制。具有器件多、生产成本高、电路调试复杂的缺点。所以,在该温度控制系统的设计中,运用单片机89C52进行数字PID运算能充分发挥软件系统的灵活性,具有控制方便、简单和灵活性大等优点。1 系统结构及主要硬件电路设计1.1 系统结构??? 该系统的控制对象是水温,水温经测温传感器DSl820转换成电压信号,经A/D转换成计算机可以接收的数字信号,保存在89C52单片机采样值单元中;再利用键盘输入设定温度,经温度标度转换成二进制数,保存在单片机内设定值单元;然后,调用显示子程序,显示设定温度和采样温度,然后把采样值与设定值输入单片机内进行数字PID控制算法的运算,运算结果由单片机输出,通过可控硅交流调压装置来控制时间的导通和关断,在达到设定温度后利用PWM方法来保持此温度,以此来调节温度。该系统原理图如图1所示。

l.2 硬件电路设计??? 根据任务要求,确定了器件和系统电路。系统电路简图如图2所示。该系统以高性能/价格比的89C252单片机为控制系统的核心,采用新型单片机数字测温传感器DSl820来测量温度,由双向可控硅驱动电路MOC3854和双向可控硅TLC253A组成输出控制通道。除此之外,还有键盘电路、显示电路、报警电路等。
                          
                       
                          
                               

??? 89C52单片机是控制系统的核心,实现水温检测、数字滤波、控制算法运算、信息存储等功能。89C52通过数据、地址、控制总线与A/D转换器相连,完成模拟量与数字量之间的转换。测量机构采用温度传感器DSl820作为温度测量电路的核心器件,DSl820是一款两端器件,只需要一个直流电压源,功率的需求比较低,可量测范围-40~180℃,其输出是高阻抗电流,因而大阻值的电阻对器件工作影响不大,具有非常好的线性输出性能。执行机构是可控硅交流调压装置,其输入信号为高低电平,通过改变输入信号来调节加热炉丝的电压。键盘部分主要在程序中引入3个中断,即串位键、+l键、-1键分别对应3个中断,当某个键按下时,中断口便产生一个下降沿,从而进入相应的中断服务子程序。显示利用8155进行扩展成4位bCD码,前2位为设定值,后2位为采样值,实现了动态循环显示特性。2 程序流程及温控算法2.1 程序流程??? 系统的程序流程主要包括系统的主程序、对89C52单片机硬件电路的初始化、环境温度采集子程序、温度控制子程序、键盘控制子程序、报警子程序等部分构成。程序流程图如图3所示,该系统的软件是在89C5l单片机仿真开发环境下采用基于51系列的C语言编写的,用C语言来设计程序大大提高了开发调试的工作效率,使得程序结构清晰,便于进一步扩展系统的功能。


                          
                       
                          
                                2.2 温控算法
??? 温控系统采用数字PID算法,并由软件实现,所谓PID控制就是按设定值与测量值之间偏差的比例、偏差的积累和偏差变化的趋势进行控制。它根据采样时刻的偏差值计算控制量。因此PID控制律的实现,必须用数值逼近法。当采样周期相当短时,可以用求和代替积分,用差商代替微分,即做如下近似变换:???

式中,k为采样序号,k=l,2,…;T为采样周期。??? 显然,上述离散化过程中,采样时间T必须足够短,才能保证有足够的精度。为了书写方便,将e(kT)简化表示成e(k)等,即省去T。可以得到离散的PID表达式为:???

式中,k为采样序号,k=1,2,…,;u(k)为第k次采样时刻的计算机输出值;e(k)为第k次采样时刻输入的偏差值;e(k-1)为第(k-1)次采样时刻输入的偏差值;K1为积分系数,

3 结束语??? 本文主要从硬件和软件两个方面具体描述了基于数字PID的89C52单片机温度控制系统的构造。该系统充分发挥了89C52单片机对模拟量的采集处理和增量式数字PID控制算法的功能,可以比较灵活的调节控制信号的导通时间来控制加热电路和冷却电路的工作。该系统基本满足了温度控制的要求,具有超调量小,振荡幅度小,设定值可以随时用按键人为设定等优点,同时该系统还避免了控制过程中的不确定性及噪声,提高了系统的工作效率。理论和实践证明,该系统具有高可靠性、高性价比、控制简单方便等优点,大大提高测量的精度。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 21:21 , 耗时 0.091563 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表