
开源协议
:CC BY 4.0
描述
1、项目介绍
本项目为CW32数字电压电流表训练营参训项目,在充分学习理解参训项目的情况下,做了如下改动:
- 移除LDO电路,直接使用板载USB供电。
- 更换数码管为TFT显示屏以提供更好的显示效果。
- 更换所有贴片阻容为0603的封装以减小体积。
2、硬件设计
项目要求采用开发版,所以只需要单独设计外部应用电路,然后以拓展版的形式与开发版通过排针相连接即可。
2.1、电源设计
由于没有DC电源,且考虑到拓展版的小巧型,因此移除外部LDO电路,直接采用开发版USB输入作为供电。
2.2、电压采样
电压使用双量程采样的方式输入到核心板的ADC当中,在使用ADC内部1.5V参考电压时,R5(10kΩ)与R8(10kΩ)通过分压可以测量0-3V之间的电压,而R3(220kΩ)与R7(10kΩ)组成的分压电路可测的0-34.5V之间的电压。
2.3、电流采样
电流采样使用100mΩ的采样电阻,根据3A的设计量程,其功率至少需要在900mW以上。
2.4、模拟输入
为方便功能测试,直接从供电通过两个电位器控制电压电流,使用跳线帽连接到采样电路上。
2.5、显示输出
输出部分改造为TFT显示屏输出测量值,不论其价格还是显示效果都远好于数码管。
3、软件设计
系统采用Keil5编写,使用CW32提供的外设库对开发版进行各项控制。整体流程很简单,依次对系统时钟、LED、按键、屏幕、电压电流采集功能进行初始化,然后无限循环进行测量并输出。
3.1 时钟初始化
时钟使用外部8Mhz连接到PLL进行8倍频输出64Mhz到系统时钟上,并初始化嘀嗒定时器。
3.2 LED及按键初始化
LED和按键可直接通过GPIO控制,就直接在一起初始化了。
3.3 屏幕初始化
屏幕部分除了GPIO需要初始化外,还要对SPI、DMA外设及屏幕本身的寄存器进行配置。
3.3 ADC初始化
ADC主要使用多通道序列扫描模式,依次对0-3V量程电压、0-30V量程电压以及0-3A量程电流通道进行测量。
3.4 电压及电流测量
电压电流采用均值滤波算法可使其结果更加平滑,使用循环队列的方式连续采样多次ADC数值并取均值,再根据分压电路倒推其实际值。
3.5 显示输出
对于需要显示的字符先进行取模,然后填充字体颜色和背景色,最后转换为RGB565的数据格式发送到屏幕上。
设计图

BOM


评论