家庭智能能源管家(结项)
项目概述
本次试用本来是与项目同步在进行中,但是由于公司产品布局调整,原有的项目暂时搁置了,只能先完成试用了。
在没有政府采购资质时,是没有办法得到国网用的电表的协议的,也无法得到燃气表与水表的通讯协议,所以这里采用一块STM32开发板上的串口来模拟三路RS485通讯。
系统框图与原理如下,其中“原子STM32F7”部分包括了LCD显示、通讯处理、人机接口(触摸)、参数存储等。环境参数为测量的室内温湿度数据。PC上位机部分,在产品成型后要更改为手机APP,可通过有线或无线网络进行通讯。
硬件设计硬件组成分为三个部分,模拟电、水、气表开发板、温湿度传感器,原子F7总的连接如下图。由于我的温湿度传感器的接口无法插入到开发板上的接口上,使用了杜绑线进行了连接。
模拟与温湿度传感器部分。
软件调试
单片机软件部分使用了操作系统UCOSIII,其中移植了STemWin与LWIP。STemWin为了显示上的方便,并与触摸屏配合,形成人机互动部分。LWIP为与PC上位机的通信,PC上位机计划使用C#编写,但由于项目搁置,现在使用网络调试工具进行代替,原理相通,只是将F7上的数据进行上位机显示。通过读取三表的数据,当电量不足等情况时,蜂鸣器报警。可以看下整个工程的结构。这个是在原子的工程上做的修改,在STemWin的ucos iii上又移植了LWIP,至于移植过程,原子或是网上有很多教程,也比较成熟了,不再赘述了。
显示部分,屏幕上要显示时间、网络通讯状态与参数,RS485通讯状态,显示环境参数,显示三表数据。触摸屏来选择三表的显示。正常显示时如下图所示。几个图标都是图片,由于修图能力有限,有一些颜色可能存在偏差。
当点击某个图标时,会显示图标当下的数据,以“其他数据”为例,会显示环境参数的温湿度。
三表的数据如下,以电表的数据为例:F7读取“电表”的总电量,已经使用的电量,剩余电量三个数据,并通过UDP将数据上传到上位机,如下是使用网络调试助手读取到的数据。数据都从F401的开发板上读取的,而F401的数据产生是根据时间进行加减的,并不是真实的电表数据。
总结
对于F7的使用,除了其丰富的并特有的几个外设,其使用方式与STM32F103系列的很相似,只是F7的功能与速度都提高了几个层次。
本次试用的结项主要是使用了原子的一些现成的例程,并在其例程上添加修改自己的功能。起初是想用AC6进行开发的,可是后期的工作量有点大,与公司项目布局更改有关,原有的项目暂时搁置,就放弃了使用AC6,不过在测试过程中,发现AC6貌似是比较快一点的吧。
本次试用,主要工作集中于LCD、网络、485通讯,由于是模拟的三表,并没有移植Modbus协议。
原子的这块F7的开发板,功能是相当丰富的,由于试用周期的原因并没有完全发挥出板子的全部能量,但其对于项目初期搭建、功能与理论验证都是难得的好板。在后期的使用过程中,再将其强大之处分享给大家吧。
最后感谢电子发烧友与原子给予本次试用机会。
有视频演示嘛?
做得真棒!
该有的已经都有了。
当时拍了个,在优库上上传了好长时间,都弄不成。回头再试试。可能是网络问题。
其实视频也没有什么,就与帖子里的图一样的,只是手点一下,跳转个画面。