版本协议

GPL 3.0

标签
推荐工程

USB电压电流表

1年前 31685
  • 描述
  • 文档
  • BOM
  • 附件
  • 成员
  • 评论

描述

简介

一个基于STM32制作的USB电压电流表,可以便捷的看出充电器是否工作在快充模式,也可以方便测试USB设备的功耗或者USB充电器的输出功率。


版本更新说明

v1.1 - 2020/4/15

  • 加入自动息屏功能,在检测到无电流输出的20秒后,屏幕会自动熄灭以保护OLED屏幕。在息屏后,当检测到存在电流输出或手动按下按键时,屏幕会自动亮起。

特性

  • 基于STM32F030K6制作,代码使用HAL库编写,GCC编译器

  • 0.91寸白色OLED显示屏,显示效果清晰

  • 采用低阻值采样电阻(5mΩ),防止过高的内阻影响USB供电效率

  • 支持4.7~24V的宽电压范围,0~5A电流测量

  • 可测量Vbus、D+、D-电压,Vbus电流。支持功率显示和能量计算

  • 可选择使用内部电压参考源(Vref)或者外部电压参考源(AZ431)

  • 软件校准功能,校准后可以保证一定的精度。

  • 完全开源,可自行添加功能

    • -

校准说明

本USB电压电流表设计有软件校准功能,可以补偿硬件偏差。在上电时按住按钮不丢直到屏幕出现“Prepare to calibrate~~~~”后松开按键,即可进入校准模式,请根据屏幕提示来提供标准的电压和电流完成校准。


代码说明

代码为通过STM32CubeMX生成的trueStudio工程,推荐使用trueStudio 9.3.0导入使用。


注意事项

USB母座有两种,一种内部触点朝下(面向焊盘),另一种内部触点朝上(背向焊盘)。这两种母座可以使用同一个PCB封装。如果使用过的是下触点的USB母座,那么母座要焊接到板子的正面,反之则焊接在板子的背面。 示例图片中使用的是下触点的USB母座,原理图和PCB中设计的是上触点的母座。这点在制作时请注意。

推荐母座:

  • 上触点(焊背面):C265460
  • 下触点(焊正面):C464564 (示例图片中使用)

实物图片

IMG_3471.jpg

IMG_3473.jpg

IMG_3472.jpg

文档

main

PCB

BOM

ID Name Designator Footprint Quantity
1 47k R2,R4 0603 2
2 100k R3,R5 0603 2
3 90k R6 0603 1
4 10k R7,R10 0603 2
5 1k R8 0603 1
6 30k R9 0603 1
7 1M R11 0603 1
8 2M R12 0603 1
9 Header-Male-2.54_1x4 SWD DIP-1X4P-2.54MM-M 1
10 TC-1102N-C-DL-B KEY SW-TH_TC-1102N-C-DL-B 1
11 JUMPER JP1 JUMPER-0603 1
12 QG-2832TLBFG04 OLED OLED-12834-REVERSE 1
13 0.005 R1 R2512 1
14 10uH L1 1206 1
15 UBA-R4R-D14-4D(LF)(SN) USB-F USB-A-TH_UBA-R4R-D-14-4D 1
16 B5819W D1 SOD-123_L2.8-W1.8-LS3.7-RD 1
17 6.8uH L2 L1206 1
18 ME3116 U1 SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL 1
19 INA199A2DCKR U3 SOT-363_L2.0-W1.3-P0.65-LS2.1-BR 1
20 0.1u C1,C3,C4,C5,C6,C7 0603 6
21 10u C2 0805 1
22 22u C8 1210 1
23 100p C9 0603 1
24 10u C10 1206 1
25 1u C11 0603 1
26 1u C12,C13 0805 2
27 2.2u C14 0805 1
28 0.1u C15,C18 0805 2
29 4.7u C16,C17 0805 2
30 48037-0001 USB-M USB-A-TH_48037-0001 1
31 AZ431AN-ATRE1 Q1 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1
32 STM32F030K6T6 U2 TQFP-32_L7.0-W7.0-P0.50-BL 1

附件

文件名 下载
使用TrueStudio导入、编译、下载STM32程序.pdf
USB电压电流表演示视频_1.mp4
STM32F030K6-USBMeter-v1.1.zip
请前往 立创EDA开源硬件平台 进行评论

评论 (75)

UserSupport 回复

这个好评,预计成本需要多少钱一个?

micespring 回复

@UserSupport  走某宝的话二十块吧,主要屏幕贵。

bigcat00 回复

多谢分享,好评一个,请教一下,可以用USB将程序已经成功下载至单片机中吗 ,需不需要烧录板?

OSHWHub 回复

此工程为立创EDA官微第034期开源推荐:https://mp.weixin.qq.com/s/WWHPszPYYufvLJH9PDmH7A
更多资讯请关注立创EDA微信公众号:lceda-cn

micespring 回复

@bigcat00  用USB不行的,得用ST-LINK才能下载程序。虽然可以费点劲,焊接单片机前先在外部电路上通过串口把程序下载好,然后再焊上去。但是建议还是买个ST-LINK把,商城有,也不贵。

duck 回复

很棒,直接拿来用了,哈哈

CrazySuiJi 回复

不错,跟我买的那个20来块的USB功率计功能一毛一样

micespring 回复

@CrazySuiJi  就是照着那个做的。

0x00000 回复

大佬你好,我按照你这个图DIY了一个,电压检测、显示部分是好的。但是电流检测有点儿小问题,电流检测一直是0。我用万用表测量一下。采样电阻两端没有电压差。请问这是哪里的问题啊?

micespring 回复

@0x00000  你好,有电流就应该有电压差的,没有电压差只能说没有电流通过采样电阻。可能是你万用表精度不够?5毫欧的电阻1A电流才5mV。要是确定测量没有问题的话,那就看看电路是不是哪里有问题导致电流没通过采样电阻。

0x00000 回复

@micespring  你好,谢谢您的解答。我还想请教一下那个JP1需要用焊锡连接吗?经过测试,不连接JP1的话空载大概有5~6A左右的电流?这个状态应该不太正常。连接之后就没有电流了。

w.rh 回复

主电压电流要是做到小数后三位就好了

micespring 回复

@w.rh  改一下代码就好了,代码里面都是取的3位的。

micespring 回复

@0x00000  JP1是单点接地跳线,必须连接。

xie2451023577 回复

感谢分享

kai999 回复

@micespring

kai999 回复

大佬,这个可测充电头支持的功率吗?

micespring 回复

@kai999  当然可以

kaide 回复

可以显示充电协议吗?

micespring 回复

@kaide  不能,只是一个电压电流表

hljiang 回复

您好大佬想问一下USB连接器48037-0001这种型号如果没有可以用其他的代替吗

cs4092 回复

请教楼主,商城里STM32F030K6T6 这个芯片要26元多,某宝里才几元,区别大不大?另外,程序要通过什么工具写?USB 转TLL吗?

zhanghoub 回复

想请教楼主软件校准的思路,谢谢!

micespring 回复

@cs4092  区别不大,最近ST的芯片涨价厉害,可以买拆机的。

micespring 回复

@hljiang  兼容的即可

micespring 回复

@zhanghoub  先查表,然后再使用线性插值法确定。

HangYongmao 回复

咨询一下,这个OLED是在哪里买的?我在淘宝上搜到的都是14脚的,哪里可以买到15脚的?

micespring 回复

@HangYongmao  立创商城啊,淘宝你仔细找找也有的

chenwbs 回复

准备照样做个出来玩下

h45635 回复

第三个文件里没有工程诶

Fily1983 回复

群主,能否说一下电压和电流校准原理吗?谢谢

micespring 回复

@h45635  trueStudio的工程,不是MDK

larry_01 回复

能不能抗住20V6A

楼主,OLED也是立创下单的嘛?

kn4869 回复

这个可以做一个玩

Laythy 回复

楼主,这个自身功耗是多少毫瓦?

pleianth 回复

@micespring 表做出来了,但是接充电器连接手机显示电流4a左右,然后单片机就烧了一个洞,原件里就电感和原理图不一样,不知道是不是跟电感值的大小有关系。

blackberryer 回复

支持USB3就完美了

micespring 回复

@pleianth ??? 烧掉的唯一原因只可能是供电电压过高。除非你知道更改元器件会带来的效果,否则不建议自行修改元件。下次再做的时候记得先别焊屏幕和单片机。上电测量观察供电正常后再焊接。

micespring 回复

@blackberryer USB3对走线要求很高,对于一个U表来说没有必要。

micespring 回复

@Laythy 亮屏时约100~200毫瓦

pleianth 回复

@micespring 电流是不是要校准?表上显示的电流比实际要大的多是什么原因呢?

micespring 回复

@pleianth 对,需要校准。
进入校准的方法:
image.png
校准需要一个可调电源和一个电子负载,电子负载我有一个简单的:https://oshwhub.com/micespring/xiao-xing-DCheng-liu-dian-zi-fu-

pleianth 回复

