




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳建筑大学城市建设学院毕业设计(论文)摘要本文用华为生产的GTM900C模块,借用无线发送和接收、基带处理等功能,来实现无线数据传输和短信收发任务。为了对温室大棚室温实施监测,避免局部温度过高,利用DS18B20单总线型数字温度传感器,采用外部供电方式,结合AT89C51单片机,外加串口电路,报警电路以及显示模块,设计了温度检测并报警的硬件系统。依据DS18B20型温度传感器操作指令,首先读取各传感器的序列号,并确定传感器对应的各点位置关系,定时循环读出各个传感器的温度值并循环显示,单片机依据设定的报警温度上下限做出报警处理;同时,也可利用串口把各点的温度值传给上位机作进一步的处理。实例表明,该系统工作稳定,操作方便,成本低廉,实现了温室大棚中的多点温度检测以及越限报警功能。该设计主要是温度传感器相关技术的工作原理,分析实现功能要求电路的工作过程及设计,软件编程来实现温度报警系统的发送及接收。关键字:GTM900C模块;单片机;温度传感器AbstractInthispaper,theproductionofGTM900CHuaweimodule,toborrowthewirelesssendingandreceiving,basebandprocessingandotherfunctions,toachievewirelessdatatransmissionandtextmessagingtasks.Inordertomonitortheimplementationofgreenhousesatroomtemperature,toavoidlocaltemperatureistoohigh,theuseofDS18B20single-busdigitaltemperaturesensor,externalpowersupply,combinedwithAT89S52microcontroller,plusaserialcircuit,alarmcircuitanddisplaymodule,designedtodetectandalarmtemperatureHardwaresystem.DS18B20temperaturesensoraccordingtooperatinginstructions,firstreadtheserialnumberofeachsensoranddeterminethelocationofthesensorbetweenthecorrespondingpoints,timingcycletoreadoutthetemperatureofeachsensorvaluesandcyclethroughthemicrocontrollerbasedtemperaturealarmsettodoupperandlowerlimitsThealarmprocessing;thesametime,theserialportcanalsobeusedtopasseachpointtemperaturevaluePCforfurtherprocessing.Examplesshowthatthesystemisstable,easyoperation,lowcost,toachieveagreenhouseinthemulti-pointtemperaturemeasurementandthemorelimitedthealarm.Thedesignismainlyrelatedtothetemperaturesensortechnologyworks,toachievethefunctionalrequirementsoftheworkprocessandcircuitdesign,softwareprogrammingtoachievethetemperaturealarmsystemtosendandreceive.Keywords:GTM900Cmodule;Microcontroller;Temperaturesensor目录第一章前言 11.1课题背景 21.2温度采集技术现状 21.3预期目标 2第二章GTM900C无线模块 32.1选择GTM900C模块理由 32.1.1GTM900C模块产品定位 32.1.2GTM900C模块产品特性 32.1.3GTM900C模块产品的应用 52.1.4GTM900C模块的业务演示框图 52.2GTM900C无线模块AT命令 62.2.1AT命令类型 62.2.2消息发送和写入命令 72.3GTM900C信号连接器和天线接口 102.3.1信号连接器 102.3.2天线接口 112.3.3接口信号 122.4接口的使用 142.4.1UART接口的功能特性 152.4.2UART接口信号定义 152.4.3UART接口DCE-DTE配线 16第三章硬件选择及理由 173.1温度传感器的选型 173.2元器件的选择 183.2.1核心芯片的选择 183.2.2模数转换芯片的选择 183.2.3温度传感器的选择 183.3DS18B20的功能介绍 183.3.1DS18B20特性 183.3.2DS18B20工作原理及应用[5] 213.3.3DS28B20芯片ROM指令表 223.3.4DS28B20芯片存储器操作指令表 223.4系统设计框图 23第四章系统设计 244.1温度检测系统设计 244.1.1单片机的选择 244.1.2时钟电路的设计 244.1.3复位电路的设计 254.2温度采集电路设计 264.3显示电路的设计 264.3.1显示器电路的设计 26第五章软件设计 285.1程序框图设计 285.2按键扫描子程序流程图 295.3温度程序流程图 305.4温度显示模块程序流程图 31第六章技术经济分析 32第七章结论 34参考文献 35致谢 36沈阳建筑大学城市建设学院毕业设计(论文)基于GTM900C温度检测装置设计第一章前言温度对工、农业生产和日常生活有着重大的影响,如空调系统温度检测,电力、电讯设备之间过热故障预知检测,消防电气的非破坏性温度检测等等,可见温度监测系统的应用领域十分广泛,因此对温度的检测有着重要的现实意义。我国人多地少,人均占有耕地面积更少。因此,要改变这种局面,只靠增加耕地面积是不可能实现的,因此我们要另辟蹊径,想办法来提高单位亩产量。温室大棚技术就是其中一个好的方法。温室大棚就是建立一个模拟适合生物生长的气候条件,创造一个人工气象环境,来消除温度对生物生长的约束。而且,温室大棚能克服环境对生物生长的限制,能使不同的农作物在不适合生长的季节产出,使季节对农作物的生长影响不大,部分或完全摆脱了农作物对自然条件的依赖。由于温室大棚能带来可观的经济效益,所以温室大棚技术越来越普及,并且已成为农民增收的主要手段。随着大棚技术的普及,温室大棚数量不断增多,温室大棚的温度控制便成为一个十分重要的课题。传统的温度控制是在温室大棚内部悬挂温度计,通过读取温度值来知道大棚内的实际温度,然后根据现有温度与额定温度进行比较,看温度是否过高或过低。如果过高,就对大棚进行降温处理;如果过低,就对大棚进行升温处理。这些操作都是在人工情况下进行的,耗费了大量的人力物力。现在,随着国家经济的快速发展,农业产业规模的不断提高,农产品在大棚中培育的品种越来越多,对于数量较多的大棚,传统的温度控制措施就显现出很大的局限性。大型温室大棚的建设对温度检测技术也提出了越来越高的要求。本设计由单片机、数字温度传感器、显示电路构成的多点温度数据采集系统,可以方便的实现多点的温度测量,并容易实现数据的远距离传送,系统的抗干扰性好、设计灵活方便。本系统可以应用在工业及民用常温温度多点检测场合。1.1课题背景温度是衡量温室大棚的重要指标,它直接影响到栽培作物的的生长和产量,为了能给作物提供一个合适的生长环境,首要问题是加强温室内的温度的检测,但传统的方法是用与温度表等测试器材,通过人工进行检测,对不符合温度要求的库房进行通风、降温等工作。这种人工测试方法费时费力、效率低,且测试的温度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温度测量仪。该设计即是针对这一问题,设计出了能够实现温度自动检测,显示,上下限报警等多功能的温度监测控制系统。1.2温度采集技术现状在传统的温度测量系统设计中,往往采用模拟技术进行设计。传感器一般采用热电阻、热电偶等模拟器件,需要额外加补偿电路,安装复杂,成本较高。而且必须经过A/D转换后才可以被微处理器识别和处理。这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。而DS1820新型单总线数字温度传感器,采用3脚(或8脚)封装,从DS1820读出或写入数据仅需要一根I/O口线,而且测量精度达到12位,最低精确到小数点后4位有效数字[1]。用这种智能化数字式传感器的优胜显而易见。1.3预期目标系统完成后可以通过温度传感器DB18B20对大棚温室内的温度进行测量,结合AT89C51对采集到的数据进行处理,外加串口电路,报警电路以及显示模块,设计了温度检测并报警的硬件系统。依据DS18B20型温度传感器操作指令,首先读取各传感器的序列号,并确定传感器对应的各点位置关系,定时循环读出各个传感器的温度值并循环显示,单片机依据设定的报警温度上下限做出报警处理;同时,也可利用串口把各点的温度值传给上位机作进一步的处理。通过GTM900-C模块无线传输,经远距离检测,对大棚温度进行检测并报警。第二章GTM900C无线模块2.1选择GTM900C模块理由GTM900C模块是华为公司最新推出的一款两频GSM/GPR无线模块。它支持标准的AT命令及增强AT命令,提供丰富的语音和数据业务等功能,是高速数据传输等各种应用的理想解决方案。。内嵌TCP/IP协议模块,使用简单,易于集成,GTM900C软件、硬件兼容GTM900B、TC35i、MC39i,使用TC35i或MC39i的用户不用作任何更改就可以使用。华为GTM900C是一款双频900/1800MHZ高度集成的GSM/GPRS模块,是GTM900B的升级模块。内嵌TCP/IP协议模块,使用简单,易于集成,使用它您可以在较短的时间内花费较少的成本开发出新颖的产品。在远程监控和无线公话以及无线POS终端等领域您都能看到GTM900C无线模块在发挥作用,GTM900C软件、硬件兼容GTM900B、TC35i、MC39i,使用TC35i或MC39i的用户不用作任何更改就可以使用,以降低产品成本。[10]主要功能:GSM/GPRSPhase2/2+;GSM03.40短信业务;GPRSCLASS10数据业务;支持Group3,Class2传真业务;电路交换业务(9.6kbps,14.4kbps);分组交换数据业务(85.6kbps);FR/HR/EFR/AMR语音编码;呼叫转移、等待、保持、呼叫前转;多方通话、来电显示、可选铃声40pinzip连接器;红外串口接口;SIM3.0V和1.8V接口;2路模拟音频输入输出接口;电源输入接口和充电管理;ADC输入;全双工串行接口,TTL电平;支持GSM07.05,GSM07.07;TCP/IP扩展AT指令集。2.1.1GTM900C模块产品定位华为GTM900-C无线模块是一款两频段GSM/GPRS无线模块。它支持标准的AT命令及增强AT命令,提供丰富的语音和数据业务等功能,是高速数据传输等各种应用的理想解决方案。2.1.2GTM900C模块产品特性表2-1GTM900-C的产品特性表工作频段EGSM900/GSM1800双频最大发射功率EGSM900Class4(2W)GSM1800Class1(1W)接收灵敏度<-106dBm工作温度正常工作温度:-20°C~+70°C扩展工作温度:-40°C~-20°C和+70°Cto~+80°C电源电压3.4V~4.7V(推荐值3.8V)平均待机电流3.5mA(DRX=5)关机漏电流50uA协议支持GSM/GPRSPhase2/2+支持华为GT800协议AT命令GSM标准AT命令V.25AT命令华为扩展的AT命令40PINZIF连接器UART接口(最大串口速率可达115200bit/s)标准SIM卡接口(1.8V或3V)两路模拟音频接口电源接口GSC射频天线连接器50¦ΈGSC射频天线连接器语音业务支持FR、EFR、HR和AMR的语音编码支持免提通话,提供回声抑制功能短消息业务支持MO和MT点对点和小区广播短消息模式支持TEXT和PDUGPRS数据业务GPRSCLASS10编码方式CS1,CS2,CS3,CS4最高速率可达85.6Kbit/s支持PBCCH内嵌TCP/IP协议:支持多链接,提供ACK应答,提供大容量缓存电路型数据业务支持CSD数据业务,最高速率可达14.4Kbit/s支持传真:Group3,Class2.0支持USSD补充业务来电显示、呼叫转移、呼叫保持、呼叫等待和三方通话等集群功能组呼、广播和私密呼叫等(GTM900-C模块支持)STK功能通过增强的AT命令支持STK功能ROHS环保符合ROHS环保认证要求2.1.3GTM900C模块产品的应用GTM900C在Terminal型固定台、Phone型固定台、车载台、公用电话、电力无线抄表业务、远程信息服务台等方面被广泛的应用。2.1.4GTM900C模块的业务演示框图图2-1GTM900C业务演示框图2.2GTM900C无线模块AT命令本手册中的GSM模块包括移动设备ME(MobileEquipment)、移动台MS(MobileStation)、终端适配器TA(TerminalAdapter)、数据通信设备DCE(DataCommunicationEquipment)和传真DCE(包括传真Modem和传真板)。[11]通过串口发送AT命令,即可使用GSM模块。串行线对端的应用设备包括终端设备TE(TerminalEquitment)、数据终端设备DTE(DataTerminalEquipment)或其他应用设备。这些终端或应用设备可能运行在嵌入式系统里。系统结构图如图1-1:图2-2系统结构图2.2.1AT命令类型本手册中的所有命令行必须以“AT”或“at”为前缀,以<CR>结尾一般来讲,AT命令包括四种类型,如表2-2所示:表2-2AT命令类型类型说明实例设置命令该命令用于设置用户自定义的参数值。AT+CXXX=<….>测试命令该命令用于查询设置命令或内部程序设置的参数及其取值范围。AT+CXXX=?查询命令该命令用于返回参数的当前值。AT+CXXX?执行命令该命令用于读出受GSM模块内部程序控制的不可变参数。AT+CXXX2.2.2消息发送和写入命令发送消息:AT+CMGS使用设置命令,可将SMS(SMS-SUBMIT)从TE发送到网络侧。发送成功后,消息参考值<mr>将返回给TE。在接收到非请求发送状态报告结果码时,使用该取值可进行消息识别。表2-3AT+CMGS操作命令语法类型命令可能的返回结果说明设置命令AT+CMGS=<da>[,<toda>]<CR>texttosend<ctrl-Z/ESC>+CMGS:<mr>[,<scts>]ok使用文本模式(+CMGF=1)且发送成功
ERROR/+CMEERROR:<err>使用文本模式(+CMGF=1)但发送失败AT+CMGS=<length><CR>PDUtosend<ctrl-Z/ESC>+CMGS:<mr>[,<ackpdu>]ok使用PDU模式(+CMGF=0)且发送成功ERROR/+CMEERROR:<err>使用PDU模式(+CMGF=0)但发送失败测试命令AT+CMGS=?OK-表2-4参数的详细说明参数取值说明<da>-Gsm03.40IP-Destination-Address中“地址-取值”字段,字符号;将BCD数值(或缺省GSM字母格式的字符)转换为当前选择的TE字符集中的字符,(请参考TS07.07中的+CSCS命令);<toda>给定的地址类型<pdu>-SMS情况下:GSM03.40TPDU,16进制,遵循GSM04.11SC地址;ME/TA把TP数据单元中的每个8位字符转换为包含2个IRA字符的16进制数(如:整数取值为42的8位字符作为2位数字(2A,即IRA50和65)发送给TE)CBS情况下:使用16进制GSM03.41TPDU<length>-整数型取值;文本模式(+CMGF=1)下,用字符表示的<data>(或<cdata>)消息正文的长度;PDU模式(+CMGF=0)下,8位真实TP数据单位的长度(即:RP层的SMSC地址中的8位字符将不计算在该长度内)<mr>-整数型的GSM03.40TP—message—reference<scts>-时间—字符型(请参考<dt>)的GSM03.40TP—service—centre—Time—Stampe<dt>-时间—字符型GSM03.40TP—Discharge—Time“YY/MM/dd,hh:mm:ss±zz”,在该格式的消息中,字符部分表示年(最后2位)、月、日、小时、分钟、秒和地区。例如:6thofMay1995,22:10:00GTM+2Hours相当于“95/05/06,22:10:00+08”。<ackpdu>-RP—ACKPDU中的GSM03.40RP—User—data元素;SMS情况下,与<pdu>的格式相同,但没有GSM03.11SC地址字段;该参数应放在双引号中,与普通的字符型参数相同。<toda>-整数型的GSM04.11TD—Destination—address中的8位“类型—地址”字段(当<da>的首字符为+(IRA43)时,缺省值为145;否则缺省值为129)举例:发送文本方AT+CMGF=1NOTE:设置以文本方式发送短信式的短信OKAT+CMGS=NOTE:输入对方号码>SMSNOTE:输入短信内容,以ctrl-Z发送;ESC取消OK举例:发送和接收PDU方式的短信AT+CMGF=0OKAT+CMGS=16>0891683108200105F011000D91683118087981F60004000168OKPDU编码解析:发送数据:0891683108200105F011000D91683118087981F60004000168表2-5PDU编码解析码段含义说明08SMSC地址信息的长度共8个八位字节(包括91)91SMSC地址格式(TON/NPI用国际格式号码(在前面加‘+’)683108200105F0SMSC地址8613800210500,补‘F’凑成偶数个11基本参数(TP—MTI/VFP)发送,TP—VP用相对格式00消息基准值(TP-MR)00D目标地址数字个数共13个十进制数(不包括91和‘F')91目标地址格式(TON/NPI)用国际格式号码(在前面加‘+’)683118087981F6目标地址(TP-DA)8613800210500,补‘F’凑成偶数个00协议标识(TP—PID)是普通GSM类型,点到点方式04用户信息编码方式(TP—DCS)8—bit编码00有效期(TP—VP)5分钟01用户信息长度(TP—UDL)实际长度1个字节68用户信息(TP—UD)0×68接收数据:0891683108200105F0040D91683184821969F2000470404271726423026869表2-6接受数据码段含义说明08SMSC地址信息的长度共8个八位字节(包括91)91SMSC地址格式(TON/NPI)用国际格式号码(在前面加‘+’)683108200105F0SMSC地址8613800210500,补‘F’凑成偶数个04基本参数(TP—MTI/VFP)0D回复地址数字个数91回复地址格式(TON/NPI)683118087981F6回复地址(TP-RA)8613800210500,补‘F’凑成偶数个00协议标识(TP—PID)是普通GSM类型,点到点方式04用户信息编码方式(TP—DCS)8—bit编码70404271726423时间戳(TP—SCTS)07-04-2417:27:4623表示时间区02用户信息长度(TP—UDL)实际长度2个字节68用户信息(TP—UD)0×680×692.3GTM900C信号连接器和天线接口GTM900-C的信号连接器和天线接口,包括:信号连接器接口;天线接口。2.3.1信号连接器GTM900-C的信号连接器是一个40Pin的ZIF连接器,引脚间距为0.5mm,线距0.5mm,结构为单排弯式表贴型,带电缆锁紧机构,型号是Hirose的FH12-40S-0.5SH。连接器外形如图2-3所示。图2-3连接器外形2.3.2天线接口GTM900-C提供的天线接口为GSC射频连接器,外接天线通过电缆连接到该连接器上。该连接器是由HRS公司提供的,器件编码是U.FL-R-SMT-1(10),具体的图形和尺寸如图2-4所示。图2-4天线接口连接器尺寸图(单位:mm)2.3.3接口信号表2-7信号连接器接口功能表序号信号名称I/O接口电平功能备注1VBATI3.4-4.7V电源建议典型值:3.8V2VBATI3VBATI4VBATI5VBATI6GND-地7GND-8GND-9GND-10GND-11USB_D+I/O仅用于模块调测,设计时悬空12USB_D-I/O仅用于模块调测,设计时悬空13VBUSI仅用于模块调测,设计时悬空。注意:此管脚与GTM900-A/B存在差异,不能兼容,GTM900-A/B为VDD信号,用于模块正常启动指示信号。14ADCI0-1.75V模拟数字采样最高输入电压15PWONI-开/关机控制信号低电平有效16UART_DSR0O2.85V(±0.1)数据准备就绪-17UART_RI0O2.85(±0.1)振铃指示-18UART_RXD0O2.85V(±0.1)GTM900模块AT命令串口发送信号(对端设备接收)用于GTM900-C模块的AT命令,TTL电平19UART_TXD0I2.85V(±0.1)GTM900模块AT命令串行接收信号(对端设备发送)用于GTM900-C模块的AT命令,TTL电平20UART_CTS0O2.85V(±0.1)清除发送GTM900-C上PIN脚定义为输出信号21UART_RTS0I2.85V(±0.1)请求发送GTM900-C上PIN脚定义为输入信号22UART_DTR0I2.85V(±0.1)数据设备准备就绪-23UART_DCD0O2.85V(±0.1)载波检测-24SIM_CDI2.85V(±0.1)SIM卡在位信号目前软件尚不支持,设计时悬空25SIM_RSTO2.85V(±0.1)SIM卡复位信号-26SIM_DATAI/O2.85V(±0.1)SIM卡数据传输接口-27SIM_CLKO2.85V(±0.1)SIM卡时钟信号-28SIM_VCCO2.85V(±0.1)SIM卡电源-29SIM_GND--SIM卡地与通常的工作地:GND信号连接同时要求与SIM卡的GND信号连接30VbackupI/O3.0V备用电池电源信号参考后面章节的推荐设计31RSTI2.85V(±0.1)复位信号低电平有效,对模块复位32LPGO2.85V(±0.1)指示灯状态控制信号-33AUXO+O-第二路音频输出信号+-34AUXO-O-第二路音频输出信号--35EAR+O-第一路音频输出信号+-36EAR-O-第一路音频输出信号--37MIC+-第一路音频输入信号+第一路音频单端输入正,内部已经带直流偏置38MIC--第一路音频输入信号-第39AUXI+-第二路音频输入信号+第二路音频单端输入正,内部已经带直流偏置40AUXI--第二路音频输入信号-第二路音频单端输入负,内部已经带直流偏置2.4接口的使用GTM900-C各接口的使用,包括:UART接口;USB接口;SIM卡接口;RTCBackup接口;Audio接口;LPG接口。2.4.1UART接口的功能特性UART接口与外界进行串行通信,支持3.00V电平输入和输出。UART接口的信号除了RXD0、TXD0是高电平有效之外,其余所有信号均为低电平有效。UART接口有512byte的发送FIFO(FirstInFirstOut)和接收FIFO,支持可编程的数据宽度、可编程的数据停止位、可编程的奇/偶校验或者没有校验。UART接口工作的最大速率为115.2kbit/s,默认支持9600bit/s的速率,支持波特率掉电保存。2.4.2UART接口信号定义UART接口信号定义如表2-8所示.表2-8UART接口信号定义序号信号名描述特性方向23UART_DCD0载波检测数据链路已连接DCE-DTE17UART_RI0振铃指示通知DTE有远程呼叫DCE-DTE21UART_RTS0请求发送DTE通知DCE请求发送DTE-DCE19UART_TXD0发送数据DTE发送数据DTE-DCE16UART_DSR0数据设备就绪DCE准备就绪DCE-DTE22UART_DTR0数据终端就绪DTE准备就绪DTE-DCE20UART_CTS0清除发送CE已切换到接收模式DCE-DTE18UART_RXD0接收数据DTE接收串行数据DCE-DTE6GND地--2.4.3UART接口DCE-DTE配线DCE-DTE的连接关系如图2-4所示。图2-4DCE-DTE的连接关系第三章硬件选择及理由3.1温度传感器的选型温度检测系统具有测量点多、环境复杂、布线分散、现场离监控室远等特点。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于外界因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降,并且耗费的材料多,不符合经济性。因此,系统的关键在温度检测系统这部分。方案一:热敏电阻的阻值取决于温度,一般由半导体材料制成,如金属氧化物陶瓷或聚合物。应用最广泛的热敏电阻是负温度系数电阻,因此,热敏电阻通常称为NTC。同样,也存在正温度系数的热敏电阻(PTC)。
热敏电阻能够测量中等温度范围,通常最高可达+150°C,有些热敏电阻可以测量更高温度;根据精度的不同,成本一般在中、低端;线性度虽然较差,但可预测。热敏电阻可以是探头、表贴封装、裸线等不同形式的专用封装。Maxim提供能够将热敏电阻阻值转换为数字信号的IC,如MAX6682和MAX6698。
热敏电阻往往连接一个或多个固定阻值电阻,形成分压器。分压器输出通常经过ADC进行数字转换。利用查找表或通过计算对热敏电阻的非线性进行修正。[12]方案二:采用温度传感器DS18B20.DS18B20是数字温度传感器,输出信号为全数字化,便于单片机处理机控制,并且省去了传统的温度采样、AD转换过程,避免了采样和传输过程中的干扰,具有更高的精度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和单片机构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。而且DS18B20可以实现多点测量,容易组成传感器网络。因此,比较两个方案,本系统温度采集部分选用数字温度传感器DS18B20,其测温值可以直接以9位数字量读出,无需采集信号的放大与A/D转换,减少了器件及接线,优化了硬件电路部分的设计,使得单片机的数据处理更加直接化,简单化,选择方案二进行设计。3.2元器件的选择3.2.1核心芯片的选择AT89C51单片机价格低廉,输入输出口丰富,无需再另外扩展,简化了外围电路。256B内部RAM,8kB内部ROM,程序存储空间大,防止由于字模过多而造成存储空间不够。3.2.2模数转换芯片的选择ADC0809是8位的A/D转换芯片,为逐次逼近型。由单一的+5V电源供电,片内带有所存功能的8路模拟多路开关,可对8路0~5V的输入模拟电压信号分时进行转换,完成一次转换约需100μs;片内的地址译码和锁存电路,将单片机的三条地址信号译码生成选择八路模拟通道。输出具有TTL三态锁存缓冲器,可以直接接到单片机的数据线上。3.2.3温度传感器的选择温度传感器类型很多,目前出现的石英体温度传感器如AD590具有很高的稳定性、准确度和良好的线性,抗干扰能力强。单总线数字型的温度传感器DS18B20直接产生温度数字信号,不需要A/D转换,准确度、稳定性都相当高,但这些传感器的适用范围不广,不利于以后其他功能的扩展。所以本次采用TREND公司的铂热电阻温度传感器T/PI/HT,传感器的工作电压为24V,输出电流为4~20mA,外接250Ω精确电阻用于提取电压时进行A/D转换,ADC0809的输入电压在1~5V范围内对应的测量温度范围为-10~+160℃。3.3DS18B20的功能介绍3.3.1DS18B20特性单线数字温度传感器DS18B20特性:•独特的单线接口仅需一个端口引脚进行通讯•简单的多点分布应用•无需外部器件•可通过数据线供电•零待机功耗•测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F递增•温度以9位数字量读出•报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件•应用包括温度控制、工业系统、消费品、温度计或任何热感测系统表3-1引脚说明1GND接地2DQ数据输入/输出脚。对于单线操作:漏极开路3VCC可选的VCC引脚。DS1820S(16脚SSOP):所有上表中未提及的引脚都无连接。说明:图3-1DS18B20内部结构图DSl8B20数字温度计提供9位(二进制)温度读数指示器件。温度信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl820仅需一条线。DSl8B20的电源可以由数据线本身提供,而不需要外部电源,因为每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl820可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件DSl8B20。DS18B20的测量范围从-55到+125,精度为≤0.06。DS18B20都可以设置成两种供电方式即数据总线供电方式和外部供电方式采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长采取外部供电方式则多用一根导线但测量速度较快。DS1820依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一:1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。一条控制操作命令指示DS1820完成一次温度测量。测量结果放在DS1820的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH和TL各由一个EEPROM字节构成。如果没有对DS1820使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH和TL进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。图3—1的方框图示出了DS1820的主要部件。DS1820有三个主要数字部件:64位激光ROM,温度传感器,非易失性温度报警触发器TH和TL。器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。DS1820也可用外部5V电源供电。3.4DS1820测温系统设计框图DS1820是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS1820内部对此计算的结果可提供0.5℃的分辨力。温度以16bit带符号位扩展的二进制补码形式读出,表1给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS1820测温范围-55℃~+125℃,以0.5℃递增。如用于华氏温度,必须要用一个转换因子查找表。注意DS1820内温度表示值为1/2℃LSB,如3—2所示9bit格式:图3-29bit格式最高有效(符号)位被复制充满存储器中两字节温度寄存器的高MSB位,由这种“符号位扩展”产生出了示于表1的16bit温度读数。可用下述方法获得更高的分辨力。首先,读取温度值,将0.5℃位(LSB)从读取的值中截去,这个值叫做TEMP_READ。然后读取计数器中剩余的值,这个值是门周期结束后保留下来的(COUNT_REMAIN)。最后,我们用到在这个温度下每度的计数值(COUNT_PER_C)。用户可以用下面的公式计算实际温度值:TEMPERATURE=TEMP_READ—0.25=(CONNT_PER_C-COUNT_REMAIN)/COUNT_PER_C(3-1)3.3.2DS18B20工作原理及应用[5]DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。排版结构与上节不同
RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。排版结构与上节不同3.3.3DS28B20芯片ROM指令表ReadROM(读ROM)[33H](方括号中的为16进制的命令字)
这个命令允许总线控制器读到DS18B20的64位ROM。只有当总线上只存在一个DS18B20的时候才可以使用此指令,如果挂接不只一个,当通信时将会发生数据冲突。
MatchROM(指定匹配芯片)[55H]
这个指令后面紧跟着由控制器发出了64位序列号,当总线上有多只DS18B20时,只有与控制发出的序列号相同的芯片才可以做出反应,其它芯片将等待下一次复位。这条指令适应单芯片和多芯片挂接。
SkipROM(跳跃ROM指令)[CCH]
这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。
SearchROM(搜索芯片)[F0H]
在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROM。
AlarmSearch(报警芯片搜索)[ECH]
在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于TH或小于TL报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。3.3.4DS28B20芯片存储器操作指令表WriteScratchpad(向RAM中写数据)[4EH]
这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。写入过程中可以用复位信号中止写入。
ReadScratchpad(从RAM中读数据)[BEH]
此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。
CopyScratchpad(将RAM数据复制到EEPROM中)[48H]
此指令将RAM中的数据存入EEPROM中,以使数据掉电不丢失。此后由于芯片忙于EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持10MS,来维持芯片工作。
ConvertT(温度转换)[44H]
收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。
RecallEEPROM(将EEPROM中的报警值复制到RAM)[B8H]
此指令将EEPROM中的报警值复制到RAM中的第3、4个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。另外,此指令将在芯片上电复位时将被自动执行。这样RAM中的两个报警字节位将始终为EEPROM中数据的镜像。
ReadPowerSupply(工作方式切换)[B4H]
此指令发出后发出读时间隙,芯片会返回它的电源状态字,“0”为寄生电源状态,“1”为外部电源状态。
3.4系统设计框图图非你自己所画!!图非你自己所画!!图3-3温度测量系统框图第四章系统设计4.1温度检测系统设计4.1.1单片机的选择AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。4.1.2时钟电路的设计AT89C5l中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,时钟电路如图4-1所示。图4-1单片机时钟电路外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,电容使用30pF±10pF,而如使用陶瓷谐振器应选择40pF±10F。本设计中由于使用CAN总线的控制器SJA1000,因此单片机的时钟电路可以和SJA1000共用,在这里只画出了单片机的时钟电路。在SJA1000当中,晶振的选择为26mHz。4.1.3复位电路的设计图4-2单片机复位电路当单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。图3.3中电容C3和电阻R2对电源十5V来说构成微分电路。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值。4.2温度采集电路设计 采用单线数字温度传感器DS18B20作为温度采集部分,本系统需要对8个温度温度监测点进行温度检测,因此每个监测点都需要安装一个温度传感器,共需8个DS18B20数字温度传感器进行工作。其温度采集的数据由P1口送进单片机进行处理,电路原理图如图4-3所示。图4-3温度采集部分电路4.3显示电路的设计4.3.1显示器电路的设计本系统采用四位LED数码管作为显示器,其中第一位显示温度的十位,第二器分别有各自的时钟输入(SCLK和SLCK),都是上升沿有效。当SCLK从低高电平跳变时,串行输入数据(SDA)移入寄存器;当SLCK从低到高电平跳变时,寄存器的数据置入锁存器。清除端(CLR)的低电平只对寄存器复位(QS为低电平),而对锁存器无影响。当输出允许控制(EN)为高电平时,并行输出(Q0~Q7)为高阻态,而串行输出(QS)不受影响。74HC595最多需要5根控制线,即SDA、SCLK、SLCK、CLR和EN。其中CLR可以直接接到高电平,用软件来实现寄存器清零;如果不需要软件改变亮度,EN可以直接接到低电平,而用硬件来改变亮度。把其余三根线和单片机的I/O口相接,即可实现。第五章软件设计5.1程序框图设计图5-1系统主程序流程图5.2按键扫描子程序流程图按键扫描子程序流程图如图5-2所示:KEY1键按下下KEY1键按下下KEY2键按下检测到温度在正常范围检测到温度不在正常范围发送短信报警设定温度值加1设定温度值减1正常工作指示灯工作NNNNYYYY图5-2按键扫描子程序流程图5.3温度程序流程图温度报警程序流程图如图5-3所示:开始开始总线复位总线复位跳过跳过ROM所有所有ds18b20开始温度转换延时1秒延时1秒设置匹配设置匹配ROM发送发送ROM编号开始温度转换开始温度转换是否超限制温度是否超限制温度?Y所有读取完毕?N所有读取完毕?显示温度报警显示温度报警NY图5-3温度报警流程图5.4温度显示模块程序流程图温度显示模块程序流程图如图5-4所示:检测DS18B20存在?NY读取温度数据发送DS18B20编码DS18B20复位I=1,等待温度转换发送跳过ROM指令读DS18B20的序列号初始化DS18B20开始检测DS18B20存在?NY读取温度数据发送DS18B20编码DS18B20复位I=1,等待温度转换发送跳过ROM指令读DS18B20的序列号初始化DS18B20开始图5-4温度显示程序流程图第六章技术经济分析国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。像园艺强国荷兰,以先进的鲜花生产技术著称于世,其玻璃温室全部由计算机操作。日本研制的蔬菜塑料大棚在播种、间苗、运苗、灌水、喷药等作业的自动化和无人化方面都有应用。日本利用计算机控制温室环境因素的方法,主要是将各种作物不同生长发育阶段所需要的环境条件输入计算机程序,当某一环境因素发生改变时,其余因素自动作出相应修正或调整。美国和荷兰还利用差温管理技术,实现对花卉、果蔬等产品的开花和成熟期进行控制,以满足生产和市场的需要。英国伦敦大学农学院研制的温室计算机遥控技术,可以观测50km以外温室内的光、温、湿、气和水等环境状况,并进行遥控。从国内外温室控制技术的发展状况来看,温室环境控制技术大致经历三个发展阶段:(1)手动控制。这是在温室技术发展初期所采取的控制手段,其时并没有真正意义上的控制系统及执行机构。生产一线的种植者既是温室环境的传感器,又是对温室作物进行管理的执行机构,他们是温室环境控制的核心。通过对温室内外的气候状况和对作物生长状况的观测,凭借长期积累的经验和直觉推测及判断,手动调节温室内环境。种植者采用手动控制方式,对于作物生长状况的反应是最直接、最迅速且是最有效的,它符合传统农业的生产规律。但这种控制方式的劳动生产率较低,不适合工厂化农
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年交通事故车辆全面修复及责任认定与赔偿服务合同
- 2025年城市道路照明系统升级改造合作协议
- 2025年电子商务平台数据安全与客户隐私保护协议书
- 2025年智能仓储租赁及供应链管理服务合同
- 2025年城市社区公共设施能源审计与节能升级服务合同
- 2025年绿色建筑认证质量保修服务协议
- 2025年校园实验室通风设备租赁及维护服务协议
- 2025年企业员工保密协议及知识产权保护责任书范本
- 2025年国有企业员工食堂运营管理与营养膳食服务合同
- 2025年高科技产业厂房抵押贷款合同范本精解
- 2025年山东省普通高校招生(春季高考)全省统一考试语文试题
- 效期药品管理试题及答案
- 医疗信息化建设与医教协同发展策略
- 掌握2025年税务师考试试题及答案
- 挂名法人协议书范本
- 医院招标培训课件
- 渗滤液处理工艺流程的安全管理
- 2025年云南大理州建投开发有限公司招聘笔试参考题库含答案解析
- 智能硬件产品开发项目合作框架协议
- 矿山开采安全生产管理协议书
- T-CMES 04001-2020 机床装备制造成熟度评价规范
评论
0/150
提交评论