单片机智能温室系统的设计.docx
- 文档编号:13585295
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:35
- 大小:644.24KB
单片机智能温室系统的设计.docx
《单片机智能温室系统的设计.docx》由会员分享,可在线阅读,更多相关《单片机智能温室系统的设计.docx(35页珍藏版)》请在冰点文库上搜索。
单片机智能温室系统的设计
陕西能源职业技术学院
毕业论文(设计)
题目:
基于单片机智能温室系统的设计
学号:
110433329
专业:
电气自动化
姓名:
马康
年级:
11级
系别:
电子工程系
完成时间:
2014-1-5
指导教师:
孟卓
目 录
摘要……………………………………………………………………………2
引言……………………………………………………………………………3
第一章 绪论…………………………………………………………………4
1.1 温室系…………………………………………………………4
1.2 温室监控系统发展………………………………………………4
第二章硬件系统……………………………………………………………4
2.1.1总体方案设计……………………………………………………4
2.1.2方案设计框图……………………………………………………5
2.2温度传感器DS18B20………………………………………………5
2.3AT89C51单片机……………………………………………………10
2.4单片机AT89C51与DS18B20的通信接口…………………………11
2.5数据处理部分………………………………………………………11
2.6系统整体硬件电路…………………………………………………13
第三章软件的设计…………………………………………………………13
3.1程序流程…………………………………………………………13
3.2DS18B20软件部分…………………………………………………13
3.3部分软件设计………………………………………………………16
3.4显示电路的框图……………………………………………………17
3.5CPU处理的框图……………………………………………………17
3.6系统软件部分设计…………………………………………………19
3.7主控中心软件功能…………………………………………………21
第四章结束语…………………………………………………………………22
第五章致谢……………………………………………………………………22
第六章参考文献………………………………………………………………23
附录一硬件原理图……………………………………………………………24附录二程序流程图…………………………………………………………25附录三控制程序………………………………………………………………27
摘要
温室控制技术是现代农业技术研究的重要内容,通过对温室内外监测数据的分析,结合作物生长发育的规律,控制有关设备,实现对温室要素的调控,达到作物优质、高产、高效的栽培目的。
本文通过对温室控制技术的研究,提出一种新的温室智能控制系统的实现方法。
该应用系统采用分布式的系统结构方式,以PC机为上位机,完成数据打印、数据处理、参数设置等辅助功能;采用MCS-51单片机为下位机,完成全部控制功能,下位机可脱离上位机独立工作。
关键词:
温室;单片机;传感器;控制系统
Abstract
Thecontroltechnologyofthegreenhouseistheimportantaspectoftheresearchonmodernagriculture.Toachievequalitycultivationwithhighyieldandefficiency,themanipulationaimofthegreenhouseisrealizedbycontrollingsomeequipmentthroughanalyzingthemonitoringdataoftheinternalandexternalofthegreenhouseandaccordingtocropgrowthrule.Anewmethodtorealizetheintelligentcontrolsystemofthegreenhouseisproposedinthethesisbyinvestigationonthecontroltechnology.Thesystemappliesdistributedsystemstructure:
withthehelpofpc,assistantfunctionssuchasthedadaprocessing,thedataprintingandparameterconfigurationarecompleted.TheMCS-51isusedasabottomcomputer,whichcanindependentlyrun,finishestheentirecontroltask..
Keywords:
Greenhouse;SoC;Sensor;ControlSystem
引言
随着社会的进步和工农业生产技术的发展,许多产品对生产和使用环境的要求越来越严,人们对温度、湿度、光强、二氧化碳浓度、灰尘等环境因素的影响越来越重视了。
为此,本文以农业技术发展为目的开发了一种智能控制系统。
众所周知,光、温度、湿度是农业生产不可缺少的因素,所以本设计将其作为重点数据来处理,而目前市场上普遍存在的温度检测仪器大都是单点测量,而且温度信息传递不及时,精度达不到要求,不利于农业控制者根据温度变化及时做出决定。
而湿度传感器价格昂贵,大多使用进口元件,但事实上,农用精度要求并不高,现在国产湿度传感器完全可以适用。
为此,本设计开发了一种能够同时测量多点,并实时性高、精度高,能够综合处理多点温度信息,并能进行光控和湿度控制的测控系统就。
本设计以AT89C51单片机为核心来对多点温度进行实时巡检。
各检测单元(从机)能独立完成各自功能,同时能根据主控机的指令对温度进行定时采集。
测量结果不仅能在本地显示,而且可以利用单片机的串行口和RS-485总线通信协议将采集的数据传送到主控机,以进行进一步的存档、处理。
主控机负责控制指令的发送,以控制各个从机的温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。
主控机与各从机之间也能够相互联系、相互协调,从而达到系统整体统一、和谐的效果。
第一章绪论
1.1 温室系统
温室监控一直是温室栽培的一项关键技术,温室中光照强度,二氧化碳含量,空气湿度,通风速度,气温,土壤湿度等都是关系作物生长的关键因素,合理的调节这些参数对于作物生长起着关键作用,因为温室栽培其实就是在作物的非正常生长期,借助于温室的条件模拟出适合作物生长的“小气候”来满足作物生长需要。
随着一些新的栽培品种的引进和温室面积的增大,对温室的监控又提出了新的要求:
如何提高温室的监控水平,增加科技含量,降低劳动强度和劳动力投入,节省不必要的物质消耗,进而提高温室的投入产出比例成为当前温室生产的关键问题。
1.2 温室监控系统的发展
温室监控系统就是依据温室内外安装的各种传感器采集或观测得到的信息,通过控制设备(如控制箱、控制嚣、计算机等)对驱动/执行机构进行控制,对温室内的环境气候和灌溉施肥设备进行调节控制以满足栽培作物的生长发育需要的系统。
第二章设计方案
2.1总体方案设计
这次课程设计题目为温度自动控制系统,实现这种控制目的的方案有两个。
方案
(一)热电偶温度自动控制系统。
方案
(二)数字温度传感器温度控制系统。
这两个方案都是采用单片机控制,液晶显示模块LCM显示。
两个方案的比较部分为温度检测部分。
方案
(一)的系统框图如下图:
该部分温度检测部分检测部分采用热电偶,它需要冷端补偿电路与其配套,并且热电偶输出电压只有几毫负,必须经过放大处理才能A/D转换和D/A转换器接口,若采用8位A/D转换器,CADC0809则输人端需采用仪用放大器,把几毫伏的电压信号放大到5伏左右。
由于热电偶属于非线性器件,因此每个温度值都必须通过分度表,查表才能获得,这给软件编程和数据处理增加了难度。
这种系统具有测量温度范围可以从零下一XX到早上千摄氏度,而且有很多热电偶精度非常高这是这种测量系统的优点。
但构成系统复杂,抗干扰能力不强。
方案
(二)的框图如下:
该方案才用数字温度传感器DS18B20,它的最高分辨率为12位,可识别0.0625摄氏度的温度。
它具有直接输出数字信号和数据处理,并且它和单片机接口只需要一位I/O口,因此由它构成的系统简单使用,由于DS18B20,按照工业设计要求设计,抗干扰性能强。
但温度测量范围从-55摄氏度—-125摄氏度,比较有限位综合比较方案
(一)和方案
(二),我们只在常温下使用,并
且经济合理,因此选择了方案
(二)。
2.2利用DS18B20智能元件方案设计框图
温度计电路设计总体设计方框图如(图1)所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。
2.2.1温度传感器DS18B20
在DS18B20中,DQ为数字信号输人/输出端;GND为电源地;VDD为外接供电电源输入端。
下图是DS18B20的引脚排列图。
DS18B20的引脚排列
DS18B20是美国DALLAS公司推出的单总线数字测温芯片。
他具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。
采用数字信号输出提高了信号抗干扰能力和温度测量精度。
他的工作电压使用范围宽(3.0~5.5V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。
他还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。
可以通过编程实现9~12位的温度转换精度设置。
设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。
DS18B20采用3脚TO-92封装,形如三极管,同时也有8脚SOIC封装,还有6脚的TSOC封装。
测温范围为-55~+125℃,在一10~85℃范围内,精度为±0.5℃。
每一个DS18B20芯片的ROM中存放了一个64位ID号:
前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。
又因其可以采用寄生电源方式供电。
因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统。
另外用户还可根据实际情况设定非易失性温度报警上下限值TH和TL。
DS18B20检测到温度值经转换为数字量后,自动存入存储器中,并与设定值TH或TL进行比较,当测量温度超出给定范围时,就输出报警信号,并自动识别是高温超限还是低温超限。
2.2.2DS18B20内部结构框图
DS18B20采用3引脚TO-92封装或8脚SOIC封装,其内部结构框图如图所示。
DS18B20内部结构
DS18B20有4个主要的数据部件:
1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。
2.2.3存储器
DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。
存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。
当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。
当修改过寄存器中的数时,这个过程能确保数字的完整性。
高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。
第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。
用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。
2.2.464-位光刻ROM
64位光刻ROM的前8位是DS18B20的自身代码,接下来的48位为连续的数字代码,最后的8位是对前56位的CRC校验。
64-位的光刻ROM又包括5个ROM的功能命令:
读ROM,匹配ROM,跳跃ROM,查找ROM和报警查找。
2.2.5DS18B20外部电源的连接方式
DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。
当VDD端口接3.0V—5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
2.2.6DS18B20温度处理过程
2.2.6.1配置寄存器
配置寄存器是配置不同的位数来确定温度和数字的转化。
可以知道R1,R0是温度的决定位,由R1,R0的不同组合可以配置为9位,10位,11位,12位的温度显示。
这样就可以知道不同的温度转化位所对应的转化时间,四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出厂时以配置为12位。
2.2.6.2温度的读取
DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。
前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。
16位数字摆放是从低位到高位。
2.2.6.3DS18B20控制方法
DS18B20有六条控制命令,如表4.1所示:
表4.1为DS18B20有六条控制命令指令约定代码操作说明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU
2.2.6.4DS18B20的初始化。
(1)先将数据线置高电平“1”。
(2)延时(该时间要求的不是很严格,但是尽可能的短一点)
(3)数据线拉到低电平“0”。
(4)延时750微秒(该时间的时间范围可以从480到960微秒)。
(5)数据线拉到高电平“1”。
(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。
据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。
(8)将数据线再次拉高到高电平“1”后结束。
2.2.6.5DS18B20的写操作
(1)数据线先置低电平“0”。
(2)延时确定的时间为15微秒。
(3)按从低位到高位的顺序发送字节(一次只发送一位)。
(4)延时时间为45微秒。
(5)将数据线拉到高电平。
(6)重复上
(1)到(6)的操作直到所有的字节全部发送完为止。
(7)最后将数据线拉高。
2.2.6.6DS18B20的读操作
(1)将数据线拉高“1”。
(2)延时2微秒。
(3)将数据线拉低“0”。
(4)延时15微秒。
(5)将数据线拉高“1”。
(6)延时15微秒。
(7)读数据线的状态得到1个状态位,并进行数据处理。
(8)延时30微秒。
2.2.7DS18B20的测温原理
DS18B20的测温原理如图所示,图中,低温度系数晶振的振荡频率受温度的影响很小,主要用于产生固定频率的脉冲信号并送给减法计数器1,高温度系数晶振在温度变化时,其振荡频率有明显改变,它所产生的信号可作为减法计数器2的脉冲输入,图中隐含着的计数门打开时,DS18B20即对低温度系数振荡器产生的时钟脉冲进行计数,进而完成信号采集。
DS18B20的内部测温框图
DS18B20在光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,这样就可以实现一根总线上挂接多个DS18B20的目的。
有两种方法可确保DS18B20在有效转换期内得到足够的电源电流。
第一种方法是在温度变换时,在I/O口接一个强的上拉。
第二种是将其连到VCC外部电源,这样就不用在I/O口接强上拉,也可在温度变换期间使口线保持高电平。
以在变换时间内允许其它数据在单总线上传输。
也可使用外部电源通过发跳过ROM命令和变换命令T来完成温度变换。
需要注意的是:
在工作状态,GND不能悬空。
2.3AT89C51单片机
AT89C51单片机是ATMEL公司生产的高性能8位单片机,主要功能特性如下:
①兼容MCS-51指令系统;
②32个双向I/O口,两个16位可编程定时/计数器;
③1个串行中断,两个外部中断源;
④可直接驱动LED;
⑤低功耗空闲和掉电模式;
⑥4kB可反复擦写(>1000次)FLASIROM;
⑦全静态操作O~24MHz;
⑧128×8b内部RAM。
该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用。
2.3.1主控制器AT89C51的基本结构
单片机AT89C51具有低电压供电和体积小等特点,四个端口只需两个口就能满足覅安路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
其结构框图如图所示。
AT89C51基本结构图
2.3.2AT89C51引脚图
AT89C51有40个引脚,如图所示。
AT89C51引脚图
2.4单片机AT89C51与DS18B20的通信接口
DS18B20芯片与单片机硬件连接,DS18B20的供电方式为外部电源,其I/O数据线与P1.1相连。
如图所示。
AT89C51与DS18B20的通信接口
2.5数据处理部分
功能介绍
数据处理部分使用的器件是MCS-51系列单片机AT89C52,它自带8K的FLASH程序存储器,它的核心处理单元为8位。
数据处理主要是对数字温度传
感器采集温度数据,并进行逻辑判断,根据数据的具体情况输出到LCM显示和使继电器动作。
这部分包括三个方面的工作,主要由三个子程序来完成,分别为GETWD、DATA-PRO和ZTBJ。
它主要的功能包括初始化数字温度传感器、写数据到数字温度传感器、从数字温度传感器读数据三个步骤。
从这个子程序读出的
数据由两个字节组成,高字节为35H,低字节为34H,数据格式如下图所示。
S
S
S
S
S
0
0
0
高字节前五位为符号位,低字节在传感器设置为9位分辨率的情况下,最低三位由0补充。
数据处理环节,其主要处理过程如框图所示。
数据处理环节
首先,把高位字节不带进位位Cy左移四位,再与F0H相与,把低四位置零,高四位保持不变,把所得结果存储,低位字节的处理是:
首先把该字节高低四位相互交换,存储该字节在R3中,然后把这个数据与0FH相与去除高四位,最后把这个低位字节与处理后的高位字节相或,把高低位字节最后处理为一个字节,除去最高位符号位,后七位就是要显示的数据,存储在36H中。
最后把R3中数据取出,带进位位左移一位,判断其进位标志位C是否为“1”,若为“1”则把数字5存储在37H中,供LCM显示测量值小数部分。
否则把37H中置零。
到此,整个数据处理过程到此结束。
2.6系统整体硬件电路
控制器使用AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管以动态扫描实现温度显示。
按键复位电路时电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样不用重启单片机电源就可以实现复位。
第三章软件的设计
3.1程序流程
本系统软件主要由主控机程序和从机程序两部分构成。
主程序主要实现系统的初始化、数据显示、从机相关信息设定及通信的处理。
系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),通信初始化(串口的初始化,MAX485的初始化,通信缓冲区的初始化),数码管初始化,输出端口的初始化,以及采集、累计数据的初始化。
数据显示则包括各类参数、测量数据等的读取和显示屏的刷新。
通信的处理主要是针对主空机与从机的信息交换与处理。
从机程序主要由温/湿度信号采集程序、光控指示程序、报警程序、温度存储程序和响应主机命令程序组成,该从机采样流程图如图11所示。
从机响应主机的程序实际上是一个中断处理程序。
从机在工作过程中,当检测到主机发送来的命令时,它将停止温度信号采集程序,转而去响应主机的请求。
主机命令或请求有以下四种:
报警查询、设置从机时间、设置报警阈值和巡检温度。
3.2DS18B20软件部分
对DS18B20软件的设计主要根据其操作时序和控制协议编写的。
其时序分为初始化操作时序,读操作时序,写操作时序,分别如下图所示。
相应的子程序也根据这三个步骤来完成,它们都是严格按照以上时序图编写的。
3.2.1DS18B20的一线工作协议流程
初始化—ROM操作——存储器操作指令——数据传输。
每进行一次操作都要遵守这一协议流程。
这一过程可以从GETWD字程序的框图来表达。
该图中每一个具体操作除初始化外都是通过命令的方式实现的。
如下表1所示。
读
BEH
从RAM到单片机
写
4EH
从单片机到DS18B20
拷贝
48H
从DS18B20到内部RAM到内部ERAM
SikpROM
CCH
跳到ROM区直接操作存储器
启动转换
44H
启动DS18B20开始转换温度
表1
初始化子程序框图如下图所示。
它的过程可具体描述为主机的总线低电平持续时间480至900微秒然后释放总线,等60微秒后读总线是否为低,为低电平表示器件DS18B20反馈存在信号等待主机的下一步操作。
读操作子程序是主机先发出低电平维持等待6ns释放总线,再等待8ns读入数据。
在写操作子程序则为使总线常产生一个由高到低的阶段,保持低电平16ns方式向总线写数据等待40ns以保持写过程持续60ns,然后重复以上操作。
以上的单位机向DS18B20操作的过程。
在这个过程中要严格地保证时序要求因此,在执行以上程序不允许产生中断,而且要用4.7千欧以上的电阻连接在读总线上,以保证在主机释放总线只能把总线拉回高电平。
3.3部分软件设计
软件部分实现也是用一个名叫IJBT的子程序实现的,它的末程序框图如下图所示。
由框图可知,首先把测量值取出判定是否大于零摄氏度,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 智能 温室 系统 设计