5829| 6
|
[资源下载] 解决Mind+V1.7.1 R2.0 中I2C数字功率计模块电流值严重偏差问题 |
本帖最后由 mutu 于 2021-10-15 22:36 编辑 我们在研究电学实验时,用到了I2C数字功率计(https://www.dfrobot.com.cn/goods-1890.html),根据官网产品维库资料:I2C数字功率计(SEN0291)是一款可测量26V 8A以内各类电子模块、用电设备的电压、电流和功率,最大相对误差不超过±0.2%的高分辨、高精度、大量程测量模块(使用前需进行一次简单的手动校准)。可用于太阳能系统、电池库仑计、电机、主控板或电子模块的功耗测量、电池续航评估与实时电源参数在线监控。模块采用TI INA219零温漂电流/功率监控芯片和2W大功率低温漂10mΩ合金采样电阻,电压和电流分辨率分别可达4mV与1mA,在满量程测量条件下,电压与电流的最大测量相对误差不超过±0.2%,并提供4个可通过拨码开关配置的I2C地址。模块可对双向高侧电流(流经电源或电池正极的电流)进行准确测量,这在太阳能或库仑计应用,电池既需要充电,也需要放电的场合尤为有用,用户可通过电流的正负读数了解电池的充放电状态,也可以了解电池的充放电的实时电压、电流与功率。在电机应用场景,可通过实时监控电机电流是否由于堵转或负载过大导致电流过大,从而及时采取保护措施。此外,也可以使用该模块测量各类电子模块或整个项目的实时功耗,从而评估电池的续航时间。实物如图: 图1 图2 接口说明: 标号 名称 功能描述 1 VCC电源正极(3.3~5.5V) 2 GND 电源负极 3 SCLI2C时钟线 4 SDAI2C数据线 5 ADDR I2C地址选择拨码开关 6 3PTERMINAL电压与电流测量接线柱3P 我们在实验时的电路连接如下图: 图3 图4 把用ArduinoIDE编写的样例代码上传DFRuino Uno板测量的电流、电压、功率数据都没有问题,如下图。 图5 但应用mind+自带功率计程序积木编程后就出现了问题,不但串口显示的电流数据差的离谱(约4倍),而且只适用于Arduino开发板。实验截图如下: 图6 图7 分析原因应该是mind+自带功率计程序积木块的问题,找到库文件发现与Arduino IDE示例用的DFRobot_INA219-master库有所区别。故等待mind+升级,可是到V1.7.1 R2.0后,问题依然没有解决。故决定按用户库开发教程自制积木,完善I2C数字功率计的用户库。通过学习教程和反复实践,终于大功告成。不但电流误差达到了要求,而且在Arduino Uno、Microbit、掌控板上都能正常使用了。见下图: 1.Arduino Uno开发板实验截图 图8 图9 2.Micro Bit开发板实验截图 图10 图11 3.掌控板 实验截图 图12 图13 由于小型电机的转动不稳定,实验数据波动是正常的,如果负载为纯电阻电路电流的波动和误差就很小了,如下图所示: 图14 图15 现实中的实验误差是不可避免的,但力求越小越好。 I2C数字功率计用户库加载地址: https://gitee.com/mu_tu/ext-ina219-pui.git 上传模式下选择主控板,选择用户库,将上述地址复制粘贴到用户库搜索框中,回车即可找到如下图标,点击它即可使用了。 图16 图17 图18 I2C数字功率计模块,可以实时反馈电压、电流、功率和采样电阻的分压,为电学测量带来了方便,应用它我们做了两个电学实验,都很成功,验证了本模块和开发的用户库可用,大家不妨一试。 |
图1
图3
图5
图6
图9
图13
图18
图15
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed