0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT89C51单片机和DS18B20农业环境温度监测系统的设计

电子设计 来源:延安大学 作者:刘竹琴,白泽生 2020-04-15 07:44 次阅读

现代设施农业是集生物技术、工程技术、环境技术为一体的一种高技术、高效益的现代化农业生产方式。是农业产业调整,适应市场经济发展、提高土地资源利用率的有效途径。目前,一些发达国家在设施农业设备和配套技术方面均已形成了完整的体系,其现代化温室能根据作物对环境的不同需要,由微型计算机对设施内的温度、光照、湿度、空气成分等环境因子进行自动监测和调控,可实现温室作物全天候、周期性的高效生产,并逐步向温室管理的数字化、智能化发展。

我国特别是西北地区虽然地广物丰,但由于土地的沙漠化比较严重,导致可利用的土地资源越来越少,因此土地资源的高效利用问题也越来越突出,加快发展设施农业是解决问题的最有效途径。对设施农业环境中的各项环境因素进行检测和控制,是解决问题的关键。温度是设施环境中最重要的因素,因而对设施农业环境中的温度进行实时检测与自动控制就显得尤为重要。

1、系统总体方案

系统设计方案原理如图1所示。分为6个模块:微处理器模块、温度采集模块、数据输入模块、处理与控制模块、电源模块、显示与报警模块。以AT89C51单片机为核心,通过温度传感器DS18B20采集设施环境中的温度值,系统对采样值与标准值进行比较处理,根据处理结果实现温度的实时显示、控制、报警提示等功能。采用AT89C51单片机与数字温度传感器DS18B20组合实现对环境温度的检测与控制不仅具有控制方便、系统电路简单、灵活性强等特点,而且还可以提高温度参数的控制精度。

基于AT89C51单片机和DS18B20农业环境温度监测系统的设计

2、各单元模块选择与设计

2.1 微处理器模块

微处理器模块的主要任务是完成对采集来的温度数据与设定的标准温度值范围的比较处理。该模块选用AT89C51单片机,该单片机性价比高,结构简单,应用广泛,外部I/O资源少但处理速度快,能够满足本系统所要实现的控制功能的要求。

2.2 温度采集模块

温度采集模块主要完成对环境温度数据的采集和转换,并将采集到的温度数据送给处理器。该模块选用数字温度传感器DS18B20。数字温度传感器DS18B20是美国DALLAS公司推出的一种改进型智能温度传感器,能直接读出被测温度值,可利用串行方式与单片机实现通信,且仅占用一条数据线,仅需要一个端口引脚进行通信,因此从主机CPU到DS18B20仅需一条线连接,而且DS18B20的电源可由数据线本身提供(相对于外部电源,转换时间要延长),占用单片机资源少;每一个DS18B20在出厂时已经给定了唯一的序号,线上,实现多点组网功能;是数字传感器,送入单片机的数据为二进制数据,无需A/D转换,便于处理,大大加快了微处理器的运算速度。DS18B20的测量范围从-55~+125℃,增量为0.5℃(最高精度可达0.1℃),转换速度小于1 s(典型值)。与单片机的连接方式如图2所示。

由于该传感器是单线通信,所以其通信时序就非常的重要。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过3个步骤:

1)每一次读写之前都必须要对DS18B20进行复位,即初始化时序;

2)复位成功后发送一条ROM指令,进行写时序;

3)最后发送RAM指令,这样才能对DS18B20进行预定的操作,即读时序。

2.3 数据输入模块

数据输入模块作为人机交换端口,目的是为了方便根据不同农作物的生长需要,设定不同的最适生长的温度值范围,由小键盘和驱动电路组成。对小键盘的操作一是检测是否有按键被按下;二是识别被按下的是哪一个键,并执行相应的任务。

2.4 控制模块

控制模块是根据微处理器的处理结果,控制显示与报警等外围模块电路的工作。若采集到的环境温度值低于标准温度范围的最小值或者高于标准温度范围的最大值时,该模块能够通过继电器控制加热或者降温设备工作。从而达到控制温度的目的。

继电器电路如图3所示,图中P1.1引脚用于控制加热继电器。给P1.1低电平,三极管导通,电磁铁触头放下开始工作。

2.5 显示模块

显示模块用于显示温度值,如图4所示,由驱动电路和数码管组成。显示电路采用七段共阴数码管扫描电路。节约了单片机的输出端口,便于控制程序的编写。

2.6 电源模块

电源模块为整个电路系统供电,因为AT89C51单片机和温度传感器DS18B20都不需要太高的工作电压,所以本系统采用统一供电模式,这样就可以减少功耗,降低成本。

3、系统整体设计方案

3.1 硬件设计方案

系统硬件电路图如图5所示。

温度传感器DS18B20采集到温度数据后通过P1.0引脚送给单片机,单片机通过软件控制程序对接收到的温度数据进行比较处理。将测试信息发送到P2.0、P2.1、P2.2引脚驱动显示电路工作,显示实时检测到的温度值;通过P1.1、P1.2引脚驱动继电器电路工作,当检测刭的温度低于系统设置的最小温度值时,通过P1.1口控制继电器电路工作启动加热设备为环境升温;当检测到的温度高于系统设置的最大温度值时,通过P1.2口控制继电器电路工作启动降温设备为环境降温;与此同时,通过P2.5口驱动报警电路实现报警提示。

按键s1用于对系统进行复位操作,按下一次,系统自动复位一次;按键s2、s3、s4用于设置最小温度值和最大温度值,按键s2被按下时系统加1操作,按键s3被按下时系统减1操作,按键s4为确认键。

3.2 系统软件流程设计

系统程序的设计思想为:设置标准温度范围后,温度传感器DS18B20对环境温度进行采样,将采样值与预设温度值进行比较,如果采样值高于或低于预设温度值时,系统通过继电器启动加热或降温电路工作。主程序流程图如图6所示。

4、 结论

本设计采用AT89C51单片机与数字温度传感器DS18B20组合,实现了设施农业等环境温度的检测和控制。具有电路简单、操作方便、价格低廉、灵活性强等特点,是一套较为实用的温度动态测控系统。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44522

    浏览量

    633217
  • 温度传感器
    +关注

    关注

    48

    文章

    2918

    浏览量

    155898
  • 微处理器
    +关注

    关注

    11

    文章

    2247

    浏览量

    82330
收藏 人收藏

    评论

    相关推荐

    STC89C52+DS18B20实现环境温度检测(数码管显示温度)

    本项目选择STC89C52单片机DS18B20数字温度传感器,通过读取传感器输出的温度值,经过计算和处理后,并将结果显示在数码管上,实现
    的头像 发表于 06-05 09:26 2750次阅读
    STC<b class='flag-5'>89C52+DS18B20</b>实现<b class='flag-5'>环境温度</b>检测(数码管显示<b class='flag-5'>温度</b>)

    at89c51ds18b20,数码管的温度控制

    at89c51ds18b20,数码管的温度控制。实现温度控制与报警
    发表于 05-09 00:42

    基于AT89C51DS18B20的最简温度测量系统

    单片机沟通,完成温度采集和数据处理。DS18B20AT89C51结合实现最简温度检测系统,该
    发表于 10-25 17:11

    基于51单片机DS18B20温度测量系统该怎样去设计呢

    摘要:本温度测量系统AT89C51单片机为核心控制器,配合DS18B20数字温度传感器、LCD
    发表于 11-09 08:17

    DS18B20温度显示报警控制设计

    本文设计了一种基于AT89C51 单片机DS18B20温度控制系统。该设计通过AT89S5
    发表于 12-17 00:24 696次下载
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>显示报警控制设计

    51单片机DS18B20的数字温度

    51单片机DS18B20的数字温度计。
    发表于 05-19 15:32 117次下载

    使用AT89C51单片机DS18B20设计LED显示万年历程序和工程文件

    本文档的主要内容详细介绍的是使用AT89C51单片机DS18B20设计LED显示万年历程序和工程文件免费下载。
    发表于 12-20 17:45 14次下载
    使用<b class='flag-5'>AT89C51</b><b class='flag-5'>单片机</b>和<b class='flag-5'>DS18B20</b>设计LED显示万年历程序和工程文件

    Proteus单片机C语言仿真(1)——基于51单片机DS18B20温度测量系统

    摘要:本温度测量系统AT89C51单片机为核心控制器,配合DS18B20数字温度传感器、LCD
    发表于 11-04 17:20 26次下载
    Proteus<b class='flag-5'>单片机</b><b class='flag-5'>C</b>语言仿真(1)——基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>测量<b class='flag-5'>系统</b>

    单片机测温系统AT89C51DS18B20温度传感器、LCD1602)

    单片机测温系统一、简介此系统主要由AT89C51DS18B20温度模块和LCD1602组成。大
    发表于 11-20 14:36 25次下载
    <b class='flag-5'>单片机</b>测温<b class='flag-5'>系统</b>(<b class='flag-5'>AT89C51</b>、<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>传感器、LCD1602)

    51单片机多路测温报警系统AT89C51、多个DS18B20、LCD1602)

    51单片机多路测温报警系统AT89C51、多个DS18B20、LCD1602)一、简介** 此系统
    发表于 11-21 11:06 19次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>多路测温报警<b class='flag-5'>系统</b>(<b class='flag-5'>AT89C51</b>、多个<b class='flag-5'>DS18B20</b>、LCD1602)

    51单片机-DS18B20单片

    51单片机-DS18B20单片51单片机-DS18B20
    发表于 11-21 11:51 86次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>-<b class='flag-5'>DS18B20</b><b class='flag-5'>单片</b>

    基于AT89C51单片机用1602LCD与DS18B20设计的温度报警器

    基于AT89C51单片机用1602LCD与DS18B20设计的温度报警器Proteus仿真及程序
    发表于 05-05 10:00 10次下载

    基于AT89C51单片机用数码管与DS18B20设计温度报警器

    基于AT89C51单片机用数码管与DS18B20设计温度报警器Proteus仿真及程序
    发表于 05-04 15:31 35次下载

    基于51单片机DS18B20温度传感器例程源代码

    基于51单片机DS18B20温度传感器例程源代码
    发表于 05-12 16:12 4次下载

    基于51单片机DS18B20温度测量仿真设计

    运用所学单片机知识,完成温度信号的测量。要求如下:单片机系统选择使用AT89C51温度传感器采
    的头像 发表于 10-22 17:47 1619次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>测量仿真设计