

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、温度监测控制系统设计方案第一章总体设计方案1.1 计设要求(1) 基本围-50CT10C(2) 精度误差小于0.5C(3) LED数码直读显示(4) 可以任意设定温度的上下限报警功能1.2系统基本设计方案方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温围-200650C
2、,百度电阻比W(100)=1.3850时,R0为100Q和10Q,其允许的测量误差A级为土(0.15C+0.002|t|),B级为土(0.3C+0.005|t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180C测温。方案二:采用DS18B20温度传感器,由于温度测量的普遍性,温度传感器的市场份额大大增加,居传感器首位。数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。现在,新一代的DS18B20温度传感器体积更小、更经济、更灵活。DS18B20温度传感器测量温度围为-55C+125C。在-1
3、0C+85C围,精度为土0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。第二章DS1820单线数字温度传感器2.1 DS1820温度传感器介绍本温度报警器采用美国DALLAS公司生产的单线数字温度传感器DS18B20(如图2.1),可以把温度信号直接转换成串行数字信号工微机处理,是模数转换器件,而且读DS18B20信息或写DS18B20信息仅需要单线接口,使用非常方便;其测温围551+1251,在-10+851时精度
4、为土0.51,可编程的分辨率为912位,对应的可分辨温度分别为0.5C、0.25C、0.125C和0.0625C,可实现髙精度测温在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快;同时DS18B20在使用中不需要任何外围元件(仅需一个4.7K的上拉电阻),全部传感元件及转换电路集成在形如一只三极管的集成电路,硬件电路十分简单。图2.1::血I.AS:JSJSA:引脚排列底视NCNCNCNCNfNCNCNCNCNf1 :GND接地2 :DQ数据输入/输出脚。对于单线操作:漏极开路(见“寄生电源”节)3 :VDD可选的VDD引脚。具体接
5、法见“寄生电源”节wV-rrGNJ-地血-数据I/O丫严可选VDDnr-inI1-12.1.1 DS1820温度传感器特性 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电零待机功耗测温围-55+125C,以0.5C递增。华氏器件-67+2570F,以0.90F递增 温度以9位数字量读出温度数字量转换时间200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统2.1.2 DS1820供电的方法DS1820供电的方法是从VDD引脚接入一
6、个外部电源。这样做的好处是I/O线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片DS1820,而且如果它们都使用外部电源的话,就可以先发一个SkipROM命令,再接一个ConvertT命令,让它们同时进行温度转换。注意当加上外部电源时,GND引脚不能悬空。温度髙于100C时,不推荐使用寄生电源,因为DS1820在这种温度下表现出的漏电流比较大,通讯可能无法进行。在类似这种温度的情况下,强烈推荐使用DS1820的VDD引脚。对于总线控制器不知道总线上的DS1820是用寄生电源还是用外部电源的情况
7、,DS1820预备了一种信号指示电源的使用意图。总线控制器发出一个SkipROM协议,然后发出读电源命令,这条命令发出后,控制器发出读时间隙,如果是寄生电源,DS1820在单线总线上发回“0”,如果是从VDD供电,则发回“1”,这样总线控制器就能够决定总线上是否有DS1820需要强上拉。如果控制器接收到一个“0”,它就知道必须在温度转换期间给I/O线提供强上拉。関烷光刻ROM8HTCKC码48EFT序列号HSI一系列码(10h)MSBLSHMSBLSt5MSBLSi64位(激)光刻ROM每只DS1820都有一个唯一的长达64位的编码。最前面8位是单线系列编码(DS1820的编码是19h)。下面
8、48位是一个唯一的序列号。最后8位是以上56位的CRC码。(见图5)64位ROM和ROM操作控制区允许DS1820做为单线制器件并按照详述于“单线总线系统”一节的单线协议工作。只有建立了ROM操作协议,才能对DS1820进行控制操作。这个协议用ROM操作协议流程图来描述(图6)。单线总线控制器必须得天独厚提供5个ROM操作命令其中之一:1)ReadROM,2)MatchROM,3)SearchRom,4)SkipROM,5)AlarmSearch。成功进行一次ROM操作后,就可以对DS1820进行特定的操作,总线控制器可以发出六个存储器和控制操作命令中的任一个OCRC发生器DS1820中有8位
9、CRC存储在64位ROM的最髙有效字节中。总线控制器可以用64位ROM中的前56位计算出一个CRC值,再用这个和存储在DS1820中的值进行比较,以确定ROM数据是否被总线控制器接收无误。CRC计算等式如下:CRC=X8+X5+X4+1DS1820同样用上面的公式产生一个8位CRC值,把这个值提供给总线控制器用来校验传输的数据。在任何使用CRC进行数据传输校验的情况下,总线控制器必须用上面的公式计算出一个CRC值,和存储在DS1820的64位ROM中的值或DS1820部计算出的8位CRC值(当读暂存器时,做为第9个字节读出来)进行比较。CRC值的比较以及是否进行下一步操作完全由总线控制器决定。
10、当在DS1820中存储的或由其计算的CRC值和总线控制器计算的值不相符时,DS1820部并没有一个能阻止命令序列进行的电路。2.1.3 DS1820存储器DS1820的存储器结构示于图8。存储器由一个暂存RAM和一个存储髙低温报警触发值TH和TL的非易失性电可擦除(E2)RAM组成。当在单线总线上通讯时,暂存器帮助确保数据的完整性。数据先被写入暂存器,这里的数据可被读回。数据经过校验后,用一个拷贝暂存器命令会把数据传到非易性(E2)RAM中。这一过程确保更改存储器时数据的完整性。暂存器ATHJ用户字节*TL-用户字节22.1.4报警搜索操作DS1820完成一次温度转换后,就拿温度值和存储在TH
11、和TL中的值进行比较。因为这些寄存器是8位的,所以0.51位被忽略不计。TH或TL的最髙有效位直接对应16位温度寄存器的符号位。如果测得的温度髙于TH或低于TL,器件部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新。当报警标识置位时,DS1820会对报警搜索命令有反应。这样就允许许多DS1820并联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件就会被立即识别出来并读取,而不用读未报警的器件。2.1.5 DS1820的协议单线总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如果还想恢复执行的话,总线必必须停留在空闲状态在恢复期间,如果单线总线处于非活动(高电
12、平)状态,位与位间的恢复时间可以无限长。如果总线停留在低电平超过480us,总线上的所有器件都将被复位。执行序列通过单线总线端口访问DS1820的协议如下:初始化 ROM操作命令 存储器操作命令 执行/数据2.1.6 DS1820的说明1)DS1820数字温度计以9位数字量的形式反映器件的温度值。2)DS1820通过一个单线接口发送或接收信息,因此在中央微处理器DS1820之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。3)因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上2.1.7 DS1820的工作时序:1
13、)初始化(如下时序图)初始优过程“复位和存在脉沖”C圈11、控制器T心位脉冲48Q隅mimdrmunii60-24DlisDS1820-ft电平息钱控制器氐电平电阴上拽髓翳器WDS182同控制器Ra4B0usminlrmimDS1I820Tx先将数据线置高电平1950psmaximum 延时(该时间要求不是很严格,但要尽可能的短) 数据线拉低到低电平0 延时750us(该时间围在480-960us) 数据线拉到高电平1. 延时等待。如果初始化成功则在15-60ms产生一个有DS18B20返回的低电平0,据该电平可以确定它的存在。但不能一直等待,否则程序会进入死循环,所以要进行超时判断。 若CP
14、U读到数据线上的低电平0后,还要进行延时,其延时时间从发出算起(第5步的时间起)最少要480us 将数据线再次拉高到高电平1后结束。(2)DS18B20写数据(如下时序图): 数据线先置低电平0. 延时确定的时间为15us。 按从低位到高位的顺序发送数据(一次只发送一位) 延时时间为45us 将数据位拉到高电平1 重复-步骤,直到发送完整个字节。 最后将数据线拉高到1.(3)DS18B20读数据(如下时序图): 将数据线拉高到1. 延时2us 将数据线拉低到0 延时6us 将数据线拉高到1 延时4us 读数据线上的状态得到一个状态位,并进行数据处理 延时30us 重复-步骤,直至读取完一个字节
15、第三章系统组成及工作原理3.1系统总体设计框图温度计电路设计总体设计方框图如图3.1所示,控制器采用单片机STC89S52,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。图温度监测控制系统的电路如图3.1.2AOIjJL豳Ff15DrCJ1PSD円.PjBI阳P35咖Hj曲X:U1LMl:旳DODLIS的QL仍Qt)5ITwcIjffl舛!iBT11.IDDL_旦巫LHl55n帝SPUtJ图3.1.2:温度监测控制系统的电路3.2温度监控系统的功能和工作原理如下3.2.1该温度监控系统包含以下功能:1)显示周围环境的当前温度当操作人员将该装置放在要
16、测量的环境中,通过该系统自带的DS18B20温度传感器,可以实时检测到当前环境温度的变化,并且在数码管上现实当前的温度(围-20C-120C)。2)报警和启动制冷制热系统该装置设置了温度的上、下限值。当环境的温度髙于设置的上限值时,报警的警铃响起,同时自动启动制冷系统;如果当环境的温度低于设置的下限的温度值时,报警的警铃响起,同时自动启动制热系统。(用二极管显示代替制冷、制热系统工作3)设置温度的上、下限值根据用途不同,该系统可以做控制温度装置。但环境的不同,人们对环境的温度也有不同的要求。该装置温度的上、下限值可以通过按钮来自由设置。(该装置温度的限值在0C120C)3.2.2系统的工作原理
17、当系统通电工作时,DS18B20温度传感器通过自身的检测,直接将温度转化成串行数字信号。51单片机通过引脚P3.5将数据接收,然会通过引脚P2.0P2.7将数据并行输出,经过74LS573锁存器驱动数码管显示检测到的温度。当检测到的温度高于设置温度的上限值时,单片机的P3.6引脚输出电平蜂鸣器beef响起报警,警铃的声音频率稍慢,同时P3.2引脚输出电平二极管D1闪烁(这里代表启动了制冷装置)。如果此时温度继续上升,并高出了设置温度上限的2度蜂鸣器响起报警的警铃音频率加快,且P3.3引脚也输出电平二极管D2和D1一起闪烁(这里代表启动了强制冷装置)。当温度恢复设置的温度值,蜂鸣器不响,报警解除
18、;同时二极管不闪烁(制冷装置停止工作)。如果当检测到的温度低于设置温度的下限值时,单片机的P3.6引脚输出电平beef蜂鸣器响起报警,警铃的声音频率稍慢,同时P3.0引脚输出电平二极管D3闪烁(这里代表启动了制热装置)。如果此时温度继续下降,并低于了设置温度下限的2度蜂鸣器响起报警的警铃音频率加快,且P3.2引脚也输出电平二极管D4和D3一起闪烁(这里代表启动了强制热装置)。当温度恢复设置的温度值,蜂鸣器不响,报警解除;同时二极管不闪烁(制热装置停止工作)。当按下S1时,P2.0输出髙电平,二极管D5亮,51单片机通过P2.0,P2.0读出原先存储在24C02存储器里的下限值,并通过数码管显示
19、。此时可以通过S3加大温度下限的值,通过S4减小温度下限的值;当按下S2时,51单片机通过P2.0,P2.0读出原先存储在24C02存储器里的上限值,并通过数码管显示。此时可以通过S3加大温度上限的值,通过S4减小温度上限的值。在设置的过程中,如果设置的下限温度大于了上限的温度,或者设置的上限温度小于了下限温度,设置出错。此时P3.6引脚输出电平蜂鸣器beef响起报警,且P2.2输出髙电平二极管D7亮。直至设置正确报警解除,二极管D7灭。按下S5完成温度的限值设置,且把设置的温度存储在24C02存储器里。第四章系统软件算法析4.1主程序流程图4.1.1按键扫描处理子程序voidkeyzi()u
20、intd,g;ucharww1,www1;if(dg)/判断髙低温是否设置矛盾led33=0;beep=0;elseled33=1;beep=1;if(key1=0)delay(10);if(key1=0);while(!key1);ww1=read_add(1);d=ww1;shezhi=d;dis_temp(d);ledll=0;/设置灯闪等待,系统diwen=1;led22=1;gaowen=0;flag=1;if(key2=0)delay(10);if(key2=0);while(!key2);www1=read_add(3);g=www1;dis_temp(g);led22=0;/设
21、置灯闪等待,系统gaowen=1;led11=1;diwen=0;flag=1;if(key5=0)delay(10);if(key5=0);while(!key5);gaowen=0;diwen=0;led11=1;led22=1;beep=1;led33=1;flag=0;if(diwen=1)ww1=read_add(1);d=ww1;shezhi=d;dis_temp(shezhi);if(key3=0)delay(10);if(key3=0);while(!key3);shezhi=shezhi+1;if(shezhi=120)shezhi=120;write_add(1,shezh
22、i);dis_temp(shezhi);if(key4=0)delay(10);if(key4=0);while(!key4);if(shezhi=0)shezhi=0;elseshezhi=shezhi-1;/if(shezhi=120)shezhi=120;write_add(3,shezhi);dis_temp(shezhi);if(key4=0)delay(10);if(key4=0);while(!key4);if(shezhi=0)shezhi=0;elseshezhi=shezhi-1;/shezhi=shezhi-1;write_add(3,shezhi);dis_temp(s
23、hezhi);4.1.218B20温度传感器初始化voiddsreset(void)/18B20复位,初始化函数uinti;ds=0;i=103;while(i0)i-;ds=1;i=4;while(i0)i-;4.1.3温度转换命令子程序子程序voidtempchange(void)/DS18B20开始获取温度并转换dsreset();delay(1);tempwritebyte(0xcc);/写跳过读ROM指令tempwritebyte(0x44);/写温度转换指令*读1位函数bittempreadbit(void)/读1位函数uinti;bitdat;ds=0;i+;/i+起延时作用ds
24、=1;i+;i+;dat=ds;i=8;while(i0)i-;return(dat);*读1位函数uchartempread(void)/读1个字节uchari,j,dat;dat=0;for(i=1;i=8;i+)j=tempreadbit();dat=(j1);/读出的数据最低位在最前面,这样刚好一个字节在DAT里return(dat);4.1.4读出温度子程序intget_temp()/读取寄存器中存储的温度数据uchara,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();/读低8位b=
25、tempread();/读高8位temp=b;b=b&0x0f8;/髙五位符号位【重要】temp=8;/两个字节组合为1个字temp=temp|a;if(b=0x0f8)/第11为开始为1是读的值为负值temp=temp+1;/实际的负温度LedOut0=0x40;/显示负号f_temp=temp*0.0625;/温度在寄存器中为12位分辨率位0.0625temp=f_temp*10+0.5;/乘以10表示小数点后面只取1位,加0.5是四舍五入f_temp=f_temp+0.05;returntemp;/temp是整型4.1.5显示数据刷新子程序voiddis_temp(intt)inti,L
26、edNumVal;LedNumVal二t;/把实际温度送到LedNumVal变量中if(LedOut0=0x40)/第11为开始为1是读的值为负值LedOut0=0x40;/显示负号elseLedOut0=tableLedNumVal/1000;/百位LedOut1=tableLedNumVal%1000/100;/十位if(flag=1)LedOut2=tableLedNumVal%100/10;/个位elseLedOut2=tableLedNumVal%100/10+10;/个位+10为了显示小数点LedOut3=tableLedNumVal%10;/为小数位for(i=0;iww-2)&(t0;d-)dis_temp(get_temp();beep=1;for(d=20;d0;d-)dis_temp(get_temp();/小于25度elseif(t0;d-)dis_temp(get_temp();beep=1;for(d=15;d0;d-)dis_temp(get_te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 雇佣老人用工协议书
- 酒店禁毒责任协议书
- 铁路征地补偿协议书
- 遗产分配分摊协议书
- 装修员工承包协议书
- 青州购房定金协议书
- 被打家属和解协议书
- 阳台护栏免责协议书
- 茶叶委托检测协议书
- 门面放弃财产协议书
- 地七年级下册全册知识要点总复习-2024-2025学年七年级地理教学课件(人教版2024)
- 2025年教育行业工会工作计划
- 小儿静脉输液安全管理
- 梗阻性肥厚型心肌病的临床护理
- 合规管理考试试题及答案
- 施工现场安全作业流程考题
- 焊工初级测试试题及答案
- 福建省福州教育学院附属中学2025年高三冲刺模拟英语试卷含解析
- 近五年安徽中考英语真题及答案2024
- 2024年高校辅导员考试题库试题及答案
- 现浇箱梁施工培训课件
评论
0/150
提交评论