51系列—基于51单片机的集中抄表设计(代码+文档资料)

news2024/11/29 22:50:39

概述

自动抄表(Automatic Meter Reading-AMR)是指采用通讯和计算机网络等技术自动读取和处理表计数据。发展电能自动抄表技术是提高用电管理水平的需要,也是网络和计算机技术迅速发展的必然。在用电管理方面,采用自动抄表技术,不仅能节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成帐单出错,使供用电管理部门能及时准确获得数据信息。由于电力用户因此不再需要与抄表者预约上门抄表时间,还能迅速查询帐单,故这种技术越来越受到用户欢迎。

自动抄表系统作为一个实用系统在住宅建筑工程中的应用应具备以下条件:
(1)系统产品化、模块化、系列化,并且可按照住宅建筑类型和用户的需要,灵活组合所需系统。
(2)系统工程设计应符合国家相应标准、规范及国家相关政策导向。
(3)需要相关供水、供电、供气、邮电、房地产开发等主管部门的配合,以及综合物业管理的配套实施。

抄表部分

方案1:
采用高准确度电能测量集成电路如ADE7755直接设计出可以直接产生脉冲、计数以及数据存储和发送的集成模块。但该设计该集成电路相对复杂。

方案2:
采用CRYSTAL公司最新推出的带有串行接口的单相双向功率/电能计量集成电路芯片CS5460。该芯片可以方便的组成多功能电子式电度表和分布电度表和分布式电能计量管理系统。比目前比较流行的电子电度表芯片如AD7750、AD7755更容易实现与微处理器的连接而且在AD7750/55的基础增加了更多的功能:
·具有片内看门狗定时器(Watch Dog Timer)与内部电源监视器;
·具有瞬时电流、瞬时电压、瞬时功率、电流有效值、电压有效值、功率有效值测量及电能计量功能;
·提供了外部复位引脚;
·双向串行接口与内部寄存器阵列可以方便地与微处理器相连接;
·外部时钟最高频率可达20MHz;
·具有功率方向输出指示。
这些增加的功能更加便于与微处理器(MPU)接口,并能方便地实现电压、电流、功率的测量和用电量累积等功能。该产品将是未来市场的主流产品,但在现阶段可能成本较高对一些用户来讲会难接受。

方案3:
针对现阶段大多数用电户所使用的感应式电能表的情况,采用AT89C51单片机为核心加入光电转换电路实现脉冲转换并利用霍儿传感器UGN30T51进行电流检测具有报警和自动断电的功能。改装起来比较方便,设计该电路所需成本较低。

数传部分

综合以上抄表模块和通讯模块的几种方案,从设计方面,成本问题,现阶段经济情况,用电户接受程度以及在改装过程中安装是否方便等方面综合考虑得出以下电集中抄表系统。该系统主要包括的电路有光电转换电路,电流检测电路,报警断电电路和CAN总线通信电路。总的设计框图如图所示:
在这里插入图片描述

电能表模块电路设计

在分析了防盗电现象的基础上,给出了一种带防盗电功能的新式智能化感应式电能表。该系统主要由光电转换电路、电流检测电路、单片机AT89C51、继电器和报警电路等组成。其系统主要电路组成框图如下所示:
在这里插入图片描述

电流检测电路

电流检测电路主要由线性霍尔磁敏传感器UGN3501T、钳形冷轧硅钢片和信号处理电路组成。其电路如图3.5所示
在这里插入图片描述
该电路将霍尔元件置于钳形冷轧硅钢片的空隙中,当有电流流过导线时,就会在钳形圆环中产生磁场,其大小正比于流过导线的电流,这个磁场作用于霍尔元件上并感应出相应的霍尔电势,该电势经过运算放大器μA741放大,这样,当电路中有电流流过时,放大器输出的高电平将作为单片机的一个检测信号加到单片机的定时/计数器T1。调整放大器中两个电阻RW和R5可以得到满足输入到单片机高电平信号。为了是电路更加稳定也可以在放大器的输入端加入一个二极管D1作为开关用当有足够大的电平信号D1便导通,在输出端加入电容C和二极管D2为稳压管用。

软件流程图设计

软件设计可以分为抄表的记数存储报警断电和CAN总线发送数据两大部分设计这样可以便于程序的编写和在接下来的调试过程的调试。
程序主要实现的功能是对外来脉冲进行记数,采集3个脉冲为一组判断是否有盗电情况发生,当有盗电情况发生时实现自动断电。通信部分是当上位机给出一个中断,单片机响应中断请求从存储器中提出数据并进行发送。

在这里插入图片描述

