STM32
直播中

王健

7年用户 973经验值
私信 关注
[问答]

如何对基于云服务的短程低功耗智能用电管控装置进行调试呢

基于云服务的短程低功耗智能用电管控装置是由哪些部分组成的?
如何对基于云服务的短程低功耗智能用电管控装置进行调试呢?

回帖(1)

于姝斐

2021-12-17 09:44:14
基于云服务的短程低功耗智能用电管控装置

这个工程是一个简单的项目复现过程,算是旧词新提,都是为了混加分项呀!这是博主3年以前项目,当时还是在实验室和小伙伴两个人一起努力的结果,虽然自己心里有数,这点小玩意,很难达到自己的期望的高度,但是从这个小工程里,也学到了一些无线通信、IC卡片、LCD屏、功率计和F1的一些常用的开发过程,那么具体的功能我会用一个流程图进行展示,算是这个项目的任务书吧。头一次见到把任务书做成程序框图的项目吧!哈哈
任务书






器件选型

经过仔细阅读上述的任务书,可以发觉,需要具备如下这样一些功能:



  • IC卡+识别模块 MFRC-522 RC522 RFID射频 IC卡感应模块 购置
  • 蜂鸣器 板载的即可 板载
  • 继电器 支持3.3V控制220V~260V的即可 手头有
  • 功率检测计 IM1253B交直流电能计量模块(艾锐达光电) 需购置
  • LCD屏显 板载
  • NRF24L01模块 手头有,手头有
  • 用电负载(电灯) 需要购买
  • 普通的用电插排 需要购买
  • 两块正点原子的STM32F1核心板 一个模拟本地,一个模拟云端处理 手头有

从上述的模块中,有一个模块比较繁琐,就是功率计模块,需要采集到用电系统的电功、电压和电流信息,并且实现串口通信,将数据采集到单片机内部,在内部实现数据的分析和显示。
开发步骤

按照博主之前的研发思路,肯定是优先调试每个模块,然后再进行系统的联合调试,针对这个项目,先调试好本地的数据收发,比如IC卡的识别,继电器的通断,蜂鸣器的发声、LCD屏的显示和NRF24L01板间建立通信。
第一步:调试上述提到的各个功能模块,并预留出最后联合调试的数据接口;
第二步:所有模块的联合调试;
第三步:进行系统的装配和加固;
按照自顶向下的设计思路,这里给出我的设计方案:





至于负载、继电器和功率计三者的接线方式如下所示:





其中继电器需要接在交流采集接线部分中的交流电输入部分。
详细开发流程

为了能正常的进行项目的开展,需要先进行器件的选型,特别是对于功率计的选择。这里补充一点关于家庭用电中的短路情况发生后的一些变故:

  由于电流迅速由工作电流增大到短路电流,电流增加几倍或几十倍,在短路点以上的设备,一直到变压器,都会出现大电流冲击,一般的熔断器要熔断,一般的空气开关会跳闸,影响继续用电,如果出现越级跳闸事故,还会影响其他人家的正常用电。
  发生短路时,电路中电阻很小,根据I = U / R可知,在家庭电路中电压一定的情况下,电路中的电流很大;
当电路中的总功率过大时,根据I = P / U可知,在家庭电路中电压一定的情况下,电路中的电流很大.因此为了安全用电,我们在平时的生活用电中要避免短路现象发生,不能随便插接大功率用电器.
故通过检测系统中采集到的电流值的变化时间和变化量从而可以作为短路情况一个判断条件。在使用这个模块的时候,务必要小心,必竟是家庭用电,一定要注意安全用电和测试。
功率模块的通信需要对采集的数据进行包解析,发送端包含命令字、寄存器地址和数目(十六进制形式),而数据包里有数据量和具体的数据值(十六进制形式)。

  




  这里备注一下这个模块的一些默认参数:
  

  • 地址:0X01
  • 波特率:4800
  • 电源隔离:模块供电和通信供电要隔离

  









  其中继电器的位置将会被安排到火线的输入端,通过阅读手册,这个模块是交直流均可测量的模块。上图是这个模块的接线特写图。
  




  上述图表是所有寄存器的地址和对应的每一位所代表的取值范围。下面再给出这个模块的功能码。
  




  这里给出每一帧数据所包含的数据的具体格式:
  




结合我们的需求,需要测量电流、电压、用电功率和电能值三个参数的值。故需要用单片机发送一路串口。接下来我补充一点Modbus-RTU相关的理论知识:

  Modbus-RTU通信理论

  Modbus协议包括RTU、ASCII、TCP。其中RTU是单片机中使用最多的一组。
  




  这里两个缩略词以前不知道,但是现在要明白指的是什么,“ADU”“PDU”
  

  • ADU: 应用数据单元
  • PDU: 协议数据单元

  这里举一个简单的读和写的例子,来认识这种协议:
  




硬件设计

首先给出整个系统最终的电路拓扑连接图,如下图所示:





从图中可以清晰地看到整个系统中的数据运行方式,从中也可以领悟“up to down”设计思想对于全局设计思想的培养是多么有意义的事情。下面会逐一展开系统中各个模块的具体引脚分配和对应的驱动程序的编写。就先完成系统中模块引脚的分配吧。



  • IC识别模块
  • 蜂鸣器
  • NRF24L01模块
  • lCD显示屏
  • NRF24L01模块
  • 功率计模块
  • 继电器模块


软件设计

明天会进行跟进
举报

更多回帖

发帖
×
20
完善资料,
赚取积分