当前位置: 首页 > news >正文

基于单片机的养殖场温度控制系统设计

博主主页:单片机辅导设计
博主简介:专注单片机技术领域和毕业设计项目。
主要内容:毕业设计、简历模板、学习资料、技术咨询。

文章目录

  • 主要介绍
  • 一、控制系统设计
  • 二、系统方案设计
    • 2.1 系统运行方案设计
    • 2.1.1 羊舍环境温度的确定
  • 三、 系统仿真
    • 仿真图
  • 总结
  • 目录


主要介绍

  本系统是基于单片机的养殖场温度控制,在系统的设计中主要还有温度采集、按键电路、显示电路、执行电路、报警电路、抗干扰电路等几部分电路组成整体系统来实现温度控制。系统用DS18B20数字传感器来检测环境温度,用五个按键来实现系统工作时间、监测温度及人工控制的实现,用LCD1602来显示环境温度,用DS18B20传感器将温度信号直接转化成9位串行数字信号传入单片机,单片机再将这些信号与其内部预设值做对比,用以判断单片机是否需要进行对应的动作,即是否进行水温的加热和是否需要进行报警动作,从而实现系统自动控制的目的。
  本设计采用单片机为核心,其特点有控制简单、易于实现,并且单片机还有造价低,程序方便调试,部分电路出现故障时不会影响其他部分的正常工作、维修简便等特点。
关键词:养殖场;单片机(STC89C51);温度传感器DS18B20;温度控制

一、控制系统设计

  目前在农村小规模的养殖户越来越多,养羊的周期时间相对较短且设备设施相对简单,对于北方寒冷的环境而言,控制羊舍的温度就显得尤为重要。目前,大多数的羊舍依然采用人工控制羊舍内的温度,控制精度低,反应不够及时,容易造成损失,另外,人工控制效率低,劳动强度大,在此过程中,不仅增加了生产的成本,浪费了人力,又很难达到较好的控制效果。借鉴于单片机在工业上应用的广泛经验,将其应用于养殖也会更为方便。高性价比单片机能在养殖业自动化方面提供硬件基础。利用单片机、温度采集器对羊舍的温度进行采集控制,科学合理的调节羊舍内的温度,对减少经济损失有着重要的现实意义。

二、系统方案设计

系统方案设计包括了系统运行方案设计和系统整体结构设计两个设计的内容。系统运行方案设计针对系统要求与系统工艺要求这两方面做出比较详细的设计方案。在系统运行方案设计这一基础设计上建立系统整体结构设计。
对于基于单片机的智能控制器来说,在硬件方面要考虑的主要是元器件的精确度以元器件的适用范围,在软件方面要考虑的主要是程序的兼容性和程序的可修改性。

2.1 系统运行方案设计

此系统是以STC89C52单片机为系统核心控制器,通过DS1820这一“一线总线”传感器实时采集羊舍内的温度参数,并将所采集到的数据通过对应的I/O端口传送给单片机,单片机将会对传送来的数据进行处理与判断,如果温度不满足对应的条件,就会发送对应的指令给控制模块,控制模块对执行设备进行驱动控制。通过LCD1602液晶显示器显示实时的温度、当前的操作模式和系统的运行状况。

2.1.1 羊舍环境温度的确定

在羊的养殖过程中,影响羊舍环境的参数有很多,本设计只选择温度作为研究对象,由于冬季温度的是羊在生长过程中影响最大的一个因素,查找不同的科学文献以及亲身经验得出相应的结论

三、 系统仿真

整个软件系统由各个模块化的软件系统组成,整体系统流程图如图4-1,分别为LCD1602液晶显示模块、DS1820温度传检测模块、按键模块、声光报警模块、执行电路模块以及看门狗软件抗干扰模块构成。采用模块化的程序不仅仅可以简化开发,让程序结构层次分明,同时更便于后期的管理与维护,使得工作效率大大提高。
在这里插入图片描述
在这里插入图片描述