PCB电路图

在这里插入图片描述

代码资料(完整资料见文末链接)

void main(void)
{
InitINT0();    //初始化外部中断0
initTimer();   //初始化定时器0
initUart();    //初始化串口

while(1)
{
if(!Magnet && g_ucRun && !g_ucRunDire)    //有磁 在转 正转
{
LED = 0; //开电
LED2 = 0;
BELL = 1; //不报警
sendByte('\r');   //发送换行
sendByte('\n');    //发送回车
sendByte(g_uiDegree / 10000 + '0');         //发送电度
sendByte(g_uiDegree % 10000/1000 + '0');
sendByte(g_uiDegree % 1000/100 + '0');
sendByte(g_uiDegree % 100/10 + '0');
sendByte(g_uiDegree % 10 + '0');
}
else if(!Magnet && g_ucRun && g_ucRunDire)    //有磁 在转 反转
{
LED = 1;  //关电
LED2 = 0;
BELL = 0;  //报警
}
else if(!Magnet && !g_ucRun)  //有磁 不转
{
LED = 1;  //关电
LED2 = 0;
BELL = 0;  //报警
}
else //if(Magnet)  //无磁
{
LED = 0;  //开电
LED2 = 1;
BELL = 1;  //不报警
}
delay(10000);
}
}

附完整资料获取链接

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5-QAT量化部署

目录 前言一、QAT量化浅析二、YOLOv5模型训练1. 项目的克隆和必要的环境依赖1.1 项目克隆1.2 项目代码结构整体介绍1.3 环境安装 2. 数据集和预训练权重的准备2.1 数据集2.2 预训练权重准备 3. 训练模型3.1 修改数据配置文件3.2 修改模型配置文件3.3 训练模型3.4 mAP测试 三、Y…

浅谈“智慧园区”

前言:国庆《中国智慧园区发展白皮书(2022)》,很全面的介绍智慧园区的起源、发展阶段、涉及内容、未来规划、竞争格局等。做了些笔记,这对在智慧园区工作的伙伴应该很有帮助,下面是笔记和一些公开资料的整合…

小谈设计模式(30)—Java设计模式总结

