前言
Google 曾经做过一个power meter 的开源项目,当时曾经有研究表明,注意用电情况会带来10-15%的能耗降低。也许这些剩下的电费不算什么,但是如果做这些事情的人多了,节省的能耗就不是一个小数字了。
之前已经有不少人用Arduino 来做开源的功率测量设备,比如这篇文章
但是大家基本上都是采用独立的电流传感器,电压感应器元件完成的,通过Arduino 读取电流电压数值,然后计算出功率。
这样做的好处是:电流传感器,电压感应器的价格都比较便宜
这样做的问题是:
功率由Arduino 计算,如果Arduino断电了,数据就没了,如果需要计算电量,还需要Arduino对这些功率进行积分,会带来累积误差。
由于这些问题,我们用一个专门的电量计量模块来和Arduino 一起完成电量计量的工作。
Arduino Power Meter硬件组成
l Arduino UNO+W5100
l URAT-RS485 module
l JSY-109(电计量模块,独立测量电流、电压、功率、用电量,掉电不丢失用电量数据)



系统框架

手把手教程
接线
如下图:
1. 入口的空气开关
2. 电计量模块的电流互感线圈,套在入户空气开关的火线上面,注意电流方向
3. 电计量模块的电压互感器,需要接到220V电源上面(上电以后红灯亮)
4. TTL-RS485 模块,AB端子与电计量模块的485 AB连接到一起
5. TTL-RS485 模块,TX RX 5V GND 与ARDUINO UNO 连到一起
6. 选择具有网络插板(W5100)的UNO

下载代码
下载该文件夹到 x/Arduino/library

测试本地模式
1. 打开Arduino IDE
2. Example ->leweiclient->JSY109local
3. 编译下载代码(注意,下载代码的时候需要断开TTL-RS485 模块与Arduino连接的TX 和RX 引脚,下载后再连接上,否则Arduino 无法和电计量模块进行通信)
4. 闭合空气开关,电计量模块上电,红灯亮
5. 打开串口监控界面,选择4800波特率(因为电量监控模块就是4800的波特率),看到电压已经测试出来了。这个证明UNO 与电计量模块之间的通信已经正常了。

测试网络模式
登陆,添加设备,注意标识选择02(跟Arduino 程序对应的)选择模板网络电量表。

打开Arduino IDE
Example ->leweiclient->JSY109Remote,更换 USRKEY 的宏定义

USRKEY 在这个页面获得:
.bmp)
编译下载代码(注意,下载代码的时候需要断开TTL-RS485 模块与Arduino连接的TX 和RX 引脚,下载后再连接上,否则Arduino 无法和电计量模块进行通信)
打开串口监控页面,注意4800波特率,看到”Ethernet configuration OK” 说明局域网配置正常了。

回到web“实时数据” 页面,发现添加的传感器高亮并且已经有数据了(看最后更新的时间)

可以手机登录m.lewei50.com 实时查看数据情况。

可以把每天的用电情况,推送到WEIBO 或者邮件。
