基于STM32的智能插座项目

news2024/11/28 12:46:38

本项目基于stm32f103c8t6芯片通过集成众多模块和元器件,通过ESP01-S和阿里云平台实现智能插座的项目开展。资料获取到咸🐟:xy591215295250 \\\或者联系wechat 号:comprehensivable

随着电子科学与技术的快速发展,软硬件成本持续降低,智能家居逐渐进入公众视野,智能插座作为智能家居的一部分而备受关注。本项目主要目的为了减少由于家用电器使用不当引发火灾以及电器待机状态带来的能源浪费,促进智能家居的普及和推广节能减排的政策。

本文基于stm32构建了智能插座系统,该系统可测量用电器件的电压、电流和功率等参数,一旦电器功率超载,系统将自动断电并发出警报。系统的硬件部分整合了核心板、电源转换模块、电压电流互感器和继电器等组件,使用电压电流互感器获取电信号,通过ADC进行采样和数据传输,单片机处理数据后显示用电器件的参数信息,利用WIFI模块与手机实现远程信息传输,实现系统的监控和数据分析。该系统最终实现了智能插座的预想功能,通过手机APP监测插座的开关状态和显示电器设备的能耗情况,包括电压、电流和功率参数,并实时在OLED屏幕上显示。同时,当电器设备的功率超过设定阈值时,智能插座将自动切断电源并发出警报提示。经过测试,系统取得了预期的结果,智能插座的研究对于节能和家用电器安全使用具有重要意义,通过远程监控电器设备的能耗情况,有助于确保电器的安全使用。此外,在电器设备闲置时远程切断电源可实现节能效果,为节约能源做出贡献。


以上为本项目的摘要,其项目背景、项目主要内容和项目功能在摘要中已简要表达;

以下内容主要为详细的介绍本次项目中所使用到的硬件,包括整体硬件分布以及各个模块选型依据和主电路,主要包括核心控制模块、电源转换模块、电压电流信号采集电路、远程通信模块、显示屏模块和继电器模块。

本项目需要完成所预期的功能包括对用电器件的电压电流以及功率进行测量并且显示,超过阈值进行自动断电以及报警提示,使用手机上位机软件进行远程监控[26,27],对用电器件进行通断状态控制和用电数据统计,不同色彩led显示不同工作状况,采用电路板进行集成,整体集成电路板分布如下图3.1所示。

 图3.1 整体硬件布局

通过采用PCB绘制软件来绘制电路板布局,提前分配好其MCU的管脚功能控制,尽量将整体紧凑排列,其中,由于一块电路板上涉及强电和弱电,需要进行电气隔离。


本设计中,主程序控制系统执行,首先对系统参数进行初始化,其中包括IO口、串口、定时器、ADC、按键等参数,系统使用OLED进行开机过渡,后续进行自检,包括对按键,继电器和LED等硬件检查是否正常,接入用电器件后,通过电压电流互感器采集电信号,通过ADC采集并且进行计算获得功率等数据,通过设定功率阈值,程序判断是否超过阈值,当超过阈值后进行断电并且报警提示,若是没有超过阈值便将相关数据显示于OLED上,其中使用WIFI模块进行远程监控[28],通过指令控制继电器通断来控制插座的通断,通过数据传输至手机上位机,对于用电器件的使用电量数据情况进行统计监控,其整体流程图见下图4.1所示。

4.1 主程序流程图 

采用远程通信目的主要为监控用电器件的用电信息以及控制插座的通断,当MCU通过传感器获得电信号后,通过ESP01-S模块连接WIFI以及通过TCPMQTT协议将数据进行上传到阿里云服务器,当要进行下发命令,则通过热点和蜂窝数据传输到我们手机上的APP,其数据交互框图见图4.8所示。

 

4.8 数据交互框图


通过测试多个用电器件,并且将其用电信息进行统计,通过分析可以得到其测试用电功率和测评标注功率相差不大,其测试功率目的能够达到,其统计信息见表5.1所示。

5.1 用电器件信息统计

用电器件

电压信息

测试电流信息

测试功率

理论功率

功率误差

吹风机

220V

4.288A

951.4W

1000W

4.9%

充电器

220V

0.303A

66.1W

67W

1.34%

台灯

220V

0.016A

3.6W

4W

10%

电烙铁

220V

1.29A

284.6W

286W

0.49%

热风枪

220V

3.15A

