
开源协议
:GPL 3.0
描述
该项目以CW32F030C8T6为内核,可以完成可调范围的电压与电流测量。
硬件设计:
1.供电电路:
本项目使用LDO作为电源,考虑到实际的电压表头产品多在24V或36V供电的工业场景中应用,本项目选择了最高输入电压高达40V的SE8550K2作为电源。本项目没有使用DCDC降压电路来应对大压差的主要原因为避免设计过程中引入DCDC的纹波干扰,次要原因为降低项目成本。
2.MCU选型
CW32在本项目中的重要优势
- 宽工作温度:-40~105℃的温度范围
- 宽工作电压:1.65V~5.5V (STM32仅支持3.3V系统)
- 超强抗干扰:HBM ESD 8KV 全部ESD可靠性达到国际标准最高等级(STM32 ESD2KV)
- 本项目重点-更好的ADC:12位高速ADC 可达到±1.0LSB INL 11.3ENOB 多种Vref参考电压... ...(STM32仅支持VDD=Vref)
- 稳定可靠的eFLASH工艺。(Flash0等待)
3.电压采样电路
分压电阻选型
-
设计测量电压的最大值,出于安全考虑,本项目为30V(实际最大可显示99.9V或100V);
-
ADC参考电压,本项目中为1.5V,该参考电压可以通过程序进行配置;
-
功耗,为了降低采样电路的功耗,通常根据经验值将低侧电阻(R7)选择为10K;
随后便可以通过以上参数计算出分压电阻的高侧电阻:
-
计算所需的分压比例:即ADC参考电压:设计输入电压,通过已知参数可以计算出1.5V/30V=0.05
-
计算高侧电阻:即低侧电阻/分压比例,通过已知参数可以计算出10K/0.05=200K
-
选择标准电阻:选择一颗略高于计算值的电阻,计算值为200K,通常我们选择E24系列电阻,因此本项目中选择大于200K且最接近的220K。
如果在实际使用中,需要测量的电压低于2/3的模块设计电压,即66V,则可以根据实际情况更换分压电阻并修改程序从而提升测量的精度,下面将进行案例说明:
-
假设被测电压不高于24V,其他参数不变
-
通过计算可以得到1.5V/24V=0.0625,10K/0.0625=160K,160K为标准E24电阻可以直接选用,或适当留出冗余量选择更高阻值的180K
如果在实际使用中,需要测量的电压若高于模块99V的设计电压,可以选择更换分压电阻或通过修改基准电压来实现更大量程的电压测量范围,下面将进行案例说明:
-
假设被测电压为160V,选择提升电压基准的方案扩大量程
-
已知选用电阻的分压比例为0.0145,通过公式反推,我们可以计算出160V*0.0145=2.32V,因此我们可以选择2.5V的电压基准来实现量程的提升(扩大量程将会降低精度)
考虑到被测电源可能存在波动,在电路设计时,在低侧分压电阻上并联了10nF的滤波电容提高测量稳定性。
4.电流采样电路
本项目设计的采样电流为3A,选择的采样电阻(R0)为100mΩ
采样选型主要需要参考以下几个方面:
- 预设计测量电流的最大值,本项目中为3A
- 检流电阻带来的压差,一般不建议超过0.5V
- 检流电阻的功耗,应当根据该参数选择合适的封装,本项目考虑到大电流时的功耗(温度)问题,选择了1W封装的金属绕线电阻
- 检流电阻上电压的放大倍数:本项目中没有使用运放搭建放大电路,因此倍率为1
随后便可以通过以上参数计算出检流的阻值选择:
- 由于本项目没有使用放大电路,因此需要选择更大的采样电阻获得更高的被测电压以便于进行测量
- 考虑到更大的电阻会带来更大的压差、更高的功耗,因此也不能无限制的选择更大的电阻
- 本项目选用了1W封装的电阻,对应的温升功率为1W
综合以上数据,本项目选择了100mΩ的检流电阻,根据公式可以计算出3A*100mΩ=300mV,900mW
如需应对不同的使用环境,尤其是电流较大的场景,可以将R0电阻更换为康铜丝或者分流器,可以更具实际使用场景,选择替代。出于安全和学习用途考虑,本项目对超出3A量程不做过多探讨,但原理一致。
5.数码管显示电路
在本项目中使用了两颗0.28寸的三位共阴数码管作为显示器件,相较于显示屏,数码管在复杂环境中拥有更好的识别度,可以根据实际使用环境的需求,改为更小的限流电阻实现更高的数码管亮度;在另一方面,数码管拥有较好的机械性能,不会像显示屏一样容易被外力损坏。在工业等有稳定可靠性应用中,多被采用。从开发版学习的角度来看,更易有目的的学习电子测量原理相关开发。
在本项目中,经过实际测试,数码管的限流电阻(R1~R6)被配置为300Ω,对应的亮度无论是红色还是蓝色数码管,均具有较好的识别度,且亮度柔和不刺眼。
6.指示灯电路
由于芯片I/O往往灌电流的能力大于拉电流的能力,所以,LED1设计为I/O低电平有效(亮)。出于减少LED对电流的消耗的考量,放弃部分LED亮度,减少器件参数类型,将LED的限流电阻选择为10K。
7.按键电路设计
按键控制电路有多种设计方式,得益于CW32的I/O口内部可以配置上下拉电阻,在芯片外围的按键控制电路则无需配置。按键一端接入MCU的I/O上,另一端接地。按键按下,I/O被拉低。
8.电压测量校准的TL431电路设计
TL431工作原理
理解TL431的工作原理,有益于快速理解其不同应用。
在TI的手册中找到功能方框图,我们仅需分析其等效原理图即可。
431的核心是一个运放,在电路中充当比较器。芯片内部有一个Vref电压(约为2.5V),作用在比较器的反相端。比较器的同相端会输入一个电压给REF,当这个电压大于Vref时,比较器输出高电平,使能三极管,使CATHODE(阴极)端与 ANODE(阳极)端导通,此时,若REF和CATHODE处于同一电位(连接在一起),则REF处的电位被拉低,当REF处的电位被拉低至低于Vref时,比较器输出低电平,三极管关断,REF处的电位回升,当高于Vref时,继续执行以上描述,如此循环。由于硬件的响应速度是极其快的。所以REF处的电压几乎等于Vref。
8.原理图及PCB的设计要点
焊盘和补强
在PCB设计中,我对于插件焊盘,多使用长圆形焊盘,增大焊锡、烙铁与焊盘的接触面积,更易于焊接。同时,在互相接近的焊盘中,设计丝印层作为分割,在实际电路板上,由于丝印层在线路板上凸起的存在,可大大避免焊接时的连锡,在实际产品设计中多有此类方法应用,以提高生产时的良率。
对于焊盘和部分走线,利用实心填充做了补强设计,避免在使用过程中划伤线路板损坏线路,避免焊盘脱落。其实,在双层板设计上,加之嘉立创PCB板材的优良品质,可以不用进行此类设计,笔者设计初衷更多只为展示,拓宽使用者视野。
双层板设计可以使用泪滴工具进行补强。
电流采样电阻的开尔文接法
利用开尔文接法消除线路电阻和接触电阻对测量结果的影响。在高精度采样场合,也有专门的四线制采样电阻供使用,本文不做探讨。
丝印与工艺
一般PCB生产的丝印是喷上去的,所以当字体字号较小,线宽较粗时,可能会发生模糊,导致标注不清。建议合理选择丝印字体大小和线宽,不同丝印字体之间的效果也有区别。选择合适的字体,在同样线宽字号下,会有更好的打印表现。
DRC设计的注意事项
电源走线应尽可能宽,约在20~60mil之间。
普通信号线:10mil左右
ADC信号走线:10mil或8mil。太宽则在线路过长时,有可能影响信号的完整性。
由于不涉及高速电路设计,3W原则在此不做强调。
规范器件的引脚间距:如规范使用英制单位、利用好EDA软件的网格和栅格,合理排布器件位置,合理走线。
软件程序设计
GPIO的驱动和代码配置较为简单,此处略去
1.数码管驱动
结合原理图可以发现驱动显示数码管的思路是:先将A、B、C、D、E、F、G所代表的引脚从低到高编号,列出数码要显示数字的段码值。比如要显示数字5,则段码值为0x6d,二进制表示为01101101,这说明G置1,F置1,E置0,D置1,C置1,B置0,A置1,最高位则是DP的值。将要显示的数字以段码值的方式储存在数组里以供调用,可以简化程序。接着以循环的方式结合switch语句对A、B、C、D、E、F、G的亮灭情况进行单独计算,先将段码值确定后再进行位码的选择,可以避免因单片机执行程序的时间而造成显示效果的不足。
所谓动态扫描显示即轮流向各位数码管送出段码和位码,利用发光管的余辉和人眼视觉暂留作用,使人眼的感觉好像各位数码管同时都在显示。明确了原理,我们要使电压电流表的三个位同时显示不同的值需要用到CW32的定时器功能,在定时器的中断服务程序里面执行显示刷新的动作。
2.ADC采样
CW32F030采用的是逐次逼近型的12位ADC,逐次逼近型ADC是一种常见的ADC工作原理,它的思想是通过比较模拟信号与参考电压之间的大小关系来逐步逼近输入信号的数字表示。在逐次逼近型ADC中,输入信号和参考电压被加入一个差分放大器中,产生一个差分电压。然后,这个差分电压被输入到一个逐步逼近的数字量化器中,该量化器以逐步递减的方式将其与一系列参考电压进行比较。具体来说,在每个逼近阶段,量化器将输入信号与一个中间电压点进行比较,将该电压点上方或下方的参考电压作为下一个逼近阶段的参考电压。这个过程一直持续到量化器逼近到最终的数字输出值为止。
设计图

BOM


评论