
一款基于CW32开发板的USB电压电流小工具
简介
一款基于CW32开发板的USB电压电流表小工具,可以用于实时检测USB工作时的电压电流或待测设备的电流值,并通过数码管进行显示。
简介:一款基于CW32开发板的USB电压电流表小工具,可以用于实时检测USB工作时的电压电流或待测设备的电流值,并通过数码管进行显示。开源协议
:GPL 3.0
描述
一、项目功能介绍
本次项目使用的核心板选用国产武汉芯源半导体CW32为主控,并结合其自身12位高速ADC,多种VREF参考电压的特点,实现了对USB工作时电压电流或者待测设备的电流测量的功能,并通过数码管进行展示。
此外,结合自身使用需求增加了USB-TTL通讯功能、锂电池充电功能以及OLED显示功能(预留)
二、硬件设计
1、供电电路
考虑到自身在开发过程中的电压测量一般选用万用表的测量方式,并且为了提高本项目产品的使用率,不让设备吃灰的出发点,没有采用推荐的LDO宽电压输入的方式,而是使用了USB-5V供电的方式,同时适配了使用频率较高的USB-A和USB Type-C的两种接口。
2、MCU的选型分析-CW32在本项目中的重要优势
- 宽工作电压:1.65V~5.5V
- 更好的ADC:12位高速ADC 可达到±1.0LSB INL 11.3ENOB 多种Vref参考电压
3、电压采样电路
分压电阻选型
- USB通讯电压一般为5V,设计测量电压的最大值,出于安全考虑,本项目为30V;
- ADC参考电压,本项目中为1.5V;
- 功耗,为了降低采样电路的功耗,通常根据经验值将低侧电阻选择为10K;
通过以上参数计算出分压电阻的高侧电阻
- 计算所需的分压比例:即ADC参考电压:设计输入电压,通过已知参数可以计算出1.5V/30V=0.05
- 计算高侧电阻:即低侧电阻/分压比例,通过已知参数可以计算出10K/0.05=200K
- 选择标准电阻:选择一颗略高于计算值的电阻,计算值为200K,通常我们选择E24系列电阻,因此本项目中选择大于200K且最接近的220K。
4、电流采样电路
此处电流采样电路分为两部分:USB供电电流测量和外接设备的电流测量
电流采样
USB供电电流测量:这里是参考#第七届立创电赛#USB电流表的电路设计并进行一些调整,电流采样部分的是INA199A1DCKR电流感应放大器,(也称为电流传感放大器)常用于过流保护、针对系统优化的精密电流测量或闭环反馈电路。该系列器件可在独立于电源电压的–0.3V至 26V共模电压下感应分流电阻器上的电压降。共有三种固定增益可供选择:50V/V、100V/V和 200V/V,本项目选用的INA199A1DCKR电流感应放大器为增益50V/V;
采样电阻选择
在电流路径中以串联的方式插入一个低阻值的检测电阻会形成一个小的电压降,该压降可被放大从而被当作一个正比于电流的信号。然而,根据具体应用环境和检测电阻的位置,这种技术将对检测放大器造成不同的挑战。一般采样电阻的电阻值在1欧姆以下,属于毫欧级无感应电阻,但有些电阻,有采样电压等要求,必须选择大电阻值电阻,但电阻基数大,误差大。本项目选用的是10mΩ的采样电阻。
采样方式
此采样使用的是低边采样的方式,也就是采样电阻接在GND的回路上,此设计可以在差分信号送入运放的时候,运算完整的差分、跟随、放大、输出。如果使用高边采样,也就是采样电阻放置在电源和负载之间的高位,虽然这种放置方式不仅消除了低边检测方案中产生的地线干扰,还能检测到电池到系统地的意外短路,但是高边检测要求检测放大器处理接近电源电压的共模电压。这种共模电压值范围很宽,从监视处理器内核电压要求的电平(约1V)到在工业、汽车和电信应用常见的数百伏电压不等。应用案例包括典型笔记本电脑的电池电压(17到20V),汽车应用中的12V、24V或48V电池,48V电信应用,高压电机控制应用,用于雪崩二极管和PIN二极管的电流检测以及高压LED背光灯等。因此,高边电流检测的一个重要优势,那就是检测放大器具备处理较大共模电压的能力。
所以,采样电阻加运放的电流采样方法,最好是在低端进行。虽然,低端采样,由于共地干扰的原因会影响信号的纹波情况。但是相对高端来说,方案简单易行,成本低,可靠度高。
被测电流3A:3A*10mΩ*50=1500mV=1.5V
外接设备的电流测量
本项目设计的采样电流为3A,选择的采样电阻(R0)为100mΩ,采样选型主要需要参考以下几个方面:
- 预设计测量电流的最大值,本项目中为3A;
- 检流电阻带来的压差,一般不建议超过0.5V;
- 检流电阻的功耗,应当根据该参数选择合适的封装,本项目考虑到大电流时的功耗(温度)问题,选择了2W低阻值合金电流采样贴片电阻;
- 检流电阻上电压的放大倍数:本项目中没有使用运放搭建放大电路,因此倍率为1;
被测电流3A: 3A*100mΩ=300mV
5、数码管显示
本项目采用了数码管作为显示单元。
在本项目中使用了两颗0.28寸的三位共阴数码管作为显示器件,相较于显示屏,数码管在复杂环境中拥有更好的识别度,可以根据实际使用环境的需求,改为更小的限流电阻实现更高的数码管亮度;在另一方面,数码管拥有较好的机械性能,不会像显示屏一样容易被外力损坏。在工业等有稳定可靠性应用中,多被采用。
数码管的驱动原理
- 数码管的基本构成:
- 数码管通常由七段或八段LED(本项目为8段)组成,每个段代表数码管的一部分,可以显示数字0-9、字母A-F等字符。
- 数码管有共阴极和共阳极两种类型,它们的区别在于LED的公共端COM(即连接所有LED的一端)是连接到电源的负极还是正极。
- 驱动方式:
- 段选:通过控制数码管的各个灯段的开关状态来显示所需的数字或字符。每个灯段对应一个控制信号,当控制信号开启时,该段会显示点亮,反之则灭掉。(a、b、c、d、e、f、g、dp)
- 位选:通过控制数码管的位线来选择需要显示的数码管。位线控制是将需要显示的数码管的位线设置为高电平,其他数码管的位线设置为低电平。通过不断地切换位线的状态,可以实现多个数码管之间的显示切换。
- 驱动电路:
- 数码管驱动电路可以通过硬件电路实现,如使用数字信号处理器(DSP)、微控制器(MCU)或移位寄存器等集成电路来生成适合LED的控制信号。
- 这些控制信号可以是脉冲宽度调制(PWM)信号、串行数据信号等形式。通过控制这些信号的频率、宽度和幅度,可以实现数码管的亮暗控制,从而显示出所需的数字或字母。
- 软件控制:
- 除了硬件驱动电路,还可以通过软件控制来实现数码管的驱动。通过编程生成适合数码管的控制信号,可以实现更加灵活和复杂的显示效果,如数字的滚动显示、交替显示等。
- 共阴极与共阳极数码管的驱动:
- 对于共阴极数码管,共阴极引脚连接到电源的负极,控制引脚连接到控制芯片的输出引脚。当需要显示某个数字时,控制芯片会输出相应的编码信号到控制引脚,使得对应的LED段点亮。
- 对于共阳极数码管,工作原理与共阴极数码管相似,只是共阳极引脚连接到电源的正极,控制引脚连接到控制芯片的输出引脚。
- 编码显示:
- 为了使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。例如,要显示数字“0”,共阳极数码管的字型编码为11000000B(即C0H),而共阴极数码管的字型编码为00111111B(即3FH),具体编码以实际数码管为准。
- 动态显示与静态显示:
- 数码管可以采用静态显示或动态显示方式。静态显示时,每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来并保持不变。动态显示则是一位一位地轮流点亮各位数码管,通过快速切换实现人眼视觉上的同时显示。
总结来说,数码管的驱动原理是通过控制数码管的各个灯段的开关状态来显示数字、字母或符号,并通过段选和位选的方式实现多个数码管之间的显示切换。同时,可以通过硬件电路或软件控制来实现数码管的驱动,并根据需要选择共阴极或共阳极数码管进行驱动。
本项目实际采用动态扫描显示驱动数码管。
6、用于电压测量校准的TL431电路设计
本项目额外增加了一个TL431电路用来提供一个2.5V的基准电压,可用于给芯片一个用于校准AD的外部电压基准,该功能为预留。
TL431名称为精密可编程基准,相较于常见的稳压二极管,精度天差地别。可调输出电压在Vref到36V之。灌电流能力与在应用电路中的电阻的阻值有很大关系。不能低于1mA。如果没有灌电流的需求,则不要将电流设计过大,造成不必要的功耗影响。
二、软件设计
软件方面主要是使用了官方提供的例程进行修改的,可以根据测量电流值的大小自动改变量程即
当电流>1A时,显示X.XX(对应电流单位为A);
当1A>电流0.1A时,显示XXX(对应电流单位为mA);
当0.1>电流时,显示XX.X(对应电流单位为mA);
以下为效果展示:
当电流>1A时,显示X.XX(对应电流单位为A);
当1A>电流0.1A时,显示XXX(对应电流单位为mA);
当0.1>电流时,显示XX.X(对应电流单位为mA);
设计图

BOM


评论