通常,了解您家的当前耗电量或总耗电量以限制您的电力成本并保护环境会很有趣。这不是一个真正的问题,因为大多数情况下您会在安装柜中找到一个数字电表。
在德国,您经常会在柜子中找到来自中国的 Holley Tech 的 DZ541。该仪表配备光学红外接口和 RS485 接口,通过所谓的 SML 协议分配收集的数据。
在这个项目中,我们将使用 RS485 接口将 Arduino 连接到仪表并读取总功耗和实际功率的值。
为了通过 RS485 将 Arduino 连接到仪表,我使用了带有隔离接口的 Arduino RS485 屏蔽。仪表的 RS485 端子由塑料盖保护。该盖子通常由密封件锁定。请勿自行打开此盖板。这可能很危险,密封破损可能会给您的能源供应商带来很多麻烦。最好的方法是向电工寻求帮助。他可以将电缆连接到仪表的 RS485 端子并恢复密封。
现在您可以将仪表的 A 和 B 端子与屏蔽的 A 和 B 端子连接起来。
RS485屏蔽配备了一些跳线和DIP开关用于配置。请按以下方式设置拨码开关:
SW1 - ON、OFF、OFF、OFF(接收器始终打开)
SW2 - 关、关、开、开(RS485 模式)
SW3 - ON、OFF、OFF、OFF(终端电阻开启)
只需设置两个跳线:Arduino UNO 的 JP1 到 5V 和位置 RX - 2 上的第二个跳线
软件
我们使用 UART 进行调试和编程。仪表通过端口 D2 和通过 9600 波特 (8N1) 的软件 UART 连接。仪表不断发送数据。该程序在数据流中寻找一个特殊的字节序列来寻找感兴趣的数据包。对于其他仪表,可能需要编辑字节序列或字节(标题)序列与感兴趣数据之间的距离。
总功耗和实际功耗的解码值将显示在 Arduino IDE 的终端窗口中。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !