基于N32G430C8L7+INA199制作的USB电流表,精度1%,可以查看USB工作时候的电流,工程分为两个版本,一个是支持快充的电流表,一个是不支持快充显示的5V表。
此工程用于训练营案例教学工程,无快充支持,最大只能测量6V的电压,如需要支持快充,请自行修改!
N32G430C8L7 微控制器产品采用高性能 32 位 ARM Cortex™-M4F 内核,集成浮点运算单元(FPU)和数字信号处理(DSP),支持并行计算指令。最高工作主频 128MHz,集成高达64KB片内加密存储Flash,并支持多用户分区权限管理,支持16KB 的嵌入式 SRAM。内置一个内部高速 AHB 总线,两个低速外设时钟总线 APB 及总线矩阵,支持40个可复用 I/Os,提供丰富的高性能模拟接口,包括1个12位 4.7Msps ADC,支持16个外部输入通道和3个内部通道,同时提供多种数字通信接口,包括 4个U(S)ART、2个I2C、2个SPI/I2S、1个CAN 2.0B通信接口。N32G430C8L7 微控制器产品可稳定工作于-40°C 至+105°C的温度范围,供电电压2.4V至3.6V,提供多种功耗模式供用。
本次案例使用的资源不多,使用内部的时钟已经开源满足设计需求,所以无需外接时钟电路。需要注意的是芯片的每个电源的引脚都需要额外接一个100nF的外接的滤波电容,芯片的1脚需要额外接4.7uf的滤波电容。
由于本次设计为了适配公版外壳,复位电路和BOOT电路未做按键的设计,使用了两个焊点作为短接使用。
芯片支持多种烧录方式,如市面常见的ST-Link、USB-TTL、Jlink等烧录器。案例上已经吧对应的接口使用2.54间距的排针引出作为烧录使用。
本次案例使用的MCU虽然支持最大电压是5V,但考虑到了可能USB的电压或其他电压上有着不稳定的电压因素,所以使用了一个6V转3.3V的LDO给芯片供电使用,就算在供电不稳定的情况下,MCU也能正常工作。需要注意的是,LDO输入和输出必须接上22uF和100nF的电容。
USB输入端使用的是一个Type-A的公头,输入的是5V的电压,此接口最大支持3A的输出,再大一点就有点发热了,建议不要超过3A的电流,如需使用更大的电流,请更换Type-A的公头。
USB输出端使用的是一个4P沉板的母座,为了适配公版外壳使用,这个母座最大的额定电流是1.5A,实测到2.5A,但不适合长期工作在这个电流下,如需使用更大的电流,请自行更换。
电流采样部分的是INA199B1DCKR电流感应放大器,(也称为电流传感放大器)常用于过流保护、针对系统优化的精密电流测量或闭环反馈电路。该系列器件可在独立于电源电压的–0.3V至 26V共模电压下感应分流电阻器上的电压降。共有三种固定增益可供选择:50V/V、100V/V和 200V/V。该系列器件采用零漂移架构,偏移较低,因此在进行电流感测时能够将分流电阻器两端的最大压降保持在最低10mV的满量程。参数如下:
在电流路径中以串联的方式插入一个低阻值的检测电阻会形成一个小的电压降,该压降可被放大从而被当作一个正比于电流的信号。然而,根据具体应用环境和检测电阻的位置,这种技术将对检测放大器造成不同的挑战。一般采样电阻的电阻值在1欧姆以下,属于毫欧级无感应电阻,但有些电阻,有采样电压等要求,必须选择大电阻值电阻,但电阻基数大,误差大。在这种情况下,需要选择高精度的无感应电阻(可达到0.01%精度,即万分之一精度),使取样数据非常可靠。贴片的超低电阻值电阻(0.0005欧姆、2毫欧、3毫欧、10毫欧等)、贴片合金电阻、大功率电阻(20W、30W、35W、50W、100W)等产品,温度系数为正负5PPM。
说明: 如果INA199B1DCKR的库存不足,可以更换INA199A3DCKT此款芯片,需要注意的是,INA199B1DCKR的放大倍率是50,使用其他倍率的需要重新修改程序校准。
电压采样部分由两颗电阻构成的分压电路组成,其原理就是电阻串联分压的知识,其典型的电路如下:
显示部分的是使用的是0.91寸4P的白色OELD屏幕模块,采用IIC通信,显示效果清晰。
设计显示效果
如果采样得到的电压或电流不准,可以根据实际值修改main.c
文件中VOLTAGE_FACTOR
和CURRENT_FACTOR
的值,具体计算公式为:
VOLTAGE_FACTOR = 实际电压 / 显示电压
CURRENT_FACTOR = 实际电流 / 显示电流
最后感谢我们的开源爱好者micespring的软件支持。
源工程参考:https://oshwhub.com/micespring/USBmeter
# 更新日志 - 2022年8月-23日 新的程序已上传,修复显示位数超过3位的时候字符重叠情况。 ![image.png]!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持