1、室内温度控制系统设计室内温度自动控制系统摘要在现代人类的生活环境中 , 温度扮演着极其重要的角色。 在人们的生产生活 中 , 无论生活在哪里 , 从事什么工作 ,都要时时刻刻与温度打着交道。 尤其是在 18 世纪工业革命以来 ,工业发展与农业生产都与能否掌握温度 , 有着密不可分的联 系。因此 ,温度的监测与控制与人类的生产生活有着十分重要的意义。我们通过 STC12C5A60S2单片机和DALLAS公司DS18B20温度传感器对室内温度进行实 时监测与控制实现温度的相对稳定具有极其重要的现实意义。 通过该系统的设计 制作实践对电子系统设计运动控制理论应用, 研究新技术学习知识增强动手能力 具
2、有重要的现实意义。关键字:温度控制 DS18B20 单片机 控制系统设计论文共 45 页1 引言 41.1项目概述 41.2设计目的 41.3设计任务 41.4 研究思路和方法 52 项目总体方案设计 62.1系统原理框图与工作原理 62.1.1 国内外室温控制技术研究 62.1.2 系统原理框图设计 63.系统硬件设计 73.1电源模块 73.2 控制系统模块 73.3温度检测 83.3.1 常用温度检测传感器 83.3.2 DS18B20 温度传感器电路 103.4驱动模块 113.4.1半桥驱动原理 113.5升温模块 113.6 人机交互模块 123.6.1 1602 液晶显示 123
3、.6.2 红外遥控操作原理 123.6.3 红外接收电路 134.系统软件设计 144.1程序流程图 144.2温度采集 154.2.1DS18B20 软件定义 154.2.2 温度的计算 154.3红外遥控 154.4 电机的 PWM 控制 214.5 发热电阻丝的控制 235.调试运行 245.1 温度传感器校准 245.2 温度调节时间 255.3 温度波动范围 255.4系统参数 266.系统优化 276.1 优化控制方式 276.2 美化外形结构 276.3.扩展系统应用 27结 论 29致 谢 30参考文献 31附件一:原理图 32附件二:源程序 331引言1.1项目概述我们的项目
4、开发针对的对象是收入水平不高, 买不起空调, 有希望能不受热 受冷舒适的生活。并且本系统操作简单,成本低廉。本系统包括:温度采集、无线人机交互、自动控制、异常报警等四部分。1、温度采集 温度采集通过 DS18B20 将环境温度采集反馈回单片机并在显示界面上显示 出来。2、无线人机交互使用者可以通过遥控器设置风速,温度等模式。3、自动控制 通过使用者设置的风速、 温度和采回来的环境温度通过单片机自动对加热和 风速进行控制,起到自动控制环境温度的作用。4、异常报警 对于在使用时产生异常, 比如温度过高时,系统发起声光报警提示出现问题。1.2设计目的人们在日常的生活中, 烈日炎炎的夏季会使人们感觉酷
5、暑难耐, 在白雪皑皑 的冬季又会冷的瑟瑟发抖; 于是人们就想买台空调, 可是空调又太昂贵, 对于大 部分低收入阶层来说很难能承担起着部分费用。 而夏日买的电风扇又在冬天又不 能使用,冬日的电热炉有不能在热天使用; 季节一交替就要将其封存起来, 不利 于设备的有效使用, 在存储时候又要占据多余的空间, 带来了不少麻烦。 而在这 种情况下我们发现为什么不将风扇和电热炉有效结合起来再加上一些传感器和 控制器组成一个温度自动控制系统, 这样价格便宜而且一年四季都能使用。 还能 自动调节不用过多的人为干预, 为人们营造一个舒适的环境。 同时我们还发现我 们发现这样一个控制系统也可以推广到大棚种植等一些对
6、温度有要求的环境。 这 样有很好的市场前景和研究意义。1.3 设计任务从生物学角度室内温度一般冬天不应低于 12C,夏天以不高于26C为宜。 同时,还要尽量做到各点温度均匀并保持时间上的恒定。 平均温差(外墙内壁的 温度与室内任何一处的温度差)不天于 2 C,垂直温差(高差每米相差的度数) 不大于3C。在这种情况下才是健康的温度。为了能够人们身体健康, 又能满足价格低廉、 操作简单、 适合任何人群使用 的原则本设计将采用红外无线遥控, 和单片机自动控制采用风扇和发热丝来实现 温度的调节。1.4研究思路和方法通过温度传感器DS18B20对室内温度进行采集,并实时显示在1602的液晶 界面上,通过
7、红外遥控器来调节模式和调节温度。 并通过电机和电热丝冰块来实 现对于室内温度的调节。在检测系统的执行性能, 我们采用对其功耗进行测量, 了解在各个模式下功 耗进行测量。 设置不同的温度记录系统调节到相应温度需要的时间, 和系统在保 持这个温度时候的振荡情况。2项目总体方案设计2.1系统原理框图与工作原理2.1.1国内外室温控制技术研究从国内外温室控制技术的主流方式来看,室内温度控制技术大致有二种方 式。(1)手动控制。通过人对室内温度的观测,凭借长期积累的经验和直觉推测及 判断,手动调节温室内环境。但这种控制方式的劳动生产率较低,并不能实现室 内温度的自动控制。(2)自动控制。这种控制系统需要
8、计算机根据传感器的实际测量值与温控系 统事先设定的目标值进行比较,有计算机完成室内温度的控制过程。 计算机自动 控制的温室控制技术实现了自动化控制。 但由于计算机自动控制的实现方式有很多种形式,所以要根据设计要求及经费预算选择适合的计算机自动控制。(3)智能化控制。这是在温室自动控制技术和生产实践的基础上 ,构建专家系统,的温室信息自动采集及智能控制。这种控制方式相对前两种控制方式成本较 高。2.1.2系统原理框图设计根据室内温度控制系统设计要求,温控自动控制系统,本系统由温度采集模 块、电源模块以及人机交互模块、控制系统模块、升温模块、电机驱动模块六个 部分组成。一电机控制与 V驱动模块MC
9、U单片机环境温度检测模A隘度LCD实M时显不 无线 控制人机接口图1.系统框图3.系统硬件设计3.1电源模块本系统电源部份共分为三个模块 5V直流、12V直流和220V交流,12V直流 为风扇模块供电,220V交流为发热丝供电,5V为其与控制系统供电。12V由电 源适配器产生,12V直流电经LM7805稳压后得到5V直流为控制系统供电。LM7805 稳压模块电路如图:3.2控制系统模块控制系统主要由STC公司生产的12C5A60S2作为主控制芯片, STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的 单片机,是高速/低功耗/超强抗干扰的新一代8051单片
10、机,指令代码完全兼容传 统8051但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速 10位A/D转换(250K/S),针对电机控制,强干扰场合。控制系统的最小系统如图二,图3 :单片机最小系统3.3温度检测3.3.1常用温度检测传感器(1)热敏电阻式温度传感器热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体 陶瓷材料组成, 热敏电阻是用半导体材料,大多为负温度系数,即阻值随温度 增加而降低。温度变化会造成大的阻值改变,因此它是最灵敏的温度传感器。 但 热敏电阻的线性度极差,并且与生产工艺有很大关系。制造商给不出标准化的热 敏电阻曲线。热敏电阻体积非常
11、小,对温度变化的响应也快。但热敏电阻需要使 用电流源,小尺寸也使它对自热误差极为敏感。利用的原理是温度引起电阻变 化若电子和空穴的浓度分别为 n、p,迁移率分别为卩n、卩p,则半导体的电 导为:(T =q 5叩+p p)。因为n、p、卩n、卩p都是依赖温度T的函数,所以电 导是温度的函数,因此可由测量电导而推算出温度的高低,并能做出电阻 -温度 特性曲线.这就是半导体热敏电阻的工作原理. 热敏电阻包括正温度系数(PTC 和负温度系数(NTC热敏电阻,以及临界温度热敏电阻(CTR。图4.热敏电阻(2)热电阻式温度传感器热电阻(thermal resistor )是中低温区最常用的一种温度检测器。
12、热电阻 测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的 它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是最高的, 它不仅广泛应用于工业测温,而且被制成标准的基准仪。热电阻大都由纯金属材 料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制 造热电阻。金属热电阻常用的感温材料种类较多, 最常用的是铂丝。工业测量用 金属热电阻材料除铂丝外,还有铜、镍、铁、铁一镍等。图5.Pt100热电阻式温度传感器(3)热电偶式温度传感器热电偶(thermocouple)是温度测量仪表中常用的测温元件, 它直接测量温 度,并把温度信号转换成热电动势信号,通过电
13、气仪表(二次仪表)转换成被测 介质的温度。各种热电偶的外形常因需要而极不相同, 但是它们的基本结构却大致相同,通常由热电极、绝缘套保护管和接线盒等主要部分组成, 通常和显示仪表、记录仪表及电子调节器配套使用。图6.热电偶(4)数字式温度传感器数字式温度传感器具有体积小、价格便宜操作方便的优点。本系统采用了美 国DALLAS公司生产的单总线数字温度传感器,一线制器件一一独特的接口,使 分布式温度检测得以简化。每片DS18B2C都有唯一的产品号能够实现温度的多点 检测。测量范围为-55度一一+125度,12位的数字值分辨率为0.0625度,完全 能够满足我们日常所需温度值。图7.数字式温度传感器
14、DS18B203.3.2 DS18B20温度传感器电路我们温度检测部分采用了 DS18B20进行温度采集,传感器采集电路如下图- 图8.DS18B20温度采集电路3.4驱动模块3.4.1半桥驱动原理制冷风扇为12V直流电机我们采用MOS管制作半桥进行驱动, hoJ R Li 11UV %士 & -itf72 一 丄芒2 VTaVD. 0押-Ud/2 -11VDi 叫 VD,W吗f L逬影3 e rw-drW gr戸图9.半桥驱动电路原理图 10. IRF32053.5升温模块750W,升温模块我们采用了电吹风发热丝采用 220V交流供电,功率达到可以升高到300度左右,我们通过电吹风将温度吹到
15、空气中到达升高周围温度的 作用。图11.发热丝3.6人机交互模块3.6.1 1602液晶显示1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号 等的点阵型液晶模块。它由若干个 5X7或者5X11等点阵字符位组成,每个点阵 字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔, 起到了字符间距和行间距的作用, 正因为如此所以它不能很好地显示图形。 通过1602液晶能够将我们采集的温度进行实时显示,并对其中的参数进行设置。1602K图12.1602液晶显示电路图13.1602液晶3.6.2红外遥控操作原理我们使用红外遥控器对系统进行设置。专用遥控器作为控制信号
16、发出装置,当按下遥控器的设置键后,红外接收探头,接收红外信号频率为 38kHz,周期约26卩s, 体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送 到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这 个信号是不是设置信号,当确认是设置信号后,启动设置子程序,那么以后接收 到的红外信号就可以对系统进行设置了。图14.红外一体式接收头 HS0038363红外接收电路红外接收电路连接到单片机中断口,当红外接收头接收到红外信号后引发中 断对系统参数进行设置图15.红外接收电路4.系统软件设计4.1程序流程图开始PW初始1r红外外初始1602初始化图16.程序设计流程图4
17、.2 温度采集4.2.1DS18B20软件定义指令的宏定义定义/跳过,允许总线控制器不用提供 64位ROM编#define skip_ROM 0xcc 码就使用储存器操作命令#define read_ROM 0x33/只有在总线上存在单只 DS18B20 时候才能使用,允许读出8位系列编码、唯一的序列号和 8位CRC吗#define match_ROM 0x55控制器在多点上定位一只特定的/匹配命令,后跟 64 位 ROM 序列,让总线DS1820#define search_ROM 0xf0索从机的 64 位编码初次启动系统不知道有多少只 DS1820,搜#define alarm_sear
18、h 0xec/只有最近一次测温后遇到符合报警条件的情况,DS1820才响应这条命令,报警条件在高于 TH或低于TL/只要不掉电,警报一直保持,直到不为报警条件为止#define w_scrat 0x4e /写暂存存储器#define r_scrat 0xbe /读暂存存储器#define c_scrat 0x48 /复制暂存存储器#define c_temper 0x44 /温度变换#define r_EPROM 0xb8 /重新调出#define r_Power 0xb4 /读电源DS18B20的一次温度转换后,温度值储存在 TH和TL中4.2.2温度的计算在软件中采用了 12位存储温度值,
19、最高位为符号位,负温度 S=1,正温度S=0,00AAH 为 +85 C,0032H 为 +25 C,FF92H 为-55 C。TL = R_byte();将低位温度值对出TH = R_byte(); /将高位温度值对出temp = (TL | (TH 8);/ 将温度值存在一个 unsigned int型的 16 位变量中temp = (temp * 625);将数据转换为实际温度值4.3 红外遥控红外的遥控器的编码为引导码、低 8位用户编码、高 8位用户编码、 8位数 据码、 8 位键数据码的反码。通过一个红外解码器连接在单片机的中断口,只要一有数据就会触发中断, 单片机就会读取数据, 判
20、断数据是不是本系统遥控器发出的。 通过检验读出操作 按键的编码值,在程序中比较编码值判断进行的相应操作并执行。void IR_IN() interrupt 0 uchar j,k,N=0; EX0 = 0;delay_m(15);if (IRIN=1) EX0 =1; return;while (!IRIN)号。delay_m(1);for (j=0;j4;j+)for (k=0;k=30)/确认 IR 信号出现/等 IR 变为高电平, 跳过 9ms 的前导低电平信/收集四组数据/ 每组数据有 8 位/等 IR 变为低电平,跳过 4.5ms/等 IR 变为高电平/计算 IR 高电平时长EX0=
21、1;return; /0.14ms 计数过长自动离开。 / 高电平计数完毕IRCOMj=IRCOMj 1; /数据最高位补“ 0”if (N=8)IRCOMj = IRCOMj | 0x80; /数据最高位补“ 1”N=0;/end for k/end for jif (IRCOM2!=IRCOM3)EX0=1;return;switch(IRCOM2 = 0x47) /按 mode 键进入模式调节,按一下调节风 速,按两下调节温度范围, / 按三下返回工作模式case 1:N1+;if(N1 = 1)L1602_string(1, 1, LCD_ID_3);L1602_string(2, 1
22、, LCD_ID_4);Tplayer(11, FF);else if(N1 = 2)L1602_string(1, 1, LCD_ID_5);L1602_string(2, 1, LCD_ID_6);Tplayer(4, TTi);Tplayer(12, TTm);elseN1 = 0;IRCOM2 = 0xaa;break;default :break;if(N1 != 0)switch(IRCOM2) /如果进入调节模式,调节温度,与风速case 0x15 : Ch+;/光标所在位置的标志位控制的设置if(Ch 2)Ch = 1;break;case 0x07 : Ch-;/光/ 标所在
23、位置的标志位控制的设置if(Ch 1)Ch = 2;break;case 0x40 :if(N1 = 2 & Ch = 1) 如果当按下 Ch+键在温度调节模式调节最低温度事数值 +if(TTi = TTm)TTi = 0;if(N1 = 2 & Ch = 2) if(TTm 40) TTm = 0;if(TTi 40)TTi = 0;break;case 0x44 : /按下 CH 键if(N1 = 2 & Ch = 1)if(TTi TTi)TTm-;Tplayer(12, TTm);if(N1 = 1)FF-;Dianji();Fare();if(TTm 1)TTm = 40;if(TT
24、i 4)FF = 1;CCAP0H = CCAP0L = 0X44;Tplayer(11, FF);else if(N1 = 1 & FF 1)FF = 4;CCAP0H = CCAP0L = 0X00;Tplayer(11, FF);4.5发热电阻丝的控制 通过控制继电器的通断来实现发热电阻丝的工作发热这样程序就通过给驱 动继电器给高低电平来实现注:采集温度,当温度发生异常声光报警,加热是红灯提示,不发热时黄灯 提示 , 并显示实时温度下面是实现的共功能函数void Fare()if(TT = TTi & TT = TTm)JRE = 1;在工作是的工作状态的 LED 灯指示和声光报警程序通
25、过下面的函数来实现 如果温度void Xianshi()delay_m(130);TT = DS18b() / 10000; / 采集温度if(TT = 80) /R 如果温度大于 100 度发出声光警报BEEP = 0;elseBEEP = 1; if(TT = TTm)HT = 0;LT = 1;elseLT = 0;HT = 1;if(!N1)M_D(7, TT);5.调试运行5.1温度传感器校准我们通过DS18B20进行温度采集,并通过1602液晶进行显示,为了提高我 们采集温度的精度与可信度我们用水银温度计对温度进行了校准, 由于我们对室内温度进行测量人对温度在一度范围内感知不明显我们在测量温度时只对温度 的整数部分进行了显示;在校准过程中我们认为水银温度计的温度为标准温度; 同时我们对成都地区的温度为例进行调节温度变化范围是 050,我们对0到56度范围内的温度进行了校准,每次温度递增 7度由于温度不宜控制在用温度计测量时会有小数部分不是严格的递增 7度结果如下表1:表1.实际温度与系统测得温度比较实际温度(度)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1