基于单片机的船舱温度临界报警系统

: 针对传统的船舱温度临界报警系统,由于温度监控不到位导致报警不及时的问题,提出一个基于单片机的船舱温度临界报警系统设计。该设计将单片机作为核心控制硬件,控制系统整体电路。同时设计数据采集模块,利用温度测量仪测试船舱温度,传感器将数据置换成电信号,并以数据帧的形式将结果发送到报警模块,检测温度信号波幅,进行报警处理,至此报警系统设计完毕。实验结果表明,所设计的报警系统对于温度的监测结果更准确,报警率提高了 38.55%
关键词: 单片机 数据采集 数据置换传送 对比检测

0 引 言

船舱作为船舶承载旅客或货物的主要场所,对于该场所的安全性要求的更高,尤其是在温度方面。过高或过低的温度都会产生人身体不适、货物腐烂、融化变质等状况。因此要对船舱温度进行实时监测,当温度达到安全临界值时进行报警,保证人和货物的安全。传统的报警系统不够精确,不能及时监测到船舱温度的变化状况,导致不能及时报警。因此设计一个基于单片机的报警系统,加强监测能力,及时报警,保证船舶的使用安全。

1 基于单片机的船舱温度临界报警系统硬件设计

针对船舱的温度变化,设计一个基于单片机的温度临界报警系统硬件,利用该系统硬件对船舱内的温度进行及时的报警处理,保证船舶的航行安全。选用的单片机型号为 STC89C52 ,将其作为中央处理模块中的核心微处理器,控制报警系统电路。报警系统利用该单片机设置一个船舱温度监测控制电路,并将该电路与 AR847+ 温度测量仪相连接,进行船舱温度实时监测。此电路中有 4 个引脚,分别为 VCC GND TRIG以及 ECHO ,将其按照顺序标注为 A1 A4 的序号。该单片机控制下的系统电路如 1 所示。

2 船舱温度临界报警系统软件设计

在上述船舱温度临界报警系统硬件设计完毕的础上,为了保证该单片机工作的可靠性,设计报警系 统软件,对船舱温度进行实时监控及报警。

2.1 数据的采集与传输

首先建立一个船舱温度采集单元,进行船舱温度测量,并将测量结果通过中央处理单元模块发送到报警模块中。此时要考虑的环境因素有很多,包括船舱的整体面积、测量反应时间等因素。因此在船舱中预设若干个监测点,将温度测量仪放置在该点位上,得到测量结果。将测量的温度数据上传到中央处理单元中,此时中央处理单元对该温度数据进行统计,计算船舱的整体温度,计算公式如下:
式中: C n 为 个测量位置下的船舱平均温度; 为设置的温度测量位置数; 为当天的天气温度常数; 为船舱的干燥系数。处理单元依照上述公式得到船舱的平均温度,利用传输模块以数据帧的形式将该结果发送到报警模块中。
利用该数据帧将温度数据发送到报警模块,此时传输模块要保证传输数据的完整性。利用传感器将温度数据置换成电信号,数据置换公式为:
式中: 为置换后的温度数据置换函数; 为置后的换电信号强度; 为电信号波长; 为电信号强度波动函数。将置换后的温度数据组成数据帧,打开传感器传送端口,编制数据发送指令,将数据实时发送到报警模块中

2.2 检测报警

报警模块接收到上述的电信号后,进行检测与分析,并对于温度异常的信号进行报警处理。检测报警模块在温度临界报警系统中处于极为重要的位置,它对接收到的数据信号进行分析,根据温度临界值划分风险等级,并按照等级迅速报警。此时,报警模块根据电信号 的波动幅度进行检测:
式中: 为信号波动幅度; 为信号传输速率; 为信号波段变化时长; 为每一波段的信号总量。根据得到的信号频率设置报警系统运行状态,如 1 所示。
根据 1 可知,进行信号频率监测后,进行报警判断。当此信号波动幅度平稳没有大起大落时,说明测量得到的船舱温度是安全的,不会发生危险;当温度信号波动异常且波幅较大时,说明船舱温度产生剧烈变化,此时将该数值与温度临界预警值相对比,判断剧烈波动的数据信号是否超过临界门限。当该信号没有超过报警门限时,说明此时的船舱温度在允许波动范围内,为正常状态;如果该信号值超过临界值,则令该系统立即发出警报,各报警状态的处理方法如 表 2 所示。
根据 2 可知,当船舱温度处于临界值以下时,报警系统不会发出任何反应;当温度达到或者超过温度临界值时,报警系统通过主控程序发出声光警报,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/679832.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【vue3|第6期】如何正确地更新和替换响应式对象reactive

日期:2024年6月5日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

Leetcode 第 399 场周赛题解

Leetcode 第 399 场周赛题解 Leetcode 第 399 场周赛题解题目1:3162. 优质数对的总数 I思路代码复杂度分析 题目2:3163. 压缩字符串 III思路代码复杂度分析 题目3:3164. 优质数对的总数 II思路代码复杂度分析 题目4:3165. 不包含相…

C51单片机 串口打印printf重定向

uart.c文件 #include "uart.h"void UartInit(void) //4800bps11.0592MHz {PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率。使能接收TMOD & 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xF4; //设…

IPFS节点部署及连接java服务接口

文章目录 引言前言:IPFS网络部署1.下载安装文件2.安装及初始化3.测试上传文件 引入IPFS 依赖包初始化IPFS创建接口类以及实现类创建前端访问的控制类前端设计及验证 引言 该篇文章是记录使用IPFS存储文件与java的Springboot项目连接的过程,前端简单地用…

基于websocket与node搭建简易聊天室

