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

基于单片机和LabVIEW 的远程矿井水位监控系统设计

摘要 针 对 现 有 矿 井 水 位 监 控 系 统 存 在 结 构 复 杂 和 不 能 远 程 监 控 的 问 题 设计了基于单片机和LabVIEW 的远程矿井水位监控系统 详细介绍了系统的硬件组成 上位机通信和下位机软件设计 该系统在现场利用单片机对水位进行监控并控制水泵, 采用 LabVIEW 对水位进行监视并将水位信息存储在数据库中, 实现了对矿井水位的远程监控
关键词 煤矿 水位监控 液位传感器 单片机 LabVIEW

引言

在我国煤矿生产事故中 矿井水灾是仅次于瓦斯事故的第二大矿难。 通常 水灾导致的人员伤亡惨重, 造成 的 经 济 损 失 也 非 常 巨 大 1949 年 以来, 煤矿因水灾死亡 30 人以上的事故近 30 死亡数千人。 21 世纪的前 年中 全国煤矿因水灾死亡10 人以上的事故就有 61 死亡人数为 1195 。如某煤矿发生 透 水 事 故, 31 人 被 困 井 下 再 如 某 煤矿发生突水事故导致121 人遇难 直接经济损失达4500万元 数据可谓触目惊心 因此 设计完善的水位监控系统是完全有必要的。 目前 多数矿井水位监控系统结构复杂, 不能进行远程水位监控。针对以上系统存在的问题,本文设计了基于 单片机和 LabVIEW 的水位监控系统 在现场 利 用
单 片 机 对 水 位 进 行 监 控 并 控 制 水 泵 采 用LabVIEW 监视与存储水位信息 值班人员可通过LabVIEW 监视矿井 中 水 位 状 况 设置水位的下限和上限, 一旦水位异常 单片机系统将报警并启动水泵抽水。 值班人员亦可及时发出警报并手动控制水泵进行抽水, 实现了对矿井水位的远程监控

系统组成

基于单片机和 LabVIEW 的矿井水位监控系统分为上位机和下位机2 个部分 如图 所示 上位机采用 LabVIEW 进行水位显示与控制 并存 储 水位信 息, 下 位 机 以 单 片 机 AT89C52 为 核 心 根据系统设计的要求, 下位机硬件部分主要包括数据采集输入通道、 水位显示 报警控制 水泵控制 键盘设置等部分。 另外 考虑到单片机与上位机距离较远 ,两者之间采用 CAN 总线进行通信
考虑到传感器现场工作环境较差 需长期工作 ,因此, 选择 CYB31 型压力液位变送器 该传感器采用进口不锈钢隔离膜片及具有高精度、 高稳定性的力敏芯片, 可 输 出 标 准 的 20 mA 10 mA信号 考虑 到电 桥 测 量 的 精 度 CYB31 设 置 了专门的温度补偿电路。

单片机电路设计

系统利用 LabVIEW 作 为 上位 机 控 制 程 序 利用单片机对现场1 号水泵进行监测和控制 。在硬件控制 部 分, 利 用 AT89C52 单片机对水位进行监控。 现场传感器测量到的信号传到单片机 与低限值进行比较, 若高于低限值 则开启 号两台水泵并进行抽水, 同时进行报警 若现场水位已超过高限值, 则另 外 台 水 泵 也 开 始 排 水 同 时 继 续 报警。 单片机电路共设置 个按键 分别用来选择系统的工作模式和现场手动控制4 台水泵
本系统采用光电耦合器组成开关电路驱动继电器开合, 继电器控制电路如图 所示 该电路主要由光耦、继电器开关以及水泵等组成。当水位高于 上限时, 单片机给 P1.5 送一个高电平 此时导通光电耦合器, 通过光电耦合器驱动 Q3 使继电器闭合 ,从而接通380V 的交流电使水泵抽水 根据现场实际情况, 可以通过多路开关实现对多台水泵的控制 ,从而在水量较大时实现快速排水。

3 下位机与上位机的通信

考虑到通信距离较远, 下位机与上位机间采用CAN 总线进行通信 CAN 总线通信结构如图 3所示。 82C250 CAN 总线收发器 负责将SJA1000信号转换 为 符 合 CAN 总线 的物 理 信 号 ;SJA1000为协议芯 片 可 实 现 CAN 总线 信号 的 收发、 总线状态检测以及错误处理 光电隔离将从站信号与总线隔离。
为了发挥总线传输速率快的优势 CAN 总线与计算机的连接采用 CAN PCI 卡的 PCI 5810I 单路接口卡。 PCI 5810I 集成 CAN 通道 能利用 CAN2.0B 协 议 实现 CAN 总线 与上 位 机 通 信 。PCI- 5810I 接 口 卡支 持 5kbit 1Mbit 的 传 输速度, 使用非常简单

