又给老板省钱了!功耗测试仪7/8千一台,自己动手帮公司做了一个!

面包板社区 2025-08-01 11:34

大家好,我是板哥,最近社区上线了【硬核玩电·创意DIY】活动,欢迎各位电子界朋友们,以电子为笔,以创意为墨来社区交个朋友。

本次活动参加即有奖励。更有开发板大礼包(多款)+京东自营购物金等您来拿!详见文末

本篇正文


在工作中经常会用到Power Monitor监控设备的工作电流,除了进行基本的待机测试,还有一些特定的场景会启动不同的CPU核心,关注CPU跑在不同的电压和频率上引起的电流变化,需要通过改变软件的负载平衡达到最佳的功耗性能比。

主流的Power Monitor是MonSoon公司出品的,价格在7000~8000元之间,如下图。

资讯配图
可以设定1V~14V之间的输出电压,我们使用最多的是电流采样功能。电流精度可以到uA级别,时间精度可以到mS级别。足以应付研发测试的需求,缺点就是价格太贵了。公司只有几台这样的设备,需要用的时候经常和别人冲突,于是我考虑自己做一台Power Monitor。

首先考虑的是电压输出,网上买一个二手台式机电脑电源50元输出3.3V/5V/12V,加上一个某宝上到处都是的LDO或者DCDC调压模块,27元很便宜。XL4015就很好,最大可以输出75W,对于电池供电设备来说已经是绰绰有余了。
资讯配图
电压输出搞定了,下面就是考虑电流采样的设备选型了。选用的是Ti的INA240电流感应放大器,某宝上有现成的模块卖,价格56人民币。
资讯配图
该放大器内置Gain有50倍,输出电压可以使用STM32单片机的ADC来采样,输出电压的曲线如下图
资讯配图
资讯配图
资讯配图
理想是采用第二种双向采样模式,因为我希望Power Monitor能采集充电电流和放电电流。如果VCC直接连接单片机的3.3V的话,Vcc/2为1.65V,我购买的模块使用10m欧的精密电阻,GAIN为50,最大能测到的电流是1.65/(50 * 0.01) = +/- 3.3A. 考虑到STM32F407的ADC最大的分辨率是12bits (4096 levels.),但是ADC的REF是0V~3.3V,意味着我只能使用最大精度的一半量程了,于是电流的最大精度是3.3 / 2048 / (50 * 0.01) = 0.0032A,大概是3.2mA左右,我期望测试的设备的最小待机功耗在10mA左右,变动的精度< 5mA都是满足要求的,看上去可行。如果和购买的Power Monitor相比的话,还是要差一个数量级,Monsoon的PM最低可以测试uA的精度。但是我这个成本不足200元人民币,看在价格的份上还是容忍一下精度的差异。当然如果要提升精度的话,也很简单,选取更高bits的ADC模块,或者提高采样电阻的阻值,我这里是10m欧的电阻,某宝上还有更高电阻的模块(20m欧,40m欧....)可供选择。

如果采用第一种单向采样模式的话,虽然不能测试充电电流,但是电流量程却可以大幅提高,最大电流可以到3.3/(50 * 0.01) = 6.6A (0~6.6A),最大精度依然是3.2mA左右 (6.6/4096/(50 * 0.01))。

下面需要考虑的就是采样时间的最小精度了,STM32F407能提供最大2.4MSPS的采样率,对我来说是绰绰有余,作为一个验证机,我考虑使用1Khz的采样率 (1ms)来验证其可行性。

家里正好还有一块STM32F407最小系统板就无需到某宝上再去采购了。
资讯配图
资讯配图
硬件组装好后如上图,下面就是我最喜欢的软件部分了。基本的框架比较简单,分为上位机和下位机两部分。
[Sensors/Input Devices]         |         v    [ADC on STM32F407] ---> [USB Interface on STM32F407] ---> [PC]         |         v    [Power Supply]

