×

如何通过Arduino读取电表

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-16

84784

分享资料个

描述

通常,了解您家的当前耗电量或总耗电量以限制您的电力成本并保护环境会很有趣。这不是一个真正的问题,因为大多数情况下您会在安装柜中找到一个数字电表。

在德国,您经常会在柜子中找到来自中国的 Holley Tech 的 DZ541。该仪表配备光学红外接口和 RS485 接口,通过所谓的 SML 协议分配收集的数据。

在这个项目中,我们将使用 RS485 接口将 Arduino 连接到仪表并读取总功耗和实际功率的值。

 
 
 
poYBAGN2_w2AJmp8AAB0bHtGMUI988.jpg
 
1 / 2霍利 DZ541
 

RS485 连接

为了通过 RS485 将 Arduino 连接到仪表,我使用了带有隔离接口的 Arduino RS485 屏蔽仪表的 RS485 端子由塑料盖保护。该盖子通常由密封件锁定。请勿自行打开此盖板。这可能很危险,密封破损可能会给您的能源供应商带来很多麻烦。最好的方法是向电工寻求帮助。他可以将电缆连接到仪表的 RS485 端子并恢复密封。

poYBAGN2_xCAZiZMAABiTLBNmaI909.png
仪表的 RS485 端子
 

现在您可以将仪表的 A 和 B 端子与屏蔽的 A 和 B 端子连接起来。

跳线和 DIP 开关设置

RS485屏蔽配备了一些跳线和DIP开关用于配置。请按以下方式设置拨码开关:

SW1 - ON、OFF、OFF、OFF(接收器始终打开)

SW2 - 关、关、开、开(RS485 模式)

SW3 - ON、OFF、OFF、OFF(终端电阻开启)

只需设置两个跳线:Arduino UNO 的 JP1 到 5V 和位置 RX - 2 上的第二个跳线

pYYBAGN2_xOAZK2uAAFxQW_CiUM715.jpg
跳线和 DIP 开关设置
 

软件

我们使用 UART 进行调试和编程。仪表通过端口 D2 和通过 9600 波特 (8N1) 的软件 UART 连接。仪表不断发送数据。该程序在数据流中寻找一个特殊的字节序列来寻找感兴趣的数据包。对于其他仪表,可能需要编辑字节序列或字节(标题)序列与感兴趣数据之间的距离。

总功耗和实际功耗的解码值将显示在 Arduino IDE 的终端窗口中。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !