产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


仪表网>技术中心>应用设计>正文

欢迎联系我

有什么可以帮您? 在线咨询

基于C8051F020的档案库温湿度控制器设计

   2012年09月13日 17:22  
  在一些仓储管理、生产制造、气象观测、科学研究以及日常生活中,对温湿度的要求普遍存在,如《档案库房技术管理暂行规定》中就明确指出:档案库房(含胶片库、磁带库)的温度应控制在14~24℃,有设备的库房日变化幅度不超过±2℃;相对湿度应控制在45%~60%,有设备的库房日变化幅度不超过±5%。本文利用新型的C8051F020单片机和I2C总线数字式温湿度传感器SHT11设计了一套满足此要求的自动化设备。
  
  系统硬件设计
  
  基于C8051F020的档案库温湿度控制器,主器件为8051F020,从器件为I2C总线数字温湿度传感器SHT11。
  
  SHT11是瑞士Sennsirion公司生产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器。传统的模拟式湿度传感器一般都要设计信号调理电路并经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。SHT11是瑞士Sennsirion公司推出的基于CMOSensTM技术(将温湿度传感器、信号放大调理、A/D转换、I2C总线全部集成在一个芯片上)的新型温湿度传感器,该传感器的湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位。
  
  C8051F020单片机是集成在1块芯片上的混合信号系统级单片机,具有与MCS8051内核及指令*兼容的微控制器。除了具有标准8051机的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件和其他数字外设及功能部件,内部还具有JTAG和调试电路,通过JATG接口可以使用安装在zui终应用系统产品上的单片机进行非侵入、全速及在线系统调试。
  
  由二者组成的温湿度控制器的硬件连接如图1所示。
  
  图1C8051F020与SHT11的接线图
  
  利用I/O端口初始化程序启动优先权交叉开关译码器把P0.0、P0.1引脚分别配置成SDA
  
  (串行数据)、SCL(串行时钟),然后分别接SHT11的DATA和SCK,在时钟的控制下来完成对SHT11采集并进行A/D转换后的温湿度数据的读取,P0.2、P0.3被配置成基本输入输出,根据读取的温湿度值的高低来控制两个继电器,进而达到控制温湿度调节器的目的。在串行通信过程中主器件为8051F020,从器件为SHT11。
  
  软件设计
  
  1、Bang-Bang控制
  
  在档案室温湿度控制中,对温湿度的要求不是一个定值,而是一个范围。执行机只有两种状态:on,运转;off,不运转。对于这种执行机,采用典型的数字控制算法为Bang-Bang控制算法。这样需要两个温度设置点:THIGH和TLOW,两个湿度设置点HHIGH和HLOW。温度控制和湿度控制一样,所以只介绍温度的控制。如果温度高于THIGH,则控制器关闭电源(继电器释放),如果温度低于TLOW,则控制器打开电源(继电器吸合)。THIGH与TLOW之差称为滞后。使用滞后延长了继电器的使用寿命,因为它减少了继电器开关次数。
  
  2、程序设计
  
  该程序包括:
  
  ●系统复位子程序(Reset_Init):完成对内部振荡器的设置,对XBR0和XBR2的设置将SMB连到通用的I/O引脚;
  
  ●SMBus初始化子程序(SMBus_Init):配置并使能SMBus,设置SMBus时钟速率,为*次传输清除SM_BUSY标志;
  
  ●A/D转换和读取转换数据得子程序(ADCRead);Bang-Bang控制算法子程序(Bang-Bang);
  
  ●输出控制子程序(OUTcontrol)。现把主要的启动A/D转换及读取数据子程序给出。
  
  ADCRead:
  
  WRITEEQU00H
  
  //SMBus写命令
  
  READEQU01H
  
  //SMBus写命令
  
  Chip-AEQU00H
  
  //SHT11从地址
  
  MEAMURE_TEMPEQU03H
  
  //SHT11测量温度命令
  
  MEARURE_HUMIEQU05H
  
  //SHT11测量湿度命令
  
  CLRRW
  
  //写从地址
  
  MOVA,#CHIP_A
  
  ORLA,#WRITE
  
  MOVWRIT_ADC,A
  
  SETBSM_BUSY
  
  SETBSTA
  
  JBSM_BUSY,$
  
  //写温度测量命令
  
  CLRRW
  
  MOVA,#MEAMURE_TEMP
  
  ORLA,#WRITE
  
  MOVWRIT_ADC,A
  
  SETBSM_BUSY
  
  SETBSTA
  
  JBSM_BUSY,$
  
  //读测得的温度
  
  SETBRW
  
  MOVA,#CHIP_A
  
  ORLA,#READ
  
  MOVREAD_ADC,A
  
  SETBSM_BUSY
  
  SETBSTA
  
  ACALLDELAY
  
  MOVTEMPR,RECEIVE_BYTE
  
  ------------------
  
  //写湿度测量命令
  
  ------------------
  
  //读测得的湿度值
  
  由于湿度测量和温度测量程序相同,所以没有给出,测量后的温度数据和湿度数据分别放在TEMPR和HUMIR两个寄存器中,然后经过线性修正程序和棒棒算法程序后控制继电器的动作。
  
  结束语
  
  本文设计温湿度调节系统,主器件为8051F020,从器件为I2C总线数字温湿度传感器SHT11,接口电路用I/O端口初始化程序启动优先权交叉开关译码器把引脚分别配置成串行数据及串行时钟,并配置基本输入输出。软件设计则采用Bang-Bang控制算法,需高低两个温度设置点,温度高于高点则关闭电源,低于低点则打开电源。控制程序含系统复位、初始化、A/D转换和读取数据转换、Bang-Bang控制算法及输出控制子程序。

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 15267989561

加盟热线: 15267989561

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942