目 录
第1章 绪 论 1
1.1 研究背景和意义 1
1.2 国内外发展现状 2
1.3 设计内容和指标 4
第2章 系统设计方案 5
2.1 系统组成 5
2.1.1 总体结构 5
2.1.2 单片机的选型 5
2.1.3 温湿度传感器选型 6
2.1.4 二氧化碳传感器选型 6
2.1.5 PH值传感器选型 7
2.1.6 加热器选型 8
2.1.7 CO2发生器选型 9
2.1.8 阀门选型 9
2.1.9 通风风机选型 10
2.1.10 卷帘电机选型 11
2.2 通信方案 11
2.3 键盘显示方案 12
2.3.1 键盘方案 12
2.3.2 显示方案 12
2.4 A/D、D/A转换器选型 13
2.4.1 A/D转换器选型 13
2.4.2 D/A转换器选型 13
2.5 蘑菇大棚布局 14
第3章 硬件设计 16
3.1 单片机最小系统设计 16
3.2 检测电路设计 17
3.2.1 温湿度传感器接口电路设计 17
3.2.2 CO2浓度传感器接口电路设计 17
3.2.3 PH值传感器接口电路设计 18
3.3 信号调理电路设计 19
3.3.1 I/V转换电路 19
3.3.2 V/I转换电路 19
3.3.3 多路模拟开关电路 20
3.3.4 A/D转换电路设计 21
3.3.5 D/A转换电路设计 22
3.4 控制电路设计 23
3.5 通信电路设计 23
3.6 显示电路的设计 24
3.7 键盘接口电路设计 25
3.8 电源电路设计 26
3.9 报警电路设计 26
第4章 软件设计 28
4.1 软件总体设计 28
4.2 主要软件模块设计 28
4.2.1 中断子程序设计 28
4.2.2 温湿度监控模块软件设计 29
4.2.3 CO2浓度监控模块软件设计 31
4.2.4 PH值测量模块软件设计 31
4.2.5 温湿度控制模块软件设计 32
4.2.6 CO2浓度控制模块软件设计 33
4.2.7 键盘模块软件设计 34
4.2.8 显示模块软件设计 35
4.2.9 通信模块软件设计 36
4.2.10 模拟PID控制算法 36
第5章 系统的调试与仿真 38
5.1 参数设定值测试 38
5.2 运行测试 39
第6章 结 论 42
参考文献 43
致 谢 44
附 录I 49
附 录II 53
附 录III 61
总体上说,我国自行开发的温室测控系统其技术水平和调控能力与西方发达国家相比还有一定的差距。而我国的综合环境控制技术的研究刚刚起步,目前仍停留在研究单个或者几个环境因素调控技术的阶段,而实际上温室环境中的温度、湿度、CO2浓度、光强等环境因子,都是在互相影响、互相制约的状态下影响植物的生长的,环境因素的时间变化、空间变化都很复杂。因此,我国的现代化设施农业任重而道远。
1.3设计内容和指标
蘑菇属于腐生性中温型真菌,生长发育分子实体和菌丝两个阶段;温度要求菌丝在5~32℃之间均可生长,但以22~25℃最适宜;5~30℃都可分化出子实体,但以15~22℃最适宜。菌丝生长发育中,要求空气中的相对湿度为60~80%;子实体形成时要求空气相对湿度85%~90%。菌丝生长阶段要求二氧化碳浓度为0.1~0.5%,出菇期小于0.1%。蘑菇为好气性真菌,子实体每天早晚通风各1次,时间15~20分钟,菌丝每天通风一次,时间15~20分钟。蘑菇菌丝生长在PH值5.0~8.0的范围,最适宜的PH值是6.5~7.0。本设计要求选用合适的温度、湿度、PH值、二氧化碳浓度传感器和经济适用单片机等构建蘑菇生产环境自动控制系统,可以通过键盘设定参数范围,并在液晶模块上显示各类参数,根据检测值和设定值自对风机、加湿机、加热器等设备进行控制。
第2章
系统设计方案
2.1系统组成
2.1.1总体结构
系统由电源电路、温湿度传感器、二氧化碳传感器、PH值传感器、数据通讯转换、上位机管理软件和控制模块等组成。首先由电源电路提供电源,传感器对温湿度、二氧化碳浓度、PH值等被测参数进行检测输出相应信号经前向通道转为数字量信号后传送至单片机,通过单片机软件部分对所有数据进行读取分析运算后,输出调节信息控制调节装置动作。系统通过按键电路及显示电路实现人机互动。系统总体结构如图2.1所示。
图2.1系统总体结构图
2.1.2单片机的选型
针对本设计的要求,对单片机共有两套方案可供选择:
方案1:AT89S51单片机作为检测系统的控制核心,辅助相应的外围电路,对温度、湿度进行检测控制。
方案2:AT89S52 单片机作为检测系统的控制核心,辅助相应的外围电路,对温度、湿度进行检测控制。
方案1中AT89S51单片机有2个16位定时器,5个中断源,支持半双工串行通信。具有2K在系统可编程Flash存储器,内部RAM为128B。 方案2中AT89S52单片机有3个16位定时器,8个中断源,支持全双工UART串行通信且掉电后中断可唤醒。具有8K在系统可编程Flash存储器,内部RAM为256B。
综合考虑后,基于AT89S52具有更加丰富的内部资源,本设计选择单片机AT89S52为控制核心。
#include <AT89X52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#include"1602.h"
#include<dh11.h>
uchar temp[] ="RH_SET:00% \0"; //设置 的湿度值显示
uchar temp_s[] ="RH:00% TEMP:00 \0"; //实时湿度显示
sbit sw3=P1^5; //按键定义
sbit sw1=P1^3;
sbit sw2=P1^4;
sbit baojing=P3^3;
//sbit led=P3^5;
uchar set; //变量定义
uchar num1;
uchar getdata=55;
uint shangxian=34;
uchar temp_h,temp_t;
void conv();
yunxing();
void key();
void kongzhi();
void zhuanhuan()//扫描数据转换
{
temp[7]=shangxian/10%10+0x30;
temp[8]=shangxian%10+0x30;
temp_s[3]=temp_h/10%10+0x30;
temp_s[4]=temp_h%10+0x30;
temp_s[3]=temp_h/10%10+0x30;
temp_s[4]=temp_h%10+0x30;
temp_s[12]=temp_t/10%10+0x30;
temp_s[13]=temp_t%10+0x30;
temp_s[14]=0xdf;
temp_s[15]='C';
}