当前位置: 首页 > 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…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...