小谈设计模式(30)—Java设计模式总结 专栏介绍专栏地址专栏介绍 总括三个主要类别abc 创建型模式(Creational Patterns)常见的创建型模式单例模式(Singleton Pattern)工厂模式(Factory Pattern&…

【计算机网络笔记】分组交换中的报文交付时间计算例题

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 系列文章目录题目解答 题目 在下图所示的采用“存储-转发”方式的分组交换网络中所有链路的数据传输速率为100 Mbps,分…

[开源]基于Vue+ElementUI+G2Plot+Echarts的仪表盘设计器

一、开源项目简介 基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的仪表盘设计器,具备仪表盘目录管理、仪表盘设计、仪表盘预览能力,支持MySQL、Oracle、PostgreSQL、MSSQL、JSON等数据集接入,对于复杂数据处理还可以使用…

【具身智能模型1】PaLM-E: An Embodied Multimodal Language Model

论文标题:PaLM-E: An Embodied Multimodal Language Model 论文作者:Danny Driess, Fei Xia, Mehdi S. M. Sajjadi, Corey Lynch, Aakanksha Chowdhery, Brian Ichter, Ayzaan Wahid, Jonathan Tompson, Quan Vuong, Tianhe Yu, Wenlong Huang, Yevgen C…

Trello的替代方案有哪些?6种国内外选择!

Trello是一个功能强大的项目管理工具,可以帮助团队组织和跟踪他们的工作。然而它并不是唯一的工具。Trello有很多替代方案,它们提供了独特的功能和不同的方法来管理任务和项目。以下是Trello的一些优秀替代方案:Zoho Projects、Basecamp、Wri…

NET 8发布首个RC,比.NET 7的超级快更快!

NET 8 发布了首个 RC。据称 RC 阶段会发布两个版本,正式版将于 2023 年 11 月 14 日至 16 日在 .NET Conf 2023 上推出。.NET 8 是长期支持 (LTS) 版本,将会获得 3 年技术支持。 公告写道,此版本为 Android 和 WASM 引入了全新的 AOT 模式、…

Leetcode—27.移除元素【简单】

2023每日刷题&#xff08;一&#xff09; Leetcode—27.移除元素 无脑直接法实现代码 int removeElement(int* nums, int numsSize, int val){int i 0;int length 0;int j 0;while(i < numsSize) {// 存在等于val的数组元素if(nums[i] val) {j i;int flag 0;while(j…

如何降低海康、大华等网络摄像头调用的高延迟问题(二)

目录 1.RTSP介绍 2.解决办法1 3.解决办法2 1.RTSP介绍 RTSP&#xff08;Real-time Streaming Protocol&#xff09;是一种用于实时流媒体传输的网络协议。它被设计用于在服务器和客户端之间传输音频、视频以及其他流媒体数据。 RTSP协议允许客户端通过与服务器建立RTSP会话…

系统架构师备考倒计时21天(每日知识点)

测试阶段划分 单元测试&#xff1a;依据详细设计&#xff0c;模块测试&#xff0c;模块功能、性能、接口等集成测试&#xff1a;依据概要设计&#xff0c;模块间的接口系统测试&#xff1a;依据需求文档&#xff0c;在真实环境下&#xff0c;验证完整的软件配置项能否和系统正…

【linux】日志和journalctl 管理查看日志

目录 既看即用 简略介绍 linux的日志类型 系统日志 介绍 区别的简单说明 区别的详细说明 journalctl是什么&#xff1f;&#xff08;查看系统日志的工具&#xff09; 详细内容 linux的日志类型 systemd日志&#xff08;systemd-journald&#xff09; 放在哪个目录 …

推荐几款好用的通用型项目管理软件!

目前市面上的项目管理产品非常丰富&#xff0c;在选择项目管理软件的过程中一一了解这些产品哪个更好更适合自己的团队&#xff0c;无疑会浪费很多时间成本。通用性项目管理工具可以满足大部分团队的项目管理需求&#xff0c;那有什么好用的通用型项目管理软件呢&#xff1f;知…

电商数据API接口:新服务下电商网站、跨境电商独立站,移动APP的新型拉新武器

互联网的发展改变了我们的生活方式&#xff0c;也改变了企业商家们的营销方式&#xff0c;越来越多的企业商家把产品营销从线下转到线上&#xff0c;选择在线商城、移动APP、微信公众号等互联网工具进行营销活动。而随着营销模式的多元化和电子支付渠道的进一步发展&#xff0c…

Linux 系统安装 Redis7 —— 超详细操作演示!

内存数据库 Redis7 一、Redis 概述1.1 Redis 简介1.2 Redis 的用途1.3 Redis 特性1.4 Redis 的IO模型 二、Redis 的安装与配置2.1 Redis 的安装2.2 连接前的配置2.3 Redis 客户端分类2.4 Redis 配置文件详解 三、Redis 命令四、Redis 持久化五、Redis 主从集群六、Redis 分布式…

【排序算法】详解直接插入排序和希尔排序原理及其性能分析

文章目录 插入排序算法原理细节分析代码实现复杂度分析:稳定性分析:与冒泡排序的对比 希尔排序算法原理细节分析代码实现复杂度分析稳定性分析 总结对比 插入排序 算法原理 插入排序又或者说直接插入排序,是一种和冒泡排序类似的并且比较简单的排序方法&#xff0c; 基本思想…

【Kotlin精简】第4章 函数

1 简介 函数是用来运行代码的载体&#xff0c;可以在一个函数里编写很多行代码&#xff0c;当运行这个函数时&#xff0c;函数中的所有代码会全部运行。 Kotlin中的函数同Java完全面向对象的规则不太一样&#xff0c;在Kotlin的世界里&#xff0c;函数也是准C位的&#xff0c;…

ios设备管理软件iMazing 2.17.11官方中文版新增功能介绍

iMazing 2.17.11官方中文版(ios设备管理软件)是一款管理苹果设备的软件&#xff0c; Windows 平台上的一款帮助用户管理 IOS 手机的应用程序&#xff0c;软件功能非常强大&#xff0c;界面简洁明晰、操作方便快捷&#xff0c;设计得非常人性化。iMazing官方版与苹果设备连接后&…

【数据结构C/C++】十大排序算法的实现思路以及易写易记忆版代码实现

文章目录 冒泡排序选择排序插入排序归并排序快速排序&#xff08;重点讲解&#xff09;堆排序&#xff08;重点理解&#xff09;408考研各数据结构C/C代码&#xff08;Continually updating&#xff09; 冒泡排序 时间复杂度 O&#xff08;n2&#xff09; 空间复杂度 O&#x…

Jupyter Notebook的使用

以管理员身份运行 命令行显示内容含义 JupyterLab application directory is D:\Program Files\anaconda\share\jupyter\lab↑这一行是JupyterLab的地址 Serving notebooks from local directory: C:\Users\Sylvia\Documents↑这一行是文件的保存地址。其中Users中文文件夹名是…