![](http://image.lceda.cn/pullimage/0TCUYSS6yvKes8BPaWCjVvi2428ECcHbDgOlQXL9.jpeg)
CW32电压电流表
描述
1、对0-30Vdc的电压与0.1-3A的电流进行测量与显示
2、通过蓝牙发送测得的数据
3、作为一款CW32+数码管的迷你开发板
1、使用CW32F003E4P7设计,使用其内置电压跟随器的功能简化外围电路
2、使用了和市面电压电流表的同款接口(XH2.54+CH3.96),方便通用
3、最大40V的表头供电电压,覆盖大部分常用电压范围
4、板载低成本蓝牙通信电路,使用单芯片+晶振便可实现BLE通信
5、模块使用的所有0603器件使用了更加方便手工焊接的0603L封装
本项目电路图采用模块化绘制,在电路图中对不同模块使用线条进行了分区以便于读图,下面将分模块对电路图进行分析
本项目使用LDO作为电源,考虑到电压表头可能在24V或36V供电的工业场景中使用,本项目选择了最高输入电压高达40V的SE8533K2作为电源。本项目没有使用DCDC降压电路来应对大压差的主要原因为减少PCB面积占用,次要原因为降低表头成本
考虑到高电压反接将会给模块带来不可逆的损坏,电压表头供电电路采用了串联二极管的方案进行防反接
注:本项目使用串联二极管进行防反接考虑到了本设备供电电压通常高于5V的使用场景,二极管的0.7V压降将不会供电造成影响。在常规的电路设计中不推荐该方案,而是建议使用反向并联二极管+串接保险丝的方案
本项目额外使用了串联小电阻(10Ω)来进行分压操作,从而减少在高电压情况下LDO由于较大的压差导致发热严重的问题,如果实际使用场景电源电压小于12V,可以将电阻替换为0Ω电阻来提升电源效率
SOT-89封装LDO的2号焊盘为散热焊盘,由于LDO会因为较大的压差导致发热严重,因此需要扩大与散热焊盘连接的铜箔的面积,表头在2号焊盘下设置了单独的铜箔,即上图中灰色半透明区域(正面也有设置独立的散热铜箔区域),同时增加了过孔,以便于将热量通过铜箔散发出去
本项目使用CW32F003E4P7作为主控芯片
本项目使用了CW32F003的最小系统,既主控芯片+复位电路,而不需要晶振等其余外围电路,其中芯片的PA05和PA02分别为SWD接口的CLK和DIO引脚,表头模块通过2.54标准间距的排针引出了相关引脚
考虑到模块的尺寸问题,本模块并没有设置复位按键,而是在PCB上设置了一组短接触点,可以使用镊子等工具短接该组触点实现CW32芯片的复位
本项目采用分压电路实现高电压采集,设计可采集电压100V,当前配置采集电压为0-30V
本项目设计分压电阻为220K+10K,因此分压比例为22:1
分压电阻选型主要需要参考以下几个方面:
1、设计测量电压的最大值,本项目中为30V(实际最大显示99.9V);
2、ADC参考电压,本项目中为1.5V,该参考电压可以通过程序进行配置;
3、功耗,为了降低采样电路的功耗,通常根据经验值将低侧电阻选择为10K;
随后便可以通过以上参数计算出分压电阻的高侧电阻:
1、计算所需的分压比例:即ADC参考电压:设计输入电压,通过已知参数可以计算出1.5V/30V=0.05
2、计算高侧电阻:即低侧电阻/分压比例,通过已知参数可以计算出10K/0.05=200K
3、选择标准电阻:选择一颗略高于计算值的电阻,计算值为200K,通常我们选择E24系列电阻,因此本项目中选择大于200K且最接近的220K
如果在实际使用中,需要测量的电压低于2/3的模块设计电压,即66V,则可以根据实际情况更换分压电阻并修改程序从而提升测量的精度,下面将进行案例说明:
1、假设被测电压不高于24V,其他参数不变
2、通过计算可以得到1.5V/24V=0.0625,10K/0.0625=160K,160K为标准E24电阻可以直接选用,或适当留出冗余量选择更高阻值的180K
如果在实际使用中,需要测量的电压若高于模块99V的设计电压,可以选择更换分压电阻或通过修改基准电压来实现更大量程的电压测量范围,下面将进行案例说明:
1、假设被测电压为160V,选择提升电压基准的方案扩大量程
2、已知选用电阻的分压比例为0.0145,通过公式反推,我们可以计算出160V*0.0145=2.32V,因此我们可以选择2.5V的电压基准来实现量程的提升(扩大量程将会降低精度)
考虑到被测电源可能存在波动,在电路设计时,在低侧分压电阻上并联了0.1uF的滤波电容提高测量稳定性
在PCB进行Layout需要特别注意,由于需要采样的电压可能较高,因此需要在线路与铺铜之间设置更大的间距已保证安全性,在上图中,我使用了“铺铜禁止区域”来避免铺铜靠近网络的线路,另外也可以使用“约束区域”对需要注意的部分设置独立的铺铜规则来增加间距
本项目采用低侧电流采样电路进行电流检测,采样电路的低侧与表头供地
本项目设计的采样电流为3A,选择的采样电阻为100mΩ
采样选型主要需要参考以下几个方面:
1、设计测量电流的最大值,本项目中为3A
2、检流电阻带来的压差,一般不建议超过0.5V
3、检流电阻的功耗,应当根据该参数选择合适的封装,本项目考虑到PCB尺寸,选择了2512封装
4、检流电阻上电压的放大倍数:本项目中没有使用放大电路,因此倍率为1
随后便可以通过以上参数计算出检流的阻值选择:
1、由于本项目没有使用放大电路,因此需要选择更大的采样电阻获得更高的被测电压以便于进行测量
2、考虑到更大的电阻会带来更大的压差、更高的功耗,因此也不能无限制的选择更大的电阻
3、本项目选用了2512封装的电阻,对应的温升功率为1W
综合以上数据,本项目选择了100mΩ的检流电阻,根据公式可以计算出3A*100mΩ=300mV,900mW
表头在设计时考虑到了贴片采样电阻不能够应对不同的使用环境,尤其是电流较大的场景,因此预留了10mm间距的康铜丝直插焊盘,可以更具实际使用场景,使用康铜丝替换贴片采样电阻
下图中红色方框框选出的即是康铜丝焊接焊盘
在PCB进行Layout也需要特别注意,虽然I-网络与GND网络在电气上为同一网络,但是需要注意的是I-会有大电流通过,属于“功率地”,即使该点已经接地也会因为电流的波动造成网络电平变化,因此我们可以将该网络视为一个“干扰源”;而GND网络为表头电源负极,即“信号地”,同时,由于单片机的AGND与表头GND并未进行隔离,那此时可以将表头GND视为“敏感地”,因此需要避免被干扰,因此在Layout时选择在I-网络附近设置了铺铜禁止区,再使用导线将I-网络与GND网络相连接,并且连接点紧靠RC滤波网络的电容负极,进一步减少干扰对GND网络的影响
在上图中,黄色箭头标注的即为大电流流通路径,通过接口的I+流入、流经采样电阻、通过接口的I-流出,因此从相对远离大电流路径的左下角(黄色圆圈处)引线将I-网络与GND网络进行电气连接,该点也紧靠采样电路的RC滤波网络的C6电容负极
本项目使用KT6368A作为蓝牙主控芯片
本项目只需要通过蓝牙进行数据透传,也就是通过蓝牙把数据发送出去,便于用户通过手机或电脑对被测电压电流进行无线监控,不需要其他复杂功能,因此本项目中选择了外围电路极其简单的KT6368A,只需要使用单芯片+晶振便可实现BLE通信,同时该芯片为双模芯片,还可以支持SPP通信
为了降低项目成本,模块采用了PCB板载天线替代外接天线或陶瓷天线,在室内环境依旧可以保持良好的通信效果,若实际使用场景对通信距离有要求,可根据实际情况改为不同的天线类型
本项目采用了数码管作为显示单元
在本项目中使用了两颗0.28寸的三位共阴数码管作为显示器件,相较于显示屏,数码管在复杂环境中拥有更好的识别度,可以根据实际使用环境的需求,改为更小的限流电阻实现更高的数码管亮度;在另一方面,数码管拥有较好的机械性能,不会像显示屏一样容易被外力损坏
在本项目中,经过实际测试,数码管的限流电阻被配置为300Ω,对应的亮度无论是红色还是蓝色数码管,均具有较好的识别度,且亮度柔和不刺眼
本项目预留有一颗按键与配套电路
考虑到用户可能需要对表头进行二次开发,本项目预留有一颗按键,按键io默认上拉,按下后则拉低,用户可以根据需求修改程序代码,使用按键实现不同的功能
以下测试环境为本人工作室,非专业计量机构,测试数据仅供参考
电压测试使用数控线性电源作为被测对象,锂电池作为表头供电,万用表参考数据读取自22000字四位半万用表,同时记录表头模块发出的蓝牙数据作为辅助参考
由于数控电源限制,电压测试范围为5-24.5V,测量数据步进为0.5V
表头测量精度为小数点后两位,即xx.xx,在显示的数据≥10时,由于表头是三位的,会通过四舍五入舍弃最后一位,显示为xx.x,但串口(蓝牙)会继续发送原始数据
电压设置 | 表头示数 | 蓝牙数据 | 万用表读数 | 数据偏差 |
5.0 | 5.01 | 501 | 5.00 | +0.01 |
5.5 | 5.49 | 549 | 5.50 | -0.01 |
6.0 | 5.97 | 597 | 6.00 | -0.03 |
6.5 | 6.50 | 650 | 6.50 | 0 |
7.0 | 6.99 | 699 | 6.99 | 0 |
7.5 | 7.49 | 749 | 7.49 | 0 |
8.0 | 7.97 | 797 | 7.99 | -0.02 |
8.5 | 8.51 | 851 | 8.49 | +0.02 |
9.0 | 8.99 | 899 | 9.00 | -0.01 |
9.5 | 9.47 | 947 | 9.50 | -0.03 |
10.0 | 9.97 | 997 | 10.00 | -0.03 |
10.5 | 10.5 | 1046 | 10.50 | 0 |
11.0 | 11.0 | 1099 | 11.00 | 0 |
11.5 | 11.5 | 1149 | 11.50 | 0 |
12.0 | 12.0 | 1198 | 11.99 | +0.01 |
12.5 | 12.5 | 1251 | 12.49 | +0.01 |
13.0 | 13.0 | 1301 | 12.99 | +0.01 |
13.5 | 13.5 | 1347 | 13.50 | 0 |
14.0 | 14.0 | 1398 | 14.00 | 0 |
14.5 | 14.5 | 1453 | 14.50 | 0 |
15.0 | 15.0 | 1499 | 15.00 | 0 |
15.5 | 15.5 | 1549 | 15.50 | 0 |
16.0 | 16.0 | 1598 | 16.00 | 0 |
16.5 | 16.5 | 1646 | 16.50 | 0 |
17.0 | 17.0 | 1699 | 17.00 | 0 |
17.5 | 17.5 | 1748 | 17.48 | +0.02 |
18.0 | 18.0 | 1798 | 18.00 | 0 |
18.5 | 18.5 | 1851 | 18.50 | 0 |
19.0 | 19.0 | 1899 | 19.00 | 0 |
19.5 | 19.5 | 1948 | 19.50 | 0 |
20.0 | 20.0 | 1998 | 20.00 | 0 |
20.5 | 20.5 | 2046 | 20.50 | 0 |
21.0 | 21.0 | 2101 | 21.00 | 0 |
21.5 | 21.5 | 2148 | 21.50 | 0 |
22.0 | 22.0 | 2198 | 22.00 | 0 |
22.5 | 22.5 | 2251 | 22.50 | 0 |
23.0 | 23.0 | 2300 | 22.98 | +0.02 |
23.5 | 23.5 | 2348 | 23.48 | +0.02 |
24.0 | 24.0 | 2398 | 23.98 | +0.02 |
24.5 | 24.5 | 2451 | 24.48 | +0.02 |
电流测试使用数控线性电源作为被测对象,使用限流功能将电源作为恒流源使用,锂电池作为表头供电,万用表参考数据读取自22000字四位半万用表,同时记录表头模块发出的蓝牙数据作为辅助参考
由于表头量程限制,电流测试范围为0.3-3.0V,测量数据步进为0.1A
电流设置 | 表头示数 | 蓝牙数据 | 万用表读数 | 数据偏差 |
0.1 | 0.10 | 10 | 0.10 | 0 |
0.2 | 0.19 | 19 | 0.20 | -0.01 |
0.3 | 0.29 | 29 | 0.30 | -0.01 |
0.4 | 0.39 | 39 | 0.40 | -0.01 |
0.5 | 0.50 | 50 | 0.50 | 0 |
0.6 | 0.59 | 59 | 0.60 | -0.01 |
0.7 | 0.70 | 70 | 0.70 | 0 |
0.8 | 0.80 | 80 | 0.80 | 0 |
0.9 | 0.91 | 90 | 0.90 | +0.01 |
1.0 | 1.00 | 100 | 1.00 | 0 |
1.1 | 1.09 | 109 | 1.10 | -0.01 |
1.2 | 1.19 | 119 | 1.20 | -0.01 |
1.3 | 1.29 | 129 | 1.30 | -0.01 |
1.4 | 1.39 | 139 | 1.40 | -0.01 |
1.5 | 1.49 | 149 | 1.50 | -0.01 |
1.6 | 1.60 | 160 | 1.60 | 0 |
1.7 | 1.69 | 169 | 1.70 | -0.01 |
1.8 | 1.80 | 180 | 1.80 | 0 |
1.9 | 1.90 | 190 | 1.90 | 0 |
2.0 | 2.00 | 200 | 2.00 | 0 |
2.1 | 2.09 | 209 | 2.11 | -0.02 |
2.2 | 2.19 | 219 | 2.21 | -0.02 |
2.3 | 2.31 | 231 | 2.31 | 0 |
2.4 | 2.39 | 239 | 2.41 | -0.02 |
2.5 | 2.51 | 251 | 2.51 | 0 |
2.6 | 2.59 | 259 | 2.62 | -0.03 |
2.7 | 2.70 | 270 | 2.72 | -0.02 |
2.8 | 2.79 | 279 | 2.82 | -0.03 |
2.9 | 2.89 | 289 | 2.92 | -0.03 |
3.0 | 2.99 | 299 | 3.02 | -0.03 |
如果需要焊接SWD接口排针,推荐只焊接SWDCLK、SWDIO、GND三根排针,表头可以使用独立供电,只需要供地就可以进行烧录以及调试了
如果需要焊接四根排针,需要先焊接排针再焊接数码管,且需要像上图一样确保排针底部不要凸出PCB,否则会与数码管发生干涉
如果您计划使用淘宝或其他渠道购买的公版外壳,在焊接数码管前请先仔细阅读下方内容
注:建议先焊接数码管,再焊接连接器
上图为两种型号的电压电流表头,均购自淘宝,我们可以看到因为数码管高度的不同,上方的表头的数码管在焊接时需要使数码管距离PCB一定高度(参考上图),具体高度依据采购的数码管尺寸而定
如果您购买的是本文推荐的数码管链接中的数码管器件,则数码管相对较薄,在焊接时也需要使数码管距离PCB一定高度才能使得表头在外壳中稳定安装
以下为推荐的焊接技巧:
在购买数码管时,卖家为了避免在运输中避免数码管管脚在快递运输过程中弯折损坏,通常会使用泡沫塑料保护数码管管脚,而这个泡沫塑料还有另外一个妙用,就是帮助我们焊接数码管
将两颗数码管上下并列排列,裁剪出一块和两颗数码管面积总和差不多的泡沫(参考上图),建议适当减小一些长宽,再从侧面切开(参考下图)从而减少塑料泡沫的厚度使其略薄于数码管的厚度
将数码管先插入泡沫,再将“数码管+泡沫组合体”插入PB,此时仅需要将数码管插入PCB,不需要进行焊接
随后即可将以上“组合体”安装入外壳(参考上图)
在安装时,先将一侧PCB的“小耳朵”插入外壳侧面孔洞,再在另外一侧使用镊子插入外壳与PCB的缝隙中制造出一个斜面,将PCB压入外壳(参考上图),确保PCB两侧的“小耳朵”可以将表头模组固定在外壳中
安装后,需要确保PCB的“小耳朵”能够通过泡沫的弹力自己顶住外壳开口的上沿(参考上图),晃动外壳确保模块不会在外壳内晃动,此时便可对数码管进行焊接
焊接完数码管后,再使用镊子反向操作取出表头模块,焊接连接器
如何后续发现其他注意事项再补充
CW32F003E4P7芯片:CW32F003E4P7_(CW(芯源))CW32F003E4P7中文资料_价格_PDF手册-立创电子商城
数码管(0.28英寸,共阴,推荐使用红色+蓝色):item.taobao.com
KT6368A蓝牙芯片:item.taobao.com
表头外壳:0.56寸电压表外壳配滤光片(因为运费会远高于外壳的价格,而不同地区的运费又不一样,大家根据运费自己挑一家买就行)
如果对项目有任何疑问或建议,欢迎留言讨论
如果您对此项目感兴趣,欢迎加入何电工的交流群 1016193632(作者的个人群)
了解更多CW32信息欢迎加入CW32生态社区交流群:3群:610403240
一个学习实验指导书PDF(超全面的内容);
一份视频教学链接的EXCEL,里面近40个链接,一半以上是视频教程录播和直播课程回放;
最终的Demo例程也已经在工程中给出,为学习实验指导书PDF_7.3章节的内容。
Demo例程仅供参考,本工程旨在为大家提供一个实际产品项目的作为学习参考。好的仪表是调校出来的,不是靠写好ADC、写好显示就能采的准的。关于本工程,推荐一本机械工业出版社的教材《电子测量原理》,结合食用更佳。
工程成员生态社区李工采购了一批市面上百元内的数字电压电流表,发现很多精度都不行,而项目对标的产品(某宝十来元的数显电压电流表),精度更是拉胯。
这个电压电流表的硬件平台已基本没啥问题,如果您认真研究我们的产品和代码,发挥您的创造力,可以让其测得更准更稳,或者是满足您在某一量程范围内的测量需求。
如您不想自己复刻,可以点击本页最上面的立即购买,并获取全部完整学习资料。创作不易,感谢支持!
截至24年5月中旬,已有多所高校将此表作为案例应用到教学中。
本段By:CW32生态社区-李工(18769458853手机微信同号)
如需了解更多CW32信息欢迎加入CW32生态社区交流群:QQ 3群:610403240
设计图
![](/_next/static/media/empty2.28562477.png)
BOM
![](/_next/static/media/empty1.f115c8c9.png)
![](/_next/static/media/clone.b89c66c7.png)