联系方式  客服中心 会员中心 切换到繁體中文

 单片机技术培训基地
 | 网站首页 | 资讯 | 培训中心 | 技术文章 | 软件下载 | 产品展示 | 留言板 | 电子商城 | 供求信息 | 
您现在的位置: 华信单片机 >> 培训中心 >> 学员作品 >> 正文 用户登录 新用户注册
单片机温度控制应用设计—温室电炉控制         ★★★★ 【字体:
单片机温度控制应用设计—温室电炉控制
作者:单片机技…    培训来源:本站原创    点击数:    更新时间:2006-3-13    


前言:

温度控制系统是比较常见和典型的过程控制系统,温度是工业生产过程中重要的被控参数之一,冶金﹑机械﹑食品﹑化工等各类工业生产过程中广泛使用的各种加热炉﹑热处理炉﹑反应炉,对工件的处理均需要对温度严格控制,本系统主要是关于加热炉对于室温的控制。

系统功能:

可以对温度进行自由设定,但必须在0~63度范围内,设定时可以适时的显示所设定的温度值,温度可分为3个档,第一档:0~30度为室温,第二档:30~40度,第三档:40~50度,虽然分为3档,但是温度值可以自由设定,传感器的检测值与三档的温度比较,可有指示灯显示工作的档。

②升温由31000W的电炉实现。已知3台电炉同时工作可以保证在3分钟内将室温提高到60度以上,一般不会有此要求。当温度超过55度时,发出报警信号。

③能实时显示温室温度,显示位数3位,即XX.X℃,十位﹑个位和十分位。

④当温度超过设定值2度或者低于设定值2度时,能自动调整。

控温方案:

本系统对温度的升降过程没有很高的要求,一般当设定温度与温室实际温度相差很大时,三台电炉会同时开启,迅速加热到设定温度,当一台电炉单独加热难以满足正负2度的范围会自动开启第二台,另外本系统对温度控制的精度要求也不高。图①为温度控制系统结构框图,温度设定和温度检测为输入量,1#2#3#电炉控制﹑温度显示﹑报警为输出量。具体说明如下:

①室温:切除所有电炉。                         

40℃:一般情况下当稳定后1#电炉工作;                                       

若高于42℃,则1#电炉停:若低于38℃,则开启2#电炉。

50℃:一般情况下为1#2#电炉同时工作;若高于52℃,则2#电炉停;若低于48℃,则再加开3#电炉。

④因为温度惯性比较大,采样周期为1S,并刷新一次温度控制输出状态。

 

 

 

 

硬件设计:

1.        CPU系统

选用AT89S52作为主芯片,4KB的程序存储器和256字节的数据存储器不用扩展芯片

2.        温度检测

图②为温度检测和A/D转换电路图.

 

 

 

 

温度传感器选用AD590. AD590属于半导体集成电路温度传感器,测温范围-55~+150,在其两端加上一定工作电压,其输出电流与温度变化成线形关系,1uA/K,本系统误差为上下0.5.OP07为高精度运算放大器,AD590电流流经R1RP1转换为电压信号,R2RP2为运放负反馈电阻,组成反向比例放大器,将温度信号转换成0~5V的电压信号,ADC0809将其转换成数字信号,输入CPU.

计算和调试方法: 考虑到计算调试和编程方便,00H~FFH对应0~5V0~64,即每对应于1,数字量为04H,模拟电压量为5V/64℃≈0.0781V/,调试时,当温度为0℃时,调节RP1,OP07输出电压0V,0809转换后的数字量为00H;当温度为64,调节RP2,OP07输出为5V,0809转换后的数字量为FFH.

3. 温度设定由按键来自由设定,有设定、温度加减3个键,分别由P2.4P2.3P2.2控制.

4. 报警电路由三极管C8050驱动蜂鸣器,P3.3控制.

5. 电炉控制电路由P1.4P1.5P1.6分别控制1#2#3#电炉,控制电路相同.由三极管驱动,MOC3011为光耦合器,防止电网中的干扰信号冲击CPU,I/O口输出低电平时,电炉工作.

6. 温度显示电路

温度值采用LED数码显示,1S刷新一次显示值.具体采用串行口移位输出段码,P1.0P1.1P1.2通过ULN2003驱动输出控制数码管动态显示.P2.574HC164CLR.同时增加4个指示灯到数码管的段码上,通过P1.3控制输出,4个指示灯分别为电源、1档、2档和3.

7. 系统电源部分采用了±12V±5V供电,同时A/D转换器采用了LM336-5.0高精度稳压电路.

各部分的电路图详细请见原理图③:

 

软件设计

1.        总体设计:图④为系统程序总体结构。


  主程序包括定时器、中断系统的初始化,本系统为AT89S52所以还可以加5秒的看门狗保护,可以和中断中的秒计数器

   

 

   公用T0,因为指示灯和数码管的段码连在一起又是根据检测的温度值显示,所以把显示和温度值设定、温度检测以及温度转换都放在主程序中,还包括启动停止键的检测,不断循环等待定时器中断,时间到一秒后,执行定时器中断服务子程序包括:温度检测、标度转换、刷新显示、温度控制和报警等子程序。


2.
温度检测子程序

    图⑤为温度检测子程序流程图.为了确保检测数据的可靠性采用4点均值滤波法,即每次测温都使ADC0809连续4次采样,然后取算术平均值作为该次温度的检测值。温度检测值存入50HR6记录连续采样次数,A/D转换采用查询方式。


3. 温度控制子程序

图⑥为温度控制子程序流程图.程序功能是将温度实测值(存于50H)与设定值(存于1DH)作比较,若实测值高于设定值2℃以上,则关闭一台电炉;若实测值低于设定值2℃以上,则接通一台电炉;三台电炉的接通顺序是3#、2#1#,关闭顺序是1#2#3#,这样可以保证电炉的通断具有相对的稳定性.并且用到启动停止两个标志位进行控制。

 

 

 

 

 

4. 按键启动停止子程序

  图⑦为按键启停子程序流程图.启动和停止按钮分别是KS1KS2对应于P2.0P2.1,启动和停止标志位分别是BL02BL03对应于0AH0BH.程序功能是送工作寄存器组值和查询次数初值,分别判断启动和停止按键是否按下,如果按下,则延时10ms,等待按键释放后,置启动和停止标志位.

 

 

 

 

5. 温度值设定子程序

  图⑧为温度值设定子程序流程图.R28R29R30R31对应于数据区1CH1DH1EH1FH,设定状态位为09H,KS3KS4KS5三个键分别为增量、减量、设定键对应于P2.2P2.3P2.4三个I/O.子程序功能是按下SET3秒进入设定状态,用增量和减量键增加或减少设定值并且随时调用显示,最后按下SET10ms退出设定.

6. 其余还有温度值的转换子程序,将检测的数据转换成BCD码,加小数位,三位显示,中间还包括调用指示灯显示子程序,显示部分子程序,采用3个数码管动态显示,报警部分子程序,指示灯显示子程序,详细请看程序部分。

 

 

6. 其余还有温度值的转换子程序,将检测的数据转换成BCD码,加小数位,三位显示,中间还包括调用指示灯显示子程序,显示部分子程序,采用3个数码管动态显示,报警部分子程序,指示灯显示子程序,详细请看程序部分。

 

培训录入:admin    责任编辑:admin 
  • 上一篇培训:

  • 下一篇培训:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关培训
    基于proteus 软件建立单片机…
    2006年微控制器五大趋势-核…
    单片机有什么用
    单片机领域的人才缺口
    单片机技术培训(高级)班
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)