上位机 LabVIEW 设计

在上位机 LabVIEW 平台下可对水位数据进行实时显示、 处理等操作 现场测量的水位信号 经由 CAN 总线传输 到 上 位 机,上位机将现场信号与 限值进行对比, 并将数据显示在实时水位数据显示表格中, 若超过下限设置值 则报警灯将变成红色 ,提醒值班人员水位发生异常。 同时处理过的数据将被存储在数据库中, 可随时调用并显示历史水位状况。 系统 LabVIEW 前面板设计如图 所示
LabVIEW 前 面 板对 应 的 程 序 如 图 所 示 主要包含3 个部分内容 读取外部数据并进行处理和显示; 针对矿井具体情况设置水位的高限和低限; 对数据进 行 存 储 设 置 以 便 能 够 在 需 要 数 据时查询和读取数据。 通过历史数据波形图可了解历史水位数据的变化。

结语

利用单片机和 LabVIEW 设计了矿井水位监控系统, 该系统利用单片机作为下位机在现场对水位进行监控, 而上位机软件采用 LabVIEW 可以针对现场实际状况开发更多的控制界面, 减少了硬件的投入, 同时也保证了系统的稳定可靠 实现了矿井水位的远程监控。

相关文章:

基于单片机和LabVIEW 的远程矿井水位监控系统设计

摘要 : 针 对 现 有 矿 井 水 位 监 控 系 统 存 在 结 构 复 杂 和 不 能 远 程 监 控 的 问 题 , 设计了基于单片机和LabVIEW 的远程矿井水位监控系统 , 详…...

element 表格嵌套表单验证指定行

elementui表格嵌套动态表单&#xff0c;单独验证某一行输入项是否符合校验规则&#xff1b; input动态绑定校验 :prop"imgTable. scope.$index .bxName" <el-form :model"formTable" ref"formTable" inline size"small"><…...

CORE Mobility Errorr的调试

在运行CORE tutorial 3中的mobility示例时&#xff0c;出现如下错误&#xff1a; 当看到这个问题的时候&#xff0c;并没有仔细去分析日志和现象&#xff0c;在core-daemon的进程打印界面只看了一下最后的出错堆栈&#xff1a; 2024-06-27 10:43:48,614 - ERROR - _server:_ca…...

基于weixin小程序乡村旅游系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;旅游景点管理&#xff0c;景点类型管理&#xff0c;景点路线管理&#xff0c;系统管理 商家帐号账号功能包括&#xff1a;系统首页&#xff0c;旅游景点管理&…...

详解三种常用标准化 Batch Norm Layer Norm RMSNorm

参考&#xff1a; BN究竟起了什么作用&#xff1f;一个闭门造车的分析《动手学深度学习》7.5 节 深度学习中&#xff0c;归一化是常用的稳定训练的手段&#xff0c;CV 中常用 Batch Norm&#xff1b; Transformer 类模型中常用 layer norm&#xff0c;而 RMSNorm 是近期很流行…...

云计算运维工程师面试

1. 云计算运维工程师的角色和职责是什么? 回答: 云计算运维工程师负责确保云计算环境(包括硬件和软件系统)的高可用性和稳定性。他们的主要职责包括: 监测系统和应用程序的性能,确保它们正常运行。故障排除,快速响应并解决系统或应用程序中出现的问题。容量规划,根据…...

聚观早报 | iPhone 16核心硬件曝光;三星Galaxy全球新品发布会

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 6月28日消息 iPhone 16核心硬件曝光 三星Galaxy全球新品发布会 苹果正多方下注布局AI商店 黄仁勋2024年薪酬3400…...

web前端之文档流、浮动、定位详解

目录 一、文档流 二、浮动 1.添加浮动 2.清除浮动 三、定位 1.相对定位 2.绝对定位 一、文档流 什么是文档流&#xff1f; ● 文档流指的是文档中的标签在排列时所占用的位置。 将窗体自上而下分成一行行 &#xff0c;并在每 行中按从左至右的顺序排放标签&#xff0c…...

[JS]节点操作

DOM节点 DOM树中的所有内容都是节点, 我们重点关注元素节点 作用 使开发者可以根据节点的关系获取元素, 而不是只能依赖选择器, 提高了编码的灵活性 节点分类 元素节点: 所有的标签都是元素节点, html是根节点属性节点: 所有的属性都是属性节点, 比如href文本节点: 所有的文…...

基于SpringBoot+Vue的论坛网站系统(带1w+文档)

基于SpringBootVue的论坛网站系统(带1w文档) 对于之前论坛网站的管理&#xff0c;大部分都是使用传统的人工方式去管理&#xff0c;这样导致了管理效率低下、出错频率高。而且&#xff0c;时间一长的话&#xff0c;积累下来的数据信息不容易保存&#xff0c;对于查询、更新还有…...