一、前言 上一篇文章介绍了websocket的详细用法与工具类的封装,本篇就基于websocket搭建一个简易实时的聊天室。 在本篇开始之前也可以去回顾一下websocket详细用法:WebSocket详解与封装工具类 二、基于node搭建后台websocket服务 首先确认本机电脑中…

YOLOv8改进 | Conv篇 | 利用YOLOv10提出的C2fUIB魔改YOLOv8(附代码 + 完整修改教程)

一、本文介绍 本文给大家带来的改进机制是利用YOLOv10提出的C2fUIB模块助力YOLOv8进行有效涨点,其中C2fUIB模块所用到的CIB模块是一种紧凑的倒置块结构,它采用廉价的深度卷积进行空间混合,并采用成本效益高的点卷积进行通道混合。本文针对该…

Window10磁盘的分盘和合并

注意: 当我们c盘不够大需要扩大磁盘空间时,当c盘后面没有未划分的磁盘时候,我们是无法进行扩充c盘的,此时,我们可以先删除后面一个磁盘,再进行扩大。 如下:c盘后没有未分配的空间,…

Flink端到端的精确一次(Exactly-Once)

目录 状态一致性 端到端的状态一致性 端到端精确一次(End-To-End Exactly-Once) Flink内部的Exactly-Once 输入端保证 输出端保证 幂等写入 事务写入 Flink和Kafka连接时的精确一次保证 整体介绍 需要的配置 案例 状态一致性 流式计算本身就…

UI 自动化分布式测试 -Docker Selenium Grid

分布式测试Selenium Grid 对于大型项目或者有大量测试用例的项目,单机的测试环境往往无法快速完成所有测试用例的执行,此时自动化测试执行效率将会成为最大的瓶颈,Selenium Grid 可以通过多机的分布式架构允许测试用例并行运行,大大缩短了测试时间。 Selenium Grid 提供了多…

命令模式(行为型)

目录 一、前言 二、命令模式 三、总结 一、前言 命令模式(Command Pattern)是一种行为型设计模式,命令模式将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以…

此表单不安全,因此系统已关闭自动填充功能

问题截图: 截图就不放了,公司的系统不方便,就是form表单会有个提示“此表单不安全,因此系统已关闭自动填充功能” 解决思路: 1、问题原因 使用https访问,但表单提交地址是http的 2、查看表单配置 表单…

行业分析---造车新势力之理想汽车

1 前言 在之前的博客中,笔者撰写了多篇行业类分析的文章(科技新能源): 《行业分析---我眼中的Apple Inc.》 《行业分析---马斯克的Tesla》 《行业分析---造车新势力之蔚来汽车》 《行业分析---造车新势力之小鹏汽车》 此类文章的受…

IIC信号质量测试、时序测试详解

IIC 时序图 信号质量测试 1、vIL: 低输入电平。 2、vIH: 高输入电平。 3、vhys: 施密特触发器输入的滞后。 4、vOL1: VDD>2V时&#xff0c;低电平输出电压&#xff08;漏极开路或集电极开路&#xff09;。 5、vOL3: VDD<2V时&#xff0c;低电平输出电压&#xff08;漏极开…

js 数字精确度

事情的起源&#xff1a; 项目中 填写的赔付金额是小数 传给后端需要 *100 9.87 *100 传给后端后是986.9999999999999 后端直接取整 就变成了9.86了 0.1 0.2 ! 0.3 console.log(0.1 0.2) //0.30000000000000004 console.log(0.1 0.2 0.3) //false1. 数字的存储 浮点数是用…

【因果推断python】14_控制混淆因素3

目录 不良控制 - 选择偏差 糟糕的 COP 关键思想 不良控制 - 选择偏差 让我们回到债务催收电子邮件的案例。 请记住&#xff0c;电子邮件是随机分配给客户的。 我们已经解释了什么是 信用额度 和 风险分 。 现在&#xff0c;让我们看看剩下的变量。 打开 是客户是否打开电子邮…

工厂模式——工厂方法模式+注册表

工厂方法模式的瑕疵 在前一篇笔记中我们介绍了工厂方法模式&#xff0c;示例的类图如下&#xff1a; 考虑一种情况&#xff1a;现在要在程序运行时&#xff0c;根据外部资源&#xff0c;动态的实例化对象。也就是说在编译期我们无法知道要实例化的对象的类型。因此在实例化的过…

el-input实现后缀图标和clearable的兼容,调整el-input clearable与自定义图标展示位置问题

背景&#xff1a;常见的输入框存在两个图标的展示效果都是清空在前搜索或其他图标在后 常见以及最终实现效果&#xff08;清空图标在前&#xff0c;搜索图标在后&#xff09; BUG以及el-input默认效果 问题排查 通过控制台审查元素能够发现&#xff0c;默认的效果是自定义图标…

数据结构_手撕七大排序(快排,归并,堆排,希尔,选择,插入,冒泡)

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序…

使用wheelnav.js构建酷炫的动态导航菜单

目录 前言 一、WheelNav是什么 1、项目地址 2、关于开源协议 3、相关目录介绍 二、如何使用wheelnav.js 1、新建html页面 2、设置style样式 3、创建展示元素实现动态导航 三、参数即方法介绍 1、参数列表 2、运行方法 3、实际成果 四、总结 前言 用户体验永远是一…

『 Linux 』目录与软硬链接 (万字详解)

文章目录 如何理解目录目录项 目录中的权限问题根目录Dentry缓存文件的增删改查与文件系统关系软硬链接软链接硬链接 如何理解目录 目录是一个文件存在其对应独立的Inode; $ stat dirFile: ‘dir’Size: 4096 Blocks: 8 IO Block: 4096 directory Device: f…