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

更新时间:2017-10-28 来源:家居 点击:

【www.yscs9s.com--家居】

  摘 要:本文提出的温度采集控制系统以单片机(AT89S52)为核心,由控制部分、显示部分和温度测量部分组成。这套温度控制系统可以方便地实现温度测量、温度显示等功能,并通过与单片机连接的键盘可以实时设定测控温度的下限,还可以连接相应的外围电路,在收到单片机发出的指令后对环境进行加热。
  关键词:单片机 温度采集 硬件模块
  中图分类号:TM924 文献标识码:A 文章编号:1672-3791(2012)11(c)-0119-01
  在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的日常生活中,温度检测是十分重要的。在许多模拟量控制和监视应用中,温度测控通常是基于 -40℃~125℃温度范围内的应用,如环境监测、蔬菜大棚、粮库、热电偶冷端温度补偿、设备运行的可靠性等应用。实时采集温度信息,及时发现潜在故障,并采取相应的处理措施,对确保设备良好运行具有重要意义。
  1 工作原理
  首先通过外置温度传感器AD590感知外部温度变化并转化为电流信号;然后将电流信号传输给ADC0804进行AD转换;接着通过单片机完成数据的串并转化,并将数据分别发送到LED和键盘专用IC74 C922,分别显示温度和设定温度下限。当现在温度低于设定温度时,则加热(P2.1)动作,使温度上升,直到现在温度高于或等于设定温度加热器才停止动作。
  2 硬件系统
  本温度控制系统包括温度传感器及其信号放大电路、温度显示电路、按键路、供电电源电路等部分组成。
  2.1 主控模块电路
  温度控制系统的主控电路主要由单片机的复位电路、石英振荡电路和下载电路构成。
  2.2 温度采集、放大电路
  (1)AD590将温度转换成相应的电流值,接口电路再把电流转换成电压,经ADC0804转换成数字信号,然后经AT89S52处理。ADC0804所得的值比设定的温度参考值低,则令电热器加热,否则关掉电热器,使温度能保持在所设定的参考值。(2)调试步骤。第一,先调AD590的可变电阻器,如以0 ℃为参考值则应使其电压输出为2.73 V;如以25 ℃为参考值,则应使其电压输出为2.98 V。第二,调节VR2使0 ℃时,OPA2的输出为0 V,而25 ℃时,OPA2的输出为-0.25 V(反相)。第三,调VR3使OPA3放大5倍,如OPA2的输出为-0.25 V,则OPA3的输出应为1.25 V。(3)各OPA的功能。OPA1:阻抗匹配;OPA2:减2.73 V(经VR2)并反相;OPA3:放大5倍并反相。
  2.3 模数转换模块电路
  ADC0804将输入模拟值转换成数字值输出到P0,再由单片机运算处理。如输入3 V,ADC0804的输出应为96H=10010110B,此数字信号AT89S52的P0,再由P0存入AT89S52的累加器,然后累加器再送至P1,使相对应的数码管显示。ADC的参考电压VREF应调整为2.56 V。
  2.4 按键模块电路
  按键电路实现的功能是设定欲加热温度下限。本电路使用键盘专用IC74C922,以简化软件程序。欲设定温度时,输入“*”,就进入设定模式,显示器显示“00”(设定初值,如已设定过,则显示上一次设定值),开始输入设定温度,设定完成后按“*”,就可回到现在温度显示模式。现在温度低于设定温度,则加热器(P2.1)动作,使温度上升,直到现在温度高于或等于设定温度加热器才停止动作。本电路最高设定温度为109 ℃。
  2.5 显示模块电路
  本设计采用七段显示译码器74LS47驱动共阳数码管,实现的功能是时时显示传感器采集到的温度值。并在数字键盘设定温度下限时显示设置的温度。显示的最大温度值是99 ℃。
  2.6 电源电路
  本系统中模拟信号的放大器需要提供+12 V、-12 V两种电压,所以整个电路至少需要三个电源。考虑到模拟信号易受到干扰,在电路的设计中引入了LC振荡电路,起到了稳压和稳流的作用。电路的模拟部分和数字部分分别设计模拟电源和数字电源。另外电路板上还设计了两个地,称其为模拟地和数字地,两个地之间通过一个电感相连,大大增强了系统的抗干扰能力。
  3 软件系统分析
  3.1 数据运算与代码转换
  本电路采集电压信号,首先将ADC08 04转换成数字值,再将此数字值输出到P0。转化过程为:A/D转换→十进制运算→乘以4→显示。
  下面解释一下为什么要乘以4。
  输出最大转换值为FFH(255)。OPA3为放大5倍,则本电路最大测量温度为:
  102 ℃(5.1 V/5=1.02 V)。由255×X=102,知X=0.4,即先乘4再除10,FF→255→255×4→1020。则R4=10,R3=20,即在本电路中D2显示个位数2,D1显示十位数0。如OPA3放大10倍,则本电路最大测量温度为:51℃(5.1V/10=0.51V)。由255×X=51,知X=0.2,FF→255→255×2=510。则R4=05,R5=10,即在本电路中D2显示个位数1,D1显示十位数5。
  3.2 数据存储器RAM的设计
  30H:现在温度的个位数;33H设定温度的个位数;31H:现在温度的十位数;34H设定温度的十位数。
  3.3 中断服务程序
  进入中断服务程序以后,执行PUSH PSW和PUSH ACC将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的保护现场.以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循后进先出的原则。
  3.4 键盘输入功能与比较指令
  系统的另一功能就是实现令加热器动作的最小温度的设定。系统会不间断的检测是否有按“*”键,“*”对应建立的TABLE表的0AH。当检测到有按下时便进入设定模式,读取74C922键盘值至TABLE表取键盘转换码,再通过七段显示器显示此设定值。这样就完成了对下限温度的设定。
  4 结语
  本文首先指出温度控制对我们的生活产生的深刻影响。通过软、硬件电路的设计,充分利用其的特性,以单片机为核心,实现单片机与显示电路、单片机与键盘相连接,最终实现温度采集和控制的功能。
  参考文献
  [1] 李广第,朱月秀,冷祖郝,等.单片机基础[M].北京:北京航空航天大学出版社,2001.
  [2] 吴金戌,沈庆阳,郭庭吉,等.8051单片机实践与应用.北京:清华大学出版社,2002.
  [3] 逢玉台,王团部.集成温度传感器AD590及其应用[J].国外电子元器件,2002.
  [4] 蒋敏兰,胡生清,幸国全,等.AD590温度传感器的非线性补偿及应用[J].传感器技术,2001.

本文来源:http://www.yscs9s.com/shenghuo/86325/