03逻辑门电路

分立门电路&#xff1a; 集成门电路&#xff1a; TTL门电路 MOS门电路&#xff1a;NMOS门电路、PMOS门电路、CMOS门电路 BICMOS门电路&#xff1a;CMOS的高输入阻抗和TTL的高放大倍数的结合 向更低功耗、更高速度发展 MOS管的Rdson在可变电阻区的阻值也一般会小于1000欧姆 …...

2毛钱的SOT23-5封装28V、1.5A、1.2MHz DCDC转换器用于LCD偏置电源和白光LED驱动等MT3540升压芯片

前言 之前发了一个TI的BOOST升压芯片&#xff0c;用于LCD偏置电压或LED驱动&#xff0c;请访问以下链接。 6毛钱SOT-23封装28V、400mA 开关升压转换器&#xff0c;LCD偏置电源和白光LED应用芯片TPS61040 国产半导体厂家发展迅猛&#xff0c;今天推荐一个公司带“航天”的升压…...

Zookeeper部署

Zookeeper部署 下载安装包Linux解压安装包修改配置文件编辑zoo.cf配置 启动服务停止服务常用zookeeper指令查看namespace列表创建namespace删除namespace 注意&#xff1a;该文章为简单部署操作&#xff0c;没有复杂的配置内容&#xff0c;用的是3.7.2版本。 下载安装包 进入z…...

2.x86游戏实战-跨进程读取血量

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 接下来会写C/C代码&#xff0c;C/C代码不是很难&#xff0c;然后为了快速掌握逆向这个技能&#xff0c;我…...

element-plus 日期选择添加确定按钮

需求&#xff1a;选择日期后&#xff0c;点击确定按钮关闭面板 思路&#xff1a; 使用shortcuts自定义确定和取消按钮选择日期后使用handleOpen()强制开启面板点击确定后使用handleClose()关闭面板 <template><el-date-pickerref"pickerRef"v-model"…...

Redis优化之持久化

目录 1.Redis高可用 2.Redis持久化 2.1 RDB持久化 2.1.1 触发条件 2.1.2 执行流程 2.1.3 启动时加载 2.2 AOF持久化 2.2.1 开启AOF 2.2.2 执行流程 2.2.3 文件重写触发方式 2.2.4 文件重写的流程 2.2.5 启动时加载 2.3 RDB和AOF的优缺点 3.Redis性能管理 3.1 查看…...

ubuntu22.04 编译安装libcurl C++ library

1. 安装必须的依赖项 sudo apt update #sudo apt install build-essential autoconf libtool pkg-config libssl-dev libz-dev 2. 下载及编译前准备 cd /opt mkdir curl && cd curl mkdir build && mkdir install git clone https://github.com/curl/curl.git…...

js函数闭包解析

闭包是JavaScript中非常重要的概念&#xff0c;理解闭包对于编写高质量的代码是至关重要的。本文将详细解析闭包的概念&#xff0c;并提供一些代码示例来帮助读者更好地理解闭包的使用。 什么是闭包&#xff1f; 闭包是指在一个函数内部定义的函数&#xff0c;该函数可以访问包…...

查看Oracle、MySQL、PostGreSQL中的依赖关系

查看Oracle、MySQL、PostGreSQL中的依赖关系 在有些程序员开发习惯中&#xff0c;喜欢为了应用代码的简洁或复用&#xff0c;而在数据库创建一个复杂关连查询的VIEW&#xff0c;甚至是VIEW套VIEW嵌套使用&#xff0c; 这里就有个问题如果上线后如发现依赖的表字段类型或长度不…...

多线程(基础)

前言&#x1f440;~ 上一章我们介绍了什么是进程&#xff0c;对于进程就了解那么多即可&#xff0c;我们作为java程序员更关注线程&#xff0c;线程内容比较多&#xff0c;所以我们要分好几部分才能讲完 目录 进程的缺点 多线程&#xff08;重要&#xff09; 进程和线程的区…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...

DAY 45 超大力王爱学Python

来自超大力王的友情提示&#xff1a;在用tensordoard的时候一定一定要用绝对位置&#xff0c;例如&#xff1a;tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾&#xff1a; tensorboard的发展历史和原理tens…...

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.

这个警告表明您在使用Vue的esm-bundler构建版本时&#xff0c;未明确定义编译时特性标志。以下是详细解释和解决方案&#xff1a; ‌问题原因‌&#xff1a; 该标志是Vue 3.4引入的编译时特性标志&#xff0c;用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...

十二、【ESP32全栈开发指南: IDF开发环境下cJSON使用】

一、JSON简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;具有以下核心特性&#xff1a; 完全独立于编程语言的文本格式易于人阅读和编写易于机器解析和生成基于ECMAScript标准子集 1.1 JSON语法规则 {"name"…...