4-1 软件系统流程图

仿真图

在这里插入图片描述
在这里插入图片描述

总结

  经过本次毕业设计,让我从中学到了许多东西。从最初的选题,开题构思,绘图,编程,仿真直到完成设计,这中间,查找资料,老师指导,同学交流,编写程序,直至最后的仿真,每一个过程都是一次成长和对自己的一次的检验。本次设计是基于单片机的养殖场温度控制系统设计,包括硬件电路和软件两部分。设计初对于单片机的应用并不是很了解,本科学习中初步接触过C语言,由于本次设计需要硬件和软件两部分,因此我是从软件部分先开始的,然后才开始仿真电路的设计,是由于软件的不完美影响了仿真电路设计的不是很美观。 在软件设计过程中,我基本是一步步开始学起的,在学习中遇到很多问题,经过和同学的讨论,我学到了很多编程技巧,同时也掌握了一些编程思想。由于软件的局限性,仿真电路不是很美观,其中一些电容和电阻并不是原理图中设计的大小,但是这并不影响结果,再画原理图的过程中我又进一步掌握了protel的基本应用,并有了较为深入的了解。通过本次设计,对于主要芯片STC89C52有了基本的了解,基本掌握了该芯片的基本功。

目录

目录

摘 要 I
Abstract II
1 绪论 4
1.1 目的意义 4
1.2 温度对羊的影响 4
1.3 国内外牲畜养殖环境的研究概况 5
1.4 本设计的目的与意义 5
1.5 本设计的主要研究内容与结构安排 6
2 系统方案设计 8
2.1 系统运行方案设计 8
2.1.1 羊舍环境温度的确定 8
2.1.2 调控系统方案的设计 9
2.1.3 系统整体结构设计 9
2.2 硬件设备的选择 9
2.2.1 电源模块 9
2.2.2 单片机的选择 10
2.2.3 温度传感的选择 10
2.2.4 显示模块的选择 11
2.2.5 键盘模块的选择 11
3 系统硬件设计 12
3.1 单片机最小系统设计 12
3.1.1 单片机选型 12
3.1.2 STC89C52介绍 12
3.1.2.1 单片机引脚图 12
3.1.2.2 单片机引脚介绍 13
3.1.3 单片机最小系统 14
3.2 液晶显示电路 16
3.2.1 LCD1602液晶显示器简介 16
3.2.2 液晶引脚说明 17
3.2.3 液晶显示模块电路 18
3.3 按键输入电路 19
3.4 温度传感器系统 20
3.4.1 数据采集 20
3.4.2 温度传感器 21
3.4.3 DS1820智能温度传感器 21
3.4.4 数字式多路温度检测系统硬件设计 22
3.5 执行电路设计 23
3.5.1 元器件介绍 23
3.5.1.1 TIP127 23
3.5.1.2 光耦MOC3022 24
3.5.2 加温控制电路 25
3.6 声光报警电路设计 26
3.6.1 电路组成 26
3.6.2 9012三极管介绍 26
3.6.3 电路原理 27
3.6.4 电路工作过程 28
3.7 抗干扰电路设计 28
3.7.1 单片机在应用过程中的干扰因素 28
3.7.2 单片机受干扰时产生的影响 29
3.7.2.1 数据收集的精确度下降 29
3.7.2.2 控制系统失效 29
3.7.2.3 数据破坏 29
3.7.3 单片机系统的抗干扰 30
3.7.3.1 硬件抗干扰 30
3.7.3.2 软件抗干扰 31
4 油层热影响区域 33
4.1 问题描述 33
4.2 数学模型的建立 33
4.2.1 连续介质的守恒方程 33
4.2.2 多孔介质的守恒方程 33
4.2.3 传热过程分析 33
4.2.4 基本假设 33
4.2.5 边界条件 33
4.3 ANSYS模拟 33
4.3.1 建立有限元模型 33
4.3.2 施加载荷计算 33
4.3.3 求解 33
4.3.4 后处理 33
4.4 模拟结果与分 33
5 结论 34
参考文献 35
谢辞 35