在烧了5个单片机后 放弃了。第一个是焊接完没检查焊盘烧的,剩下的都是在校准那步烧的,校准的时候如果中途断电或者其他什么原理关机了,就得重新校准,而且必须电压电流一步做完,不然又得从电压开始校准!最后一片单片机我直接焊机电源线校准,校准电流步骤的时候因为电子 负载电位器的原因很难100毫安的校准,几次都失败,最后一次的开机就短路烧二极管和单片机。我也不知道为什么烧。线路都做好保护没有短路。可调电压电压是5v,电流不到300ma!最后想问一下stm32f030k6t6用某宝上的xm030fk6t6或者hk030fk6t6能不能代替?程序是不是要改?某宝上说程序硬件全兼容,然而TrueStudio上调试会报错!!纯新手,有表达错误的望谅解!!

sxyddd 回复

采样电阻为什么串联在GND上,不是应该串联在vcc上吗?

micespring 回复

电流采样分高端采样和低端采样,我选的是低端采样。

micespring 回复

hk030大部分兼容但是不全兼容。即使兼容也是不能调试的,只能下载程序。

sxyddd 回复

首先感谢你的回答,我画了个电路也是采用了你这个采样芯片INA199A,我放在了正极采样(高端采样),这样应该也可以吧,还有个问题,采样电阻的阻值一般怎么选,

micespring 回复

 INA199支持高端采样,所以应该可以,但是我没有测试过。阻值根据你要测的电流大小、增益和ADC满量程的电压上限来决定,比如你用的是100倍放大的INA199A2,ADC的上限是3.3V,最大电流是1A,那么采样电阻上允许的最大压降就是3.3÷100÷1 = 0.033Ω = 33mΩ。
注意,实际选型的时候还要考虑采样电阻的最大功率。

sxyddd 回复

嗯,还有两个问题,你前面提到的校准是怎么校准啊,原理是什么?用ADC是16位的MCU精度会不会高一些?

wang199075 回复

做了两个,都是电流大于2A,屏幕直接熄灭:偶尔也可以到2A+,请问哪里的问题

win-shao 回复

用hk32f030k6做了一个,TrueStudio不让我烧录到非stm32的芯片上。。。

micespring 回复

用ST-Link Utility烧可以。注意,HK32并不完全兼容!

shiyuhui 回复

没有关系吧?这个只是测电压电流

ahfugafjala 回复

QG-2832TLBFG04,哪位有多余的,收买

linglongfa 回复

作者大大你好!我按照教程制作出来 烧录后 ST-LINK供电情况下才亮屏工作,直接插USB没反应会是哪里的问题望解答!

micespring 回复

跳线JP1没接

linglongfa 回复

解决了!眼睛都要瞎了!挨个电容电阻查找发现r10电阻焊错了,就差校准了。3Q

linglongfa 回复

我是用作者的方法编译后,然后提出来.hex文件用jlink烧录的

linglongfa 回复

交作业,就差校准了!1C8A2AEB-D666-4563-8A5B-0C834AC91CC7.jpeg

micespring 回复

恭喜恭喜

linglongfa 回复

补个图image.jpg

linglongfa 回复

某宝 搜金逸晨 买0.91。15pin那款 几块钱还包邮

micespring 回复

这不写着是警告吗?哪来的错误。。。。。

ahfugafjala 回复

这个32的程序是在板子上烧的还是在其它地方烧录,然后在焊接32

micespring 回复

板子上预留有烧录口,可以先焊接再烧录

随风源如水 回复

楼主是好人

de_lock 回复

难受呀 我按照楼主的设计做出来后 st-link一直都是no target found 然后nrst和boot0都没接出来 没办法下载自己的程序 有什么办法嘛

micespring 回复

如果是空片而且与ST-Link连接正常的话不会出现no target found,可以从以下思路尝试排查:


  • 检查ST-Link与单片机的连接是否正确,一定要保证先连接ST-Link,然后再把ST-Link连接到电脑。

  • 为板子供电,检查单片机的VCC电压是否为正常的3.3V

  • 检查NRST引脚上的电压是否为3.3V

  • 更换单片机货源(很多淘宝的廉价单片机是有问题的拆机片)

  • 检查焊接,有必要的话重新焊一块

  • 检查所有元件参数是否正常(经常有电阻焊到电容上或者电阻阻值不对的情况)

  • 将单片机取下单独烧录,然后再焊接到板子上

de_lock 回复

谢谢楼主,我就不应该贪便宜买淘宝货,我自己改了一下,以防万一把boot0和nrst给引出了,等有空再试一次

shejixiaobai 回复

怎么保存啊

yinpingongfang 回复

按照博主的文件我也在立创打印了5块电流电压监测器的PCB板,制作成功,该交作业了,只是有个问题不知如何校准1635238831620.jpg1635239592019.jpg

jinhongwei 回复

输入多少就输出多少嘛

dtyuyq 回复

500v的直流电压可测么

fzyahoo 回复

虽然是USB接口,实际测量范围是多少?

svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow