【摘要】 随着人们生活水平提高, 温室的建设越来越多, PLC 温室控制系统 应用越来越广泛,本文主要阐述 S7-200 PLC 温室控制系统的设计过程,希望能 够给从事 PLC 温室系统设计人员和广大 PLC 爱好者以借鉴。
【关键词】控制系统; PLC ;温室
农业从古至今一直是我国经济基础, 在国家发展中占有重要的地位。 随着人 们生活水平的提高, 人们对农作物的生命期、 品种都有了更高的要求, 如四季能 吃到绿色菜以及买到想要品种的鲜花。 因此温室现在越建越多, 建温室的重要保 证参数就是植物的生长要素,即光、温度、湿度和 CO2,本论文就是论述如何 用 PLC 技术对温室进行控制。
一、确定控制系统方案
(一)控制对象
1. 温度
植物生长的温度是在一个范围内, 虽然最适宜温度植物长得很快, 但是往往 因为消耗有机物太多, 会出现长的细长现象。 控制系统的控制温度范围要略低于 植物最适宜温度。
2. 湿度
空气的湿度太大会造成之无病虫害, 但是要保证空气湿度低的同时要有充足 的水分由土壤供给植物。
3. 光照
植物生长需要光照, 这样才能进行光合作用, 不同植物的光补偿点不同, 因 此事宜温度范围也不同, 同时人们可以控制光照时间和强度来控制植物的生长速 度。
4.CO2
植物生长需要光合作用,光合作用需要的一个物质是 CO2,植物的光合作 用随着 CO2的浓度增大而增强,但是浓度过高反而会抑制植物光合作用,因此 二氧化碳浓度的控制范围要与农作物相适应。
(二) PLC 控制系统
温室大棚智能控制系统设计
叠丑&日匿盈 Science&Technology Vision
科技视界 圈丑翘
温室大棚智能控制系统设计
王亭亭李雪颖周亚罗
(河北联合大学电气工程学院。河北唐山063000)
【摘要】基于单片机的温室大棚智能控制系统,以单片机为核心,通过各类传感器对温室内各项指标进行实时采集,通过单片机进行分析 处理及自动调节控制,可以消除环境中温度,湿度,光照等因素对生物生长的限制,使得生物能在最佳状态下生长,提高质量和产量、此外,本系 统还增加了蓝牙装置,便于用户完成远程监控。
【关键词】温室大棚;传感器;单片机;蓝牙
O引言
国外的温室设施己经发展到比较完备的程度.并形成了一定的标 准,但是价格昂贵,缺乏与我国气候特点相适应的测控软件,不利于在 我国广泛地推广。当今我国对大棚温度、湿度、二氧化碳含量.光照强 度的检测与控制都采用人工管理,存在测控不及时、测控精度低、劳动 强度大等弊端,大大增加了成本.浪费人力资源.而且很难达到预期的 效果。温室大棚智能温湿度控制系统由传感器系统、单片机、温室内的 执行机构及无线收发模块构成.该系统可完成对温室大棚生产过程中 的参数在线高精度测量.而且能实现棚内调温、灌溉等的智能控制或 报警提示,实现了温室大棚自动实现保湿、通风和光照调节。该系统具 有价格低廉、使用方便等优点。便于在我国推广。
1系统总体设计
本文设计的无线温室大棚智能控制系统….是由STCl2C5A60S2单片机为核心的下位机和计算机为核心的上位机组成的.下位机由相 应的传感器系统、单片机、执行机构等部分组成。传感器系统是温室系 统的输入检测模块.检测各种环境参数并将其转换成温室控制所需要 的电信号.整个系统的测量精度、控制精度与传感器获得信息的准确 性直接相关I。。单片机系统主要包括主控模块、数据采集模块、输出控 制模块、数据显示模块和数据通信模块,具有温室数据的采集、存储、 显示、上传等功能,可实现温室现场资源的统一管理。执行机构主要包 括加热阀、加湿阀、风电机、自动卷帘等设备,单片机控制执行机构可 以启动加温、降温、遮阳补光等调控设备,调控温室内的气候环境。上 位机可实现大棚远程控制.也可对大棚数据统计分析。
该系统整体结构如下:
j兰兰兰竺兰兰}=2刊b::恫 |垄璺竺竺F=—割爱l 口 厂]蘼蓁}峥斟 —而i赢订——d惠l d U 壶豆葺苗d 童
2系统具体模块设计
2.1单片机
2.1.1STCl2C5A60S2系列单片机主要性能
STCl2C5A60S2单片机作为温室大棚智能控制系统的核心单片 机Ⅲ,是以805I单片机为内核.同时在8051单片机的基础上又增加了 很多功能。单片机内部集成了MAX810专用复位电路.并且增加了P4口的功能,P4口地址在COH。支持的外部中断模式有下降沿唤醒、低 电平唤醒、内部专用掉电唤醒。计时器唤醒等。而且在单片机内部集成 MD转换功能,转换口在P1口,有8路10位高速A/D转换器,速度可 以达到25万次每秒,具有转换速度高、低功耗的特点.作为本系统的 主控芯片非常合适,
2.2传感器 2.2.1温湿度传感器
DHTll数字温湿度传感器是一款含有已校准数字信号输出的温 湿度复合传感器。DHTl l通过SCK线、DATA线和单片机串行通信。 其中SCK为时钟线.DATA为数据线,时钟线SCK用于微处理器和 SHTl 1之间通信同步。DATA用于微处理器与DHTl l之间的通讯和 同步。采用单总线数据格式。一次通讯时间4ms左右,一次完整的数据 传输为40bit,数据分小数部分和整数部分,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8biI 温度小数数据+8bit校验和本系统中.当空气中的温湿度高于或低于 所设定的值时,红色指示灯亮.当温湿度过高时,步进电机工作,打开 天窗:当温湿度过低时,进行补充。符合标准后,红色发光二极管熄灭。 2.2.2土壤湿度传感器
YL-69型土壤湿度传感器是一种简易的水分传感器.可用于检测 土壤的水分,当土壤缺水时,模块输出一个高电平.反之输出低电平。 本系统中.YL一69土壤湿度传感器工作时电源指示灯为红色,当土壤 湿度低于设定范围时.绿色发光二极管亮.同时继电器动作.此时只要 把土壤湿度传感器浸人水中.湿度达标,LED灯熄灭.
2.2.3光照强度传感器
GY一30光照强度传感器采用ROHM原装的BHl750FVI芯片以 及两线式串行总线接口的集成电路.这种集成电路可以根据收集的光 线强度数据来调整液晶或者键盘背景灯的亮度.利用它的高分辨率可 以探测较大范围的光强度变化。本系统中.当光照没有达到设定值时. 白色发光二极管亮,需要补光:光照达标后,白色发光二极管熄灭。
图2光照强度传感器
2.2.4烟雾传感器
MQ一2气体传感器对液化气、丙烷、氢气的灵敏度高。对天然气和 其它可燃蒸汽的检测亦很理想。这种传感器可检测多种可燃性气体. 是一款适合多种应用的低成本传感器。环境中c01浓度越大.电导率 越大,MQ一2型烟雾传感器输出电阻越低。在实验中,当MQ一2烟雾传 感器检测到CO:浓度不符合所设定的范围时.红色发光二极管亮.需 要讲行调节.
图3烟雾传感器
医赡 旧雾传墨器
2.3蓝牙模块
蓝牙是一种无线电技术,利用蓝牙技术能够有效地简化通信终 端设备之间的通信,从而使数据传输变得更加迅速高效.其传输速率 为1Mb/S。本系统采用HC一06蓝牙模块,该模块内置(下转第72页)
※基金项目:河北省大学生创新创业训练计划项目“大棚基地温湿度自动控制及灌溉系统”(201310081028)。
作者简介:王亭亭(1991一),女,河北联合大学2011级电气工程及其自动化专业学生。
李雪颖(199}_),女,河北联合大学2011级电气工程及其自动化专业学生。
通讯作者:周亚罗(1982_),女,汉族.硕士,河北联合大学,讲师.研究方向为电子技术与应用,
44I科技视界science&Techn。1。gy Visi。n
荜 万方数据
墨丑[口臣翟 Science&Technology Vision 科技视界
n啪 ‘L卅 n瞒 ●‘椭 n--㈣
.n钎 l“
2札_ in嘲 ;n崩 ●t蚶 札崩 ●^氍
帆嫩 Ⅷ
㈣ ㈣ ㈣ 一 幢啪
‘t埘
t.I竹t
jn啪
:
j“
=n蝴
j…
㈣
¨●∞
一
●^蚴
㈣
㈣j
图6抛光数据
方法,只要定期对抛光机进行调整验证.才能更好的提升曲轴的加工
质量及FTQ。e
【参考文献】
[1]赵东洋,王光.曲轴抛光机的研究与改进们.科学论坛,2014(7). …∑A:产众疋:广
[2]Supfirta 720/3一NC使用说明(z1.2011.
[3]高速随动数控曲轴磨削原理及若干关键技术研究叨.武汉理工大学学报, 2007.
《上接第44页)2.4GHz天线,功率可调。灵敏度可达80dBm,满足系统 要求。
2.4液晶显示模块
Nokia5110液晶显示器采用LPH7366模块.具有很多的特点: 84x48的点阵LCD.可以显示4行汉字.采用串行接口与主处理器进 行通信,包括电源和地在内的信号线仅有9条。支持多种串行通信协 议,传输速率高达4Mbps,可全速写入显示数据,无等待时间。
3软件设计
本系统采用c语言模块化编程方式.将系统的整体功能分为不同 的模块,各个模块单独设计、编程、调试、完成之后进行系统的总体联
调。本系统由主程序,系统初始化、信号采集、显示、控制、通信、报警、 按键扫描等子程序组成.
主程序流程图如下:
图4程序流程图
72I科技视界science&Techn。1。gy Visi。n 4小结
[责任编辑:曹明明]
该系统能够实现对温度、湿度、光照量等环境参数的采集,并通过 单片机进行相应的控制,创造出适合作物生长的最佳环境。远程通信 实现了温室大棚现场采集端和远程控制端的相互通信.使温室大棚的 管理更加趋于现代化。该系统功耗低、操作简单、扩展能力强,具有广 阔的市场应用前景。e
【参考文献】
[1]孙凯.基于单片机的智能温室控制系统的设计叽自动化技术与应用,2008,27渤:101-103.
[2]褚向前,朱武.温室温度多传感器数据融合们.农机化研究,2008(4):180-185. [3】张毅刚.单片机原理及应用【M】.北京:高等教育出版社2003.
【责任编辑:薛俊歌]
万方数据
温室大棚智能控制系统设计
作者:王亭亭 , 李雪颖 , 周亚罗
作者单位:河北联合大学电气工程学院,河北唐山,063000
刊名:
科技视界
英文刊名:Science&Technology Vision
年,卷(期):2015(9)
1. 孙凯 基于单片机的智能温室控制系统的设计 [期刊论文]-自动化技术与应用 2008(8)
2. 褚向前,朱武 温室温度多传感器数据融合 [期刊论文]-农机化研究 2008(4)
3. 张毅刚 单片机原理及应用 2003
引用本文格式:王亭亭 . 李雪颖 . 周亚罗 温室大棚智能控制系统设计 [期刊论文]-科技视界 2015(9)
智能温室控制系统设计
单片机开发与设计工程师考试文档
学校 :湖南人文科技学院
题目 :智能温室控制系统设计
姓名 : 杨情红 孙静
学号 : 07409202 07409224
日期 :2010年 6月 27日
智能温室控制技术是现代农业技术研究的重要内容 , 通过对温室内外监测数据的分 析 , 结合作物生长发育的规律 , 控制有关设备 , 实现对温室要素的调控 , 达到作物优质、 高 产、高效的栽培目的。本文通过对温室控制技术的研究 , 设计一种温室智能控制系统。 该应用系统采用分布式的系统结构方式 , 以 PC 机为上位机 , 完成数据处理、参数设置等 辅助功能 ; 采用 MCS-51单片机为下位机 , 完成全部控制功能 , 下位机可脱离上位机独立 工作;可以设置温度值或湿度值的范围,可以自动、制冷、加热、光照、加湿。 关键词:单片机;温室控制; LED 数码管; 8255A 芯片; STC89C52;矩阵键盘;复位 电路
设计要求 ................................................................. 1 1设计方案 ................................................................ 1
2总体方案设计原理 ........................................................ 2
3 模块设计 .............................................................. 4 3.1STC89C52........................................................ 4 3.2 8255A 芯片 ...................................................... 5 3.3 矩阵键盘 . ........................................................ 6 3.4 LED 数码管电路 .................................................. 6
3.5 复位电路 . ........................................................ 7
4 编程调试下载 .......................................................... 7
5系统功能测试与整体指标 .................................................. 9 6元器件及仪器设备明细表 .................................................. 9 参考文献 ................................................................ 10 附录一:系统电路图 ...................................................... 11 附录二:程序 ............................................................ 11
智能温室控制系统设计
设计要求
利用单片机作为控制核心,完成一个智能空调控制系统。具体要求如下:
(1) 设置自动、制冷、加热、光照、加湿五种模式,通过一个模式按键进行模式切换
(2) 设置 2个按键,分别用来增加或减少温度值的设置
(3) 能实现温度设定, 最高温度限制为 40℃, 最低温度限制为 16℃, 温度调整范围为 1℃
(4) 可通过电脑进行远程设置
(5) 可通过电脑对空调进行远程控制开关机
1设计方案
STC89C52单片机系统为核心来对温度、湿度进行实时控制和巡检。各检测单元能 独立完成各自功能,并根据主控机的指令对温度进行实时设置。测量结果不仅能在本地 储存和显示,而且可通过 RS-485总线及通信协议将采集的数据传送到主控机。以便进 行进一步的分析、存档、处理。主控机负责控制指令的发送,主控机与各从机之间能够 相互联系、相互协调,从而达到系统整体统一和谐的控制效果。采用 STC89C52控制 8255A 芯片, 通过单片机键盘和 PC 机设置的温度值或湿度值, 通过数码管来显示出来。 四种模式用一个模式按键来切换;用 3位 LED 数码管以串口传送数据实现温度或湿度 和模式显示。
原理框图如图 1所示:
图 1系统方框图
2总体方案设计原理
本次课题采用 STC89C52控制 8255A 芯片, 通过单片机矩阵键盘和 PC 机设置的温 度值或湿度值, 通过数码管来显示出来。 四种模式用一个模式按键来切换。 用 3位 LED 数码管以串口传送数据实现温度和模式显示。
系统软件工作流程图如下:
图 2 系统软件工作流程图 键盘扫描函数的流程图如下:
图 3 键盘扫描函数工作流程图
3 模块设计
本课题所用的模块有 STC89C52、 8255A 芯片、矩阵键盘、 LED 数码管电路、复位电路。 3.1 STC89C52
STC89C52作为主控芯片, 通过可编程并行口 8255A 芯片和单片机上的矩阵键盘的 输入来设置温度或湿度的值并通过 LED 数码管来显示出来。如图 4所示:
图 4 STC89C52图
3.2 8255A芯片
8255A 芯片通过其引脚 PA 0~ PA 3, PB 0~ PB 3, PC 0~ PC 3来锁定键盘的按键和 数码管的选择和显示。 原理图如图 5所示:
图 5 8255A芯片图
3.3矩阵键盘
通过键盘来设置, 再另外设置 2个按键, 分别用来增加或减少温度或湿度值的设置。 在这里 S1键是调节模式键, S5和 S9键分别是增加和减少温度值或湿度值的。电路如 图 6示:
图 6 矩阵键盘电路图
3.4LED 数码管电路
LED 数码管来显示温度或湿度的设置值和所在的模式。电路如图 7示:
图 7 LED数码管电路图
3.5复位电路
系统复位。电路如图 8示:
图 8 复位电路图
4 编程调试下载
本次课题采用 C 语言编程,使用 keil 编译器,调试程序分以下几个步骤进行: 1、先进行人工检查,即静态检查。在写好程序以后,对纸面上的程序进行人工检 查。为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:应当采用结构 化程序方法编程,以增加可读性; 2尽可能多加注释,以帮助理解每段程序的作用; 3在编写复杂的程序时不要将全部语句都写在 main 函数中,而要多利用函数,用一个函 数来实现一个单独的功能。这样既易于阅读也便于调试,各函数之间除用参数传递数据 这一渠道以外,数据间尽量少出现耦合关系,便于分别检查和处理。
2、在人工检查无误后,进行上机调试。在编译时给出语法错误的信息,可以根据 提示的信息具体找出程序中出错之处并改正之。 应当注意的是有时提示的出错并不是真 正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。有时提示出错 的类型并非绝对准确,由于出错的情况繁多各种错误互有关联,因此要善于分析,找出 真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。如果系统提示的出错信息 多,应当从上到下一一改正。有时显示出一大片出错信息往往使人感到问题严重,无从 下手。其实可能只有一二个错误。在改正语法错误后,程序经过连接就得到可执行的目 标程序。
3、下载:本次设计所使用的是 STC-ISP V35单片机在线下载软件,设置完该软件 的想关参数后, 将 keil 成功编译后得到的 .hex 文件通过该软件烧写入单片机中, 下载时, 应注意先关掉单片机电源, 在 STC-ISP V35提示 “正在尝试与 MCU/单片机握手连接 .. ” 时打开电源,则可将 .hex 文件成功烧入单片机中,继而看到实验的初始值。
4、按下 S1键,可以进行模式的切换,模式 1-5分别对应自动、制冷、加热、光照、 加湿五种模式, 按下 S5和 S9分别可以增加和减少温度值或湿度值, 其范围是 16到 40。
5、通过 PC 机远程设置和开、关机。打开串口调试程序,初始化设置端口号为 COM3, 波特率为 2400,数据位为 8位,停止位为 1位,检验位为 None ;打开串口,输入要设 置的数值, 采用按十六进制显示或发送, 按下发送, 就可以看到 LED 数码管上的变化了。
5系统功能测试与整体指标
表格 1 系统测试结果
6元器件及仪器设备明细表
表格 2 仪器清单
参考文献
[1] 朱定华 , 戴汝平 . 单片微机原理与应用 .(M ) 北京 :清华大学出版社 , 2003
[2] 张小梅 , 陆俊 , 彭冰沁 , 刘宏 . 嵌入式智能家居控制系统的设计与实现 [J]. 微计算 机信息 , 2007, 1-2: pp.55-56.
[3]李朝青 . 单片机原理及接口技术(简明修订版) . 杭州:北京航空航天大学出版社, 1998
[4] 李广弟 . 单片机基础[M]. 北京:北京航空航天大学出版社, 1994
[5]阎石 . 数字电子技术基础(第三版) . 北京:高等教育出版社, 1989
附录一:系统电路图
附录二:程序
#include #include #define uint unsigned int #define uchar unsigned char #define PA XBYTE[0xD1FF] /*PA口地址 */ #define PB XBYTE[0xD2FF] /*PB口地址 */ #define PC XBYTE[0xD5FF] /*PC口地址 */ #define CON XBYTE[0xD7FF] /*控制字地址 */ void display(uchar m,uchar n); uchar tem,mode,flag,temp; uchar const code table[10]={ 0xA0, /*0*/ 0xBB, /*1*/ 0x62, /*2*/ 0x2A, /*3 */ 0x39, /*4*/ 0x2C, /*5 */ 0x24, /*6*/ 0xBA, /*7*/ 0x20, /*8*/ 0x28, /*9 */ }; void delay(uchar z) //延时约 Zms { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void scan_keyboard() { uchar kdata; PA=0x01; kdata=PC; if(kdata==0x01) { delay(5); kdata=PC; if(kdata==0x01) { while(PC) display(tem,mode); mode++; if(mode>5) mode=1; } } if(kdata==0x02) { delay(5); kdata=PC; if(kdata==0x02) { while(PC) display(tem,mode); if(tem<> tem++; } } if(kdata==0x04) { delay(5); kdata=PC; if(kdata==0x04) { while(PC) display(tem,mode); if(tem>15) tem--; } } } void display(uchar m,uchar n) { CON=0x89; PA=0xFF; PB=0xFF; PA=0xFE; PB=table[m/10]; delay(5); PB=0xFF; PA=0xFD; PB=table[m%10]; delay(5); PB=0xFF; PA=0xEF; PB=table[n]; delay(5); PB=0xFF; } void init() { TMOD=0x20; TR1=1; // ET1=1; TH1=0xF3; TL1=0xF3; REN=1; SM0=0; SM1=1; ES=1; EA=1; RI=0; TI=0; } void main(void) { mode=1; tem=20; init(); while(1) { if(flag==1) { flag=0; if((temp<=40)&&(temp>=16)) //调整温度 tem=temp; if((temp>=1)&&(temp<=5)) 调整模式="" mode="">=5))> if(temp==0) //关机 break; } display(tem,mode); scan_keyboard(); } } void ISR_uart() interrupt 4 { if(RI==1) RI=0; temp=SBUF; flag=1; SBUF=temp; //回发给上位机 while(!TI); TI=0; } 大连交通大学2010届本科生毕业设计(论文) 摘 要 本课题运用STC89C52单片机、DHT11温湿度传感器、继电器和M4QA045电机、LCD1602液晶显示模块等器件,设计了湿度报警电路、M4QA045电机驱动电路、电热器驱动电路,实现了温室大棚中温度、 湿度自动控制与报警系统,解决了温室大棚人工控制测试的温度及湿度误差大,且费时费力、效率 低等问题,促进了农作物的生长,从而提高温室大棚的产量,带来很好的经济效益和社会效益。 STC89C52单片机 DHT11温湿度传感器 继电器 M4QA045电机 温室大棚自动控制与报警系统 1 大连交通大学2010届本科生毕业设计(论文) ABSTRACT This subject had achieved the temperature and humidity control and alarm system in the greenhouse and had designed humidity measurement and alarm circuit, M4QA045 engine circuit and heating circuit by using STC89C52 SCM, DHT11 temperature and humidity sensor,LCD1602 and M4QA045 motor and so on. It solved the problem of low efficiency and measurement errors of temperature and humidity of manual control, it promoted the growth of crops, thereby increasing the yield of greenhouse and bringing good economic and social benefits. Keywords: STC89C52 SCM DHT11 temperature and humidity sensor electric relays M4QA045 motor control and alarm system greenhouse 2 大连交通大学2010届本科生毕业设计(论文) 第一章 绪论1 1.1选题背景 ............................................................. 1 1.2选题的现实意义 ....................................................... 2 第二章 系统硬件电路的设计3 2.1系统硬件构成及其测控原理 ............................................. 3 2.2单片机的选择 ......................................................... 4 2.2.1单片机概述 ..................................................... 4 2.2.2 STC89C52单片机的引脚说明 ...................................... 5 2.2.3 STC89C52单片机最小系统 ........................................ 7 2.3 显示模块的选择 ...................................................... 8 2.3.1 LCD1602概述 ................................................... 8 2.3.2 LCD1602基本参数及引脚功能 ..................................... 9 2.4 温湿度传感器的选择 ................................................. 12 2.4.1 DHT11数字温湿度传感器概述 .................................... 12 2.4.2 DHT11数字温湿度传感器性能说明 ................................ 12 2.4.3 DHT11数字温湿度传感器使用注意事项 ............................ 14 2.5 温度调节模块设计 ................................................... 17 2.6 湿度报警模块设计 ................................................... 15 第三章 温室大棚控制系统软件设计18 3.1 Keil C 软件概述 .................................................... 18 3.2 温室大棚控制系统程序设计 ........................................... 20 3.2.1整体系统框图 .................................................. 20 3.2.2 LCD1602显示模块程序设计 ...................................... 21 3.2.3 PWM程序设计 .................................................. 22 第四章 调试中遇到的问题23 结 论25 谢 辞25 参考文献26 附 录27 3 大连交通大学2010届本科生毕业设计(论文) 第一章 绪论 1.1选题背景 在人类的生活环境中,温湿度扮演着极其重要的角色。无论你生活在哪里,从事什 么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展与是否能 掌握温湿度有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说 几乎80%的工业部门都不得不考虑着温湿度的因素。温湿度不但对于工业如此重要,在 农业生产中温度的监测与控制也有着十分重要的意义。我国人多地少,人均占有耕地面 积更少。因此,要改变这种局面,只靠增加耕地面积是不可能实现的,因此我们要另辟 蹊径,想办法来提高单位亩产量。温室大棚技术就是其中一个好的方法。温室大棚就是 建立一个模拟适合生物生长的气候条件,创造一个人工气象环境,来消除温度对生物生 长的约束。而且,温室大棚能克服环境对生物生长的限制,能使不同的农作物在不适合 生长的季节产出,使季节对农作物的生长影响不大,部分或完全摆脱了农作物对自然条 件的依赖。由于温室大棚能带来可观的经济效益,所以温室大棚技术越来越普及,并且 已成为农民增收的主要手段。 随着大棚技术的普及,温室大棚数量不断增多,温室大棚的温湿度控制便成为一个 十分重要的课题。传统的温湿度控制是在温室大棚内部悬挂温度计和湿度计,通过读取 温度值和湿度值了解实际温湿度度,然后根据现有温湿度与额定温湿度进行比较,看温 湿度是否过高或过低,然后进行相应的通风或者洒水。这些操作都是在人工情况下进行 的,耗费了大量的人力物力。现在,随着国家经济的快速发展,农业产业规模的不断提 高,农产品在大棚中培育的品种越来越多,对于数量较多的大棚,传统的温度控制措施 就显现出很大的局限性。温室大棚的建设对温湿度检测与控制技术也提出了越来越高的 要求。 今天,我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服 务。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应 用中独占鳌头。时下,家用电器和办公设备的智能化、遥控化、模糊控制化已成为世界 潮流,而这些高性能无一不是靠单片机来实现的。采用单片机来对温湿度进行控制,不 仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温湿度的技术 指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、 造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器 件,尤其在日常生活中也发挥越来越大的作用。因此,单片机对温湿度的控制问题是一 个工农业生产中经常会遇到的问题。因此,本课题围绕基于单片机的温室大棚控制系统 展开了应用研究工作。 1 大连交通大学2010届本科生毕业设计(论文) 1.2选题的现实意义 随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动 监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统 的温湿度控制措施.但是,目前应用于温室大棚的温湿度检测系统大多采用模拟温度传 感器、多路模拟开关、A/D转换器及单片机等组成的传输系统。这种温湿度度采集系统 需要在温室大棚内布置大量的测温电缆,才能把现场传感器的信号送到采集卡上,安装 和拆卸繁杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也 比较大。为了克服这些缺点,本文参考了一种基于单片机并采用数字化单总线技术的温 度测控系统应用于温室大棚的的设计方案闭,根据实用者提出的问题进行了改进,提出 了一种新的设计方案,在单总线上传输数字信号。 本文介绍的温湿度测控系统就是基于单总线技术及其器件组建的。该系统能够对大 棚内的温湿度进行采集,利用温湿度传感器将温室大棚内温湿度的变化,变换成数字量, 其值由单片机处理,最后由单片机去控制液晶显示器,显示温室大棚内的实际温湿度, 同时通过与预设量比较,对大棚内的温度进行自动调节,如果超过我们预先设定的湿度 限制,湿度报警模块将进行报警。这种设计方案实现了温湿度实时测量、显示和控制。 该系统抗干扰能力强,具有较高的测量精度,不需要任何固定网络的支持,安装简单方 便,性价比高,可维护性好。这种温湿度测控系统可应用于农业生产的温室大棚,实现 对温度的实时控制,是一种比较智能、经济的方案,适于大力推广,以便促进农作物的 生长,从而提高温室大棚的亩产量,以带来很好的经济效益和社会效益。 2 大连交通大学2010届本科生毕业设计(论文) 第二章 系统硬件电路的设计 2.1系统硬件构成及其测控原理 DHT11温湿度检测模块 LCD1602显示模块 复位模块 STC89C52温度调节模块 晶振模块 湿度报警模块 图2-1 系统整体框图 图2-2 系统整体电路图 本系统由如图2-1、图2-2所示,DHT11温湿度传感器采集数据,STC89C52单片机进行数据处理,LCD1602显示模块显示温湿度。由PWM控制温度调节模块进行温度调 3 大连交通大学2010届本科生毕业设计(论文) 节,当温度小于18?时,M4QA045电机停止运转,当温室大于28?时,M4QA045电 机全速运转,当温度处于18?和28?之间时,通过PWM控制M4QA045电机转速。由STC89C52单片机输出高低电平控制湿度报警模块,当湿度大于65%RH或者小于45%RH时,STC89C52单片机输出高电平,湿度报警模块报警,当湿度处于45%RH和 65%RH之间时,STC89C52单片机输出低电平,湿度报警模块关闭。 2.2单片机的选择 2.2.1单片机概述 单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子 计算机。它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块 芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此, 适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于这一原因, 国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用 “单片机”这一名称。 1、单片机的主要特点有: (1) 具有优异的性能价格比。 (2) 集成度高、体积小、可靠性高。 (3) 控制功能强。 (4) 低电压,低功耗。 2、单片机的主要应用领域: (1) 工业控制 (2) 仪器仪表 (3) 电信技术 (4) 办公自动化和计算机外部设备 (5) 汽车和节能 (6) 制导和导航 (7) 商用产品 (8) 家用电器 因此,在本课题设计的温湿度测控系统中,采用单片机来实现。在单片机选用方面, 由于STC89系列单片机与MCS-51系列单片机兼容,所以,本系统中选用STC89C52单片机。 4 大连交通大学2010届本科生毕业设计(论文) 2.2.2 STC89C52单片机的引脚说明 图2-3 STC89C52单片机引脚图 芯片引脚如图2-3所示: VCC : 电源。 GND: 地。 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器 时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要 外部上拉电阻。 P1口: 是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口 使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1所示。在flash编程和校验时,P1口接收低8位地址字节。 P2口:P2口是一个具有内部上拉电阻的8 位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输 入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 5 大连交通大学2010届本科生毕业设计(论文) 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输 入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如上表2-1所示。在flash编程和校验时,P3口也接收一些控制信号。 RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。 看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器 或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数 据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻 址,寻址地址为:2000H~FFFFH。 数据存储器:STC89C52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。 当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR) 定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件 6 大连交通大学2010届本科生毕业设计(论文) 计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。工作模式 由T2CON中的相关位选择。定时器2 有2 个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12 个晶振周期构成,因此,计数频率就是晶振频率的1/12。 中断:STC89C52 有6个中断源如表2-2所示:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特 殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0[1]。 表2-2 中断控制寄存器 符号 位地址 功能 EA IE.7 中断总允许控制位。EA=0,中断总禁止;EA=1,各中断由 各自的控制位设定 - IE.6 预留 ET2 IE.5 定时器2中断允许控制位 ES IE.4 串行口中断允许控制位 ET1 IE.3 定时器1中断允许控制位 EX1 IE.2 外部中断1允许控制位 ET0 IE.1 定时器0中断允许控制位 EX0 IE.0 外部中断1允许控制位 2.2.3 STC89C52单片机最小系统 图2-4 晶振电路 7 大连交通大学2010届本科生毕业设计(论文) 图2-5 复位电路 如图2-4、图2-5所示,复位电路和时钟电路是维持单片机最小系统运行的基本模 块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统 中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技 术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、 造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工 业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大[2]。 2.3 显示模块的选择 2.3.1 LCD1602概述 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,如图2-5所示,目前常用16×1,16×2,20×2和40×2行等模块。现在的字符型液晶模块 已经是单片机应用设计中最常用的信息显示器件了。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光 功能[3]。 8 大连交通大学2010届本科生毕业设计(论文) 图2-6 LCD1602实物图 2.3.2 LCD1602基本参数及引脚功能 1602LCD主要技术参数: 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 引脚功能如表2-3所示: 表2-3 引脚功能 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最 高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可 以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 9 大连交通大学2010届本科生毕业设计(论文) 表2-4 LCD1602控制命令 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 置输入模式 I/3 0 0 0 0 0 0 0 1 S D 4 显示开/关控制 0 0 0 0 0 0 1 D C B 光标或字符移位 S/R/5 0 0 0 0 0 1 * * C L 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到CGRAM或DDRAM) 1 0 要写的数据内容 11 从CGRAM或DDRAM读数 1 1 读出的数据内容 LCD1602的读写操作,如图2-7、图2-8所示、屏幕和光标的操作都是通过指令编 程来实现的。 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平 表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示 5x10的点阵字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收 命令或者数据,如果为低电平表示不忙。 指令10:写数据。 10 大连交通大学2010届本科生毕业设计(论文) 指令11:读数据。 图2-7 读操作时序 图2-8 写操作时序 图2-9 LCD1602内部显示地址 如图2-9所示,第二行第一个字符的地址是40H,那么是否直接写入40H就可以将 11 大连交通大学2010届本科生毕业设计(论文) 光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7 恒定为高电平1所以实际写入的数据应该是01000000B(40H) +10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在 液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶 模块是否处于忙的状态。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等, 每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H), 显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 1602LCD的一般初始化(复位)过程: (1)延时15mS (2)写指令38H(不检测忙信号) (3)延时5mS (4)写指令38H(不检测忙信号) (5)延时5mS (6)写指令38H(不检测忙信号) (7)以后每次写指令、读/写数据操作均需要检测忙信号 (8)写指令38H:显示模式设置 (9)写指令08H:显示关闭 (10)写指令01H:显示清屏 (11)写指令06H:显示光标移动设置 (12)写指令0CH:显示开及光标设置 2.4 温湿度传感器的选择 2.4.1 DHT11数字温湿度传感器概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它 应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越 的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高 等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的 形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单 线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离 可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针 单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。 2.4.2 DHT11数字温湿度传感器性能说明 12 大连交通大学2010届本科生毕业设计(论文) 表2-5 DHT11数字温湿度传感器性能 参数 条件 Min Typ Max 单位 湿度 分辨率 1 1 1 %RH 8 Bit 重复性 ?1 %RH 精度 25? ?4 %RH 0-50? ?5 %RH 互换性 可完全互换 量程范围 0? 30 90 %RH 25? 20 90 %RH 50? 20 80 %RH 响应时间 1/e(63%)25?,6 10 15 S 1m/s 空气 迟滞 ?1 %RH 长期稳定性 典型值 ?1 %RH/yr 温度 分辨率 1 1 1 ? 8 8 8 Bit 重复性 ?1 ? 精度 ?1 ?2 ? 量程范围 0 50 ? 响应时间 1/e(63%) 6 30 S 图2-10 典型应用电路 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的 上拉电阻。DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状 态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容, 用以去耦滤波。 DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时 13 大连交通大学2010届本科生毕业设计(论文) 间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为40bit,高位先出,数据格式:8bit湿度整数数据+8bit湿度小数数据,+8bi温度整数数据+8bit温度小数数据+8bit校验和 数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。 用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。 总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。 总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 测量分辨率分别为 8bit(温度)、8bit(湿度)。 2.4.3 DHT11数字温湿度传感器使用注意事项 表2-6 DHT11电气特性 参数 条件 min typ max 单位 供电 DC 3 5 5.5 V 供电电流 测量 0.5 2.5 mA 平均 0.2 1 mA 待机 100 150 uA 采样周期 秒 1 次 DHT11电器特性如表2-6所示,超出建议的工作范围可能导致高达3%RH的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。 电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可 能导致测量值漂移和灵敏度下降。在一个纯净的环境中,污染物质会缓慢地释放出去。 下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻 底损坏。 14 大连交通大学2010届本科生毕业设计(论文) 置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校 准时的状态。在50-60?和< 10%rh的湿度条件下保持2="" 小时(烘干);随后在20-30?和="">70%RH的湿度条件下保持 5小时以上。 气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿 度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装 时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为 降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出 一道缝隙。 长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。 DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。 手动焊接,在最高260?的温度条件下接触时间须少于10秒。 (1)避免结露情况下使用。 (2)长期保存条件:温度10-40?,湿度60%以下。 2.5 温度调节模块设计 1、方案一 图2-12 方案一电路图 如图2-12所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q1放大,光耦导通,光耦输出电流经Q2放大后,使双向可控硅导通,M4QA045电机运转,当PWM端输入低电平时,双向可控硅控制端输入电流为0,交流电过零以后,双向可控硅 截止,M4QA045电机停止运转[4]。 2、方案二 15 大连交通大学2010届本科生毕业设计(论文) 图2-13 方案二电路图 如图2-13所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q4放大,常开端5闭合,M4QA045电机运转,当PWM端输入低电平时,常开端5断开,M4QA045电机停止运转。 3、方案比较 方案一采用光耦隔离强电,方案二采用继电器隔离强电,但方案一没有实现强电与 直流源的隔离,且方案一环节复杂,计算难度大,过多的环节延长响应时间,从而影响 温度调整模块的性能,所以选择方案二[5]。 图2-14 电热器驱动电路 基于以上两个方案的分析,加热器驱动电路也同样选用继电器隔离,当温度低于 18?时,相应引脚输出高电平,电流经过三极管放大,继电器常开端闭合,电热器工作, 16 大连交通大学2010届本科生毕业设计(论文) 当温度高于23?时,相应引脚输出低电平,继电器常开端关闭,电热器不工作[6]。 2.6 湿度报警模块设计 图2-14 湿度报警模块电路图 如图2-14所示,由STC89C52单片机在BUZZER端输入信号控制湿度报警模块。当 湿度大于65%RH或者小于45%RH时,BUZZER端输入高电平,电流经Q3放大,使蜂鸣器工作;当湿度处于45%RH和65%RH之间时,BUZZER端输入低电平,蜂鸣器不工作[7]。 17 大连交通大学2010届本科生毕业设计(论文) 第三章 温室大棚控制系统软件设计 3.1 Keil C 软件概述 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少 使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语 言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试 器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。 运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不 使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也 会令你事半功倍。 Keil C51开发系统基本知识Keil C51开发系统基本知识: 1. 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学 易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软 件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开 发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起 经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标 板进行调试,也可以直接写入程序存贮器如EPROM中。 18 大连交通大学2010届本科生毕业设计(论文) 使用独立的Keil仿真器时,注意事项: *仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频 率的晶振。 *仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 *仿真芯片的31脚已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展 有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。 1、安装好了Keil软件以后,我们打开它。 2、 我们先新建一个工程文件,点击“Project->New Project?”菜单。 3、选择工程文件要存放的路径 ,输入工程文件名 xdch 最后单击保存。 4、在弹出的对话框中选择 CPU 厂商及型号。 5、选择好STC89C52芯片,接着点击确定,弹出对话框。 6、新建一个 C51 文件, 单击左上角的 New File,保存为DS18B20_4.C,(注意后缀名必须为.C),再单击“保存”。 7、存好后把此文件加入到工程中方法如下:用鼠标在 Source Group1 上单击右键, 然后再单击 Add Files to Group Source Group 1。 8、 选择要加入的文件, 找到 MAIN.C后, 单击 Add, 然后单击 Close。 9、在编辑框里输入代码。 10、生成 .hex 烧写文件,先单击Options for Target。 11、在下图中,我们单击 Output, 选中 Create HEX F,再单击“确定”。 以上是Keil软件的基本应用[8]。 19 大连交通大学2010届本科生毕业设计(论文) 3.2 温室大棚控制系统程序设计 3.2.1整体系统框图 单片机、LED1602初始化 DNT11数据采集 温湿度数据转换 N LCD1602温湿度数据显示 根据测得温度调整PWM占空比 根据测得湿度控制蜂鸣器 system_stop是否等于0? Y 结束 图4-1 系统整体框图 20 大连交通大学2010届本科生毕业设计(论文) 首先,初始化单片机设置中断,定义变量,然后初始化LCD1602显示模块,设置8 位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位, 清除屏幕显示。调用温湿度采集程序进行数据采集,经过数据转换程序,将十六进制转 换成十进制,将十进制数据输出到LCD1602显示模块进行显示,根据温度调整电机转速, 根据湿度判断是否报警,最后,进行新一轮的温湿度采集[9]。 3.2.2 LCD1602显示模块程序设计 LCD1602显示模块初始化 延时 数据转换十六进制?十进 制 是否在第一行显示数据? NY address = 0x80 + xaddress = 0xc0 + x 输入显示地址命令 延时 输入显示数据 结束 图4-2 显示程序框图 21 大连交通大学2010届本科生毕业设计(论文) 如图4-2,初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示,延时等待,将采集到 的温湿度数据进行转换,十六进制转换成十进制,然后,判断是否在第一行显示,输入 相应的地址数据,延时等待,输入需要显示的数据。 3.2.3 PWM程序设计 中断初始化,变量定义 开始定时器T0 等待中断 调用中断子程序 T0_number = T0_number > 1000 T0_number <> 输出0 图4-3 PWM程序框图 如图4-3所示,进行中断程序初始化,设置定时器T0中断时间为1ms,中断100次,即100ms作为一个脉冲周期,每中断一次,由变量T0_number进行计数,当变量T0_number大于100时,给变量T0_number赋值0,重新开始计数,当变量T0_number小于变量PWM_width_H时,输出高电平,当变量T0_number大于变量PWM_width_H时,输出低电平,以此控制脉宽[10]。 22 大连交通大学2010届本科生毕业设计(论文) 第四章 调试中遇到的问题 在软件的调试过程中,遇到的问题有很多,下面就几个比较突出的问题进行说明。 1)在对Keil C的使用时不知道怎么才能让它生成HEX文件,从而进行仿真,因为以前没有用过类似的软件,不会并且也不知道需要生成HEX文件,导致前期的工作很难进行 2 )因为用的是DHT11数字传感器,在编程过程中需要对所测得温度进行处理,而 且需要给定一个温度范围,建立一个温度与电机转速的数学模型,经过反复的计算、实 验才实现。 3)因为考虑到经济实用方面,所以在进行实物操作之前,采用proteus软件对程 序和硬件电路进行仿真,可是在仿真过程中,独立按键总是不灵敏,这需要对延迟时间 进行调整,而程序中设置的延迟时间总是不能够很符合实际操作,所以在这方面浪费了 大量的时间进行反复的操作和实验 4)在仿真过程中,因为用到的是LCD1602显示模块,这种显示模块是可以显示字 符的,并且这种模块本身带有字库,但事实仿真过程中,电路要求相对宽松,不需加上 拉电阻,而实际的电路调试过程需要加上拉电阻。 23 大连交通大学2010届本科生毕业设计(论文) 结 论 以上为毕业期间所设计的温室大棚控制控制系统,它经过多次修改和整理,可以满 足设计的基本要求。采用STC89C52单片机、DHT11数字温湿度传感器、LCD1602液晶显 示模块和M4QA045电机等器件设计温室大棚控制系统,实现温湿度采集、英文显示;温 度自动调节,湿度越限报警功能。 因为本人水平有限,此设计存在一定的问题。譬如系统抗干扰能力差,且没有实现 自动自动复位。由于使用的是单片机作为核心的控制元件,配合其它器件,使本温度控 制系统具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其 有很高的智能化水平。 24 大连交通大学2010届本科生毕业设计(论文) 谢 辞 经过这段时间的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业 设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以 及同学们的支持和帮助,想要完成这个设计是难以想象的。 在这里首先要感谢我的导师费继友教授。费教授平日里工作繁多,但在我做毕业设 计的每个阶段,从设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个 过程中都给予了我悉心的指导。他的治学严谨和科学研究的精神也是我永远学习的榜 样,并将积极影响我今后的学习和工作。 然后,还要感谢大学四年来所有的老师,为我们打下测控技术与仪器专业知识的基 础;同时还要感谢所有的同学以及研究生们,正是因为有了你们的支持和鼓励,此次毕 业设计才会顺利完成。 最后感谢母校—大连交通大学四年来对我的大力栽培。 25 大连交通大学2010届本科生毕业设计(论文) [1] 孙育才.MCS-51系列单片微型计算机及其应用(第四版) [M].南京:东南大学出版社,2004 [2] 康华光.电子技术基础-模拟部分(第四版)[M].北京:高等教育出版社,1999 [3] 康华光.电子技术基础-数字部分(第四版)[M].北京:高等教育出版社,1999 [4] 石来德.机械参数电测技术[M].上海:上海科学技术出版社,1981 [5] Ernest O.Doebelin. Measurement Systems: Application and Design [M].America: McGraw-HILL BOOK COMPANY,1976 [6] 曹继松.测试电路[M].上海:上海交通大学出版社,1995 [7] 谢自美.电子线路设计实验测试[M].武汉:华中科技大学出版社,2000 [8] 马靖善,秦玉平.C语言程序设计[M].北京:清华大学出版社,2005 [9] 赖麒文.8051 单片机 C语言开发环境实务与设计 [M].北京:科学出版社,2002 [10] 徐爱钧.智能化测量控制仪表原理与设计[M].北京:北京航空航天大学出版社,2004 26 大连交通大学2010届本科生毕业设计(论文) 附 录 #include #include #define LCD_DB P2 sbit DQ = P1^0; sbit BUZZER = P1^1; sbit PWM = P1^2; sbit LCD_RS = P1^4; sbit LCD_RW = P1^5; sbit LCD_E = P1^6; sbit HEAT = P1^7; void initial(void); void read_DHT11(void); void LCD_write_command(unsigned char com); void LCD_display_char(unsigned char x, unsigned char y, unsigned char dat); unsigned char read_DHT11_char(void); void control_temperature_humidity(void); void delay_xms(unsigned int time_xms); void delay_x10us(unsigned int time_x10us); unsigned char stop_system = 0; unsigned char lineOne[] = "TS(0-50): C"; unsigned char lineTwo[] = "HS(20-90): %RH"; unsigned int T0_number = 0, T1_number, PWM_width_H; unsigned char temperature_ten, temperature_one, humidity_ten, humidity_one; unsigned char temperature_H, temperature_L, humidity_H, humidity_L, checkData; void initial(void) { unsigned char i, j; 27 大连交通大学2010届本科生毕业设计(论文) TMOD = 0x11; //定时器0工作方式1,16位计数器;定时器1工作方式1,16位 计数器 TH1 = 0xFC; //定时器1溢出周期1ms,延时 TH1 = 0x66; TH0 = 0xFC; //定时器0中断周期1ms,PWM TL0 = 0x66; EA = 1; ET1 = 1; ET0 = 1; EX0 = 1; IT1 = 1; TR0 = 1; LCD_write_command(0x38); //设置8位格式,2行,5x7 LCD_write_command(0x0c); //设置整体显示,关闭光标,且不闪烁 LCD_write_command(0x06); //设置输入方式,增量不移位 LCD_write_command(0x01); //清屏 for (i = 0; i < 16;="" i++)=""> { LCD_display_char(i, 1, lineOne[i]); } for (j = 0; j < 16;="" j++)=""> { LCD_display_char(j, 2, lineTwo[j]); } LCD_display_char(14, 1, 0xDF); //显示 } void read_DHT11(void) { DQ = 0; delay_xms(18); 28 大连交通大学2010届本科生毕业设计(论文) DQ = 1; delay_x10us(2); if (DQ == 0) { while (DQ == 0); while (DQ == 1); humidity_H = read_DHT11_char(); humidity_L = read_DHT11_char(); temperature_H = read_DHT11_char(); temperature_L = read_DHT11_char(); } } unsigned char read_DHT11_char(void) { unsigned char i, temp_one, temp_two; for (i = 0; i < 8;="" i++)=""> { while (DQ == 0); delay_x10us(3); if (DQ == 0) { temp_one = 0; } else { temp_one = 1; } temp_two <= 1;="">=> temp_two |= temp_one; while(DQ == 1); } return temp_two; 29 大连交通大学2010届本科生毕业设计(论文) } void LCD_write_command(unsigned char com) { LCD_DB = com; LCD_RS = 0; LCD_RW = 0; LCD_E = 1; delay_xms(1); LCD_E = 0; delay_xms(5); } void LCD_display_char(unsigned char x, unsigned char y, unsigned char dat) { if (y == 1) { LCD_write_command(0x80 + x); } else { LCD_write_command(0xc0 + x); } LCD_DB = dat; LCD_RS = 1; LCD_RW = 0; LCD_E = 1; delay_xms(1); LCD_E = 0; delay_xms(5); } void LCD_display_DHT11(void) { 30 大连交通大学2010届本科生毕业设计(论文) temperature_ten = temperature_H / 10 + 0x30; temperature_one = temperature_H % 10 + 0x30; humidity_ten = humidity_H / 10 + 0x30; humidity_one = humidity_H % 10 + 0x30; LCD_display_char(12, 1, temperature_ten); LCD_display_char(13, 1, temperature_one); LCD_display_char(11, 2, humidity_ten); LCD_display_char(12, 2, humidity_one); } void control_temperature_humidity(void) { if (temperature_H > 28) //温度?转速 { PWM_width_H = 100; } else if (temperature_H < 18)=""> { PWM_width_H = 0; HEAT = 1; } else { if (temperature_H >= 23) { HEAT = 0; } PWM_width_H = (temperature_H - 18) * 10; } if (humidity_H > 65 || humidity_H < 45)="" 湿度?蜂鸣=""> { BUZZER = 1; } 31 大连交通大学2010届本科生毕业设计(论文) else { BUZZER = 0; } } void delay_xms(unsigned int time_xms) { T1_number = 0; TR1 = 1; while (1) { if (time_xms == T1_number) { break; } } TR1 = 0; } void delay_x10us(unsigned int time_x10us) { while (time_x10us--) { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 32 大连交通大学2010届本科生毕业设计(论文) _nop_(); } } void main(void) { initial(); while(1) { delay_xms(2000); read_DHT11(); LCD_display_DHT11(); control_temperature_humidity(); } } void INT_0(void) interrupt 0 { stop_system = 1; } void Timer_0(void) interrupt 1 { TH0 = 0xFC; //定时器0中断周期1ms,PWM TL0 = 0x66; T0_number++; if (T0_number > 100) { T0_number = 0; } else if (T0_number < pwm_width_h)=""> 33 大连交通大学2010届本科生毕业设计(论文) { PWM = 1; } else { PWM = 0; } } void Timer_1(void) interrupt 3 { TH1 = 0xFC; //定时器1溢出周期1ms,延时 TL1 = 0x66; T1_number++; } 34 江 汉 大 学 Design of greenhouse control system 本科毕业设计(论文) 温室大棚控制系统设计 学生: 院系: 物理与信息工程学院 指导教师: 2015 年 6 月 摘 要 可调控的温室大棚是现如今的全球设施农业的重要的一个组成部分。温室大棚可以在多变的的自然条件之下,为农作物的生长人为的去创造一个适合它们生长的环境。全球的温室种植业的实践经验表明:大力提高温室的智能控制和管理的水平可以充分的发挥设施农业的高效性。目前国内应用的温室大棚控制系统大多数都是从国外进口的,虽然这些产品技术含量非常高,但是价格相对来讲也是非常高的,这对于温室大棚系统控制技术普及到农民中间是非常不利的,我们缺少那种能够在农民中普及的常见的中小型低成本温室大棚控制系统。 本文所介绍的温室大棚控制系统旨在实现对温室大棚内的环境因素指标的控制,并且系统能将环境因素指标进行系统的分析,最后得出实时的环境监测结果,再通过手动的或者是智能的调节,使得温室大棚内的温度因素能够最有利于农作物的生长发育。本文将介绍如何在嵌入式的平台上,采用Boa 的Web 服务器控制技术,实现对温室大棚的管控。此次的设计将采用ARM9处理器、Linux 嵌入式系统、BOA Web 服务器、数据库和模拟温室大棚的控制界面等来实现。实现大棚内控制数据的数据库表、模拟大棚设备的开关控制,温度数据的实时显示和分析。 关键词: 温室大棚;控制系统;ARM9;BOA ;Linux Abstract The adjustable greenhouse is an important part of the global facilities agriculture.. The greenhouse can create a suitable environment for the growth of crops under the changeable natural conditions.. The experience of global greenhouse cultivation shows that: to improve the level of intelligent control and management of greenhouse can give full play to the efficiency of agricultural facilities. The current domestic application of the greenhouse control system are mostly imported from abroad, although these products technology content is very high, but prices relatively speaking is very high, which for greenhouse system control technology spread to the middle peasants is very unfavorable, we lack that popular with farmers in common in small low cost greenhouse control system. The greenhouse control system designed to achieve control of greenhouse environment factors, and the system can will environmental factor index system analysis, finally obtains the real-time environmental monitoring results, again by manual or intelligent regulation, the greenhouse temperature factors can be most conducive to crop growth and development. This paper will introduce how to control the greenhouse in the embedded platform, and use the Web Boa server to control technology.. The design will use ARM9 processor, Linux embedded system, Web BOA server, database and Simulation of greenhouse control interface, etc.. Database table of controlling data in greenhouse, the switch control of greenhouse equipment, and the real-time display and analysis of temperature data. Keywords: greenhouse;control system;ARM9;BOA ;Linux 目 录 摘 要 .................................................................................................................. II 第1章 绪论 ................................................................................................................. 2 1.1温室大棚控制系统的研究背景及目的 ......................................................... 2 1.2 国内外研究状况和相关技术领域已有的成果 ............................................ 3 1.2.1国内研究状况及已有的成果介绍 ...................................................... 3 1.2.2国外研究状况及成果 .......................................................................... 3 1.3本文要研究的主要内容 ................................................................................. 4 第2章 温室大棚控制系统的整体架构及要实现的功能 ......................................... 5 2.1温室大棚控制系统设计的总体架构: ......................................................... 5 图2-1 温室大棚控制系统的局部设计图 ........................................................... 5 2.2 温室大棚控制系统的功能 ............................................................................ 5 第3章 温室大棚控制系统的界面实现 ..................................................................... 7 3.1虚拟机的安装过程 ......................................................................................... 7 3.2 ARM92410硬件平台 . ................................................................................... 11 3.2.1 ARM简介 . .......................................................................................... 11 3.2.2 ARM9-2410 ARM嵌入式教学实验系统 ......................................... 12 2.1.3 S3c2410芯片介绍 ............................................................................. 14 3.3 Linux简介 . .................................................................................................... 14 3.3.1 Linux的发展概述 . ............................................................................. 14 3.3.2 Linux作为嵌入式操作系统的优势 . ................................................. 15 3.4 BOA的web 服务器 ............................................................................. 15 3.4.1 Boa的Web 服务器的概述及实现原理 . ........................................... 15 3.4.2 Boa Web服务器的移植 . .................................................................... 16 3.4.3登陆界面的实现 ................................................................................ 18 3.5 关于CGI 的概述 . ......................................................................................... 21 3.6数据库的移植 ............................................................................................... 21 3.6.1数据库的移植步骤 ............................................................................ 21 3.6.2打开查看数据库 ................................................................................ 22 图3-10数据库打开界面 .................................................................................... 23 第4章 温室大棚控制系统的电机模块的实现 ....................................................... 24 4.1直流电动机的 PWM 电路原理 . ................................................................. 24 4.2直流电动机的 PWM 等效电路 . .................................................................. 24 4.3开发平台中直流电机驱动的实现 ............................................................... 26 4.4程序分析 ....................................................................................................... 28 4.4.1Module 驱动程序: ........................................................................... 28 4.4.2 PWM控制程序 . ................................................................................. 32 4.5PWM 控制界面的实现 . ................................................................................. 34 4.5.1控制界面 ............................................................................................ 34 结 论 ................................................................................................................. 39 致 谢 ................................................................................................................. 40 参考文献 ..................................................................................................................... 40 第1章 绪论 1.1温室大棚控制系统的研究背景及目的 到了2015年,我国的经济飞速增长,人口数也不断地增加,然而由于环境问题的日益严重如土地沙化、认为开发等,我们的耕地面积正在不断的减少,由此,我们需要在原有的耕地之上加大我们的产量来满足我们的社会需求,因此我们需要向现代化高精尖的设施农业技术转型。设施农业的定义——即将农业的技术控制手段,运用到农业生产上,改善自然生态环境,获得植物最佳的生长状态的方法。也可以说成是,人为地控制环境因素来获取植物最适宜的生长条件从而获得最大的经济效益的方式;是低投入、高产出、科技含量高的农业生产方式。要知道,在农业生产中,光、温、水、气等对植物的生长发育的影响极其之大,为了找到最为接近理想化的植物生长环境,设施农业具有关键性的作用。如今的科学计算机技术、互联网技术飞速的发展,我们应当将这些技术运用到我们的温室设计之中去。温室大棚控制系统作为现代化的工程技术和生物技术的集合体,其作用涵盖了生活的方方面面,如环境、自动控制、建筑、管理、栽培等多个领域、多个市场之中。基于强大的综合国力以及工业、农业、生物技术、信息技术和高新技术产业应运而生了我们的温室大棚控制系统的设计。作为农作物生产车间的温室,它可以为作物提供最佳的环境因素,避免了环境和气候变化对农作物的影响。温室大棚养植技术在国内外广泛的实践经验表明,如今的温室大棚种植的一个重要课题就是怎么样才能提高调节能力和根据自我需求的管控能力。通过对温室环境因素的改善,为作物生长发育的生长因子提供最好的环境,实现高效率,高产量和可持续发展是温室控制系统具有重要的意义。随着温室自动化系统在世界上的不断应用,以及该地区的扩展更新,设施农业生产进入了一个新的发展阶段。温室大棚控制系统设计对于温室大棚控制技术的长远发展具有很深刻的人意义。由于传统温室的人工调节能力是非常低下的,工作人员不能及时而准确地了解和控制温室的环境参数的值,不能对植物的生长和发展提供最适宜的生态环境,对生产产品产量和质量均有很大的影响。农业要有大的发展,加强温室内的人类环境势在必行。伴随着如今现代化的进程以及各项高新技术的发展,我们的温室大棚控制系统将会向着更加数字化、智能化的方向前进!我们有信心! 1.2 国内外研究状况和相关技术领域已有的成果 1.2.1国内研究状况及已有的成果介绍 国内的温室大棚控制系统设计的研究现状,即起源于第20世纪30年代;现代温室生产是在第20世纪80年代初的由来的;然后到了第20世纪90年代,我们的温室控制系统的设计整体得到了快速发展,农业产业结构调整已经成为一个重要的内容。我们国家从欧美等温室大棚控制技术发达的国家前前后后引进了一系列各种型号的富有现代化技术气息的温室大棚进行了研究开发,通过首次如此大的规模的温室和它的配套系统的进口,我国由此开始了现代化温室大棚生产、研究以及普及的工作。通过第一个大型温室及其配套系统的引入,中国开始实施现代化温室生产,研究和推广工作。毛罕平教授所研制的这个系统是温室大棚控制系统的典型性研究,它对营养液、温度、光、CO2、施肥形成了集中的控制。滴灌控制技术、计算机远程控制技术和温度、湿度、光照、CO2等气候条件控制技术等一系列的技术被他们综合利用,设计出了自动化控制程度高等等的一系列的优点的温室大棚控制系统。国家农业信息化工程技术研究中心以及中国农业科学院研究院表示,很多工作已在温室专用传感器的研究和开发、计算机控制系统方面开展。到了20世纪初的时候,东北林业大学机电工程学院的研究者们针对多栋温室集中监控进行了一系列的研究,收获颇丰,由此他们对于现代化温室大棚智能控制又做出了很大的贡献。综合以上的信息,我们可以得出的是:要想在温室大棚控制系统方面做出更大的突破,我们仍需不断提高自主研发的能力,追求更长足的进步! 1.2.2国外研究状况及成果 国外的温室大棚控制技术的研究表明,伴随着计算机互联网技术的长足发展,作为设施农业的重要组成部分的温室大棚,想要满足当今社会的需求,必须要发展温室大棚的自动管控能力。温室大棚现如今在世界各地都得到了长足的发展。比如说,荷兰,以园艺艺术而著称的一个国家,他们国家的科学家就研制出了玻璃温室技术,使得他们有百分之八十五的植物爱好者能够拥有最植物的自动管控能力。而作为创新大国的日本,为了提高国家的农业种植的水平,他们设计实现了农业种植的智能控制,利用计算机网络技术实现了对温室大棚的环境因素的的控制。日本还设计出了一种温室大棚红外遥感控制系统,这个系统可以将分散的 温室连同计算机控制中心一起连接起来,实现更大的温室群的管理的自动化。此外,日本还有一些温室大棚内安装了视频监控系统,工作人员就可以通过网络实时的控制温室内植物生长的状态,这种控制系统便于理解、易于掌握,工作人员只需选择合适的采摘时间,也多了一些观看的乐趣。再谈到发明计算机最早的国家——美国,他们在多数的温室内都装配了温室环境控制计算机,还开发研制了温室专家系统控制软件,这就使得他们实现了相比其他国家来说更高层次的温室大棚环境控制,他们研制的这种系统不仅能够共享、保存各类的温室信息,还能帮助农业工作人员解决种植中遇见的各类实际问题,在无形之中就提高了种植的经济效益。通过阅读大量的文献,我们可以发现国外的温室大棚控制系统的研究主要是表现为以下的两个方面的:其中一方面,是以计算机为主的信息技术普及应用;另一方面表现在国外网络化、智能化水平不断提高。因此,我们可以深切的发现,目前全球范围内嵌入式技术的运用将对温室大棚的研究产生深远而长足的影响,嵌入式技术能将温室大棚控制技术上到一层更高更新的领域。最终使得整套温室大棚控制系统的成本大大降低的还是得益于嵌入式技术。所以作为嵌入式控制系统的核心, 用这个ARM9——2410芯片来设计温室大棚控制系统是最适合不过的了。 1.3本文要研究的主要内容 本文所要研制的温室大棚控制系统是结合嵌入式技术、BOA 的WEB 服务器、数据库的应用以及ARM9——2410来进行设计的。本次的温室大棚控制系统设计目的就是要研制出一款可以控制植物生长的环境因素的温室大棚控制系统,实现对这个温室大棚内的温度和风速等环境因素进行控制。本文利用的是核心为ARM9—2410的开发板,硬件部分主要包括处理器、寄存器、外接扩展设备和 I/O 端口等;软件部分主要利用虚拟机来操控,包括驱动和控制程序。嵌入式操作系统还可以虚拟化的模拟硬件,本次设计正是基于模拟之上的。 第2章 温室大棚控制系统的整体架构及要实现的功能 2.1温室大棚控制系统设计的总体架构: 图2-1 温室大棚控制系统的局部设计图 2.2 温室大棚控制系统的功能 1、实时监测温湿度、光照度、安防等信息 2、传感器的历史曲线 3、安防报警 4、自动控制 5、温度过低时自动开启加热器 6、湿度过低时自动开启加湿器 7、光照度够高时自动开始通风 8、远程控制 9、通过局域网完成上述控制 图2-2室大棚控制系统功能图 第3章 温室大棚控制系统的界面实现 3.1虚拟机的安装过程 1、打开VMware Player,创建新虚拟机 图3-1 2、选择稍后安装操作系统 图3-2 3、百度出安装秘钥 图3-3 4、给虚拟机取名,并选择安装的位置 图3-4 5、给虚拟机分配磁盘空间 图3-5 6、查看确认信息安装完成 图3-6 7、把redhat Linux系统直接拖进虚拟机,运行虚拟机 图3-7 3.2 ARM92410硬件平台 3.2.1 ARM简介 任何一种带有了微处理器的专用软件的硬件系统在广义上的话就可以被称作是嵌入式系统。它是一种可以嵌入多种系统,比如:Linux 、windows 系列系统的专用计算机系统。ARM9——2410作为嵌入式系统的核心,可以称作是某一类的微处理器的通用称呼、公司的名字或者你还可以认为它是一种技术的名字。目前极其主流的ARM 的内核有ARM920T 、ARM9TDM1、ARM946T 、ARM940T 、ARM966T 、ARM10TDM1等等。ARM9系列的微处理器具有高性能和低功耗的特性,ARM9系列微处理器的特点如下: 1、提供1.1MIPS/MHz的5级流水线结构; 2、支持32位ARM 指令集和16位Thumb 指令集; 3、支持Linux 等主流嵌入式操作系统; ARM9在生活中无处不在,应用非常广泛,像是机顶盒啊、仪器仪表啊、无 线设备啊、安全系统啊、数字照相机啊、高端打印机和数字摄像机等都是以ARM9为核心的。 3.2.2 ARM9-2410 ARM嵌入式教学实验系统 这一套硬件和软件集成的系统就是所要介绍的ARM9-2410教学实验系统。这套教学系统包含了及其丰富多彩的硬件资源、软件资源以及完美的调试方式和详细的教学实验教程。这套教学系统有以下的几个组成部分: 1、ADT IDE集成开发环境; 2、ADT Emulator for ARM JTAG仿真器; 3、ARM9-2410系列教学实验箱; 4、各种连接线、电源适配器等; 表3-1 2410P教学平台实验仪器介 2.1.3 S3c2410芯片介绍 S3c2410X 芯片集成了大量的功能单元,包括: 3.3 Linux简介 3.3.1 Linux的发展概述 林纳斯·托瓦兹生于1969年,他一生最重要的成就就是发明了Linux 的内核,Linux 系统就是他写的一套可以完全免费使用的操作系统软件。当他还是位于芬兰的赫尔辛基大学的一名大学生的时候,他所主修的课程就是操作系统。当LinusTorvalds 学习这门课程的时候,学校为所有的学生提供了一套被称作“ Minix ” 的一套尚不成熟的初期 UNIX 系统。这个系统本来只是为了方便同学们的学习而 存在的一套系统,因此这个系统的功能是非常有限和单一的。因此,但是Linux 他希望使用这个系统的时候更加的方便,于是根据实际的需求写了很多磁盘驱动程序来让这个操作系统显得更加的人性化。在之后的几个月里,他又编写了个能够阅读系统文件的程序。一来二去,这个操作系统就初步的具有规划了,也就是我们熟知的Linux 的1.0.0版本。也许这个Linus 从一开始就决定了要造福更多的人,他把Linux 的源代码发布在网上供众多的Linux 系统爱好者和程序员学习与工作。正好呢,Linus 的这个想法和免费软件基金会发起的自由软件精神不谋而合,同时 Linux 的性能备受 GNU 的赏识,于是 GNU 就决定采用 Linus 及其开发者的内核。在他们的共同努力下, Linux 这个完整的操作系统诞生了。 其中的程序开发共同遵守通用公共许可证协议,这是最开放也是最为严格的许可协议方式,这个协议规定了源码必须可以无偿的获取并且修改。因此,从严格意义上说,Linux 应该叫做 GNU/Linux,因为其中系统中很多重要的工具比如 gcc 、make 等都是 GNU 所写出来的。 3.3.2 Linux作为嵌入式操作系统的优势 Linux 作为嵌入式的操作系统它采用的是模块化的设计、他的源代码是完全的开放式的,每一个人都能够根据它的需要任意修改并在GUN 协议下发行;Linux 不仅网络功能完善,可以供给各种各样的网络服务,还具有很好的移植性。它还能够支持多式的体系结构,比如说ARM 。同时它还能够支持大量的外围硬件设备。它的这些所有的优点就让我们成为了Linux 操作系统的忠实粉丝,也让Linux 在嵌入式操作系统的商业化竞争之中得以占有一席之地,并呈现出蔓延壮大、更加完善、更加人性化的趋势 3.4 BOA的web 服务器 3.4.1 Boa的Web 服务器的概述及实现原理 嵌入式系统随着internet 技术的发展,它众多应用方式中的一种,即B/S(中文名称:客户端/服务器),已然成为了当今最广泛的应用。它的意思就是说你的客户端它必须要有一个浏览器程序,服务器端它必需要有一个与之相对应的Web 服务器。对于那种大型网站来说的话,基本他们都会采用大型的通用Web 服务器,但如果是中小型的管理系统,比如我们正在设计的温室大棚控制系统来说的话, 我们就用不着通用的Web 服务器,因为这无疑就是对资源的极大浪费,我们去使用一些功能单一,体积较小、消耗资源少的简单服务器就足够了。于是乎,嵌入式Web 服务器就应运而生了。Boa 的web 服务器是一款嵌入式的Web 服务器,它是一个只支持单任务的HTTP 服务器。什么叫做单任务的HTTP 服务器呢?意思就是说当有连接到来的时候, 它并不为每个连接单独的去创建一个进程,也不会通过复制自身的进程来处理多种链接,而是怎么样呢?而是通过建立一个HTTP 请求列表来处理这种多路的HTTP 连接请求。与此同时呢,它只为CGI 程序创建新的进程,这样的话,就在最大程度上节省了系统的资源利用。 图3-8 BOA整体工作流程如图所示 3.4.2 Boa Web服务器的移植 boa 的移植和cgi 编译过程: (1)移植到虚拟机: 1. 将bao.tar 导入到虚拟机中 2. tar –xvf bao.tar 3. 进入到boa/src下 4. 运行./configure 5. 将Makefile 文件中的编译器改为gcc 及 cc=gcc 6. 运行make clean 7. 运行 make ///生成boa 服务器程序 boa 8. 将生成的boa 执行文件放入到 /var/www小 9. 将boa 下的boa.conf 拷贝到 /etc/boa/目录下 //需先在etc 下建立boa 目录,boa.conf 文件为boa 服务器的配置信息,包括服务器端口,文件地址等,如修改端口,修改该文件的相关配置 10. 在/var/log下建立目录 /var/log/boa 11. 将例程中的login.c 生产login.cgi // 方法 gcc cigic.c login.c –o login.cgi 12. 将login.cgi 放入到/var/www目录下 13. 将 例程中的index.html 放入到 /var/www 14. 进入到/var/www目录中 15. 输入 chmod 755 boa//将boa 文件改为可执行文件。 16. 运行 ./boa //boa服务器启动 17. 在虚拟机中打开浏览器,输入 127.0.0.1 :1234 进行测试,显示index.html 文件的内容。其他PC 的浏览器也可以测试 地址为虚拟机的ip 地址。 (2)移植开发板: 1、在boa 的代码中 boa/src的Makefile 文件中的编译器改为:armv4l-unknown-linux-gcc //及 Makefile 文件中修改 cc= armv4l-unknown-linux-gc armv4l-unknown-linux-gcc 2、运行make clean 3、运行 make ///生成boa 服务器程序 boa 4、将例程中的login.c 生产login.cgi 17 // 方法armv4l-unknown-linux-gcc cigic.c login.c –o login.cgi 5、在开发板上生存 目录 /etc/boa /var/www /var/log 6、将虚拟机中boa 目录中的 bao.conf 拷贝到 开发板的 /etc/boa 目录中 mini.type /etc 目录中 boa/src中的boa /var/www中 7、将例程中的index.html 放到/var/www中login.cgi /var/www中 8、进入到/var/www目录中 9、输入 chmod 755 boa//将boa 文件改为可执行文件。 10、运行 ./boa //boa服务器启动 11、进入到/var/www目录中 12、运行 ./boa 3.4.3登陆界面的实现 #include "cgic.h" #include void print_html(char *path_name, int file_len); extern char *cgiQueryString; /*用户和密码*/ #define USER "dongliyuan" #define PASSWD "123456" //struct name_value nv[10]; int cgiMain() { char user[64]; 18 char passwd[64]; cgiHeaderContentType("text/html"); fprintf(cgiOut, " /*获取用户和密码*/ cgiFormString("user", user, 64); cgiFormString("pwd", passwd, 64); /*查看用户和密码是否正确*/ if((strncmp(USER, user, sizeof(USER)) != 0) || (strncmp(PASSWD, passwd, sizeof(PASSWD)) != 0)) { fprintf(cgiOut, " } else { fprintf(cgiOut, "温室大棚控制系统设计
温室大棚控制系统设计
用户不存在或密码错误!!!
"); fprintf(cgiOut, "请重新输入!!!
"); fprintf(cgiOut, ""); return 0; //结束本次登录