相关文章:

基于单片机的养殖场温度控制系统设计

博主主页:单片机辅导设计 博主简介:专注单片机技术领域和毕业设计项目。 主要内容:毕业设计、简历模板、学习资料、技术咨询。 文章目录 主要介绍一、控制系统设计二、系统方案设计2.1 系统运行方案设计2.1.1 羊舍环境温度的确定 三、 系统仿…...

时序分解 | Matlab实现EMD经验模态分解时间序列信号分解

时序分解 | Matlab实现EMD经验模态分解时间序列信号分解 目录 时序分解 | Matlab实现EMD经验模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现EMD经验模态分解时间序列信号分解 Matlab语言 算法新颖小众,用的人很少&#xf…...

解决无法进入MERCURY路由器管理界面的问题 水星网络路由器

问题:今天家里停电了,来电过后,路由器有信号,但是手机连上WiFi后无法正常上网。尝试过给路由器断电开电,拔插网线。试了这两种方法后手机依然无法正常上网。最后想到了重启路由器,也就是将路由器恢复出厂设…...

Ansible自动化安装部署及使用

目录 前言 一、环境概况 修改主机名(可选项) 二、安装部署 1.安装epel扩展源 2.安装Ansible 3.修改Ansible的hosts文件 4.生成密钥 三、Ansible模块使用介绍 Command模块 Shell模块 User模块 Copy模块 File模块 Hostname模块 Yum模块 Ser…...

idea中配置spring boot单项目多端口启动

参照文章 https://zhuanlan.zhihu.com/p/610767685 项目配置如下 下面为 idea 2023,不同版本的设置有区别,但是没那么大,idea 2023默认使用新布局,切换为经典布局即可。 在项目根目录的.idea/workspace.xml文件里添加如下配置 &l…...

MP4视频文件损坏怎么修复?

3-2 作为摄影师,或者在平时有拍摄工作的事情的,比如搞婚庆、搞航拍什么的,有一定的概率会遇到损坏的视频文件,比如相机突然断电、无人机炸机等,有可能会导致保存的MP4文件损坏。 这种文件使用播放器播放的话&#xf…...

使用electron ipcRenderer接收通信消息多次触发

