Arduino Power meter 开源套件

2014-05-04 09:18 来源:乐联网

 前言

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
 
 
C:UserslaoliuPictures框架图.jpg
 
下载代码
 
下载该文件夹到 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 在这个页面获得:
  
 
 
编译下载代码(注意,下载代码的时候需要断开TTL-RS485 模块与Arduino连接的TX 和RX 引脚,下载后再连接上,否则Arduino 无法和电计量模块进行通信)
打开串口监控页面,注意4800波特率,看到”Ethernet configuration OK” 说明局域网配置正常了。
 
 
回到web“实时数据” 页面,发现添加的传感器高亮并且已经有数据了(看最后更新的时间)
 
 
可以手机登录m.lewei50.com 实时查看数据情况。
 
C:UserslaoliuDocumentsTencent Files&68916FileRecvMobileFilewifi0s0-10081544Screenshot_2014-05-03-13-51-15.png 
 
可以把每天的用电情况,推送到WEIBO 或者邮件。