0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino能量监控器的制作

454398 来源:网络整理 作者:网络整理 2020-01-27 17:54 次阅读

第1步:获取所需的硬件

要使所有这些正常工作,您当然需要一些硬件。由于我们正在使用Arduino来测量电流消耗并发送RF命令,因此我们需要一个Arduino来开始。

Arduino能量监控器的制作

必需的硬件:

Arduino (Uno或Pro Mini)

非侵入式电流传感器

要定义电阻

射频发射器和接收器

原型:

面包板

面包板电线

最终版本:

烙铁

焊料

电线

当然,您可以选择不将所有内容都焊接在整齐的包装中。

步骤2:必需的软件

这与原型过程本身有关,而与制作抛光产品无关。开始编程,只是普通的Arduino IDE。由于我们不使用任何库,因此您无需再安装任何东西。

所需的软件:

Arduino IDE

第3步:查找电流传感器值

为获得最佳结果,我们将需要找到最适合电流传感器(CT传感器)的电阻。这是根据CT传感器的规格通过一些计算完成的。

第一步是找到这些值。您通常可以通过在您喜欢的搜索引擎中输入产品类型和品牌来找到它们。对于我来说,这将是我已经拥有的产品“ Talema AC1010”。

我们需要以下条件:

最大一次电流(RMS

转动 ratio

此外,我们需要知道Arduino的工作电压。对于Arduino Uno,这将是5v。

总而言之,这就是我的值,对于参考非常有用:

最大一次电流: 60A

匝数比: 1000:1

Arduino电压: 5

步骤4:计算理想负载电阻

如果CT传感器是电流输出类型,例如Talema AC1010,则需要转换电流信号带有负载电阻的电压信号。如果是电压输出CT,则可以跳过此步骤,而忽略负载电阻,因为负载电阻已经内置在CT中。现在该开始记住高中的这些基础数学课了。

选择当前要测量的范围。 Talema AC1010的电流范围为0A至60A,因此在此示例中,我们选择60A作为我们的最大电流。

乘以√2将最大RMS电流转换为峰值电流:

Primary peak-current = RMS current × √(2) = 60A × 1.414 = 84.8A

将峰值电流除以CT的匝数即可得到次级线圈中的峰值电流。

Talema AC1010具有1000匝,因此次级峰值电流将是:

Secondary peak-current = Primary peak-current / no. of turns = 84.8A / 1000 = 0.0848A

为最大程度地提高测量分辨率,峰值电流时负载电阻上的电压应为Arduino模拟参考电压(AREF)除以2

使用的是在5V电压下运行的Arduino:AREF/2将为5 V/2 = 2.5 V,因此理想的负载电阻为:

Ideal burden resistance = (AREF/2) / Secondary peak-current = 2.5V / 0.0848A = 29.5Ω

29Ω不是常见的电阻值可以选择22Ω或33Ω。始终选择下一个较小的值,否则最大负载电流将产生高于AREF的电压。我建议使用33Ω±1%。在某些情况下,串联使用2个电阻会更接近理想的负载值。该值离理想值越远,精度将越低。在这种情况下,峰值电流将产生4.7V的模拟值(使用12位ADC进行模数转换后为3822)。

步骤5:开始编码,更多数学运算!

为使测量有效,我们需要计算代码中的某些先前值。这将为我们提供一个校准值。为此,我们需要再次使用Arduino电压,最大RMS,环路并使用负载电阻。确保用于计算的负担是您实际使用的电阻值。

首先,我们需要再次开始计算:

double primaryPeak = sqrt(2) * amps; // Peak RMS value.

double secondaryPeak = primaryPeak / loops; // Minimum RMS value.

_sensorVoltage = voltage; // Voltage at which Arduino is running at.

_sensorCalibration = (primaryPeak / secondaryPeak) / burden; // Calculate calibration value.

首先,我们计算初级和次级峰值。和以前一样我们保存电压供以后计算使用,然后通过将一次峰值除以二次峰值来计算校准值。之后,我们将该结果除以负载电阻值。

因为我的电阻器已经焊接到我使用的板上,所以我的计算结果为:0,078。在先前计算的负载电阻器计算的情况下,结果将为30,03。此值需要稍后重用。

现在是实际零件。忍受我,因为这听起来有点复杂,实际上相当容易。首先,我们需要定义采样率,这是完成测量的次数。好的采样率应该是1480。所有样本都将添加到样本中,然后除以样本数量。这将给我们一个平均值。

for (int i = 0; i 《 samples; i++) {

_sensorValue = analogRead(_sensorPin); // Value of current sensor value, used for calculations.

_calculationOffset = (_calculationOffset + (_sensorValue - _calculationOffset) / 1024); // Calculated offet value from sensor.

_calculationFiltered = _sensorValue - _calculationOffset; // Calculated filtered value from sensor.

_calculationSquare = _calculationFiltered * _calculationFiltered; // Square value from sensor.

_calculationSum += _calculationSquare; // Sumary of all values since last sample reset.

}

_sensorAmperage = _sensorCalibration * (_sensorVoltage / 10) * sqrt(_calculationSum / samples); // Calculated amperage value from sensor.

_calculationSum = 0; // Reset summary so that new sample can be made.

这将给我们带来稳定的安培功耗。您可以手动将此安培值转换为瓦数值。一个简单的方程式:

voltage * amps = wattage

当然,此电压是所连接设备的输入电压,通常为230v或110v。

步骤6:完成

从现在开始,您可以使用此值执行任何操作。以我为例,我正在连接一个射频发射器以发送“开”或“关”命令。

我可以理解,前面的代码解释有点短。为了让您的生活更轻松,我制作了一个Arduino库,制作了所有这些困难的方程式。您可以在我的GitHub上找到代码,具有以下链接:

https://github.com/FricoRico/ArduinoEnergy

责任编辑:wv

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

    关注

    1

    文章

    265

    浏览量

    26512
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186569
收藏 人收藏

    评论

    相关推荐

    EZShunt™数字电流和功率监控器

    电子发烧友网站提供《EZShunt™数字电流和功率监控器.pdf》资料免费下载
    发表于 10-31 09:43 0次下载
    EZShunt™数字电流和功率<b class='flag-5'>监控器</b>

    TI电池监控器IC的HDQ通信基础知识

    电子发烧友网站提供《TI电池监控器IC的HDQ通信基础知识.pdf》资料免费下载
    发表于 10-12 10:01 0次下载
    TI电池<b class='flag-5'>监控器</b>IC的HDQ通信基础知识

    电源电压监控器77xx系列

    电子发烧友网站提供《电源电压监控器77xx系列.pdf》资料免费下载
    发表于 09-29 10:37 0次下载
    电源电压<b class='flag-5'>监控器</b>77xx系列

    数字电源监控器入门

    电子发烧友网站提供《数字电源监控器入门.pdf》资料免费下载
    发表于 09-27 10:30 0次下载
    数字电源<b class='flag-5'>监控器</b>入门

    高性能电压监控器详解—-- 第一部分

    本文阐述了高性能电压监控器的价值,讨论了其基本定义、工作原理、技术规格、拓扑结构和极性。某些高性能电压监控器旨在帮助基于微处理的系统提升可靠性,防止掉电状况下系统出错。本文提供了一些示例。
    发表于 09-18 17:19 832次阅读
    高性能电压<b class='flag-5'>监控器</b>详解—-- 第一部分

    比较电压和处理监控解决方案:分立式电压监控器和看门狗ICs

    电子发烧友网站提供《比较电压和处理监控解决方案:分立式电压监控器和看门狗ICs.pdf》资料免费下载
    发表于 09-18 11:16 0次下载
    比较电压和处理<b class='flag-5'>器</b><b class='flag-5'>监控</b>解决方案:分立式电压<b class='flag-5'>监控器</b>和看门狗ICs

    锁存电压监控器(复位IC)

    电子发烧友网站提供《锁存电压监控器(复位IC).pdf》资料免费下载
    发表于 09-18 10:34 0次下载
    锁存电压<b class='flag-5'>监控器</b>(复位IC)

    在牵引逆变器设计中实现电压基准和监控器

    电子发烧友网站提供《在牵引逆变器设计中实现电压基准和监控器.pdf》资料免费下载
    发表于 09-18 10:30 0次下载
    在牵引逆变器设计中实现电压基准和<b class='flag-5'>监控器</b>

    宽VIN过压和欠压监控器的常见应用

    电子发烧友网站提供《宽VIN过压和欠压监控器的常见应用.pdf》资料免费下载
    发表于 09-02 10:13 0次下载
    宽VIN过压和欠压<b class='flag-5'>监控器</b>的常见应用

    在高压应用中使用电压监控器

    电子发烧友网站提供《在高压应用中使用电压监控器.pdf》资料免费下载
    发表于 09-02 10:13 0次下载
    在高压应用中使用电压<b class='flag-5'>监控器</b>

    在应用TI并联电流监控器时,取样电阻取多大值会比较优化?

    在应用TI并联电流监控器时,取样电阻取多大值会比较优化?输入前需要做滤波处理吗?
    发表于 08-30 08:11

    用物联流量卡的监控器能改变移动流量卡吗

    #物联流量卡#使用物联流量卡的监控器无法直接改变移动流量卡本身的属性和功能。物联流量卡的监控器主要用于监控和管理物联网设备的数据使用情况,提供实时的流量消耗、连接状态和设备运行情况等信息。本文将从物
    的头像 发表于 04-11 17:38 617次阅读
    用物联流量卡的<b class='flag-5'>监控器</b>能改变移动流量卡吗

    典型监控器电路图分享

    监控器是一种用于监控和记录特定场景或目标的设备。它通常由摄像机、存储设备和显示设备等组成,可以通过实时监控或录像回放的方式,提供对特定场景的监视和记录功能。
    的头像 发表于 02-12 12:37 4304次阅读
    典型<b class='flag-5'>监控器</b>电路图分享

    Arduino制作循迹小车教程

    Arduino制作循迹小车完全教程
    发表于 01-05 11:09 4次下载

    看电压监控器怎么去解决电源噪声和毛刺的问题呢?

    电压监控器通过监控电源,在电源发生故障时将微控制置于复位模式,可防止系统出现错误和故障,从而提高基于微控制系统的可靠性。
    的头像 发表于 12-22 18:10 1225次阅读