
开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
1.功能介绍
本项目使用嘉立创CW32开发板完成电压电流表设计与制作,目前已实现电压、电流、电容
电阻的测量,测量精度较高。
2.原理图说明
2.1 电源供电电路
考虑到电压电流表应具有方便携带以及使用的特点,电源供电采用USB+锂电池供电方案,当插入USB插座时,系统由USB供电并且给锂电池充电;当拔下插座后,整个电源由1节18650锂电池供电。
2.2供电电路的自动切换
实现供电电路的自动切换,关键在于使用了PNP型MOS管,当MOS管Vgs<0,且达到其导通电压后,MOS管导通。利用PMOS管这种特性,在电路中将其作为开关使用,通过控制Vgs电压的高低来实现电路的通断。使用USB供电时,PNP管G点电位由分压电阻拉高,Vgs>0,MOS管截止,锂电池不对外供电,当只有锂电池供电时,G点接地,电压为0V,Vgs<0,MOS管开启,且在USB输出端接入一颗二极管D1,使两电路不会相互影响。
2.3 5V升压电路
锂电池供电虽然方便,但是电池电压无法达到5V,且随着使用,电池电压会进一步降低,因此需要使用升压芯片对其升压到5V。本次升压芯片选用了芯鼎盛的X4310,此芯片在输入2.7~5V时会固定输出5V,且该芯片带有限流保护——当输出电流大于300mA,后,芯片会限制电流在300mA,保证了整个系统的安全。
2.4 锂电池充放电管理电路
关于锂电池充放电电路,本次使用了比较常用的TP4054充放电管理芯片,最大充电电流500mA,且该电流可以通过更改电阻进行调节,在充电过程中,芯片1脚接地,LED灯亮起,当电量充满后,芯片1脚更换为高组态,LED灯熄灭,可以根据LED灯亮灭判断电池充电状态。
2.5 显示电路
显示电路使用0.96寸OLED屏,该屏幕使用I2C进行通讯,因此仅需要4个引脚就可以实现数据的实时显示,能够极大程度上减少IO资源的使用
2.6 按键控制电路
本工程按键识别使用中断的方式进行,在每个按键周围增加100nF电容进行滤波去抖动,经过验证,使用该方式进行按键检测,检测精度较高,不会出现按键按下没反应以及单击按键出现双击的情况。
2.7 电流、电压采样电路
电压采样电路通过精度1%的分压电阻分压后,进入MCU的ADC采集端口,二极管D3、D5在此处起限压作用,避免高压进入采集端口损坏MCU。电压采样过程中,电压首先经过21倍衰减后,由MCU的ADC引脚采集并与内部参考电压对比,对比出电压数值后输出(如果输出小于3V,切换2倍衰减通道重新转换,提高测量精度)。内部参考电压选择1.5V参考;电流采样同理,只是将电压衰减电路中的电阻更换为100mΩ的采样电阻,使用ADC读取采样电阻电压从而获得电路电流。
2.8 电阻电容测量
本次电阻电容的测量使用了NE555方波发生的原理,首先将待测电容、电阻接入NE555电路中,使NE555电路输出不同频率的PWM波,之后利用CW32输入捕获功能捕获PWM波形频率,最后经过计算得到待测电阻、电容值,具体计算步骤如下:
上图为NE555产生方波时的接线图,而产生方波的频率、占空比计算公示如下(周期:T,频率F,占空比:D):
因此,想要测量电容C1,只需要控制R1,R2为定值,并根据MUC捕获的PWM频率 F 计算即可,公式为:C1=1.44/(R1+2*R2)*F)
同理,电阻R2的值可根据公式:R2=1.44/(2*F*C1)-R1/2。
3、实物图
4、PCB设计说明
在PCB设计中,电源部分走线应该进行加粗处理,必要时使用铺铜进行连接。
在设计电流测试电路时,考虑到该路径会经过最大3A的电流,因此一定要进行焊盘全连接方式的铺铜处理,且铜皮宽度一定要宽,避免大电流使PCB发热,影响测量精度。
5、关键程序说明
5.1 按键识别中断配置
初始化IO口时,需要配置外部中断触发条件,然后打开外部中断。
中断服务函数:
本项目中所有GPIO端口共用一个中断服务函数,在函数中判断具体拿哪个IO口中断并更新标志位。
5.2 ADC配置
在ADC转换中,需要使用3个ADC口,因此配置ADC时需要使用多通道转换,同时需注意开启对应ADC转换通道。
5.3 定时器配置
电阻、电容测试均使用了定时器,定时器配置如下:
开始尝试使用一个定时器两个通道完成输入捕获的,但是发现同一个定时器输入捕获中断开始标志位只有一个,不能同时捕获两路不同频率的PWM波,
最终使用了两个定时器完成。
6、物料购买
在项目例中,所有物料均可以在立创商城中购买,推荐使用立创商城!
7、装配说明
该项目所有阻容均使用0603封装,初学者简易更换为插件式封装降低焊接难度,外壳和PCB通过4颗M3螺丝固定,18650锂电池放在外壳内。
设计图

BOM


评论