692.3W

700W

1.1%

 

 

 

 

 

 

通过接入用电器件测试其功率,本项目中采用吹风机,充电器等常用设备进行测试,在测试过程中对所设定的功能进行测试,包括使用物理按键控制电路的通断,复位按键进行重启电路,远程APP对电路监控以及通断,超过设定阈值后自动断电以及报警提示,人为干涉后,恢复正常状态,其测试功率过程见图5.12所示

5.12 用电器件测试过程 

本课题采用AD软件进行电路的设计,其电路原理图见附图3所示。

 

ADC采样过程中调用AD转换函数,获得电压电流数据,为了保证测量用电器件功率的准确性,使用电阻以及示波器进行校准,获得电压电流后通过P=UI获得用电器件的功率,其部分代码如下。

adcx=Get_Adc_Average(ADC_Channel_1,10);

             temp=(float)adcx*(3.3/4096);

             ACvolt=(unsigned int)(temp*332.2);

             if(ACvolt<15)  ACvolt=0;

             adcx=Get_Adc_Average(ADC_Channel_2,10); 

             temp=(float)adcx*(3.3/4096);

             if(temp>0.02)

             {

                    ACcurrent=(unsigned int)((temp-0.02)*2960);

             }

             else

             {

                    ACcurrent=0;

             }

基于STM32的家用插座监控系统研究

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

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

相关文章

qt 如何获取磁盘信息、QStorageInfo

以往获取qt磁盘信息&#xff0c;笔者是通过一下API转换的 BOOL GetDiskFreeSpaceExW([in, optional] LPCWSTR lpDirectoryName,[out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,[out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,[out, optional…

10地!2024年一级造价师报名通知发布!

各位考生注意&#xff0c;西藏、四川、江西、新疆&#xff0c;辽宁、江苏、云南、新疆兵团、海南10个地区已经发布了关于2024年度一级造价工程师职业资格考试报名工作的通知&#xff1a; 浙江 辽宁 江苏 云南 报名时间&#xff1a;6月28日9:00—7月8日17:00&#xff1b; 缴费时…

spacetitanic 使用决策树分类

Spaceship Titanic | Kagglehttps://www.kaggle.com/competitions/spaceship-titanic 导入数据分析及调用接口所需库 读取csv文件数据并使用.head()查看头部信息 描述数据&#xff0c;使用.info()函数获取对象的详细信息 通过.describe()方法会生成一个统计摘要&#xff0c;并…

Linux 之内存管理 -free 和 RSS/RES的意义

一、free -h 计算关系&#xff1a; available free buff/cache total used availbleshared 参数 说明 total 总计物理内存的大小 used 已使用的物理内存的大小 free 可用物理内存有多少 shared 多个进程共享的内存总额 buff/cache 写入和读取 磁盘内存缓冲区的大小 avail…

SRM供应商管理系统是什么?企业为何都非常重视供应商管理?

企业与供应商之间的关系就像一张错综复杂的网&#xff0c;维系着生产的顺利进行。但是&#xff0c;这张网也时常让企业感到焦虑和困扰。例如&#xff0c; 如何准确地评估供应商的信誉和实力&#xff1f; 如何高效地与众多供应商沟通&#xff0c;确保信息的及时传递和反馈&…

MySQL进阶——视图

目录 1基本语法 1.1创建 1.2 查询 1.3 修改 1.4 删除 2 检查选项 2.1 级联CASCADED 2.2本地LOCAL 3 更新及作用 3.1视图的更新条件 3.2视图的作用 4视图案例 1基本语法 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&…

【linux】dup文件描述符复制函数和管道详解

目录 一、文件描述符复制 1、dup函数&#xff08;复制文件描述符&#xff09; ​编辑 2、dup2函数&#xff08;复制文件描述符&#xff09; ​编辑 二、无名管道pipe 1、概述 2、无名管道的创建 3、无名管道读写的特点 4、无名管道ps -A | grep bash实现 三、有名管道FI…

下载caj viewer查看caj论文

前言 CAJ是“中国学术期刊全文数据库”&#xff08;China Academic Journals&#xff09;的英文缩写&#xff0c;同时也是“中国学术期刊全文数据库”中的一种文件格式。我们从CNKI&#xff08;中国知网&#xff09;下载的资料一般都是这种文件格式。 CAJ不同于PDF等&#xff…