我一般会选用FreeRTOS作为Base来开发下位机的软件模块,基本的框架如下:
资讯配图
ADC 任务:此任务由计时器触发,负责处理 ADC 采样。数据通过 DMA 直接传输到缓冲区,以减轻 CPU 负载。

USB RX 任务和 USB TX 任务:分别处理通过 USB 的数据接收和传输。

xQueue:用于任务间通信,使任务能够有效地传递数据或消息,同时不损失实时性能。

我在代码中直接设置为1Khz的采样率以简化代码流程。
资讯配图
下面是上位机部分,上位机使用QT开发为了更好的实时性。我使用了开源的SerialPlotter作为模板,简单的改了下ADC转换公式,其他大部分都直接使用了模板的代码,因为我使用的是基于CDC的USB-Serial,所以并不需要串口的设置,这一部分也做了相关的简化处理。
资讯配图
资讯配图
资讯配图
调节电流的时候,相应的上位机电流变化趋势。为了测试方便,使用带电流计的Power Supply来比较上位机显示电流和实际电流差异,结果还是挺MATCH的。
资讯配图
大家后继可以基于开源代码修改上位机界面或修改下位机的命令响应,设置不同的采样率以提高响应,或使用外置的ADC模块获取更高的精度。

对应的代码已经开源,欢迎访问:
https://gitlab.com/imwangwang/freertos_powermonitor
https://gitlab.com/imwangwang/qt_powermonitor

作者:imwangwang79 
来源:面包板社区《DIY分享》活动,https://mbb.eet-china.com/forum
/topic/147727_1_1.html


硬核玩电/DIY!赢开发板大礼包!

亲爱的电子工程师、硬件极客、电子爱好者、社区的家人们:

这个夏天,以电子为笔,以创意为墨——来面包板社区造点会"跳动"的电子DIY吧!我们给大家准备了开发板大礼包+京东自营购物礼金!等您来拿哦!


资讯配图基础福利:所有参与者可领取2000 E币(可在面包板社区兑换商城使用)。


资讯配图活动奖项:

  • 硬核奖(1名):开发板大礼包(知名品牌开发板2块【如芯驿、STM32等】+其他开发板1块,市场价不低于1500元) +1000元京东自营商城购物金。

  • 创意奖(1名):开发板礼包(品牌开发板2块【STM32、灵动微等】,市场价不低于500元);+500元京东自营商城购物金。

  • 人气奖(1名):开发板礼包(品牌开发板2块【STM32、灵动微等】,市场价不低于500元)+500元京东自营商城购物金。

  • 达人奖(5名):奖励200元京东自营购物金。

  • 优秀作品奖:内容最生动、故事性最强的作品在面包板社区微信公众号阅读量过万的内容,每篇奖励1000E币,不限篇数。

注:更多详情请访问https://mbb.eet-china.com/forum/topic/153762_1_1.html


资讯配图点击阅读原文,了解活动详情!


声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
测试
more
Vector:通过测试保证辅助驾驶功能满足安全标准
9点1氪:iPhone 17 Pro曝出橙色新配色;懂车帝测试36家车企辅助驾驶;BOSS直聘回应求职者简历涉黄
ADC芯片测试、FPGA机电物理仿真、Labview+大模型等|芯片测试线下技术研讨会(8月5日 苏州 报名倒计时)
青岛蔚蓝空间飞行器公司开展eVTOL海洋海岛运输拓展测试
理想i8与乘龙卡车对撞测试引争议,多方最新回应
报名倒计时7天:ADC芯片测试、FPGA机电物理仿真、Labview+大模型等|芯片测试线下技术研讨会(8月5日 苏州)
俄罗斯88岁发明家测试直升机不幸遇难
理想汽车:超充站5个车位只放4根桩方便停车,还在测试自动充电机器人
又给老板省钱了!功耗测试仪7/8千一台,自己动手帮公司做了一个!
懂车帝一场测试,撕下国产智驾的遮羞布:特斯拉智驾绝尘而去,我们到底输在哪?
Copyright © 2025 成都科技区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号