使用electron ipcRenderer接收通信消息多次触发 在使用electron ipcRenderer.on接收ipcRenderer.send的返回值时,ipcRenderer.send发送一次信息, ipcRenderer.on会打印多个日志, renderer.once(get-file-path, (event: any, paths: any) &g…...

Spring事务最佳应用指南(包含:事务传播类型、事务失效场景、使用建议、事务源码分析)

前言 本文主要介绍的是在Spring框架中有关事务的应用方式,以及一些生产中常见的与事务相关的问题、使用建议等。同时,为了让读者能够更容易理解,本文在讲解过程中也会通过源码以及案例等方式进行辅助说明,通过阅读本文不但能够解…...

Go语言的Http包及冒泡排序解读

目录标题 Http一.Get二、Post三、Http服务器 BubbleSort冒泡排序 Http 一.Get package mainimport ("fmt""io/ioutil""net/http")func main() {response, err : http.Get("http://www.baidu.com")if err ! nil {fmt.Println("Ht…...

vue二维码生成插件qrcodejs2-fix、html生成图片插件html2canvas、自定义打印内容插件print-js的使用及问题总结

一、二维码生成插件qrcodejs2-fix 1.安装命令 npm i qrcodejs2-fix --save2.页面使用 import { nextTick } from vue; import QRCode from qrcodejs2-fix; nextTick(() > {let codeView document.querySelector("#codeView");codeView.innerHTML ""…...

[SSD综述1.8] 固态存储市场发展分析与预测_固态存储技术发展方向(2022to2023)

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< ​​​​前言 自2020年疫情爆发以来,远程办公、网上教育、流媒体等等应用引爆对消费电子及云服务的需求增长,全球数字化转型加速,带来了两年的闪存风光时…...

【Linux】多路IO复用技术③——epoll详解如何使用epoll模型实现简易的一对多服务器(附图解与代码实现)

在正式阅读本篇博客之前&#xff0c;建议大家先按顺序把下面这两篇博客看一下&#xff0c;否则直接来看这篇博客的话估计很难搞懂 多路IO复用技术①——select详解&如何使用select模型在本地主机实现简易的一对多服务器http://t.csdnimg.cn/BiBib多路IO复用技术②——poll…...

【unity实战】实现类似英雄联盟的buff系统(附项目源码)

文章目录 先来看看最终效果前言开始BUFF系统加几个BUFF测试1. 逐层消失&#xff0c;升级不重置剩余时间的BUFF2. 一次性全部消失&#xff0c;升级重置剩余时间的BUFF3. 永久BUFF&#xff0c;类似被动BUFF4. 负面BUFF&#xff0c;根据当前BUFF等级计算每秒收到伤害值&#xff0c…...

Draft-P802.11be-D3.2协议学习__$9-Frame-Format__$9.3.1.22-Trigger-frame-format

Draft-P802.11be-D3.2协议学习__$9-Frame-Format__$9.3.1.22-Trigger-frame-format 9.3.1.22.1 Genreal9.3.1.22.2 Common Info field9.3.1.22.3 Special User Info field9.3.1.22.4 HE variant User Info field9.3.1.22.5 EHT variant User Info field9.3.1.22.6 Basic Trigge…...

vSLAM中IMU预积分的作用--以惯性导航的角度分析

作为一个学过一点惯导的工程师&#xff0c;在初次接触视觉slam方向时&#xff0c;最感兴趣的就是IMU预积分了。但为什么要用这个预积分&#xff0c;在看了很多材料和书后&#xff0c;还是感觉模模糊糊&#xff0c;云里雾里。 在接触了vSLAM的更多内容后&#xff0c;站在历史研究…...

c++ libevent demo

Server::Server(const char *ip, int port) {//创建事件集合base event_base_new();struct sockaddr_in server_addr;memset(&server_addr, 0, sizeof(server_addr));server_addr.sin_family AF_INET;server_addr.sin_port htons(port);server_addr.sin_addr.s_addr in…...

51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机锅炉监控系统仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 1.主要功能&#xff1a;讲解视频2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 51单片机锅炉监控系统仿…...

zip文件解压缩命令全

zip文件解压缩命令全 入门Zip 用法选项示例语法形式和选项基本语法压缩目录将文件添加到现有压缩文件解压缩文件将 zip 文件解压缩到指定目录列出 zip 文件中的内容将 zip 文件加密将 zip 文件解密将 zip 文件中的文件转成 UTF-8 编码Zip 压缩示例创建新的 zip 压缩文件将文件添…...

章鱼网络进展月报 | 2023.10.1-10.31

章鱼网络大事摘要 1、Louis 成功竞选 NDC 的 HoM 议席&#xff0c;将会尽最大努力推动 NEAR 变革。2、章鱼网络受邀参加在土耳其主办的 Cosmoverse2023&#xff0c;分享 Adaptive IBC 的技术架构。3、2023年10月8日章鱼日&#xff0c;是章鱼网络主网上线2周年的纪念日。 …...

数据结构 | 单链表专题【详解】

数据结构 | 单链表专题【详解】 文章目录 数据结构 | 单链表专题【详解】链表的概念及结构单链表的实现头文件打印尾插头插尾删头删查找在指定位置之前插入数据在指定位置之后插入数据删除pos节点删除pos之后的节点销毁链表 顺序表遗留下来的问题 中间/头部的插⼊删除&#xff…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...