Kimi还能对学术论文进行润色?我来教你!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 一、引言 在学术界&#xff0c;论文的质量往往决定了研究的可信度和影响力。Kimi作为一款人工智能助手&#xff0c;可以为学术论文的润色提供有效的帮助。本文将详细介绍如何利用Kimi进…

面向对象进阶--抽象(Java 抽象)详解

1.1 抽象类引入 父类中的方法&#xff0c;被它的子类们重写&#xff0c;子类各自的实现都不尽相同。那么父类的方法声明和方法主体&#xff0c;只有声明还有意义&#xff0c;而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说&#xff0c;父类可能知道…

复盘最近的面试

这个礼拜一直在面试&#xff0c;想着看看能否拿到不错的offer前去实习&#xff0c;从周一到周四&#xff0c;面了将近10家&#xff0c;特整理此份面经&#xff0c;希望对秋招的各位有所帮助 A公司 一面 面试官人很好&#xff0c;我回答的时候不会他会笑笑然后提醒我 自我介绍~…

VMware安装及创建虚拟机

安装完成后&#xff0c;点击创建新的虚拟机 操作完成后就安装成功啦 &#xff0c;下个教程出虚拟机Linux和xshell的连接及可能出现的问题解决方案

Elasticsearch:倒数排序融合 - Reciprocal rank fusion - 8.14

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。语法可能会在正式发布之前发生变化。Elastic 将努力修复任何问题&#xff0c;但技术预览中的功能不受官方正式发布功能的支持 SLA 约束。 倒数排序融合 (reciprocal rank fusion - RRF) 是一…

QTday5 2024-06-19

作业要求&#xff1a; 1.思维导图 2.整理代码&#xff1a;TCP服务器 作业1&#xff1a;思维导图 作业2&#xff1a;整理代码 运行代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QList>…

力扣-最长连续序列

文章目录 题目题解解释代码 题目 原题链接&#xff1a;最长连续序列 题解 思路&#xff1a; 定义变量 res 用来记录最长连续序列的长度。对集合中的每个元素进行如下处理&#xff1a; 检查该元素是否是某个连续序列的起点&#xff08;即 num - 1 不在集合中&#xff09;。如…

90 岁老人靠一辆自行车年赚 170 亿,捷安特如何打造山地车极致产品力?

一位富家小开在中年时经商失败&#xff0c;38岁时从零开始创业&#xff0c;最终在自行车整车市场占据了70%的份额&#xff0c;他是怎么做到的&#xff1f; 一家曾为美国自行车品牌代工的台湾工厂&#xff0c;成功从ToB转型为ToC业务&#xff0c;从90%的代工业务转变为全球最大…

迅狐多商户直播商城系统源码:电商领域的创新融合

随着直播技术的兴起和电子商务的蓬勃发展&#xff0c;迅狐多商户直播商城系统源码应运而生&#xff0c;为商家和消费者提供了一个全新的互动购物平台。 多商户直播商城系统源码概述 迅狐多商户直播商城系统源码是一个高度集成的解决方案&#xff0c;它结合了直播的即时性和电…

进入容器修改内容_提交改变后的镜像_镜像保存成tar压缩包离线传输_镜像传输_镜像推送到公共仓库---分布式云原生部署架构搭建009

然后再来看,进入docker内部去看看. 用 docker exec -it imgid /bin/bash 这样就可以进入容器内部 而且关于,镜像的,内部放到什么地方了,都可以找到比如 在hub.docker的地址里面,找到nginx可以看到,对应的 /usr/share/nginx/html 可以看到这个路径. 然后去看看,进入到/usr…

浏览器(Browser):轻量级浏览器,高效浏览新体验

在可的哥桌面&#xff08;Codigger Desktop&#xff09;&#xff0c;我们始终秉持创新精神&#xff0c;致力于提供卓越的用户体验。如今&#xff0c;我们激动地宣布一项全新功能的发布——轻量级浏览器Browser。这款浏览器的推出&#xff0c;正是我们对用户体验追求的再次体现&…

C++:你用过MultiIndex容器吗?

作为C开发者&#xff0c;我们对键值容器非常熟悉&#xff0c;例如std::set、std::map、std::unordered_map等。这些容器以其强大的功能和高效的性能&#xff0c;成为我们处理数据存储和检索任务时的得力助手。但是你用过多键容器&#xff08;MultiIndex&#xff09;吗&#xff…