一、引言
先看看L010家族产品功能:
以下几个特性让CW32L010在工业仪表上应用更有优势:
1.集成了主频高达 48MHz 的 ARM® Cortex®-M0+ 内核。
2. 64K超大Flash存储容量。
3.极限超低功耗0.3uA,85℃高温漏电仅1.2uA。
5.16路ADC输入2M采样率,采样保持时间可独立配置。
6.ADC内置1.2V基准。
二、方案组成框图设计
三、参数功能列表
(1) 电压测量范围:0-30V。
(2) 电流测量范围:0-3A。
(3) 显示分辨率:电压0.01V,电流0.01A。
(4) 测量精度:电压±0.02V,电流±0.02A。
(5) 工作温度:-40℃~85℃。
(6) 显示方式:双排3位数码管显示,实时显示当前电压和电流。(响应时间≤0.2秒)
(7) 显示分辨率:3位数字显示。根据输入量程,自动换档,以尽量兼顾显示分辨率及测量精度。
(8) 有仪表的标定和校准功能。(利用按键或蓝牙)
四、方案主要硬件原理图
这样的设计猜猜BOM成本预计多少费用?欢迎留言。
1. 电压检测
通过适当的分压电路,将待测电压降低到CW32芯片可接受的范围内,然后接入CW32的ADC(模数转换器)进行数字化处理。在原理图中,可以看到,使用了PA02 作为电压采集通道。分压电阻为220K+10K,因此分压比例为22:1。
如果使用1.2V作为参考电压,根据R8和R7的阻值配比可以得到最高采样电压为:
1.2 / 10 * (220 + 10)= 27.6V
如果使用3.3V作为参考电压,根据R8和R7的阻值配比可以得到最高采样电压为:
3.3 / 10 * (220 + 10)= 75.9V
因此不同的应用场景可以根据采集电压范围大小来选择参考电压或匹配分压电阻。当电阻精度越高时,采样的越精确。
所以,需要测量的电压高于模块30V的设计电压时,可以选择更换分压电阻或通过修改基准电压来实现更大量程的电压测量范围。
考虑到被测电源可能存在波动,在电路设计时,在低侧分压电阻上并联了0.1uF的滤波电容提高测量稳定性。
2. 电流检测
采用低侧电流采样电路进行电流检测,采样电路的低侧与表头供地。本项目设计的采样电流为3A,选择的采样电阻为100mΩ。
采样选型主要需要参考以下几个方面:
(1) 检流电阻带来的压差,一般不建议超过0.5V;
(2) 检流电阻的功耗,应当根据该参数选择合适的封装;
(3) 检流电阻上电压的放大倍数:本项目中没有使用放大电路,因此倍率为1。
随后便可以通过以上参数计算出检流的阻值选择:
(1) 由于本项目没有使用放大电路,因此需要选择更大的采样电阻获得更高的被测电压以便于进行测量;
(2) 考虑到更大的电阻会带来更大的压差、更高的功耗,因此也不能无限制的选择更大的电阻;
(3) 本项目选用了2512封装的100mΩ的检流电阻,根据公式可以计算出3A*100mΩ=300mV,900mW,对应的温升功率为1W。
3. 数码管显示电路
CW32主芯片为20PIN,GPIO引脚数量有限,同时考虑降低成本,这里选用数码管定义如下:
与动态扫描原理的共阴极或共阳极数码管不同,这里选的数码管相比下来仅使用9个引脚来控制6位显示,少用了5个IO资源。区别在于扫描的原理不同,扫描的速度也需要提高。
需要了解更多显示原理的,去看例程讲解视频吧。
五、软件重点编程思想
软件源码:通过网盘分享的文件:CW32L010工业仪表软件.zip
链接: https://pan.baidu.com/s/1sMS-M8hjAlMPoBEcwPxGDA?pwd=5v65 提取码: 5v65
常见的数据采集数据滤波算法,CW32生态社区已有众多文章视频讲述【CW32数字电压电流表软件进阶教程-2.电压电流值做均值滤波】、【CW32数字电压电流表软件教程-实验七:基本数据处理算法(均值滤波)】等,这里不再赘述。源码请自行下载查看。
值得一提的是CW32L010的ADC。
从芯片手册中截取如下:
在ADC转换通道上,除了芯片的下载、复位、电源相关引脚,所有的IO(14路)均支持AD模拟输入功能。
这功能框图太清晰,不需要解析了。
1.2V电压生成器、温度传感器、8个转换通道...
还有外部触发功能,模拟看门狗功能等等。
六、产品使用方法如下
定义5个工作模式,点按按键切换工作模式,长按3S设置对应模式下的参数值,并保存到FLASH:
模式0:显示正常的电压电流值(上一排数码管显示电压值*.**V或**.*V自动切换,下一排显示电流值,*.**A)
模式1:电压5V标定值设置。上一排数码管显示S.05. 。下一排显示当前电压值*.**V或**.*V。当长按3S 按键时,将当前值标定为5V电压值。
模式2:电压15V标定值设置。上一排数码管显示S.15. 。下一排显示当前电压值*.**V或**.*V。当长按3S 按键时,将当前值标定为15V电压值。
模式3:电流0.5A标定值设置。上一排数码管显示A.0.5。下一排显示当前电流值*.**A。当长按3S 按键时,将当前值标定为0.5A电流值。
模式4:电流1.5A标定值设置。上一排数码管显示A.1.5。下一排显示当前电流值*.**A。当长按3S 按键时,将当前值标定为1.5A电流值。